Как выровнять остатки по регистрам «Партии товаров на складах» и «Товары на складах» в 1С?

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

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

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

Причины возникновения расхождений между регистрами

Проанализируем основные факторы, приводящие к рассинхронизации партионного и складского учета:

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

Способ 1. Автоматическая корректировка регистров через обработку

Рассмотрим наименее трудоемкий вариант для больших объемов номенклатуры — написание внешней обработки, которая сопоставляет остатки двух регистров и формирует документ КорректировкаЗаписейРегистров на дату срезки.

Разберем по шагам алгоритм работы такой обработки:

  1. Составление сличительного запроса. Запрос получает остатки из двух регистров накопления на нужную дату и вычисляет разницу по комбинации измерений (Номенклатура, Характеристика, Склад, Серия).
  2. Определение партий для оприходования и списания. Поскольку в регистре ТоварыНаСкладах отсутствует измерение «ДокументОплаты» или «ДокументПоступления», при недостаче партий выбирается либо существующая остаточная партия, либо создается служебный документ-партию (например, технический документ «Оприходование товаров»).
  3. Заполнение движения документа. Обработка создает документ «Корректировка записей регистров» и заполняет таблицу движений по регистру ПартииТоваровНаСкладах.

Пример схемы запроса для получения разниц между регистрами:


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	Товары.Склад КАК Склад,
    |	Товары.Номенклатура КАК Номенклатура,
    |	Товары.КоличествоОстаток КАК КоличествоТовары,
    |	ЕСТЬНУЛЛ(Партии.КоличествоОстаток, 0) КАК КоличествоПартии,
    |	Товары.КоличествоОстаток - ЕСТЬНУЛЛ(Партии.КоличествоОстаток, 0) КАК Разница
    |ИЗ
    |	РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаСрезки, ) КАК Товары
    |	ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&ДатаСрезки, ) КАК Партии
    |	ПО Товары.Склад = Партии.Склад
    |		И Товары.Номенклатура = Партии.Номенклатура
    |ГДЕ
    |	Товары.КоличествоОстаток <> ЕСТЬНУЛЛ(Партии.КоличествоОстаток, 0)";

Запрос.УстановитьПараметр("ДатаСрезки", ДатаСрезки);
Результат = Запрос.Выполнить().Выгрузить();

Способ 2. Выравнивание через стандартные документы «Списание» и «Оприходование»

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

  1. Полное списание расходящихся партий. На время 23:59:58 даты срезки создается документ «Списание товаров», который обнуляет все текущие партионные остатки по позициям с расхождениями.
  2. Оприходование эталонного количества. На время 23:59:59 той же даты создается документ «Оприходование товаров». В него транслируются точные количественные остатки из регистра ТоварыНаСкладах с указанием фиксированной плановой или средней себестоимости.

Преимущество метода: Типовые документы «Списание товаров» и «Оприходование товаров» автоматически формируют корректные движения не только по регистру ПартииТоваровНаСкладах, но и по смежным регистрам налогового и бухгалтерского учета.

Важные нюансы и сопутствующие регистры

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

После проведения корректирующих документов обязательно выполняйте пересчет итогов регистров накопления и проверяйте сходимость отчетов «Ведомость по товарам на складах» и «Ведомость по партиям товаров на складах».

← На главную