Работа с контактными линзами в розничной торговле представляет собой уникальную задачу для разработчика и аналитика 1С. Основная сложность заключается в том, что одна и та же модель линзы (например, "Acuvue Oasys") может иметь сотни вариаций, зависящих от комбинации диоптрий, радиуса кривизны, диаметра и цвета. Создавать под каждую вариацию отдельную позицию в справочнике Номенклатура — путь к перегрузке базы и ошибкам учета. Правильным подходом является использование механизма характеристик, однако здесь возникает вопрос: как эффективно связать заводской штрихкод производителя с конкретным набором свойств? Рассмотрим детально несколько проверенных способов решения этой задачи.
Проанализируем ситуацию: производитель печатает на упаковке уникальный штрихкод EAN-13 для каждой конкретной комбинации параметров. При этом в самой структуре EAN-13 данные о диоптриях не зашифрованы в явном виде. Нам необходимо создать механизм, который при сканировании «поймет», что штрихкод "46000000111" соответствует линзе с диоптрией -1.00 и радиусом 8.4.
Для реализации этого подхода создадим новый Регистр сведений (например, ЗаводскиеШтрихкодыПараметры). В качестве измерений установим:
Номенклатура (СправочникСсылка.Номенклатура)Штрихкод (Строка)В ресурсы или дополнительные измерения вынесем ключевые параметры:
Диоптрия (Число или СправочникСсылка)РадиусКривизны (Число или СправочникСсылка)Цвет (СправочникСсылка)Разберем алгоритм работы: при сканировании в документе поступления система сначала ищет штрихкод в этом регистре. Если он найден, 1С автоматически подставляет нужную характеристику или создает новую по найденным параметрам. Пример кода для поиска в таком регистре:
Функция НайтиПараметрыПоШтрихкоду(ТекущийШтрихкод)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаводскиеШтрихкоды.Номенклатура,
| ЗаводскиеШтрихкоды.Диоптрия,
| ЗаводскиеШтрихкоды.РадиусКривизны
|ИЗ
| РегистрСведений.ЗаводскиеШтрихкодыПараметры КАК ЗаводскиеШтрихкоды
|ГДЕ
| ЗаводскиеШтрихкоды.Штрихкод = &Штрихкод";
Запрос.УстановитьПараметр("Штрихкод", ТекущийШтрихкод);
Результат = Запрос.Выполнить();
Если Не Результат.Пустой() Тогда
Выборка = Результат.Выбрать();
Выборка.Следующий();
Возврат Выборка;
КонецЕсли;
Возврат Неопределено;
КонецФункции
В современных конфигурациях (Розница 3.0, Управление нашей фирмой) встроен сервис 1С:Номенклатура. Это облачное хранилище, в котором уже описаны миллионы товаров крупных брендов, включая Johnson & Johnson, Bausch + Lomb и Alcon. Проанализируем возможности этого сервиса:
Преимущество: Вам не нужно вручную вносить тысячи комбинаций штрихкодов. Достаточно один раз настроить сопоставление категорий, и данные будут подтягиваться автоматически.
Рассмотрим вариант, предложенный опытными пользователями на форумах: создание «служебных» характеристик. Вы можете заранее создать набор характеристик с заполненными основными параметрами (например, только диоптрия) и привязать к ним заводские штрихкоды. При поступлении новой партии товара, если сканируется известный штрихкод, система берет за основу этот шаблон.
Выясним причину, почему это удобно: в оптике часто используются стандартные сетки параметров. Вы можете загрузить список всех возможных комбинаций один раз (например, через обработку «Загрузка данных из файла») и связать их с штрихкодами, которые предоставит поставщик в формате Excel или XML. В 1С это реализуется через регистр сведений ШтрихкодыНоменклатуры, где владельцем является ХарактеристикаНоменклатуры.
Не будем забывать, что контактные линзы являются медицинскими изделиями. С 2024 года вводится обязательная маркировка для многих категорий таких товаров. Это в корне меняет работу со штрихкодами. Вместо одномерного EAN-13 на упаковке появляется двухмерный DataMatrix.
Разберем, как это помогает нам: в коде DataMatrix зашит GTIN (тот же заводской штрихкод) и серийный номер. При интеграции с ИС МП (Информационная система маркировки продукции), 1С получает данные о товаре напрямую из национального каталога. Критически важно правильно настроить вид номенклатуры, указав, что товар подлежит маркировке. В этом случае при приемке сканирование кода маркировки автоматически идентифицирует и номенклатуру, и её характеристики.
Проанализируем еще несколько технических нюансов, которые помогут избежать ошибок в будущем:
Диоптрия, Радиус, Ось. Это позволит не только быстро создавать карточки, но и строить удобные отчеты по продажам конкретных параметров.[Диоптрия] / [Радиус] / [Цвет]. Это обеспечит порядок в справочнике и исключит дублирование.ШтрихкодыНоменклатуры.Таким образом, наиболее надежным и перспективным методом является сочетание использования дополнительных реквизитов характеристик и интеграции с сервисами маркировки или 1С:Номенклатура. Это минимизирует ручной ввод и гарантирует точность учета в Вашем салоне оптики.