Почему в печатной форме М-11 из документа «Передача в эксплуатацию» в 1С:ERP не выводятся счета учета и как это исправить

Программист 1С v8.3 (Управляемые формы) Бухгалтерский учет
← На главную

При работе в системе 1С:ERP Управление предприятием 2 пользователи часто сталкиваются с ситуацией, когда при формировании типовой печатной формы «Требование-накладная (М-11)» из документа Передача в эксплуатацию (или Внутреннее потребление товаров с соответствующей операцией) поля «Счет» и «Корр. счет» остаются пустыми. Это вызывает вопросы у бухгалтерии, так как форма М-11 является первичным учетным документом, где указание счетов традиционно считается обязательным.

В рамках данной статьи мы подробно разберем, почему так происходит, является ли это ошибкой системы, и какими способами можно добиться заполнения этих полей.

Анализируем причины отсутствия данных в печатной форме

Для начала проанализируем внутреннюю архитектуру 1С:ERP. В отличие от «1С:Бухгалтерии 8», где счета учета подставляются в документ сразу при выборе номенклатуры, в ERP реализован принцип разделения оперативного и регламентированного учетов. Рассмотрим основные причины, по которым счета не попадают в печатную форму:

  1. Отсутствие счетов в самом документе. Если мы откроем форму документа Передача в эксплуатацию и попробуем найти реквизиты для выбора счетов учета (например, 10.11 или 20.01), мы их там не увидим. В ERP счета учета не хранятся в физических таблицах документа Внутреннее потребление товаров. Они определяются динамически.
  2. Зависимость от ГФУ. Счета учета в системе привязаны к объектам через Группы финансового учета (ГФУ) номенклатуры и настройки отражения в регламентированном учете для конкретных складов и подразделений.
  3. Момент формирования проводок. Система «узнает», на какой счет списать ТМЦ и какой счет затрат использовать, только после выполнения операции «Отражение документов в регламентированном учете». До тех пор, пока проводки не сформированы, в базе данных нет прямой связи между строкой документа и конкретным бухгалтерским счетом.
  4. Особенности программного кода макета. В модуле менеджера документа, в процедуре формирования печатной формы М-11, разработчики предусмотрели параметры для счетов, но алгоритм их заполнения для операции передачи в эксплуатацию зачастую отсутствует или срабатывает только при определенных условиях (например, если документ уже проведен в регл. учете).

Рассмотрим решение проблемы через настройку системы

Прежде чем приступать к программированию, проанализируем состояние учета. Чтобы счета теоретически могли попасть в форму (если это предусмотрено конкретным релизом), документ должен быть полностью обработан системой.

Проверим выполнение следующих шагов:

Если после выполнения этих действий счета в М-11 так и не появились, значит, мы имеем дело с особенностью типового кода, которая требует технического вмешательства.

Способ 1: Использование внешней печатной формы (Рекомендуемый)

Разберем, как реализовать вывод счетов с помощью внешней печатной формы (ВПФ). Это самый безопасный метод, который не мешает обновлению конфигурации. Нам необходимо создать копию макета М-11 и изменить логику заполнения параметров Счет и КоррСчет.

Проанализируем пример кода, который можно использовать в модуле ВПФ для получения счетов из настроек ГФУ номенклатуры, не дожидаясь формирования проводок:


// Пример получения счета учета номенклатуры
Функция ПолучитьСчетУчетаТМЦ(Номенклатура, Склад, Организация)
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ РАЗРЕШЕННЫЕ
        |   Настройки.СчетУчета КАК Счет
        |ИЗ
        |   РегистрСведений.ПорядокОтраженияНоменклатуры КАК Настройки
        |ГДЕ
        |   Настройки.Организация = &Организация
        |   И Настройки.МестоХранения = &Склад
        |   И Настройки.ГруппаФинансовогоУчета = &ГФУ";
    
    Запрос.УстановитьПараметр("Организация", Организация);
    Запрос.УстановитьПараметр("Склад", Склад);
    Запрос.УстановитьПараметр("ГФУ", Номенклатура.ГруппаФинансовогоУчета);
    
    Результат = Запрос.Выполнить();
    Если Не Результат.Пустой() Тогда
        Выборка = Результат.Выбрать();
        Выборка.Следующий();
        Возврат Выборка.Счет;
    КонецЕсли;
    
    Возврат Неопределено;
КонецФункции

При использовании ВПФ мы можем программно обращаться к регистру сведений ПорядокОтраженияНоменклатуры и ПорядокОтраженияРасходов, чтобы вычислить нужные счета «на лету» в момент формирования печатной формы.

Способ 2: Создание расширения конфигурации

Если на предприятии принято решение использовать только типовые команды печати, рассмотрим вариант с расширением. Мы можем перехватить процедуру формирования данных для печати в модуле менеджера документа ВнутреннееПотреблениеТоваров.

Проанализируем ситуацию: нам нужно изменить содержимое таблицы, которая передается в макет. Выясним причину, почему параметры Счет и КоррСчет остаются пустыми. Чаще всего в коде типовой конфигурации запрос к данным документа просто не содержит соединений с регистрами настроек учета для этой конкретной хозяйственной операции.

В расширении мы можем использовать метод &После для процедуры, подготавливающей данные для печати М-11. В этой процедуре мы пройдемся по строкам подготовленной таблицы и дозаполним недостающие данные, обращаясь к ГФУ или уже созданным проводкам (если они есть).

Почему разработчики 1С оставили эти поля пустыми?

Выясним, почему это считается «нормальным» поведением. В 1С:ERP документ Передача в эксплуатацию может списывать стоимость ТМЦ не на один конкретный счет в момент передачи, а распределять ее в течение длительного времени (для спецодежды и оснастки). Также счет затрат может зависеть от подразделения-получателя или конкретной статьи расходов, которая может быть уточнена только в конце месяца при закрытии периода.

Важные моменты:

Резюме и выводы

Мы рассмотрели технические и методологические причины отсутствия счетов в печатной форме М-11 документа Передача в эксплуатацию. Подведем итоги нашего анализа:

  1. Это не баг, а фича: Отсутствие счетов обусловлено архитектурой ERP, где первичным является оперативный контур, а не бухгалтерская проводка.
  2. Проверяйте настройки: Перед доработкой убедитесь, что ГФУ заполнены и документ отражен в регл. учете.
  3. Дорабатывайте гибко: Лучшим решением будет создание внешней печатной формы, которая будет вытягивать счета из регистров настроек ПорядокОтраженияНоменклатуры.

Таким образом, если ваша бухгалтерия настаивает на обязательном заполнении этих полей, наиболее эффективным путем будет небольшая программная модификация, так как «из коробки» 1С:ERP ориентирована на получение этих данных из учетного контура, а не из реквизитов документа.

← На главную