Предистория:
Работаю над запуском УПП на большом заводе по производству продуктов питания (самый большой в Европе). Особенность учёта - Партионный учёт в разрезе Серий. Хоть меня и отговаривали не запускать такой подробный учёт, но реальность такова, что законодательство обязывает предприятия пищевой промышленности фиксировать какие Серии сырья пошли на производство каких Серий готовой продукции. И столкнулся с проблемой контроля остатков. В УПП встроен механизм неоперативного проведения документов при котором контроль отрицательных остатков при проведении не выполняется. В итоге, когда проиходит неоперативное проведение документа (например, Перемещения) и на остатках нет достаточного количества сырья, то движения по регистру "Товары" выполняется всегда, а по регистру "Партии товаров" такого движения не будет. И выходит себестоимость выбытия запасов не будет правильно рассчитана. Беда в том, что 1С не предложила никакого механизма сравнения данных регистра "Товары" и "Партии товаров". Я нашёл отличную программу сравнения регистров (большое спасибо Ивану Белокаменцеву за этот отчет), но в ней есть недостаток: не учтена ордерная схема учёта. Пришлось переделать отчёт Ивана и теперь этот недостаток устранен.
Конечно дыру с контролем остатков при неоперативном проведении можно закрыть, когда учёт уже налажен, добавлением нескольких строчек кода в процедуру контроля остатков. Но на этапе тестирования, механизм неоперативного проведения очень полезен.
Что делает отчет:
Сверяет движения запасов между регистром "Товары" и "Партии товаров (БУ)". Выводятся только расхождения. Учтена особенность ордерной схемы учёта. Гибкая настройка группировок.
Проверялось на релизе:
УПП 1.3.31.1
Подробности:
Рассмотрим ордерную схему учёта в УПП:
Операция "Перемещение"
Выполнятся 3 документами: "Перемещение", "Расходный ордер на товары" и "Приходный ордер на товары".
Документ | Регистр "Товары" | Регистр "Партии товаров (БУ)" |
Перемещение | нет движений | нет движений |
Расходный ордер на товары | движение со знаком "-" | нет движений |
Приходный ордер на товары | движение со знаком "+" | движение со знаком "-" и "+" |
Движения поначалу кажется странными, но на самом деле всё логично.
Операция "Поступление"
Документ | Регистр "Товары" | Регистр "Партии товаров (БУ)" |
Поступление товаров и услуг | нет движений | движение со знаком "+" |
Приходный ордер на товары | движение со знаком "+" | нет движений |
Операция "Реализация"
Документ | Регистр "Товары" | Регистр "Партии товаров (БУ)" |
Реализация товаров и услуг | нет движений | движение со знаком "-" |
Расходный ордер на товары | движение со знаком "-" | нет движений |
Выходит, чтобы сравнить расхождения между движениями в регистрах, недостаточно увидеть расхождения по документу-регистратору. Перед выполнением сравнения, нужно собрать движения по документу-основанию и только потом проводить поиск расхождений.
Порядок встраивания:
В режиме 1С:Предприятие нужно в меню Сервис -> Дополнительные внешние отчеты и обработки -> Отчеты добавить скачанный файл.