Добавление штрихкодов в счета 1С:Предприятие — задача, с которой сталкиваются компании, работающие с маркированными товарами, оптовыми поставками или автоматизированными складскими системами. Без корректно настроенного вывода штрихкодов на печатные формы документы теряют юридическую силу для некоторых категорий товаров (например, лекарств, обуви или табачной продукции), а сотрудники тратят время на ручное проставление кодов в Excel или графических редакторах.
В этой статье разберём три основных способа добавления штрихкодов в счета 1С — от ручного ввода до полной автоматизации через обработки. Особое внимание уделим настройке печатных форм (включая макеты МХЛ и ТабличныйДокумент), интеграции со сканерами штрихкодов и решению типичных ошибок, когда коды не отображаются или печатаются искажёнными. Все инструкции актуальны для последних релизов 1С:Управление Торговлей 11, ERP 2.5, Комплексная Автоматизация 2.4 и Бухгалтерия 3.0.
Если вы работаете с маркированными товарами (Честный ЗНАК, ЕГАИС), в конце статьи найдёте отдельный раздел с нюансами вывода DataMatrix и GS1-кодов в счетах для госорганов.
1. Подготовка справочников: где в 1С хранятся штрихкоды?
Прежде чем добавлять штрихкоды в счета, убедитесь, что они корректно занесены в базу. В 1С штрихкоды хранятся в трёх ключевых местах:
- 📦 Справочник «Номенклатура» — основное хранилище. Здесь для каждой позиции можно указать один или несколько штрихкодов (вкладка
Штрихкодыили реквизитАртикул, если он совпадает со штрихкодом). - 🏷️ Справочник «Штрихкоды» — отдельный регистр, где хранятся все коды системы. Ссылка на него есть в меню
Справочники → Торговля → Штрихкоды. - 📄 Документы поступления — если штрихкоды присваиваются при приёмке товара, они могут дублироваться в табличных частях документов
Поступление товаровилиИнвентаризация.
Чтобы проверить наличие штрихкодов:
- Откройте справочник
Номенклатура(Справочники → Торговля → Номенклатура). - Выберите нужную позицию и перейдите на вкладку
Штрихкоды(в некоторых конфигурациях она может называтьсяДополнительно). - Если вкладки нет — значит, штрихкоды хранятся в отдельном справочнике. Используйте поиск по коду товара в
Справочники → Штрихкоды.
Если штрихкодов в базе нет, их можно загрузить пакетно через Обмен данными → Импорт из Excel или с помощью обработки "Загрузка штрихкодов из файла" (доступна в 1С:УТ и ERP).
Важно: В конфигурациях 1С:Розница штрихкоды могут автоматически генерироваться при создании новой номенклатуры (настройка в Администрирование → Настройки программы → Торговля). Если этот флажок включён, проверьте, не дублируются ли коды для разных позиций.
2. Способ 1: Ручной ввод штрихкода в печатную форму счета
Самый простой, но трудоёмкий метод — добавить штрихкод непосредственно в макет печатной формы. Подходит, если коды нужно вывести единоразово или для небольшого количества документов.
Инструкция:
- Откройте счет на редактирование (
Продажи → Счета покупателям, выберите документ и нажмитеПечать → Настроить форму). - В окне
Настройка печатной формыперейдите на вкладкуМакет. - Найдите таблицу с перечнем товаров (обычно это область с заголовками
№,Товар,Количество). - Добавьте новый столбец правее
ЦенаилиСумма. Для этого кликните правой кнопкой по заголовку таблицы и выберитеДобавить колонку. - В свойствах новой колонки укажите:
- 📌
Имя:Штрихкод - 📌
Заголовок:Штрихкод(илиАртикул, если используете его как код) - 📌
Источник данных: выберите полеШтрихкодиз табличной части документа (если его нет — см. раздел 3).
- 📌
- Сохраните макет и обновите печатную форму.
- ❌ Проверьте, заполнено ли поле
Штрихкодв табличной части счета (вкладкаТовары). - ❌ Убедитесь, что в макете указан правильный
Источник данных(иногда требуется путь видаТабличнаяЧастьТовары.Штрихкод). - ❌ Если штрихкод хранится в справочнике
Номенклатура, а не в документе, используйте выражение видаТовары.Номенклатура.Штрихкод.
Если штрихкод не отображается:
Заполнены штрихкоды в номенклатуре|Правильно указан источник данных в макете|Столбец добавлен в таблицу товаров|Формат штрихкода соответствует стандарту (EAN-13, Code 128 и т.д.)-->
3. Способ 2: Автоматическое заполнение штрихкодов через обработку
Если штрихкоды хранятся в справочнике Номенклатура, но не подтягиваются в счет автоматически, потребуется доработать модуль документа или использовать внешнюю обработку. Рассмотрим оба варианта.
Вариант А: Настройка автозаполнения без программирования
В 1С:УТ 11 и ERP 2 есть встроенная возможность автоматического заполнения штрихкодов:
- Откройте
Администрирование → Настройки программы → Торговля → Штрихкоды. - Установите флажок
Автоматически заполнять штрихкоды в документах. - В настройках счета (
Продажи → Настройка счетов) на вкладкеПечатные формыдобавьте реквизитШтрихкодв список выводимых полей.
Вариант Б: Обработка для массового заполнения
Если автозаполнение не работает, используйте внешнюю обработку. Скачайте её из каталога 1С-Отчетность (поиск по запросу "Заполнение штрихкодов в документах") или создайте свою:
Процедура ЗаполнитьШтрихкодыНаОснованииНоменклатуры(Документ)
Для Каждого СтрокаТоваров Из Документ.Товары Цикл
Если НЕ ЗначениеЗаполнено(СтрокаТоваров.Штрихкод) Тогда
Штрихкод = СтрокаТоваров.Номенклатура.Штрихкод;
Если ЗначениеЗаполнено(Штрихкод) Тогда
СтрокаТоваров.Штрихкод = Штрихкод;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Чтобы применить обработку:
- Сохраните код в файле с расширением
.epf. - В 1С откройте
Файл → Открытьи выберите созданный файл. - Запустите обработку для нужного счета.
Что делать, если обработка не находит штрихкоды?
Если обработка не заполняет штрихкоды, проверьте:
1. Права доступа: у пользователя должны быть права на чтение справочника Штрихкоды.
2. Связь с номенклатурой: в справочнике Штрихкоды должно быть указано, к какой номенклатуре относится код (поле Номенклатура).
3. Тип штрихкода: некоторые обработки работают только с EAN-13 или Code 128. Если у вас DataMatrix, потребуется доработка.
4. Способ 3: Вывод штрихкода как штрихкода (с генерацией графического изображения)
Часто требуется не просто вывести цифры штрихкода, а сгенерировать его графическое изображение (как на этикетках). Для этого в 1С есть встроенные механизмы работы со шрифтами штрихкодов или внешние компоненты.
Шаг 1: Установка шрифта для штрихкодов
Скачайте и установите на компьютер шрифт для генерации штрихкодов (например, Free 3 of 9 или IDAutomationHC39M). Затем:
- Откройте макет печатной формы счета (
Печать → Настроить форму → Макет). - Добавьте новый текстовый элемент в строку с товаром.
- В свойствах элемента укажите:
- 📌
Шрифт: выберите установленный шрифт штрихкода (например,IDAutomationHC39M). - 📌
Текст: введите выражение" + Строка(Товары.Штрихкод) + ""(звёздочки обязательны дляCode 39).
- 📌
- Отрегулируйте размер шрифта (обычно
10-12 пт) и ширину колонки. - 🖥️ 1C:Barcode — официальное решение от 1С (платно, интегрируется через
Дополнительные отчёты и обработки). - 🖥️ BarcodeLib — бесплатная библиотека для генерации штрихкодов (требует регистрации в
Администрирование → Внешние компоненты). - 🏷️ DataMatrix — двумерный код, содержащий
GTIN, серию и номер. - 📄 GS1-коды — для логистических единиц (коробов, паллет).
- 🔢 Коды утилизационного сбора — для техники и электроники.
Шаг 2: Альтернатива — внешняя компонента
Если шрифты не подходят (например, для DataMatrix или QR), используйте внешнюю компоненту:
Пример кода для генерации штрихкода через BarcodeLib:
Баркод = Новый BarcodeLib;
Картинка = Баркод.GenerateBarcode(Товары.Штрихкод, "EAN13", 200, 100);
ЭлементФормы.Картинка = Картинка;
EAN-13 (стандартный товарный)|Code 128 (логистика)|DataMatrix (маркировка)|QR-код (доп. информация)|Другой-->
5. Типичные ошибки и их решение
Даже после настройки штрихкоды могут не отображаться или печататься некорректно. Разберём 5 самых частых проблем и способы их устранения:
| Проблема | Возможная причина | Решение |
|---|---|---|
| Штрихкод не выводится в печатной форме | Поле не добавлено в макет или неверный источник данных | Проверьте путь к реквизиту в настройках колонки (должен быть Товары.Штрихкод или Товары.Номенклатура.Штрихкод) |
| Штрихкод печатается как текст, а не как графический код | Не установлен шрифт штрихкода или неверный формат | Установите шрифт (например, IDAutomationHC39M) и добавьте звёздочки в начале и конце кода ("123456789012") |
| В счет попадает не тот штрихкод | У номенклатуры несколько штрихкодов, выбирается не основной | В обработке автозаполнения добавьте фильтр по типу кода (например, ТипШтрихкода = "EAN13") |
| Штрихкод обрезается при печати | Недостаточная ширина колонки или маленький размер шрифта | Увеличьте ширину колонки в макете до 4-5 см и установите размер шрифта 10-12 пт |
| При сканировании штрихкод не распознаётся | Неверный формат кода или низкое качество печати | Проверьте соответствие формата (например, EAN-13 должен содержать 13 цифр). Используйте лазерный принтер для печати |
Если штрихкод не сканируется, проверьте его контрольную сумму. Для EAN-13 последняя цифра рассчитывается по алгоритму. Онлайн-калькуляторы контрольных сумм: gs1.org или barcode.tec-it.com.
Внимание! Если вы работаете с маркированными товарами (лекарства, обувь, табак), обычный штрихкод EAN-13 может не подойти. Для Честного ЗНАКа требуется DataMatrix или GS1 DataMatrix, а для ЕГАИС — PDF417. Эти форматы не поддерживаются стандартными шрифтами 1С и требуют внешних компонент (например, 1C:Barcode Pro).
6. Особенности для маркированных товаров (Честный ЗНАК, ЕГАИС)
С 2026 года для ряда товарных групп (лекарства, обувь, шины, табак) обязательна маркировка средствами идентификации. В счетах для таких товаров должны выводиться:
Чтобы вывести эти коды в счете:
- Убедитесь, что в справочнике
Номенклатуразаполнены поля:- 📌
Код маркировки (DataMatrix) - 📌
GTIN(глобальный номер торговой единицы) - 📌
Серийный номер(для серийных товаров)
- 📌
DataMatrix и используйте внешнюю компоненту для генерации кода (например, 1C:Barcode Pro или Atol Barcode).// Пример вывода данных маркировки в печатной форме
ТекстДокумента.ВывестиСекцию("Маркировка/Заголовок");
ТекстДокумента.ВывестиСтроку("GTIN: " + Товары.Номенклатура.GTIN);
ТекстДокумента.ВывестиСтроку("Серийный номер: " + Товары.СерийныйНомер);
ТекстДокумента.ВывестиСтроку("Код DataMatrix: " + Товары.Номенклатура.КодМаркировки);
ТекстДокумента.ВывестиСекцию("Маркировка/Разделитель");
Для проверки корректности DataMatrix используйте мобильное приложение "Честный ЗНАК" (доступно для iOS и Android). Оно считывает код и показывает расшифрованные данные.
Внимание! С 2026 года правила маркировки могут ужесточиться. Например, для молочной продукции и воды планируется введение обязательной маркировки. Следите за обновлениями на сайте честныйзнак.рф и настраивайте печатные формы заранее.
7. Автоматизация: интеграция со сканерами и оборудованием
Если вы используете сканеры штрихкодов или терминалы сбора данных (ТСД), настройте автоматическое заполнение штрихкодов в счетах через 1С:Драйвер оборудования:
Инструкция для подключения сканера:
- Установите драйвер сканера (например, Zebra, Honeywell или Datalogic).
- В 1С откройте
Администрирование → Подключаемое оборудование. - Добавьте новое устройство типа
Сканер штрихкодаи укажитеCOM-портилиUSB-HID(в зависимости от модели). - В настройках счета включите опцию
Автозаполнение по штрихкоду(вкладкаДополнительно).
Для работы с ТСД (например, Atlas или CipherLab):
- 📡 Настройте обмен данными через
1С:Мобильная платформаили 1С:ТСД+. - 📡 Создайте обработку загрузки данных из ТСД в документы (пример кода есть в ИТС).
- 📡 Проверьте, что в настройках ТСД указан формат штрихкода, совместимый с 1С (обычно
EAN-13илиCode 128).
Пример кода для обработки данных со сканера:
Процедура ОбработатьШтрихкод(Штрихкод)
Если Номенклатура = Справочники.Номенклатура.НайтиПоШтрихкоду(Штрихкод) Тогда
НоваяСтрока = Документ.Товары.Добавить();
НоваяСтрока.Номенклатура = Номенклатура;
НоваяСтрока.Штрихкод = Штрихкод;
НоваяСтрока.Количество = 1;
Иначе
Сообщить("Товар с штрихкодом " + Штрихкод + " не найден!");
КонецЕсли;
КонецПроцедуры
FAQ: Частые вопросы по штрихкодам в 1С
Можно ли в 1С сгенерировать штрихкод автоматически, если его нет в базе?
Да, в 1С:УТ и ERP есть встроенная функция генерации штрихкодов. Для этого:
- Откройте справочник
Номенклатура. - Выберите товар и нажмите
Ещё → Сгенерировать штрихкод. - Укажите префикс (например,
20для внутренних кодов) и количество знаков.
Для массовой генерации используйте обработку "Генерация штрихкодов для номенклатуры" из каталога 1С-Отчетность.
Как вывести штрихкод в счет, если он хранится в дополнительном реквизите?
Если штрихкод записан в дополнительном реквизите (например, ДопШтрихкод), в макете печатной формы используйте выражение:
Товары.Номенклатура.ДополнительныеРеквизиты.ДопШтрихкод
Убедитесь, что реквизит добавлен в план видов характеристик ДополнительныеРеквизитыИСведения.
Почему при печати счета штрихкод отображается как набор символов, а не как код?
Это происходит, если:
- 🔤 Не установлен шрифт штрихкода (например, Free 3 of 9).
- 🔤 Неверный формат кода (например, для
Code 39обязательны звёздочки в начале и конце:"123456"). - 🔤 Штрихкод выводится как текст, а не как графический элемент.
Решение: установите шрифт, проверьте формат и настройте макет как описано в разделе 4.
Как добавить штрихкод в счет для 1С:Бухгалтерия 3.0?
В 1С:Бухгалтерия нет справочника Штрихкоды, но можно:
- Добавить реквизит
Штрихкодв справочникНоменклатура(Администрирование → Печатные формы → Настройка номенклатуры). - В макете счета создать колонку с источником данных
Товары.Номенклатура.Штрихкод. - Для генерации графического кода использовать внешнюю обработку (например, "Печать штрихкодов для БП 3.0" из каталога 1С-Отчетность).
Нужно ли выводить штрихкоды в счетах для юридических лиц?
Законодательство не обязывает указывать штрихкоды в счетах для юрлиц, кроме случаев:
- 📜 Товар подлежит обязательной маркировке (лекарства, обувь, табак — см. Честный ЗНАК).
- 📜 В договоре с покупателем прописано требование о выводе штрихкодов.
- 📜 Счет используется для таможенного оформления (требуется
GTIN).
Для физлиц (розница) штрихкоды в чеках обязательны согласно 54-ФЗ.