Как настроить поиск номенклатуры по GTIN штрихкоду в 1С:Управление торговлей?

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

При работе с номенклатурой в 1С и активном использовании штрихкодов для идентификации товаров, часто возникают вопросы, связанные с корректной загрузкой и функционированием поиска. Особенно актуальной эта тема становится, когда речь заходит о глобальных номерах товарной продукции (GTIN) и их взаимодействии с системой учета.

Рассмотрим ситуацию, когда вы загрузили GTIN штрихкоды в информационную базу 1С, например, через обработку загрузки номенклатуры и штрихкодов из Excel (удобнее через инструмент массовой загрузки данных из Excel) в поле GTIN самой номенклатуры, но при попытке найти товар по этому штрихкоду система не находит его, ориентируясь только на данные из справочника «Штрихкоды». Разберем, почему так происходит, и как правильно организовать работу с GTIN для обеспечения полноценного поиска и соответствия требованиям маркировки.

GTIN и EAN: Разбираем основные понятия и их взаимосвязь

Прежде чем углубиться в механизмы 1С, давайте проясним терминологию, чтобы наше понимание было полным и точным. Глобальный номер товарной продукции (GTIN) — это всемирный идентификатор, разработанный организацией GS1. Он является зонтичным термином и включает в себя различные системы нумерации, такие как EAN и UPC. GTIN может иметь разную длину: 8, 12, 13 или 14 цифр. Среди наиболее распространенных форматов:

  1. GTIN-8: 8-значный номер, используемый для очень маленьких упаковок.
  2. GTIN-12 (UPC-A): 12-значный номер, широко распространенный в Северной Америке.
  3. GTIN-13 (EAN-13): 13-значный штрихкод, наиболее распространенный в Европе и многих других странах для розничных товаров.
  4. GTIN-14: 14-значный номер, предназначенный для идентификации торговых единиц на различных уровнях упаковки (потребительская единица, мультиупаковка, коробка или паллета).

Важно понимать, что все номера EAN являются GTIN, но не все GTIN являются номерами EAN. EAN — это подмножество GTIN. Например, EAN-13 — это конкретный 13-значный формат GTIN.

Для GTIN-14 часто используется "индикаторный разряд" (от 1 до 8) в начале, который определяет иерархию упаковки. Если такой индикатор не указан, часто используется ведущий "0". Именно этот ведущий "0" превращает 13-значный EAN-13 в 14-значный GTIN-14 для унификации хранения в некоторых системах, включая 1С. В базах данных 1С GTINы, как правило, всегда представляются в 14-разрядном виде, при необходимости с добавлением ведущих нулей. Например, EAN-13 вида `1234567890123` будет храниться как `01234567890123`.

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

Механизмы хранения штрихкодов в 1С и обеспечение поиска

В системе 1С, особенно в конфигурациях типа "Управление торговлей" (например, УТ 11.5), для хранения и поиска штрихкодов используются несколько объектов, и понимание их назначения критически важно:

  1. Регистр сведений "Штрихкоды номенклатуры": Это основной механизм, через который 1С осуществляет поиск по штрихкоду. Он предназначен для хранения связи между штрихкодом и конкретной позицией номенклатуры, ее характеристиками и упаковками. Для того чтобы функция поиска по штрихкоду работала корректно при сканировании или ручном вводе, GTINы (или любые другие штрихкоды) должны быть загружены именно в этот регистр сведений и правильно связаны с соответствующей номенклатурой. Если вы используете внешние системы учета, можно настроить автоматическую загрузку штрихкодов из StoreHouse или других баз напрямую в этот регистр.
  2. Справочник "Штрихкоды упаковок и товаров": В некоторых конфигурациях, например, для работы с маркировкой или особенностями учета упаковок, могут использоваться и другие справочники. Они могут хранить более детализированную информацию о маркировочных кодах.
  3. Поле GTIN в карточке номенклатуры: Часто в карточке номенклатуры можно встретить отдельное поле для GTIN. Оно служит глобальным идентификатором товара, но не всегда напрямую используется для оперативного поиска номенклатуры по штрихкоду в интерфейсе пользователя или при сканировании. Основной механизм поиска в розничных и складских операциях все же опирается на регистр "Штрихкоды номенклатуры".

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

GTINы критически важны для систем прослеживаемости, таких как "Честный ЗНАК" в России, где каждый уникальный товар (или его характеристика) должен иметь свой GTIN.

Пошаговое решение проблемы поиска по GTIN в 1С

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

Шаг 1: Проверка и корректная загрузка GTIN в регистр штрихкодов

Мы выяснили, что для полноценного поиска GTINы должны находиться в Регистре сведений "Штрихкоды номенклатуры". Важно убедиться, что они загружены туда правильно, с учетом всех особенностей формата.

  1. Идентификация целевого регистра: Убедитесь, что вы загружаете данные именно в Регистр сведений "Штрихкоды номенклатуры" (или аналогичный регистр, используемый в вашей конфигурации для поиска), а не только в атрибут GTIN карточки номенклатуры. Для массовой коррекции данных удобно использовать обработку загрузки штрихкодов, дополнительных реквизитов и цен — есть обработка загрузки номенклатуры и штрихкодов из Excel.
  2. Корректный формат GTIN (14 цифр): Как мы уже обсуждали, для многих систем, включая 1С, GTINы представляются в 14-разрядном формате. Если ваши штрихкоды EAN-13 (13-значные), их необходимо преобразовать в GTIN-14, добавив ведущий "0".

    Например, если ваш EAN-13: 4601234567890, то для загрузки в 1С как GTIN-14 он должен быть: 04601234567890.

    При загрузке данных, особенно из внешних файлов (Excel, CSV), необходимо контролировать этот момент. Часто Excel удаляет ведущие нули, воспринимая штрихкод как число. Вы можете использовать форматирование ячеек как текстовый или применять функции для добавления нулей до нужной длины.

  3. Использование обработчика загрузки: Если вы используете специализированный алгоритм загрузки штрихкодов номенклатуры, убедитесь, что он корректно записывает каждый GTIN в регистр сведений, связывая его с соответствующей номенклатурой (и, при необходимости, с характеристикой или упаковкой).

    Пример (псевдокод, отражающий логику):

    
            // Предположим, у нас есть таблица данных с колонками "Номенклатура", "GTIN_Строкой"
            Для Каждого СтрокаТаблицы Из ДанныеДляЗагрузки Цикл
                Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(СтрокаТаблицы.Номенклатура); // Или по другому уникальному полю
                Если Номенклатура <> Неопределено Тогда
                    ШтрихкодДляЗаписи = СтрокаТаблицы.GTIN_Строкой;
                    // Проверяем и дополняем до 14 символов ведущими нулями, если это EAN-13
                    Если СтрДлина(ШтрихкодДляЗаписи) = 13 Тогда
                        ШтрихкодДляЗаписи = "0" + ШтрихкодДляЗаписи;
                    КонецЕсли;
    
                    // Создаем новую запись регистра сведений
                    НоваяЗаписьРегистра = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьМенеджерЗаписи();
                    НоваяЗаписьРегистра.Штрихкод = ШтрихкодДляЗаписи;
                    НоваяЗаписьРегистра.Номенклатура = Номенклатура;
                    // Если есть характеристики или упаковки, заполняем их тоже
                    // НоваяЗаписьРегистра.Характеристика = ...
                    // НоваяЗаписьРегистра.ЕдиницаИзмерения = ...
    
                    Попытка
                        НоваяЗаписьРегистра.Записать();
                    Исключение
                        Сообщить("Ошибка при записи штрихкода " + ШтрихкодДляЗаписи + " для номенклатуры " + Номенклатура.Наименование + ": " + ОписаниеОшибки());
                    КонецПопытки;
                Иначе
                    Сообщить("Номенклатура '" + СтрокаТаблицы.Номенклатура + "' не найдена.");
                КонецЕсли;
            КонецЦикла;
            

Шаг 2: Настройка поиска в 1С

В большинстве конфигураций 1С (например, 1С:Управление торговлей 11.5) система поиска по штрихкоду по умолчанию настроена на поиск как в регистре сведений "Штрихкоды номенклатуры", так и в других связанных источниках, если они предусмотрены функционалом. Это означает, что после корректной загрузки GTIN в соответствующий регистр, поиск должен начать работать автоматически.

  1. Множественные штрихкоды: 1С:Управление торговлей 11.5 поддерживает возможность использования нескольких штрихкодов для одной позиции номенклатуры. Чтобы сделать работу удобнее, можно использовать дополнительные колонки в справочнике и подборах номенклатуры для отображения штрихкодов прямо в списке товаров.
  2. Неуникальные штрихкоды: В некоторых случаях может потребоваться разрешить использование неуникальных штрихкодов. Эта опция может быть активирована в настройках конфигурации. Однако обычно GTINы должны быть уникальны для каждой товарной позиции или ее характеристики.
  3. Проверка через интерфейс: После загрузки попробуйте вручную найти номенклатуру через стандартный механизм поиска. Если типовых возможностей недостаточно, можно внедрить расширение для поиска номенклатуры по отсканированному штрихкоду в формах списка и выбора. Также полезно реализовать сканирование штрихкодов в форме подбора номенклатуры, так как штатно в УТ 11 эта форма ориентирована на работу с клавиатурой. Для тех, кто привык к интерфейсу прошлых версий, доступно решение, возвращающее иерархию номенклатуры как в УТ 10.3 со сканированием штрихкодов.

Шаг 3: GTIN для маркировки и электронных накладных

GTINы являются обязательным элементом для системы маркировки товаров и широко используются в электронных накладных (эТН, ЭТТН).

  1. Интеграция с системами маркировки: GTINы являются частью кода DataMatrix. Для товаров с характеристиками GTIN присваивается каждой характеристике. Каждый уровень упаковки может иметь свой GTIN.
  2. Электронные накладные в 1С для Беларуси: Для корректной работы с электронными накладными (BLRDLN, BLRWBL) GTINы реализуемых товаров должны быть указаны в карточке номенклатуры. При загрузке кодов маркировки в электронную накладную может потребоваться выбрать режим "текущая номенклатура" и вручную добавить коды.

Дополнительные рекомендации

Для обеспечения надежной работы системы и предотвращения ошибок:

  1. Уникальность GTIN: Мы настоятельно рекомендуем, чтобы каждый GTIN был уникальным для конкретного типа товара и его характеристики. В современном подходе к маркировке GTIN является уникальным идентификатором товарной позиции.
  2. Совместное использование кодов: Мы не рекомендуем использовать одновременно код маркировки и линейный штрихкод с двумя разными GTIN на одном и том же товаре.
  3. Индикаторный разряд GTIN-14: Индикаторный разряд в GTIN-14 используется для идентификации уровней упаковки. Если он не указан, часто используется 0.
  4. Верификация данных: После загрузки GTINов всегда проводите выборочную проверку в 1С. Чтобы упростить визуальный контроль, можно вывести штрихкоды в справочник номенклатуры в виде отдельной колонки.

Таким образом, для успешной работы поиска по штрихкодам GTIN в 1С:Управление торговлей, ключевым является не только наличие GTIN в карточке номенклатуры для целей маркировки, но и их корректная загрузка в Регистр сведений "Штрихкоды номенклатуры" с учетом правильного 14-значного формата и ведущих нулей.

← На главную