Вы столкнулись с проблемой, когда 1С не печатает штрих-коды на этикетках, чеках или документах? Это одна из самых распространённых технических неполадок в конфигурациях 1С:Торговля и Склад, 1С:Розница и 1С:Управление торговлей. Ошибка может проявляться по-разному: от полного отсутствия штрих-кода на печати до искажённых символов или неправильного формата. В 80% случаев проблема решается настройкой конфигурации или драйверов оборудования, но иногда требуется глубокая диагностика.
В этой статье мы разберём все возможные причины — от банальных (неверные настройки принтера) до сложных (повреждение шаблонов печати или конфликт версий 1С). Вы узнаете, как проверить каждый элемент системы, где искать ошибки в коде, и что делать, если штрих-код печатается, но не сканируется. А для удобства мы добавили интерактивные чек-листы и таблицу совместимости оборудования с версиями 1С.
Прежде чем приступать к исправлению, ответьте на один вопрос:
1. Проверка оборудования: принтер, драйвера и подключение
Первое, что нужно исключить — аппаратные проблемы. Даже если принтер этикеток или термотрансферный принтер исправно печатает текст, это не гарантирует корректную работу со штрих-кодами. Вот что проверяем в первую очередь:
- 🖨️ Тип принтера: Убедитесь, что ваше устройство поддерживает печать штрих-кодов. Например, обычные лазерные принтеры могут некорректно отображать мелкие штрихи EAN-13 или Code 128.
- 🔌 Подключение: Если принтер подключён по USB, попробуйте переподключить кабель или использовать другой порт. Для сетевых принтеров проверьте IP-адрес в настройках 1С.
- 📥 Драйвера: Устаревшие драйвера — частая причина сбоев. Скачайте актуальную версию с сайта производителя (например, для Zebra, TSC или Godex).
- 📏 Разрешение печати: Для штрих-кодов требуется минимальное разрешение
203 dpi(лучше300 dpi). Проверьте настройки в панели управления принтера.
Если принтер новый, но штрих-коды не печатаются, возможно, он не совместим с вашей версией 1С. Ниже таблица совместимости популярных моделей:
| Модель принтера | 1С:Предприятие 8.3 (обычные формы) | 1С:Предприятие 8.3 (управляемые формы) | Требуемый драйвер |
|---|---|---|---|
| Zebra ZD420 | Да | Да (с обновлением 2023+) | Zebra Designer Pro |
| TSC TE200 | Да | Частично (нужен патч) | TSC BarTender |
| Godex EZ-2300 | Да | Да | Godex Printer Driver |
| Brother QL-800 | Нет (только через внешние обработки) | Да | Brother P-touch Editor |
⚠️ Внимание: Если вы используете фискальные регистраторы (например, Атол или Штрих-М), убедитесь, что в настройках 1С включён режим печати штрих-кодов через драйвер ККТ. В некоторых версиях это отдельная галочка в параметрах оборудования.
2. Настройки 1С: шаблоны печати и параметры штрих-кодов
Если с принтером всё в порядке, проблема кроется в настройках 1С. Чаще всего ошибки возникают из-за:
- 📄 Неправильного шаблона печати: В конфигурациях 1С:Торговля и Склад и 1С:Розница штрих-коды выводятся через внешние обработки или встроенные макеты. Проверьте, не сбились ли настройки в разделе
Администрирование → Печать → Шаблоны этикеток. - 🔢 Некорректного формата штрих-кода: Например, вы пытаетесь напечатать EAN-13, но в карточке номенклатуры указан Code 128. Перепроверьте поле
Тип штрих-кодав справочнике номенклатуры. - 📏 Неверных размеров: Штрих-код может не печататься, если его ширина или высота в шаблоне меньше минимально допустимых (например, менее
20 ммдля EAN-13). - 🔄 Конфликта версий: После обновления 1С старые шаблоны могут перестать работать. Обновите обработки печати через
Конфигуратор.
Чтобы проверить шаблон, выполните следующие шаги:
Откройте Администрирование → Печать → Шаблоны этикеток
Выберите используемый шаблон и нажмите "Редактировать"
Проверьте, что в макете есть поле для штрих-кода (обычно обозначено как {ШтрихКод})
Убедитесь, что тип штрих-кода в макете совпадает с типом в карточке номенклатуры
Сохраните изменения и перезапустите 1С-->
Если шаблон в порядке, но штрих-код всё равно не печатается, попробуйте сбросить кэш метаданных. Для этого:
- Закройте все сеансы 1С.
- Удалите папку
C:\Users\<ИмяПользователя>\AppData\Roaming\1C\1Cv8(или аналогичную для вашей ОС). - Запустите 1С заново и повторите печать.
Если вы используете управляемые формы, попробуйте временно переключиться на обычные формы (через Сервис → Параметры → Запуск 1С:Предприятия). Иногда это помогает выявить проблему с отображением штрих-кодов.
3. Ошибки в данных: номенклатура и справочники
Одна из самых коварных причин — отсутствие или некорректность штрих-кодов в справочнике номенклатуры. Даже если вы видите штрих-код в карточке товара, он может быть:
- 🚫 Пустым: Поле заполнено пробелами или не заполнено вовсе.
- 🔢 Некорректной длины: Например, для EAN-13 требуется ровно 13 цифр, а у вас 12 или 14.
- 🔄 Дублирующимся: Один и тот же штрих-код присвоен нескольким позициям номенклатуры.
- 📌 Неактивным: В некоторых конфигурациях есть флажок "Использовать для печати", который может быть снят.
Как проверить данные:
- Откройте справочник
Номенклатура(Справочники → Номенклатура). - Найдите проблемный товар и откройте его карточку.
- Перейдите на вкладку
Штрихкоды(или аналогичную в вашей конфигурации). - Убедитесь, что:
- Штрих-код указан без пробелов и спецсимволов.
- Тип штрих-кода соответствует тому, что вы пытаетесь напечатать.
- Нет дублирующихся записей для одного товара.
Если штрих-коды в справочнике отсутствуют, их можно сгенерировать автоматически. Для этого:
- Выделите нужные позиции в справочнике
Номенклатура. - Нажмите
Ещё → Сгенерировать штрихкоды(в некоторых конфигурациях эта функция может называться иначе). - Выберите тип штрих-кода (например, EAN-13) и подтвердите генерацию.
- Не отображаться вовсе.
- Печататься в виде случайных символов.
- Выводиться в неправильном формате (например, вместо EAN-13 печатается Code 39).
⚠️ Внимание: Если вы работаете с маркированными товарами (лекарства, табак, обувь), штрих-коды должны соответствовать требованиям системы Честный ЗНАК. Сгенерированные вручную коды могут не пройти валидацию.
4. Проблемы с драйвером печати штрих-кодов в 1С
В 1С для печати штрих-кодов используется внешний драйвер — 1C:Barcode или аналогичные компоненты. Если он повреждён или устарел, штрих-коды могут:
Как проверить и обновить драйвер:
- Закройте 1С.
- Перейдите в папку установки 1С (обычно
C:\Program Files\1Cv8\8.3.23.1234\bin, где8.3.23.1234— ваша версия платформы). - Найдите файлы:
Barcode.dllBarcode83.dll(для 8.3)1CBarcode.epf(внешняя обработка)
bin и перезапустите 1С.Если после обновления драйвера штрих-коды по-прежнему не печатаются, попробуйте перерегистрировать компоненту. Для этого:
- Запустите командную строку от имени администратора.
- Выполните команду:
regsvr32 "C:\Program Files\1Cv8\8.3.23.1234\bin\Barcode83.dll"(замените путь на актуальный для вашей версии 1С).
- Перезагрузите компьютер.
- 🛡️ Антивирус воспринимает драйвер
Barcode.dllкак подозрительный файл. - 🔒 У пользователя нет прав на доступ к принтеру или папкам 1С.
- 📂 Папка с шаблонами печати заблокирована для записи.
Что делать, если драйвер не регистрируется?
Если при выполнении команды regsvr32 появляется ошибка "Не удалось загрузить модуль", скорее всего, проблема в правах доступа или повреждении файла. Попробуйте:
1. Скопировать файл Barcode83.dll в папку C:\Windows\System32 и повторить регистрацию.
2. Запустить командную строку от имени администратора.
3. Если ошибка сохраняется, скачайте драйвер заново и проверьте его на вирусы (иногда антивирусы блокируют регистрацию DLL).
5. Конфликты с антивирусом и правами доступа
Реже, но метко: антивирусные программы или политики безопасности Windows могут блокировать печать штрих-кодов. Это происходит потому, что:
Как проверить:
- Временно отключите антивирус (например, Kaspersky, ESET NOD32 или Windows Defender) и попробуйте напечатать штрих-код заново. Если проблема исчезла — добавьте исключение для папки 1С и файла
Barcode.dll. - Проверьте права доступа:
- Кликните правой кнопкой по папке
C:\Program Files\1Cv8→Свойства → Безопасность. - Убедитесь, что ваш пользователь имеет права на
Чтение и выполнение,Запись.
- Кликните правой кнопкой по папке
Запуск от имени администратора).Если проблема в правах, но вы не можете их изменить (например, в корпоративной сети), обратитесь к системному администратору с просьбой:
- Добавить вашего пользователя в группу
Администраторы(временно). - Разрешить доступ к принтеру через
gpedit.msc(Редактор локальной групповой политики). - Исключить папку 1С из сканирования антивирусом.
⚠️ Внимание: В некоторых компаниях политики безопасности запрещают запуск 1С с правами администратора. В этом случае попробуйте перенести базу на другой компьютер с аналогичными настройками и проверьте печать там.
6. Ошибки в коде: программные сбои и исправления
Если все предыдущие шаги не помогли, проблема может крыться в программном коде конфигурации. Это актуально для:
- 🔧 Самописных обработок печати.
- 📦 Нетипичных конфигураций (например, сильно доработанных под заказчика).
- 🐛 Конфликтов после обновлений (особенно если проблема появилась после апдейта 1С).
Как диагностировать программную ошибку:
- Включите режим отладки:
- Запустите 1С в режиме
Конфигуратор. - Откройте модуль обработки печати (
Объекты → Обработки). - Поставьте точку останова на строке, где формируется штрих-код (обычно это функции вроде
ПечатьШтрихКода()илиФормироватьЭтикетку()). - Запустите отладку (
Отладка → Начать отладку) и повторите печать.
- Запустите 1С в режиме
- В 1С перейдите в
Администрирование → Журнал регистрации. - Отфильтруйте записи по дате и времени попытки печати.
- Ищите ошибки с текстом
Barcode,ПечатьилиШтрихКод.
Типичные ошибки в коде и их исправления:
| Ошибка | Причина | Решение |
|---|---|---|
Ошибка при вызове метода контекста (ПечатьШтрихКода) |
Отсутствует или повреждён драйвер Barcode.dll |
Переустановить драйвер (см. раздел 4) |
Недопустимый формат штрих-кода |
В шаблоне указан несуществующий тип (например, EAN-14 вместо EAN-13) | Исправить тип в макете печати |
Нет данных для печати штрих-кода |
В карточке номенклатуры не заполнено поле ШтрихКод |
Заполнить штрих-код в справочнике (см. раздел 3) |
Ошибка доступа к принтеру |
Нет прав на печать или принтер не подключён | Проверить подключение и права (см. раздел 5) |
Если вы не программист, но подозреваете ошибку в коде, можно:
- 📞 Обратиться к партнёру 1С, который поддерживает вашу базу.
- 🔍 Найти аналогичную проблему на форумах (например, Инфостарт или форум 1С).
- 🔄 Откатить конфигурацию до предыдущей версии (если проблема появилась после обновления).
Если при печати штрих-кода 1С "зависает" или выдаёт ошибку External exception EEFFACE, с большой вероятностью проблема в конфликте версий платформы 1С и драйвера принтера. Попробуйте обновить оба компонента до последних версий.
7. Проблемы с печатью на фискальных регистраторах (ККТ)
Если вы печатаете штрих-коды через фискальный регистратор (например, Атол 11Ф, Штрих-М ФР-К или Вики Принт), алгоритм диагностики отличается. Здесь ошибки чаще связаны с:
- 📜 Настройками драйвера ККТ: В 1С должен быть установлен актуальный драйвер для вашей модели фискального регистратора.
- 🔌 Протоколом обмена: Некоторые ККТ требуют настройки
COM-портаилиTCP/IP. - 📋 Форматом чека: Штрих-код может не печататься, если он не включён в шаблон чека.
- 🔒 Фискальными ограничениями: Например, в чеках нельзя печатать штрих-коды для некоторых категорий товаров (алкоголь, табак).
Как настроить печать штрих-кодов на ККТ:
- Откройте
Администрирование → Настройки оборудования → Фискальные регистраторы. - Выберите вашу ККТ и нажмите
Настроить. - Убедитесь, что в настройках включена опция
Печатать штрих-коды(или аналогичная). - Проверьте, что в шаблоне чека (обычно в
Администрирование → Печать → Шаблоны чеков) есть поле для штрих-кода.
Если штрих-код печатается на чеке, но не сканируется, проверьте:
- 🔍 Качество печати: Фискальные регистраторы часто печатают на термобумаге, которая со временем выцветает. Попробуйте другой рулон.
- 📏 Размер штрих-кода: На чеках он должен быть не менее
20×10 мм. - 📱 Сканер: Некоторые сканеры не читают штрих-коды с чеков из-за низкого контраста. Попробуйте отсканировать код с экрана монитора.
⚠️ Внимание: С 2026 года для маркированных товаров (лекарства, обувь, табак) требуется печать DataMatrix вместо обычных штрих-кодов. Убедитесь, что ваша ККТ поддерживает этот формат. В противном случае чеки могут не пройти фискализацию.
FAQ: Частые вопросы по печати штрих-кодов в 1С
🔍 Почему штрих-код печатается, но не сканируется?
Это одна из самых распространённых проблем. Причины могут быть следующими:
- 🖨️ Низкое качество печати: Штрихи сливаются или прерываются. Проверьте настройки принтера (увеличьте
DPIили уменьшите скорость печати). - 📏 Неправильный размер: Штрих-код слишком мелкий. Минимальный рекомендуемый размер для EAN-13 —
37×25 мм. - 🔍 Несоответствие типа: Вы печатаете Code 128, а сканер настроен на EAN-13. Проверьте настройки сканера.
- 📄 Плохая бумага: Термоэтикетки низкого качества могут "плыть" при нагреве. Попробуйте другой рулон.
Чтобы проверить, корректен ли штрих-код, отсканируйте его с экрана монитора. Если сканируется — проблема в печати. Если нет — в данных.
🖥️ Как напечатать штрих-код из 1С на обычном принтере (не этикеток)?
Для печати штрих-кодов на обычном лазерном или струйном принтере:
- Используйте внешнюю обработку печати (например, 1C:Печать штрих-кодов из каталога 1С:ИТС).
- Настройте шаблон в
WordилиExcelи экспортируйте данные из 1С черезВыгрузка в MS Office. - Используйте специализированное ПО вроде BarTender или NiceLabel, подключив его к 1С через
COM-соединение.
Обратите внимание: качество штрих-кодов на обычных принтерах часто хуже, чем на термотрансферных. Для склада или магазина лучше использовать специализированное оборудование.
📌 Можно ли в 1С сгенерировать штрих-коды автоматически для всех товаров?
Да, в большинстве конфигураций (1С:Торговля и Склад, 1С:Розница, 1С:УТ) есть встроенная функция генерации штрих-кодов. Чтобы ею воспользоваться:
- Откройте справочник
Номенклатура. - Выделите нужные позиции (можно выделить все через
Ctrl+A). - Нажмите
Ещё → Сгенерировать штрихкоды(или аналогичный пункт). - Выберите тип штрих-кода (EAN-13, Code 128 и т. д.) и подтвердите.
Если в вашей конфигурации нет такой функции, можно:
- Использовать внешнюю обработку (например, Генератор штрих-кодов для 1С с Инфостарта).
- Написать простой скрипт на встроенном языке 1С для автоматической генерации.
Важно: для маркированных товаров (лекарства, обувь, табак) штрих-коды должны соответствовать требованиям Честного ЗНАКа. Автоматическая генерация здесь не подходит — коды должны быть получены из системы маркировки.
🔄 После обновления 1С перестали печататься штрих-коды. Что делать?
Это типичная проблема после обновлений платформы или конфигурации. Действуйте по алгоритму:
- Проверьте совместимость:
- Откройте
Справка → О программеи запомните версию платформы (например,8.3.23.1234). - На сайте 1С:ИТС проверьте, поддерживается ли ваша версия принтера или ККТ.
- Откройте
- Обновите драйвера:
- Скачайте актуальные драйвера для принтера и компоненты
Barcode.dll. - Переустановите их (инструкция в разделе 4).
- Скачайте актуальные драйвера для принтера и компоненты
- Восстановите шаблоны печати:
- В
КонфигуратореоткройтеОбъекты → Обработки. - Найдите обработки с именами вроде
ПечатьЭтикетокилиШтрихКод. - Сравните их с оригинальными из дистрибутива 1С (через
Конфигурация → Сравнить конфигурации).
- В
- Если проблема появилась после обновления конфигурации, попробуйте вернуть резервную копию базы.
- Или откатите платформу 1С до предыдущей версии (через
Панель управления → Программы →