При переходе с редакции 2.0 на 3.0 многие бухгалтеры сталкиваются с тем, что типовая конфигурация ограничивает список доступных счетов затрат в документе Поступление из переработки. По умолчанию система предлагает только счета 20.01 или 23, так как логика программы жестко привязана к производственному циклу. Однако на практике часто возникает необходимость списать затраты на общепроизводственные (25) или общехозяйственные (26) расходы. Рассмотрим, как решить эту задачу, не снимая конфигурацию с поддержки.
Прежде чем приступать к техническим изменениям, разберемся, почему 1С ограничивает выбор. Типовая логика Бухгалтерии 3.0 построена на строгом соблюдении принципов учета давальческого сырья. Когда вы передаете материалы, они учитываются на счете 10.07. При поступлении услуги переработки эти материалы должны быть списаны на затраты, формирующие себестоимость продукции. Использование счетов 25 и 26 разработчиками ограничено, чтобы избежать методологических ошибок при закрытии месяца. Если ваше предприятие действительно использует данные счета для списания давальческих материалов, необходимо внести правки в процедуру проверки выбора счетов.
Для внесения изменений в логику работы программы мы будем использовать механизм Расширения конфигурации. Это позволяет изменять поведение системы без вмешательства в основную конфигурацию, что критически важно при последующих обновлениях программы.
УчетПроизводства.&Вместо, которая будет перехватывать стандартную процедуру проверки счетов.Разберем пример кода для переопределения процедуры ОграничитьВыборСчетамиПрямыхРасходов. В своем расширении вы должны реализовать логику, которая расширяет массив допустимых счетов.
&Вместо("ОграничитьВыборСчетамиПрямыхРасходов")
Процедура Моя_ОграничитьВыборСчетамиПрямыхРасходов(ЭлементФормы)
Правила = Новый Массив;
Правила.Добавить(ПланыСчетов.Хозрасчетный.ОсновноеПроизводство);
Правила.Добавить(ПланыСчетов.Хозрасчетный.ВспомогательныеПроизводства);
Правила.Добавить(ПланыСчетов.Хозрасчетный.ОбщепроизводственныеРасходы);
Правила.Добавить(ПланыСчетов.Хозрасчетный.ОбщехозяйственныеРасходы);
Исключения = Новый Массив;
Исключения.Добавить(ПланыСчетов.Хозрасчетный.ПроизводствоИзДавальческогоСырья);
СчетаДляОтбора = БухгалтерскийУчет.ПолучитьМассивСчетовССубсчетами(Правила, Ложь, Ложь, Исключения);
БухгалтерскийУчетКлиентСервер.ИзменитьПараметрыВыбораСчета(ЭлементФормы, СчетаДляОтбора);
КонецПроцедуры
Чтобы ваш код корректно выполнялся в системе, обратите внимание на следующие настройки расширения:
Безопасный режим. Если этот режим включен, расширение не сможет полноценно перехватывать системные вызовы, и функционал не заработает.&Вместо, чтобы программа вызывала ваш метод вместо стандартного.Помните, что модификация логики учета — это ответственный шаг. Даже если вы технически обеспечите выбор счета 25 или 26 в документе:
Во-первых, проверьте, как эти счета настроены в вашей учетной политике. При регламентной операции Закрытие месяца система может выдать ошибку, если данные затраты не попадают в алгоритм распределения косвенных расходов.
Во-вторых, если списание на 25 счет не является корректным с точки зрения методологии учета производства, рассмотрите альтернативные варианты. Например, оформление услуги переработки отдельным документом Поступление (акт, накладная), а списание материалов — стандартным документом Требование-накладная, если это соответствует специфике вашего учета.
Реализуя описанный выше метод с помощью расширения, вы сможете гибко адаптировать 1С под нужды вашего учета, сохраняя при этом целостность типовой базы и возможность ее беспроблемного обновления в будущем.