Проверка штрихкодов из Excel: ошибки и дубли EAN-8 / EAN-13
Разработка - Математика и алгоритмы
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Поставщик прислал список товаров со штрихкодами? Перед загрузкой в 1С проверьте, нет ли в нём опечаток, пустых кодов и повторов. Скопируйте из Excel один столбец штрихкодов либо два соседних столбца «штрихкод / описание» и вставьте в обработку. В результате будут видны проблемные строки и пояснения к ним.
Обработка работает только со вставленным списком. Справочники и документы базы не читает и не изменяет. Поддерживает EAN-8 и EAN-13, до 2 000 непустых строк. Прямой загрузки файла Excel нет.
Пример: что найдёт проверка
Ниже — учебный список из комплекта. Номера строк соответствуют исходной таблице с заголовком в первой строке. Это сокращённое представление результата с пояснениями, а не скриншот интерфейса.
| Строка | Штрихкод | Результат и пояснение |
|---|---|---|
| 2 | 9312345678907 |
Без замечаний. Длина и контрольная цифра корректны. |
| 3 | 96385074 |
Дубль. Этот же код есть в строке 6. |
| 4 | 9312345678908 |
Ошибка контрольной цифры. Последняя цифра — 8, расчётная — 7. Нужно сверить номер с источником. |
| 5 | 00000017 |
Без замечаний. Ведущие нули сохранены. |
| 6 | 96385074 |
Дубль. Код встречается два раза; обе строки остаются в результате. |
| 7 | 400638133393A |
Недопустимые символы. В номере есть буква A. |
| 8 | Пусто | Пустой штрихкод. Описание заполнено, а код не указан. |
| 9 | 123456789012 |
Длина не поддерживается. Здесь 12 цифр; обработка проверяет только EAN-8 и EAN-13. |
| 10 | 00000000 |
Требует проверки. Все цифры нулевые, хотя контрольная цифра совпадает. |
Итог: 9 строк, 2 без замечаний, 7 требуют проверки. Две строки с дублями входят в эти семь — их не нужно прибавлять к итогу отдельно. Статус «Без замечаний» относится только к выполненным проверкам формата и списка: он не подтверждает регистрацию GS1 или принадлежность номера товару.
Как проверить свой список
- Откройте
ПроверкаШтрихкодов_0_1_rc2.epfв 1С через «Файл → Открыть». - Скопируйте из Excel один столбец штрихкодов или два соседних столбца: штрихкод и описание. В Excel храните коды как текст, чтобы не потерять ведущие нули.
- Вставьте список. Если скопировали заголовок, включите флажок «Первая непустая строка — заголовок».
- Нажмите «Проверить». Найдите проблемные позиции по номерам исходных строк.
- Нажмите «Открыть результат». Отдельную таблицу можно сохранить штатными средствами 1С, в том числе в XLSX.
Чтобы сначала увидеть учебный пример, откройте пустой экземпляр обработки и нажмите «Заполнить пример», затем «Проверить». Эта команда не заменяет уже введённый список. При изменении списка или флажка заголовка прежний результат очищается.
Что будет в результате
- Исходный номер строки, штрихкод и описание.
- Формат EAN-8 или EAN-13, исходная и расчётная контрольные цифры.
- Число повторов, статус, пояснение и исходный текст.
Проверяются длина кода, цифры 0–9, контрольная цифра, пустые коды, лишние столбцы и повторы. Коды из одних нулей отмечаются отдельно. Если у дубля неверная контрольная цифра, видны обе проблемы. Дубли остаются отдельными строками: обработка не выбирает, какую позицию удалить.
Что входит в комплект
EPF версии 0.1 rc2 с открытым исходным кодом, инструкция, учебный TSV, ожидаемый результат и XLSX на учебных данных. В обработку встроены пример и 37 сценариев самопроверки.
Для повторения примера из Excel скопируйте B3:C12 на листе «Лист_1» файла «Пример_штрихкоды.xlsx»: это штрихкод и описание с заголовком.
Проверенная среда
Приёмка сборки 0.1 rc2 выполнена 30.09.2026 на синтетических данных: УНФ 3.0.11.161, платформа 8.5.1.1150, Windows Server 2019 Datacenter x64, файловая база, тонкий клиент, управляемая форма, интерфейс «Такси».
Подтверждены 37 сценариев самопроверки, вставка двух столбцов из Excel 2016 с ведущими нулями, отдельный результат, сохранение и повторное открытие XLSX, 2 000 строк и отказ при превышении лимитов.
На УТ 11, других релизах УНФ, macOS, Linux, в веб-клиенте и клиент-серверном режиме эта версия не проверена. Нужны управляемое приложение и право открывать внешние обработки. Обычные формы и регистрация через «Дополнительные отчёты и обработки» БСП не реализованы.
Границы проверки
- До 2 000 непустых строк данных и 500 000 символов. Полностью пустые строки пропускаются.
- Только EAN-8 и EAN-13 из цифр 0–9, включая контрольную цифру. UPC, GTIN-14, Code 128, QR, Data Matrix и коды маркировки не проверяются.
- Ввод — вставкой текста. Два столбца разделяются табуляцией, как при копировании из Excel. Прямой загрузки файла нет.
- Обработка не исправляет и не генерирует номера. Расчётная цифра служит подсказкой для сверки с источником.
- Если Excel уже удалил ведущие нули или преобразовал код в научную запись, исходный номер не восстанавливается.
- Совпадение контрольной цифры не подтверждает регистрацию GS1, принадлежность номера товару, подлинность товара или читаемость изображения сканером.
Нет HTTP, COM, внешних компонентов и автоматического сохранения введённых списков. Интернет и установленный Excel для работы EPF не нужны. В клиент-серверной базе список передаётся её штатному серверу 1С для расчёта; этот режим пока не проверен.
Для разработчика: как считается контрольная цифра
По остальным цифрам кода справа налево чередуются множители 3 и 1, начиная с 3. Расчётная цифра дополняет сумму до ближайшего десятка и сравнивается с последней цифрой кода. Повторы ищутся по строковому значению, поэтому ведущие нули сохраняются, а коды разной длины не объединяются. Исходный код доступен в модуле объекта EPF и не защищён паролем.
Проверено на следующих конфигурациях и релизах:
- Управление нашей фирмой, редакция 3.0, релизы 3.0.11.161
Вступайте в нашу телеграмм-группу Инфостарт