При работе с номенклатурой в 1С и активном использовании штрихкодов для идентификации товаров, часто возникают вопросы, связанные с корректной загрузкой и функционированием поиска. Особенно актуальной эта тема становится, когда речь заходит о глобальных номерах товарной продукции (GTIN) и их взаимодействии с системой учета.
Рассмотрим ситуацию, когда вы загрузили GTIN штрихкоды в информационную базу 1С, например, через обработку загрузки номенклатуры и штрихкодов из Excel (удобнее через инструмент массовой загрузки данных из Excel) в поле GTIN самой номенклатуры, но при попытке найти товар по этому штрихкоду система не находит его, ориентируясь только на данные из справочника «Штрихкоды». Разберем, почему так происходит, и как правильно организовать работу с GTIN для обеспечения полноценного поиска и соответствия требованиям маркировки.
Прежде чем углубиться в механизмы 1С, давайте проясним терминологию, чтобы наше понимание было полным и точным. Глобальный номер товарной продукции (GTIN) — это всемирный идентификатор, разработанный организацией GS1. Он является зонтичным термином и включает в себя различные системы нумерации, такие как EAN и UPC. GTIN может иметь разную длину: 8, 12, 13 или 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С, особенно в конфигурациях типа "Управление торговлей" (например, УТ 11.5), для хранения и поиска штрихкодов используются несколько объектов, и понимание их назначения критически важно:
Если GTIN указан только в карточке номенклатуры, 1С может использовать его для сопоставления поступающей номенклатуры в электронных накладных. При отсутствии GTIN в базе или поступлении нового товара с неизвестным GTIN, система может предложить создать новый элемент номенклатуры. 1С также предлагает возможность генерировать внутренние штрихкоды EAN-13, если штрихкод производителя отсутствует.
GTINы критически важны для систем прослеживаемости, таких как "Честный ЗНАК" в России, где каждый уникальный товар (или его характеристика) должен иметь свой GTIN.
Если вы столкнулись с проблемой, когда GTINы загружены, но поиск по ним не работает, выполним следующие шаги:
Мы выяснили, что для полноценного поиска GTINы должны находиться в Регистре сведений "Штрихкоды номенклатуры". Важно убедиться, что они загружены туда правильно, с учетом всех особенностей формата.
Регистр сведений "Штрихкоды номенклатуры" (или аналогичный регистр, используемый в вашей конфигурации для поиска), а не только в атрибут GTIN карточки номенклатуры. Для массовой коррекции данных удобно использовать обработку загрузки штрихкодов, дополнительных реквизитов и цен — есть обработка загрузки номенклатуры и штрихкодов из Excel.Например, если ваш EAN-13: 4601234567890, то для загрузки в 1С как GTIN-14 он должен быть: 04601234567890.
При загрузке данных, особенно из внешних файлов (Excel, CSV), необходимо контролировать этот момент. Часто Excel удаляет ведущие нули, воспринимая штрихкод как число. Вы можете использовать форматирование ячеек как текстовый или применять функции для добавления нулей до нужной длины.
Пример (псевдокод, отражающий логику):
// Предположим, у нас есть таблица данных с колонками "Номенклатура", "GTIN_Строкой"
Для Каждого СтрокаТаблицы Из ДанныеДляЗагрузки Цикл
Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(СтрокаТаблицы.Номенклатура); // Или по другому уникальному полю
Если Номенклатура <> Неопределено Тогда
ШтрихкодДляЗаписи = СтрокаТаблицы.GTIN_Строкой;
// Проверяем и дополняем до 14 символов ведущими нулями, если это EAN-13
Если СтрДлина(ШтрихкодДляЗаписи) = 13 Тогда
ШтрихкодДляЗаписи = "0" + ШтрихкодДляЗаписи;
КонецЕсли;
// Создаем новую запись регистра сведений
НоваяЗаписьРегистра = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьМенеджерЗаписи();
НоваяЗаписьРегистра.Штрихкод = ШтрихкодДляЗаписи;
НоваяЗаписьРегистра.Номенклатура = Номенклатура;
// Если есть характеристики или упаковки, заполняем их тоже
// НоваяЗаписьРегистра.Характеристика = ...
// НоваяЗаписьРегистра.ЕдиницаИзмерения = ...
Попытка
НоваяЗаписьРегистра.Записать();
Исключение
Сообщить("Ошибка при записи штрихкода " + ШтрихкодДляЗаписи + " для номенклатуры " + Номенклатура.Наименование + ": " + ОписаниеОшибки());
КонецПопытки;
Иначе
Сообщить("Номенклатура '" + СтрокаТаблицы.Номенклатура + "' не найдена.");
КонецЕсли;
КонецЦикла;
В большинстве конфигураций 1С (например, 1С:Управление торговлей 11.5) система поиска по штрихкоду по умолчанию настроена на поиск как в регистре сведений "Штрихкоды номенклатуры", так и в других связанных источниках, если они предусмотрены функционалом. Это означает, что после корректной загрузки GTIN в соответствующий регистр, поиск должен начать работать автоматически.
GTINы являются обязательным элементом для системы маркировки товаров и широко используются в электронных накладных (эТН, ЭТТН).
Для обеспечения надежной работы системы и предотвращения ошибок:
Таким образом, для успешной работы поиска по штрихкодам GTIN в 1С:Управление торговлей, ключевым является не только наличие GTIN в карточке номенклатуры для целей маркировки, но и их корректная загрузка в Регистр сведений "Штрихкоды номенклатуры" с учетом правильного 14-значного формата и ведущих нулей.