При переходе на типовую конфигурацию 1С:Бухгалтерия предприятия (БП 3.0) пользователи, ранее работавшие в 1С:Управление производственным предприятием (УПП) или 1С:ERP, часто сталкиваются с архитектурным ограничением. В оперативных системах классическая схема работы строится на рамочном договоре, к которому оформляются спецификации или заказы с перечнем номенклатуры, цен и сроков. При оформлении реализации или поступления в БП пользователь ожидает увидеть выбор конкретной спецификации внутри единого договора, однако типовой интерфейс такой возможности не предоставляет.
Разберем, почему программа устроена именно так, какие есть штатные варианты учета взаиморасчетов и поставок по спецификациям, и как настроить передачу корректных данных в печатные формы и электронные документы (ЭДО).
Выясним причину этого ограничения. В конфигурациях класса ERP и УПП присутствует развитый оперативный контур. Учет заказов, спецификаций и резервов ведется в специализированных регистрах накопления. Это позволяет отслеживать остаток неотгруженной номенклатуры, динамику цен и выполнение графиков поставок.
В программе 1С:Бухгалтерия предприятия оперативные товарные регистры отсутствуют. Учет опирается исключительно на проводки на счетах бухгалтерского учета:
10, 41, 43.60 и 62 в разрезе трех субконто: Контрагенты, Договоры и Документы расчетов с контрагентом.Спецификации номенклатуры в БП предназначен строго для производственного контура (состав материалов для выпуска готовой продукции по счету 20) и не имеет отношения к торговым договорам.Поскольку бухгалтерский учет не контролирует обязательства по поставке конкретных товарных позиций в будущем, функционал отслеживания спецификаций в типовом решении требует адаптации под задачи предприятия.
Рассмотрим вариант, наиболее близкий к типовой логике ведения расчетов без изменения метаданных конфигурации. В качестве спецификации выступает документ Счет на оплату покупателю (или Счет от поставщика).
Разберем схему работы по шагам:
Договоры контрагентов. В поле Способ зачета авансов указываем значение По документу или Автоматически.Счет покупателю. В табличной части счета фиксируем согласованный перечень номенклатуры, количество и цену.Реализация (акт, накладная, УПД). В шапке документа выбираем наш рамочный договор, а в реквизите Счет на оплату указываем соответствующий счет. Ввод реализации также можно выполнять напрямую командой Создать на основании из самого счета.Поступление на расчетный счет также указываем привязку к этому счету на оплату.Ограничения способа: документы счетов не формируют бухгалтерских проводок и движений по регистрам. Штатно программа не блокирует отгрузку с превышением количества из счета и не запрещает изменение согласованной цены. Этот метод носит расчетно-информационный характер, однако реквизит счета транслируется в аналитические отчеты и может выводиться в первичных документах.
Если контрагенту или менеджеру критически важно видеть сальдо взаиморасчетов отдельно по каждой спецификации, перенесем учет спецификаций на уровень справочника Договоры контрагентов.
Проанализируем порядок настройки:
Договоры контрагентов создаем группу (папку) с номером и датой генерального договора, например: «Генеральный договор поставки № 12 от 10.01.2024».60 и 62 будут четко разделены по каждой спецификации.При таком подходе возникает вопрос сверки расчетов. Чтобы сформировать единый Акт сверки расчетов с контрагентом, поступаем следующим образом:
Акт сверки расчетов.Часто заказчик требует, чтобы взаиморасчеты закрывались по общему договору без дробления сальдо по субсчетам, но в печатной форме УПД и в электронном документе по ЭДО фигурировали реквизиты спецификации (строка 8 УПД «Основание отгрузки»).
Посмотрим, как решить эту задачу штатно без доработки конфигурации:
62.01/62.02 не дробится и учитывается в рамках одного рамочного договора.Если предприятию необходим жесткий контроль неотгруженных остатков, номенклатурного состава и цен в спецификациях без снятия конфигурации с типовой поддержки, оптимальным решением является использование механизма расширений конфигурации.
Разберем архитектуру такого решения:
Договоры контрагентов справочник Спецификации к договорам.Номенклатура, Количество, Цена, СтавкаНДС, Сумма.ОстаткиПоСпецификациям с измерениями Договор, Спецификация, Номенклатура и ресурсом Количество.РеализацияТоваровУслуг, добавляя поле выбора спецификации с фильтром по текущему договору.&После подключаем алгоритм списания движений по регистру и контроль превышения объемов спецификации.Посмотрим на пример процедуры проведения в расширении для проверки остатков номенклатуры по спецификации:
&После("ОбработкаПроведения")
Процедура Расш_ОбработкаПроведения(Отказ, РежимПроведения)
Если Отказ Или Не ЗначениеЗаполнено(ЭтотОбъект.ДоговорКонтрагента) Тогда
Возврат;
КонецЕсли;
// Формируем движения расхода по остаткам спецификации
Движения.Расш_ОстаткиПоСпецификациям.Записывать = Истина;
Для Каждого Стр Из ЭтотОбъект.Товары Цикл
Движение = Движения.Расш_ОстаткиПоСпецификациям.ДобавитьРасход();
Движение.Период = ЭтотОбъект.Дата;
Движение.Договор = ЭтотОбъект.ДоговорКонтрагента;
Движение.Спецификация = ЭтотОбъект.Расш_Спецификация;
Движение.Номенклатура = Стр.Номенклатура;
Движение.Количество = Стр.Количество;
КонецЦикла;
КонецПроцедуры
Проанализируем целесообразность применения каждого метода: