Почему документы не попадают в последовательность «ПартионныйУчет» в УТ 10.3 и как их зарегистрировать?

Программист 1С v8.3 (Обычные формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

В конфигурации «Управление торговлей» редакции 10.3 часто возникает ситуация, когда документы (например, Возврат товаров от покупателя) проводятся без ошибок, но обработка Проведение по партиям пропускает их. В результате движения по регистру накопления ПартииТоваровНаСкладах отсутствуют, а себестоимость списания или возврата товаров не рассчитывается. Рассмотрим подробно причины возникновения такой проблемы и способы её устранения.

Выясним причины непопадания документов в последовательность

Проанализируем механику работы последовательностей в 1С. В типовой конфигурации УТ 10.3 для многих документов у свойства «Заполнение последовательностей» установлено значение «Не заполнять автоматически». Это означает, что платформа 1С не добавляет документ в таблицу последовательности автоматически при проведении, а передает управление программным модулям.

Выделим основные причины, по которым документ может быть пропущен:

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

Способ 1. Программная регистрация через набор записей последовательности

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

Посмотрим на пример кода для регистрации списка документов:


ДокумСсылка = Выборка.Регистратор1;

НаборЗаписей = Последовательности.ПартионныйУчет.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(ДокумСсылка);

НоваяЗапись = НаборЗаписей.Добавить();
НоваяЗапись.Регистратор = ДокумСсылка;
НоваяЗапись.Период = ДокумСсылка.Дата;

НаборЗаписей.Записать();

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

Способ 2. Регистрация через коллекцию «ПринадлежностьПоследовательностям»

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

Рассмотрим пример кода в модуле документа в процедуре ОбработкаПроведения:


// Очищаем и добавляем запись в коллекцию последовательностей документа
Движения.ПринадлежностьПоследовательностям.ПартионныйУчет.Очистить();
Движения.ПринадлежностьПоследовательностям.ПартионныйУчет.Добавить();

При транзакционной записи движений документа платформа самостоятельно подставит дату регистратора в поле Период и ссылку на документ в поле Регистратор.

Способ 3. Восстановление последовательности штатным проведением

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

  1. Откроем пункт главного меню Операции → Проведение документов.
  2. Перейдем на вкладку «Проведение документов», выберем нужный тип документа (например, Возврат товаров от покупателя) и укажем требуемый период. Нажмем кнопку выполнить — при этом выполнится групповое проведение документов с полной инициализацией модуля проведения.
  3. Перейдем на вкладку «Восстановление последовательностей», выберем последовательность ПартионныйУчет и запустим восстановление границы.

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

← На главную