Как организовать учет контактных линз по заводским штрихкодам в 1С

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

Работа с контактными линзами в розничной торговле представляет собой уникальную задачу для разработчика и аналитика 1С. Основная сложность заключается в том, что одна и та же модель линзы (например, "Acuvue Oasys") может иметь сотни вариаций, зависящих от комбинации диоптрий, радиуса кривизны, диаметра и цвета. Создавать под каждую вариацию отдельную позицию в справочнике Номенклатура — путь к перегрузке базы и ошибкам учета. Правильным подходом является использование механизма характеристик, однако здесь возникает вопрос: как эффективно связать заводской штрихкод производителя с конкретным набором свойств? Рассмотрим детально несколько проверенных способов решения этой задачи.

Метод 1. Использование промежуточного регистра сведений для сопоставления параметров

Проанализируем ситуацию: производитель печатает на упаковке уникальный штрихкод EAN-13 для каждой конкретной комбинации параметров. При этом в самой структуре EAN-13 данные о диоптриях не зашифрованы в явном виде. Нам необходимо создать механизм, который при сканировании «поймет», что штрихкод "46000000111" соответствует линзе с диоптрией -1.00 и радиусом 8.4.

Для реализации этого подхода создадим новый Регистр сведений (например, ЗаводскиеШтрихкодыПараметры). В качестве измерений установим:

В ресурсы или дополнительные измерения вынесем ключевые параметры:

Разберем алгоритм работы: при сканировании в документе поступления система сначала ищет штрихкод в этом регистре. Если он найден, 1С автоматически подставляет нужную характеристику или создает новую по найденным параметрам. Пример кода для поиска в таком регистре:


Функция НайтиПараметрыПоШтрихкоду(ТекущийШтрихкод)
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   ЗаводскиеШтрихкоды.Номенклатура,
        |   ЗаводскиеШтрихкоды.Диоптрия,
        |   ЗаводскиеШтрихкоды.РадиусКривизны
        |ИЗ
        |   РегистрСведений.ЗаводскиеШтрихкодыПараметры КАК ЗаводскиеШтрихкоды
        |ГДЕ
        |   ЗаводскиеШтрихкоды.Штрихкод = &Штрихкод";
    
    Запрос.УстановитьПараметр("Штрихкод", ТекущийШтрихкод);
    Результат = Запрос.Выполнить();
    
    Если Не Результат.Пустой() Тогда
        Выборка = Результат.Выбрать();
        Выборка.Следующий();
        Возврат Выборка;
    КонецЕсли;
    
    Возврат Неопределено;
КонецФункции

Метод 2. Использование сервиса 1С:Номенклатура

В современных конфигурациях (Розница 3.0, Управление нашей фирмой) встроен сервис 1С:Номенклатура. Это облачное хранилище, в котором уже описаны миллионы товаров крупных брендов, включая Johnson & Johnson, Bausch + Lomb и Alcon. Проанализируем возможности этого сервиса:

  1. При сканировании заводского штрихкода система обращается к облачной базе данных.
  2. Если товар найден, 1С предлагает скачать готовую карточку с уже заполненными дополнительными реквизитами (оптическая сила, базовая кривизна).
  3. Характеристики создаются автоматически на основе эталонного описания.

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

Метод 3. Шаблоны и частичное заполнение характеристик

Рассмотрим вариант, предложенный опытными пользователями на форумах: создание «служебных» характеристик. Вы можете заранее создать набор характеристик с заполненными основными параметрами (например, только диоптрия) и привязать к ним заводские штрихкоды. При поступлении новой партии товара, если сканируется известный штрихкод, система берет за основу этот шаблон.

Выясним причину, почему это удобно: в оптике часто используются стандартные сетки параметров. Вы можете загрузить список всех возможных комбинаций один раз (например, через обработку «Загрузка данных из файла») и связать их с штрихкодами, которые предоставит поставщик в формате Excel или XML. В 1С это реализуется через регистр сведений ШтрихкодыНоменклатуры, где владельцем является ХарактеристикаНоменклатуры.

Метод 4. Обязательная маркировка «Честный ЗНАК»

Не будем забывать, что контактные линзы являются медицинскими изделиями. С 2024 года вводится обязательная маркировка для многих категорий таких товаров. Это в корне меняет работу со штрихкодами. Вместо одномерного EAN-13 на упаковке появляется двухмерный DataMatrix.

Разберем, как это помогает нам: в коде DataMatrix зашит GTIN (тот же заводской штрихкод) и серийный номер. При интеграции с ИС МП (Информационная система маркировки продукции), 1С получает данные о товаре напрямую из национального каталога. Критически важно правильно настроить вид номенклатуры, указав, что товар подлежит маркировке. В этом случае при приемке сканирование кода маркировки автоматически идентифицирует и номенклатуру, и её характеристики.

Практические советы по реализации

Проанализируем еще несколько технических нюансов, которые помогут избежать ошибок в будущем:

Таким образом, наиболее надежным и перспективным методом является сочетание использования дополнительных реквизитов характеристик и интеграции с сервисами маркировки или 1С:Номенклатура. Это минимизирует ручной ввод и гарантирует точность учета в Вашем салоне оптики.

← На главную