Как списать или переупаковать товар в 1С:УТ 11, если остатки числятся без упаковок, а их использование уже включено?

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

В процессе развития складского учета в конфигурации 1С:Управление торговлей 11 (а также в ERP и Комплексной автоматизации) часто возникает ситуация, когда на начальном этапе товар учитывался просто в единицах хранения (например, в штуках), а позже было принято решение использовать упаковки и адресное хранение. Если на момент включения этих опций в системе уже были остатки, пользователь сталкивается с невозможностью провести документы отгрузки, списания или перемещения. Программа выдает ошибку, требуя указать упаковку, но при этом "не видит" остатки, так как в регистрах они записаны с "пустой" упаковкой.

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

Причина возникновения проблемы: логика регистров адресного склада

Для того чтобы понять, как решить проблему, выясним причину ее возникновения. В 1С:УТ 11 учет товаров на адресном складе ведется в разрезе регистра накопления ТоварыВЯчейках. Одним из ключевых измерений этого регистра является Упаковка.

Когда мы включаем использование упаковок для Вида номенклатуры, система начинает ожидать, что во всех складских движениях будет указана конкретная ссылка на элемент справочника УпаковкиЕдиницыИзмерения. Однако старые остатки, введенные до этой настройки, хранятся в регистре со значением ПустаяСсылка в поле упаковки. При попытке списания (например, через Внутреннее потребление товаров или Отражение результатов пересчетов), вы указываете созданную упаковку "шт". Программа ищет в ячейке товар именно с этой упаковкой, не находит его (так как там лежит товар с "пустой" упаковкой) и блокирует проведение документа из-за нехватки остатков.

Способ 1. Временное отключение функциональных опций и перезачет остатков

Этот метод считается наиболее "безопасным" с точки зрения целостности данных, так как мы используем стандартные документы. Рассмотрим последовательность действий:

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

Таким образом, мы "перезагружаем" аналитику товара, и теперь система видит остатки именно в разрезе нужных нам упаковок.

Способ 2. Корректировка регистров (Технический метод)

Если остатков слишком много или период закрыт для редактирования старых документов, рассмотрим вариант прямой корректировки записей в регистрах. Этот метод требует осторожности и понимания структуры движений 1С.

Нам потребуется документ Корректировка регистров. Нам нужно "перебросить" остатки с пустой упаковки на заполненную по следующим регистрам:

Для регистра ТоварыВЯчейках схема записей будет выглядеть следующим образом:


// Строка 1: Убираем остаток без упаковки
Движение = Движения.ТоварыВЯчейках.ДобавитьРасход();
Движение.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("ВашТовар");
Движение.Ячейка = Справочники.СкладскиеЯчейки.НайтиПоНаименованию("А-01-01");
Движение.Упаковка = Справочники.УпаковкиЕдиницыИзмерения.ПустаяСсылка();
Движение.ВНаличии = 10; // Ваше количество

// Строка 2: Добавляем остаток с новой упаковкой
Движение = Движения.ТоварыВЯчейках.ДобавитьПриход();
Движение.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("ВашТовар");
Движение.Ячейка = Справочники.СкладскиеЯчейки.НайтиПоНаименованию("А-01-01");
Движение.Упаковка = Справочники.УпаковкиЕдиницыИзмерения.НайтиПоНаименованию("шт", , НоменклатураСсылка);
Движение.ВНаличии = 10;

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

Способ 3. Изменение типа хранения склада (Справочное хранение)

Проанализируем еще один обходной путь. Если проблема только в адресном складе, можно временно перевести склад (или конкретную область хранения) из режима "Адресное хранение (управление остатками)" в режим "Справочное размещение в ячейках".

Пошаговый алгоритм:

  1. В настройках склада меняем политику на справочное хранение. При этом жесткий контроль остатков в разрезе упаковок в конкретных ячейках ослабевает.
  2. Проводим документы списания или инвентаризации, которые ранее "ругались" на отсутствие упаковок.
  3. После успешного списания включаем упаковки в номенклатуре.
  4. Возвращаем настройки склада в режим адресного хранения.
  5. Вводим остатки заново через Приходный ордер на товары, указывая упаковки и размещая товар по ячейкам.

Рекомендации при работе с сериями

Важно помнить: если у вас включен учет по сериям, ситуация усложняется. В регистре ТоварыВЯчейках серия и упаковка являются равноправными измерениями. Если вы корректируете упаковку, обязательно следите за тем, чтобы серия оставалась идентичной. Если при "перепаковке" через документы списания/оприходования вы укажете другую серию или забудете ее указать, вы получите расхождение в финансовом учете и складском ордерном учете. Проверяйте отчет Контроль оперативных остатков после каждой итерации.

Резюме

Наиболее адекватным и "чистым" способом для программиста является корректировка регистров, так как она позволяет точечно исправить аналитику, не затрагивая настройки всей системы. Для обычного пользователя рекомендуется метод временного отключения контроля упаковок и перепроведение остатков через складские акты (излишки/недостачи). Выбор метода зависит от количества номенклатурных позиций и сложности складской топологии.

← На главную