Как загрузить места хранения номенклатуры из Excel в 1С:Управление торговлей 10.3?

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

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

Почему поля места хранения нет в справочнике номенклатуры

В конфигурации 1С:Управление торговлей 10.3 справочное адресное хранение реализовано не через реквизиты самой номенклатуры, а с помощью отдельной структуры метаданных:

  1. Справочник МестаХранения — подчинен справочнику Склады (в нем хранятся наименования стеллажей, рядов, ячеек или полок для каждого конкретного склада).
  2. Регистр сведений МестаХраненияНоменклатуры — независимый непериодический регистр, который связывает конкретную позицию товара со складом и ячейкой, а также определяет приоритет размещения.

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

Способ 1. Загрузка стандартной обработкой ИТС в два этапа

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

Этап 1: Создание элементов топологии склада

  1. Откроем обработку и переключим режим загрузки на Справочник, выбрав объект МестаХранения.
  2. В табличной части настройки сопоставления полей обязательно укажем соответствие для реквизита Владелец — в качестве значения выберем нужный элемент справочника Склады (или настроим поиск по наименованию склада).
  3. Сопоставим колонку с наименованием ячейки/секции с полем Наименование.
  4. Выполним загрузку данных. В результате в подчиненном справочнике склада появятся все необходимые ячейки.

Этап 2: Привязка номенклатуры к местам хранения

  1. Переключим режим загрузки в обработке на Регистр сведений и выберем объект МестаХраненияНоменклатуры.
  2. Настроим сопоставление измерений и ресурсов регистра: - Номенклатура — сопоставляем с колонкой файла (поиск по коду, артикулу или наименованию); - Склад — указываем склад-получатель; - МестоХранения — сопоставляем с колонкой наименования ячейки, обязательно указав владельца (тот же склад), чтобы поиск происходил корректно; - Приоритет — числовое значение (например, 1), если используется ранжирование мест.
  3. Загрузим данные в регистр сведений.

Способ 2. Загрузка в один проход через вычисляемое выражение

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

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


МенеджерЗаписи = РегистрыСведений.МестаХраненияНоменклатуры.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Склад = НужныйСклад;
МенеджерЗаписи.Номенклатура = ТекущийОбъект.Ссылка;
МенеджерЗаписи.МестоХранения = СсылкаНаМестоХранения;
МенеджерЗаписи.Приоритет = 1;
МенеджерЗаписи.Записать(Истина);

При таком подходе при записи каждого элемента номенклатуры система автоматически формирует соответствующую запись в регистре сведений МестаХраненияНоменклатуры.

Особенности и технические ограничения

Разберем важные нюансы, которые необходимо учитывать при работе с местами хранения в УТ 10.3:

  1. Обязательность владельца: Платформа 1С не позволит создать элемент справочника МестаХранения без указания конкретного склада в поле Владелец.
  2. Уникальность наименований ячеек: Если на нескольких складах ячейки называются одинаково (например, «Секция 1»), поиск места хранения без отбора по владельцу приведет к ошибкам или привязке ячейки с чужого склада.
  3. Характер учета: В типовой конфигурации УТ 10.3 адресное хранение носит справочный характер. Оно предназначено для вывода информации в складских бланках, прайс-листах и печатных формах, но не ведет количественный учет остатков в разрезе ячеек в регистрах накопления.

Альтернативные варианты

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

  1. Создать свойство в плане видов характеристик СвойстваОбъектов с типом «Строка» (например, «Адрес на складе»).
  2. Загрузить значения через стандартную обработку в регистр сведений ЗначенияСвойствОбъектов.

Этот вариант проще в загрузке, однако он не будет автоматически подтягиваться в типовые складские печатные формы, ориентированные на регистр МестаХраненияНоменклатуры.

← На главную