Как правильно добавить новое измерение в регистр накопления остатков и перенести текущие остатки

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

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

Технические нюансы при изменении структуры регистра

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

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

Варианты решения проблемы с текущими остатками

Разберем по шагам основные практические способы перехода на учет с новым измерением.

Способ 1. Корректировка остатков через документ инвентаризации или корректировки регистра

Самым простым и методологически верным способом является перенос остатков с «пустой» серии на заполненные серии на определенную точку времени. Создание документа, который списывает старый остаток и приходует новый с заполненной аналитикой, является стандартной методикой в платформе 1С.

Рассмотрим порядок действий:

  1. Добавляем новое измерение Серия для объекта РегистрНакопления в конфигураторе.
  2. Создаем документ инвентаризации или специализированный документ КорректировкаРегистра (в типовых конфигурациях, таких как «1С:Управление торговлей»).
  3. Заполняем табличную часть текущими остатками товаров на определенную дату.
  4. Формируем движения по регистру: делаем расход по «пустой» серии и приход с указанием конкретных заполненных серий.

Чтобы не раздувать обороты регистра, движение по замене пустой серии на заполненную делается одномоментно на граничную дату ввода нового учета.

Способ 2. Использование служебной серии по умолчанию

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

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

Способ 3. Вынос серийного учета в отдельный регистр накопления

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

  1. Основной регистр накопления остатков товаров оставляем без изменений (с измерениями Номенклатура и Склад).
  2. Создаем отдельный регистр накопления остатков (например, ТоварыПоСериям) с измерениями Склад, Номенклатура, Серия.
  3. Движения по новому регистру формируем только теми документами и операциями, где требуется учет по сериям.

Этот подход позволяет избежать длительной реструктуризации основной таблицы и сохраняет высокое быстродействие оперативного контроля остатков по базовой аналитике.

← На главную