При работе в системе 1С:ERP Управление предприятием 2 пользователи часто сталкиваются с ситуацией, когда при формировании типовой печатной формы «Требование-накладная (М-11)» из документа Передача в эксплуатацию (или Внутреннее потребление товаров с соответствующей операцией) поля «Счет» и «Корр. счет» остаются пустыми. Это вызывает вопросы у бухгалтерии, так как форма М-11 является первичным учетным документом, где указание счетов традиционно считается обязательным.
В рамках данной статьи мы подробно разберем, почему так происходит, является ли это ошибкой системы, и какими способами можно добиться заполнения этих полей.
Для начала проанализируем внутреннюю архитектуру 1С:ERP. В отличие от «1С:Бухгалтерии 8», где счета учета подставляются в документ сразу при выборе номенклатуры, в ERP реализован принцип разделения оперативного и регламентированного учетов. Рассмотрим основные причины, по которым счета не попадают в печатную форму:
Передача в эксплуатацию и попробуем найти реквизиты для выбора счетов учета (например, 10.11 или 20.01), мы их там не увидим. В ERP счета учета не хранятся в физических таблицах документа Внутреннее потребление товаров. Они определяются динамически.Прежде чем приступать к программированию, проанализируем состояние учета. Чтобы счета теоретически могли попасть в форму (если это предусмотрено конкретным релизом), документ должен быть полностью обработан системой.
Проверим выполнение следующих шагов:
Если после выполнения этих действий счета в М-11 так и не появились, значит, мы имеем дело с особенностью типового кода, которая требует технического вмешательства.
Разберем, как реализовать вывод счетов с помощью внешней печатной формы (ВПФ). Это самый безопасный метод, который не мешает обновлению конфигурации. Нам необходимо создать копию макета М-11 и изменить логику заполнения параметров Счет и КоррСчет.
Проанализируем пример кода, который можно использовать в модуле ВПФ для получения счетов из настроек ГФУ номенклатуры, не дожидаясь формирования проводок:
// Пример получения счета учета номенклатуры
Функция ПолучитьСчетУчетаТМЦ(Номенклатура, Склад, Организация)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Настройки.СчетУчета КАК Счет
|ИЗ
| РегистрСведений.ПорядокОтраженияНоменклатуры КАК Настройки
|ГДЕ
| Настройки.Организация = &Организация
| И Настройки.МестоХранения = &Склад
| И Настройки.ГруппаФинансовогоУчета = &ГФУ";
Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("Склад", Склад);
Запрос.УстановитьПараметр("ГФУ", Номенклатура.ГруппаФинансовогоУчета);
Результат = Запрос.Выполнить();
Если Не Результат.Пустой() Тогда
Выборка = Результат.Выбрать();
Выборка.Следующий();
Возврат Выборка.Счет;
КонецЕсли;
Возврат Неопределено;
КонецФункции
При использовании ВПФ мы можем программно обращаться к регистру сведений ПорядокОтраженияНоменклатуры и ПорядокОтраженияРасходов, чтобы вычислить нужные счета «на лету» в момент формирования печатной формы.
Если на предприятии принято решение использовать только типовые команды печати, рассмотрим вариант с расширением. Мы можем перехватить процедуру формирования данных для печати в модуле менеджера документа ВнутреннееПотреблениеТоваров.
Проанализируем ситуацию: нам нужно изменить содержимое таблицы, которая передается в макет. Выясним причину, почему параметры Счет и КоррСчет остаются пустыми. Чаще всего в коде типовой конфигурации запрос к данным документа просто не содержит соединений с регистрами настроек учета для этой конкретной хозяйственной операции.
В расширении мы можем использовать метод &После для процедуры, подготавливающей данные для печати М-11. В этой процедуре мы пройдемся по строкам подготовленной таблицы и дозаполним недостающие данные, обращаясь к ГФУ или уже созданным проводкам (если они есть).
Выясним, почему это считается «нормальным» поведением. В 1С:ERP документ Передача в эксплуатацию может списывать стоимость ТМЦ не на один конкретный счет в момент передачи, а распределять ее в течение длительного времени (для спецодежды и оснастки). Также счет затрат может зависеть от подразделения-получателя или конкретной статьи расходов, которая может быть уточнена только в конце месяца при закрытии периода.
Важные моменты:
Мы рассмотрели технические и методологические причины отсутствия счетов в печатной форме М-11 документа Передача в эксплуатацию. Подведем итоги нашего анализа:
ПорядокОтраженияНоменклатуры.Таким образом, если ваша бухгалтерия настаивает на обязательном заполнении этих полей, наиболее эффективным путем будет небольшая программная модификация, так как «из коробки» 1С:ERP ориентирована на получение этих данных из учетного контура, а не из реквизитов документа.