Заполнение справочника номенклатуры при первичном запуске магазина или обновлении ассортимента — одна из самых трудоемких задач в 1С:Розница 2.2. В этой статье мы подробно разберем, какими инструментами можно воспользоваться, как правильно сопоставить данные и решить специфические проблемы, такие как загрузка штрихкодов и характеристик.
Прежде чем приступать к сложным внешним обработкам, проанализируем возможности современного интерфейса 1С:Розница. В последних релизах конфигурации (начиная с 2.2) встроена удобная функция загрузки прямо из списка товаров.
Рассмотрим алгоритм работы с этим помощником:
Этот способ идеально подходит для простого заполнения базы, так как он автоматически создает не только элементы справочника Номенклатура, но и связанные записи в регистрах цен и штрихкодов.
Если нам требуется более тонкая настройка (например, загрузка в конкретные реквизиты или дополнительные сведения), разберем работу с универсальной обработкой. Это «классика» для администраторов 1С.
Проанализируем шаги по загрузке данных этим методом:
СправочникСсылка.Номенклатура.Наименование и ВидНоменклатуры.Однако здесь многие сталкиваются с проблемой: штрихкоды не появляются в карточках товаров. Выясним причину: в 1С:Розница штрихкоды хранятся не в самой карточке товара, а в отдельном регистре сведений ШтрихкодыНоменклатуры. Поэтому загрузка должна проходить в два этапа.
Рассмотрим подробнее, как связать уже загруженные товары с их штрихкодами. Для этого нам понадобится уникальный идентификатор, по которому программа «поймет», какому товару принадлежит код. Обычно это Артикул или Код (внутренний номер 1С).
Алгоритм действий:
Номенклатура укажем «Искать по: Артикулу».Для программной реализации такой связи в более сложных сценариях можно использовать следующий пример кода:
// Пример создания записи в регистре штрихкодов
НовыйШтрихкод = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьМенеджерЗаписи();
НовыйШтрихкод.Номенклатура = СсылкаНаОбъектНоменклатура; // Ссылка, найденная по артикулу
НовыйШтрихкод.Штрихкод = ТекущийШтрихкодИзФайла;
НовыйШтрихкод.ТипШтрихкода = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN13;
НовыйШтрихкод.Записать();
Важно: если вы не укажете тип штрихкода (например, EAN13), программа может записать данные, но сканер в режиме РМК (рабочего места кассира) не сможет распознать товар.
Если в вашем магазине используется учет по цветам и размерам, ситуация усложняется. Характеристики в Рознице привязаны к товару, и их нужно загружать после создания основной номенклатуры.
Разберем, как это сделать структурно:
ВидыНоменклатуры и настраиваем в них использование характеристик.Номенклатура.ХарактеристикиНоменклатуры, где владельцем указываем наш товар.Для корректного поиска владельца при загрузке характеристик лучше всего использовать ГУИД (уникальный идентификатор) или связку «Наименование товара + Артикул», чтобы избежать дублей, если в базе есть похожие названия.
Посмотрим на ситуацию, когда нужно не просто создать карточки, но и сразу поставить товар на остаток. В стандартных бесплатных обработках такая функция отсутствует. Как правило, это решается написанием внешнего расширения или использованием специализированных инструментов типа «Прыг-Скок».
Логика такой обработки выглядит следующим образом:
ПоступлениеТоваров или ОприходованиеИзлишков.УстановкаЦенНоменклатуры.Это позволяет автоматизировать процесс «от прайса поставщика до готового ценника на полке» за один клик.
Проанализируем еще несколько важных аспектов, которые часто упускают из виду:
НоменклатураПрисоединенныеФайлы и переведет картинки в двоичные данные.EnterpriseData. Это сохранит связи между объектами гораздо надежнее, чем ручной перенос через XML.Таким образом, мы выяснили, что для простой первичной загрузки в Розницу 2.2 достаточно штатных средств, а для сложных задач со штрихкодами и характеристиками потребуется двухэтапный подход с использованием универсальных обработок или написание кастомного решения.