Генератор последовательности штрих-кодов

Файл в Excel позволяет сделать текст последовательности кодов штрих-кодов EAN13 от начального значения до заданного, при этом штрих-код рассчитывается корректно, с последней контрольной цифрой.

Клиенту понадобилось напечатать тираж подарочных карт. При этом в типографию нужно было передать штрих-код каждой подарочной карты. Онлайн-генератора последовательности штрих-кодов не нашел, поэтому использовал генерацию в Excel-файле.

В файле нужно задать 12 цифр начального штрих-кода, количество штрих-кодов (максимум 10.000, но можно увеличить количество строк в файле) и шаг (по умолчанию 1):

Формула Excel для расчета штрих-кода:

=ЕСЛИ(B11="";"";B11*10+ОСТАТ(10-ОСТАТ(3*(ПСТР(B11;2;1)+ПСТР(B11;4;1)+ПСТР(B11;6;1)+ПСТР(B11;8;1)+ПСТР(B11;10;1)+ПСТР(B11;12;1))+ПСТР(B11;1;1)+ПСТР(B11;3;1)+ПСТР(B11;5;1)+ПСТР(B11;7;1)+ПСТР(B11;9;1)+ПСТР(B11;11;1);10);10))

В итоге получится файл, из которого можно скопировать готовый список штрих-кодов с контрольным символом и отправить его в типографию.

Для генерации штрих-кода можно использовать сайт barcode.tec-it.com/ru/EAN13. Там даже есть возможность сгенерировать последовательность штрих-кодов:

Однако, к сожалению, нельзя получить текст со списком штрих-кодов, в скачиваемом архиве только картинки штрих-кодов:

Выглядят они так:

Скачать с Infostart

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментариев 8

  1. bob32:

    Первая ссылка на EAN13 Python выдает либу для питона которая генерит баркоды. Command line инструменты рулят в целом. Можно соединять в pipeline-ы, запускать в фоне и т.д.
    Эксель, 1С — для таких задач это стрельба из пушек по вробьям. Из консольки быстрей.
    В общем, учи Питон.

    • может и быстрее, да вот только продвинутых пользователей Excel больше, чем начинающих программистов Питона. 😉
      Уловили, о чем я?

  2. fajij28770:

    имена файлов это ж и есть текст штрихкодов, в powershell пишешь gci . | %{ $_.basename } и вот тебе список

    • нет, там в именах файлов нет последней 13-й контрольной цифры.

      • fajij28770:

        ну так рассчитал бы
        function checksum_digit([int[]]$code) { $code | % { $sum = 0; $p = 1 } { $sum += $_ * $p; $p = 4 — $p } { 10 — ($sum % 10) } }
        gci . | %{ $n, $code = $_.Basename -split ‘_’; $code = [int[]][string[]]$code[0..$code.Length]; -join $code + (checksum_digit $code) }

        • я могу и на 1С рассчитать. Но захотелось на Эксель. Считайте причудой.

          • fajij28770:

            ага, у тебя отчетливо такое прослеживается. вместо того, чтобы взять готовое решение и добавить к нему полезную дельту , начинаешь переизобретать велосипед, к тому же неполноценный

          • О каком готовом решении идет речь? Я первым делом сходил на инфостарт и потратил совсем немного времени, чтобы написать этот генератор в Экселе. И это время мне оплатили.
            win-win, нет?

Добавить комментарий для fixin Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *