пятница, 25 октября 2013 г.

Как изменить счет затрат по-умолчанию в требовании-накладной? (1C: БП 3.0)

Недавно столкнулся с таким вопросом в 1С:Бухгалтерия 3.0. Организация имеет свой план счетов. И Счет затрат, который по-умолчанию проставляется в требовании-накладной, приходилось менять руками с 20.01 на 20.10.
Итак, попробуем изменить Счет затрат проставляемый в требовании-накладной автоматически.

 
Рефлекторно потянувшись к регистру сведений "Счета учета номенклатуры" мы быстро обнаружим, что движемся не в том направлении. 

Поэтому заргужаемся в режиме Конфигуратор.
Создаем резервную копию базы.

В Дереве объектов конфигурации - Документы - ТребованиеНакладная - ФормаДокумента - Модуль формы


 Процедура УстановитьСчетаУчетаИАналитикуЗатрат(СтрокаТабЧасти, Объект, ИмяТабЧасти)
    Если Объект.СчетаУчетаЗатратВТаблице Тогда
            Если НЕ ЗначениеЗаполнено(СтрокаТабЧасти.СчетЗатрат) Тогда
            СтрокаТабЧасти.СчетЗатрат = ПланыСчетов.Хозрасчетный.ОсновноеПроизводство;
        КонецЕсли;

                          ...
И меняем строку 
            СтрокаТабЧасти.СчетЗатрат = ПланыСчетов.Хозрасчетный.ОсновноеПроизводство;
на
         СтрокаТабЧасти.СчетЗатрат = ПланыСчетов.Хозрасчетный.НайтиПоКоду("20.10");

В итоге кусок кода будет выглядеть так:
  Процедура УстановитьСчетаУчетаИАналитикуЗатрат(СтрокаТабЧасти, Объект, ИмяТабЧасти)
    Если Объект.СчетаУчетаЗатратВТаблице Тогда
            Если НЕ ЗначениеЗаполнено(СтрокаТабЧасти.СчетЗатрат) Тогда
            //СтрокаТабЧасти.СчетЗатрат = ПланыСчетов.Хозрасчетный.ОсновноеПроизводство;

            СтрокаТабЧасти.СчетЗатрат = ПланыСчетов.Хозрасчетный.НайтиПоКоду("20.10");
        КонецЕсли;

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


Комментариев нет:

Отправить комментарий