В процессе развития складского учета в конфигурации 1С:Управление торговлей 11 (а также в ERP и Комплексной автоматизации) часто возникает ситуация, когда на начальном этапе товар учитывался просто в единицах хранения (например, в штуках), а позже было принято решение использовать упаковки и адресное хранение. Если на момент включения этих опций в системе уже были остатки, пользователь сталкивается с невозможностью провести документы отгрузки, списания или перемещения. Программа выдает ошибку, требуя указать упаковку, но при этом "не видит" остатки, так как в регистрах они записаны с "пустой" упаковкой.
Разберем подробно, почему так происходит, и проанализируем несколько способов решения этой задачи: от административных методов до прямой корректировки данных в базе.
Для того чтобы понять, как решить проблему, выясним причину ее возникновения. В 1С:УТ 11 учет товаров на адресном складе ведется в разрезе регистра накопления ТоварыВЯчейках. Одним из ключевых измерений этого регистра является Упаковка.
Когда мы включаем использование упаковок для Вида номенклатуры, система начинает ожидать, что во всех складских движениях будет указана конкретная ссылка на элемент справочника УпаковкиЕдиницыИзмерения. Однако старые остатки, введенные до этой настройки, хранятся в регистре со значением ПустаяСсылка в поле упаковки. При попытке списания (например, через Внутреннее потребление товаров или Отражение результатов пересчетов), вы указываете созданную упаковку "шт". Программа ищет в ячейке товар именно с этой упаковкой, не находит его (так как там лежит товар с "пустой" упаковкой) и блокирует проведение документа из-за нехватки остатков.
Этот метод считается наиболее "безопасным" с точки зрения целостности данных, так как мы используем стандартные документы. Рассмотрим последовательность действий:
Вида номенклатуры. Если программа все равно блокирует документы, может потребоваться временное отключение функциональной опции "Упаковки товаров" в меню НСИ и администрирование — Настройка НСИ и разделов — Номенклатура — Разрезы учета.Ордер на отражение недостач товаров (если склад адресный) или Списание недостач товаров. На данном этапе наша цель — полностью очистить складские ячейки и финансовые остатки от записей с пустой упаковкой.Ордер на отражение излишков товаров (или Прочее оприходование товаров), где во всех строках уже в обязательном порядке указываем нашу новую упаковку "шт".Таким образом, мы "перезагружаем" аналитику товара, и теперь система видит остатки именно в разрезе нужных нам упаковок.
Если остатков слишком много или период закрыт для редактирования старых документов, рассмотрим вариант прямой корректировки записей в регистрах. Этот метод требует осторожности и понимания структуры движений 1С.
Нам потребуется документ Корректировка регистров. Нам нужно "перебросить" остатки с пустой упаковки на заполненную по следующим регистрам:
ТоварыВЯчейках (самый важный для WMS-склада);ТоварыНаСкладах;ТоварыОрганизаций (если ведется финансовый учет).Для регистра ТоварыВЯчейках схема записей будет выглядеть следующим образом:
// Строка 1: Убираем остаток без упаковки
Движение = Движения.ТоварыВЯчейках.ДобавитьРасход();
Движение.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("ВашТовар");
Движение.Ячейка = Справочники.СкладскиеЯчейки.НайтиПоНаименованию("А-01-01");
Движение.Упаковка = Справочники.УпаковкиЕдиницыИзмерения.ПустаяСсылка();
Движение.ВНаличии = 10; // Ваше количество
// Строка 2: Добавляем остаток с новой упаковкой
Движение = Движения.ТоварыВЯчейках.ДобавитьПриход();
Движение.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("ВашТовар");
Движение.Ячейка = Справочники.СкладскиеЯчейки.НайтиПоНаименованию("А-01-01");
Движение.Упаковка = Справочники.УпаковкиЕдиницыИзмерения.НайтиПоНаименованию("шт", , НоменклатураСсылка);
Движение.ВНаличии = 10;
После проведения такой корректировки все стандартные складские отчеты (например, Ведомость по товарам на складах или Товары в ячейках) начнут показывать корректные данные, и документы отгрузки перестанут выдавать ошибки.
Проанализируем еще один обходной путь. Если проблема только в адресном складе, можно временно перевести склад (или конкретную область хранения) из режима "Адресное хранение (управление остатками)" в режим "Справочное размещение в ячейках".
Пошаговый алгоритм:
Приходный ордер на товары, указывая упаковки и размещая товар по ячейкам.Важно помнить: если у вас включен учет по сериям, ситуация усложняется. В регистре ТоварыВЯчейках серия и упаковка являются равноправными измерениями. Если вы корректируете упаковку, обязательно следите за тем, чтобы серия оставалась идентичной. Если при "перепаковке" через документы списания/оприходования вы укажете другую серию или забудете ее указать, вы получите расхождение в финансовом учете и складском ордерном учете. Проверяйте отчет Контроль оперативных остатков после каждой итерации.
Наиболее адекватным и "чистым" способом для программиста является корректировка регистров, так как она позволяет точечно исправить аналитику, не затрагивая настройки всей системы. Для обычного пользователя рекомендуется метод временного отключения контроля упаковок и перепроведение остатков через складские акты (излишки/недостачи). Выбор метода зависит от количества номенклатурных позиций и сложности складской топологии.