Почему при оформлении документа «Оказание производственных услуг» на основании счета не меняется статус отгрузки в 1С:Бухгалтерия 3.0?

Бухгалтер 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет Промышленность, строительство и АПК
← На главную

При ведении учета производственных услуг и работ в программе «1С:Бухгалтерия предприятия 3.0» пользователи часто сталкиваются с ситуацией: на основании выставленного документа Счет покупателю создается и проводится документ Оказание производственных услуг (Акт об оказании производственных услуг), однако статус отгрузки в счете остается в значении «Не отгружен». В то же время при оформлении стандартного документа Реализация (акт, накладная, УПД) статус счета сразу автоматически переходит в состояние «Отгружен».

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

Анализ типовой логики и технические причины проблемы

Проанализируем, как в типовом решении устроен механизм контроля состояний документов. В конфигурации за хранение информации об оплате и отгрузке отвечает служебный регистр сведений СтатусыДокументов (в ряде версий — СостоянияДокументов).

При проведении первичных документов вызываются процедуры общего модуля СтатусыДокументов. Однако логика работы процедуры ПодготовитьТаблицуСтатусовОтгрузкиПоСчетам и смежных механизмов жестко ориентирована на структуру документов реализации товаров и услуг:

  1. Ограничение по типам документов: Типовой алгоритм автоматически анализирует только движения документов РеализацияТоваровУслуг, АктВыполненныхРабот, а также розничные продажи. Документ АктОбОказанииПроизводственныхУслуг разработчиками 1С не включен в этот перечень.
  2. Различие в структуре табличных частей: В документе Оказание производственных услуг табличная часть содержит специфические реквизиты (плановую себестоимость, спецификации, счета учета затрат 20.01), структура которых отличается от типовой таблицы Услуги документа Реализация (акт, накладная). Из-за этого стандартная процедура сопоставления строк счета и факта отгрузки не отрабатывает.
  3. Связь в структуре подчиненности: В ряде релизов документ производственных услуг не заполняет нужные критерии отбора дерева подчиненности относительно счета, что препятствует регламентному расчету статуса.

Рассмотрим подробнее варианты решения данной проблемы в зависимости от используемой версии программы и регламента ведения учета на предприятии.

Вариант 1. Изменение статуса отгрузки вручную (для базовых и типовых версий)

Если используется базовая версия конфигурации или конфигурация находится на официальной поддержке без возможности изменения кода, самым простым решением является ручная установка статуса.

Разберем по шагам, как изменить статус счета:

  1. Перейдем в раздел «Продажи» и откроем журнал «Счета покупателям».
  2. Найдем в списке нужный счет (или выделим группу счетов с помощью клавиш Shift или Ctrl).
  3. Нажмем кнопку «Еще» в командной панели формы списка.
  4. Выберем пункт «Изменить статус» ➔ «Статус отгрузки».
  5. Установим требуемое значение — «Отгружен».

Данный способ не требует доработок, но требует дополнительного контроля со стороны бухгалтера при большом объеме документов.

Вариант 2. Корректировка схемы документооборота («Реализация» + списание материалов)

Часто документ Оказание производственных услуг выбирают только ради возможности автоматического списания материалов по спецификации на основании акта. Если распределение прямых затрат по плановой себестоимости через счет 20 не является критически важным, можно оптимизировать схему оформления:

  1. Оформим продажу услуг документом Реализация (акт, накладная, УПД), введенным на основании документа Счет покупателю. При проведении реализации статус счета автоматически изменится на «Отгружен».
  2. Списание использованных материалов выполним документом Расход материалов (ранее Требование-накладная) с указанием номенклатурной группы и статьи затрат счета 20.01.
  3. В актуальных релизах «1С:Бухгалтерии 3.0» в документе реализации услуг также предусмотрена возможность автоматического списания материалов по спецификациям при включении соответствующей функциональности.

Вариант 3. Программная доработка через расширение конфигурации (для версий ПРОФ и КОРП)

Если на предприятии обязательно должен использоваться именно производственный акт, а программа работает в версии ПРОФ или КОРП, оптимальным решением будет создание расширения конфигурации (без снятия основной базы с поддержки).

Проанализируем пример доработки модуля проведения документа АктОбОказанииПроизводственныхУслуг. Нам необходимо перед формированием движений подготовить данные для регистра статусов, а затем записать их.

Посмотрим на пример кода, который внедряется в модуль проведения:


// В обработке проведения документа перед формированием движений:
Если Не ПроведениеСервер.ГрупповоеПерепроведение(ЭтотОбъект) Тогда
    ТаблицаСтатусовСчетов = СтатусыДокументов.ПодготовитьТаблицуСтатусовОтгрузкиПоСчетам(
        ПараметрыПроведения.РеализацияТаблицаДокумента,
        НеОпределено,
        ПараметрыПроведения.Реквизиты
    );
КонецЕсли;

// В завершающей части проведения документа:
Если Не ПроведениеСервер.ГрупповоеПерепроведение(ЭтотОбъект) Тогда
    СтатусыДокументов.СформироватьДвиженияСтатусовДокументов(
        ТаблицаСтатусовСчетов,
        ПараметрыПроведения.Реквизиты
    );
КонецЕсли;

Для корректной работы алгоритма необходимо также проконтролировать следующие моменты:

  1. В расширении к объекту ДокументСсылка.АктОбОказанииПроизводственныхУслуг должен быть добавлен или задействован реквизит СчетНаОплатуПокупателю.
  2. Данный реквизит должен быть включен в состав критерия отбора СвязанныеДокументы, чтобы документ отображался в дереве подчиненности счета.
  3. Структура таблицы ПараметрыПроведения.РеализацияТаблицаДокумента при передаче в функцию общего модуля должна быть адаптирована (поля номенклатуры, количества и суммы должны совпадать с ожидаемыми модулем СтатусыДокументов), чтобы статус рассчитывался как полностью «Отгружен», а не «Частично отгружен».

Таким образом, для решения проблемы отсутствия автоматической смены статуса счета можно использовать ручное изменение через меню журнала, перейти на стандартный документ реализации либо подключить расширение конфигурации, адаптирующее производственный акт под типовой механизм контроля статусов.

← На главную