При доработке конфигурации 1С:Управление производственным предприятием ред. 1.3 часто возникает задача изменить стандартный корреспондентский счет списания ТМЦ. По умолчанию документ Списание товаров жестко формирует проводки по дебету счета 94 «Недостачи и потери от порчи ценностей». Попытка подменить счет в таблице движений документа или в процедуре ЗаполнитьКолонкиРегистраСписанныеТоварыПоТоварамРегл() модуля объекта не приводит к желаемому результату: в проводках регистра бухгалтерии Хозрасчетный все равно оказывается счет 94.
Разберем подробно, почему так происходит, как устроена архитектура списания партий в УПП 1.3 и какими способами можно решить эту задачу.
Проанализируем механику работы документа. В УПП 1.3 формирование суммовых проводок бухгалтерского учета при списании материально-производственных запасов происходит не напрямую из таблицы документа, а через механизмы партионного учета.
Списание товаров формируются движения по регистру накопления Списанные товары.СписаниеПартийТоваров, которые рассчитывают себестоимость и записывают проводки в регистр бухгалтерии Хозрасчетный.Списанные товары, а не локальных таблиц документа, переопределение счета только в документе игнорируется списывающим модулем. В коде партионного учета по умолчанию прописана жесткая ссылка на ПланыСчетов.Хозрасчетный.НедостачиИПотериОтПорчиЦенностей.Если необходимо быстро переопределить счет в уже сформированных проводках документа без глобальной переработки партионного учета, можно воспользоваться корректировкой набора записей регистра бухгалтерии. Посмотрим на пример кода:
Набор = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
Набор.Отбор.Регистратор.Установить(ДокСсылка);
Набор.Прочитать();
Для Каждого Запись Из Набор Цикл
Если Запись.СчетДт = ПланыСчетов.Хозрасчетный.НедостачиИПотериОтПорчиЦенностей Тогда
Запись.СчетДт = ВыбранныйПользователемСчет;
КонецЕсли;
КонецЦикла;
Набор.Записать(Истина);
Этот код считывает проводки, созданные партионным учетом по документу-регистратору, и меняет СчетДт на счет, заданный пользователем.
Чтобы реализовать штатную и системную доработку, корректно работающую при любом способе проведения партий, требуется выполнить следующие шаги:
КорСчетБУ) в регистр накопления Списанные товары.Списание товаров (в процедуре заполнения движения по регистру Списанные товары) передавать выбранный пользователем счет в создаваемую запись.СписаниеПартийТоваров изменить фрагмент кода, отпечатывающий проводки по дебету: заменить прямое обращение к ПланыСчетов.Хозрасчетный.НедостачиИПотериОтПорчиЦенностей на значение из реквизита КорСчетБУ текущей строки регистра Списанные товары.Прежде чем изменять типовую конфигурацию, проанализируем требование бизнеса с точки зрения бухгалтерского учета и стандарта РСБУ:
Требование-накладная. В нем предусмотрен штатный выбор счета затрат и счета учета БУ/НУ.Отражение недостач и порчи ценностей или ручной операцией.