нарисовать штрих код formex пример
Печать штрихкода в управляемом приложении
Программируя под 8.2, работающем в режиме управляемого приложения, я столкнулся с проблемой печати штрихкода. Для платформы 8.1 и платформы 8.2 в режиме обычного приложения такой проблемы не было: устанавливаем элемент «1С:Печать штрихкодов» в макет и наслаждаемся вертикальными черточками. В режиме управляемого приложения вываливается ошибка:
Код 1C v 8.2 УП
Что же случилось?
Дело в том, что для управляемого приложения внешние компоненты разрабатываются по другой технологии. Пример внешней компоненты для печати штрих-кода в 8.2 есть в демонстрационной конфигурации «Управляемое приложение» в макетах справочника Товары либо в конфигурации «1С:Управление торговлей» версии 11, макеты обработки «Печать этикеток и ценников».
Данная компонента, получив в качестве параметра строку штрихкода, возвращает картинку – штрихкод, которую программисту предлагается поместить в любое удобное место печатной формы.
Теперь как это сделать.
Всего обработок аж четыре штуки:
КомпонентаПечатиШтрихкодовWindows32
КомпонентаПечатиШтрихкодовWindows64
КомпонентаПечатиШтрихкодовLinux32
КомпонентаПечатиШтрихкодовLinux64
Все они загружены в одноименные макеты. Функция, подключающая внешнюю компоненту в зависимости от платформы может выглядеть так:
Код 1C v 8.х
В коде выше все компоненты загружены в макеты обработки «ПечатьЭтикетокИЦенников». В принципе ничто не мешает поместить их в любое иное место. Вызов функции осуществляется командой:
Код 1C v 8.х
Если что-то не получилось – возвращает НЕОПРЕДЕЛЕНО.
Далее опишем функцию, которая, получив данные, сформирует нужную нам картинку с штрихкодом:
Код 1C v 8.х
В данной функции используется автоопределение типа штрихкода командой
Код 1C v 8.х
Можно тип штрихкода указать вручную:
Код 1C v 8.х
Кроме типа штрихкода, компонента имеет ряд других свойств, например ВнешняяКомпонента.ОтображатьТекст, ВнешняяКомпонента.РазмерШрифта и прочие, можно посмотреть в свойствах.
Где Штрихкод – переменная, содержащая строку штрихкода номенклатуры, 50 – требуемая ширина, 30 – высота картинки. В макете размер картинки лучше всего поставить «Реальный размер».
Замечание. Сразу бросается в глаза то, что я вручную указываю размер требуемой картинки – 50 на 30. Возникает вопрос, а нельзя ли размеры требуемой картинки получить из картинки на макете? Конечно можно:
Код 1C v 8.х
К сожалению, цифры получаемые этими командами почему-то слишком малы. Как получить реальный видимый размер картинки я пока не знаю, может кто подскажет?
Источник
Как самостоятельно сделать генератор штрих-кодов в Excel
При ведении учета в торговле, создании личных каталогов используются штрих-коды. Для их последующего считывания существуют сканеры. А создать можно с помощью программных продуктов разработанных специально для Excel.
Как сделать штрих-код в Excel
Сформировать генератор штрих-кодов в Excel можно разными способами: с помощью макроса, инструмента ActiveX и разработанных модулей. Рассмотрим на примере одного из специализированных продуктов. Он является абсолютно бесплатным. Поэтому расценивать статью как рекламную нельзя.
Самый простой способ это установить в Windows шрифты штрих кодов и тогда они буду доступны в Excel на панели «Главная»-«Шрифт».
Пару шрифтов-штрихкодов можно скачать в конце статьи
Так же можно скачать по адресу http://www.idautomation.com/font-encoders/word-excel-addin/ надстройку для ввода штрихкодов в программе Excel или Word.
Перед началом работы убедитесь, что в программе Excel доступен Visual Basic. А в настройках безопасности – сняты ограничения для макросов.
Следующий этап – печать штрих-кода из Excel для проверки правильности кодировки. То есть напечатать коды можно только тогда, когда используются специальные шрифты.
Еще один способ формирования штрих-кодов – написать макрос (реализовано тут).
Чтобы добавить штрих-код в Excel 2007, нужно выполнить следующую последовательность:
Чтобы нарисованный код «заработал» (адаптировался под введенные пользователем цифры), нужно писать макрос.
Как подключить сканер штрих-кода к Excel
Процесс подключения зависит от модели сканера и его возможностей. Иногда ничего делать не нужно. Достаточно подключить сканер к компьютеру, используя включение «разъем клавиатуры», и открыть во время работы книгу Excel (должен быть установлен USB-драйвер сканера).
Сканер не воспринимает штрих-код как графический объект – он преобразует его в набор цифр. Во время работы в активную ячейку вставляется числовое значение, считываемое устройством, и срабатывает перевод строки. Детектор посылает символ Enter, что заставляет курсор перейти в следующую строку.
Ряд моделей сканеров работает как клавиатура. При вводе кода данные сразу попадают в активную ячейку листа.
Для ряда устройств требуется специальная надстройка: стандартное меню не справится с задачей.
Как сгенерировать 1000 штрих кодов на карточки. Видео урок.
Штрих коды используются не только на товарах, но и на картах скидок. Эти штрих коды, как правило, выполнены в виде последовательной нумерации. О том, как создать большое количество штрих кодов, вставить в макет и разложить на печать, будет подробно описано в видео уроке в конце статьи. Такую задачу можно поделить на несколько шагов:
Генерация штрих кодов. Для генерации штрих-кодов мы будем использовать программу Zint barcode studio. Но прежде необходимо создать список номеров кода в текстовом файле. Если у вас код EAN13, то нужно сделать первые 12 номеров, а последняя цифра генерируется автоматически. Проще и быстрее это сделать в программе Microsoft Excel. Пишем два первых номера, выделяем и растягиваем до нужного количества. Полученные номера сохраняем в текстовый файл «текстовые файлы (с разделителями табуляции)».
Запускаем программу Zint barcode studio и выбираем тип штрих кода, в моем случае это European Article Numer (EAN) и подгружаем текстовый файл в программу Zint barcode studio. Лучше генерировать коды в формате EPS. Выбераем нумерацию имени файла и показываем куда сохранять готовые файлы штрих кодов. Желательно чтобы путь к файлам состоял только из латинских символов.
Создание базы данных. Теперь, когда штрих-коды готовы, нужно правильно прописать путь к файлам. Открываем опять Microsoft Excel и пишем в самой первой строке «@Kod», а ниже прописываем путь к файлу, его имя и даже разрешение. В видео уроке в конце статьи показано, как это сделать автоматически. Сохраняем готовый список в текстовый файл «текстовые файлы (с разделителями табуляции)». Обязательно закрываем Excel.
В следующем окне выбираем формат бумаги, количество макетов на листе и нажимаем Next.
Раскладка готова. Проверяем номера, размеры, метки и запускаем на печать.
В следующем видео уроке подробно описано, как сгенерировать 1000 штрих кодов на карточки:
Класс для формирования штрих-кодов при помощи свободной библиотеки Zint
Класс имеет пока только 2 метода (их должно быть достаточно для предназначения класса):
ЗакодироватьВФайл(ЧтоКодировать, спПараметров) — представляет кодируемые данные в виде файла с изображением штрих-кода
ПерекодировкаВ_BMP(Файл, УдалятьИсходныйФайл = 1) — для перекодирования файла изображения в формат BMP — понятный объекту 1С «Картинка».
Во вложении запаковано все, что требуется — все библиотеки dll, класс и обработка для тестирования функционала.
Есть один минус у библиотеки zint.dll — она не предоставляет методов для проверки кодируемых данных ДО начала процесса кодирования. В результате этого часто возникает ситуация, когда введенные некорректные данные для выбранного стандарта штрих-кода являются некорректными, и обработка вызывает «падение» 1С.
Поэтому проверка на корректность кодируемых данных ложится на плечи программиста, который использует данный класс.
Необходимость в создании данного класса возникла из-за невозможности получать штрих-коды по стандарту «фармакод» при помощи других доступных в интернете инструментов. При помощи данного класса я решил свои проблемы.
Пользуйтесь на здоровье!
ЗЫ: для работы класса нужна библиотека dynwrapx.dll, которая должна быть зарегистрирована в системе (ее месторасположение не важно)!
Папка zint с файлами: zint.dll, zlib1.dll, libpng15.dll, zint.sha1 должна находиться в папке БД, папке программы 1С либо в папке класса.
Также требуется служебная библиотека msvcrt.dll (она должны находиться в папке c:windowssystem32, если у Вас Windows установлен в папку c:windows). Тестировал работоспособность только под Windows XP.
Все вышеуказанные библиотеки я включил в файл для скачивания.
Создание штрих-кода в Excel
Excel – удивительное приложение, умеющее не только электронные таблицы, но и выполнять значительно большее количество действий. Например, генерировать штрих-коды. Для этого нужно воспользоваться специальным файлом, с помощью которого можно создать достаточное количество штрих кодов, и распечатать их.
Генератор штрих-кодов
Генератор штрих-кодов – маленький исполняемый модуль Excel, который позволяет создавать штрих-коды, основываясь на данных, указанных в таблице. Достаточно его скачать, установить специальный шрифт, и после этого можно приступать к работе. Но для начала нужно в целом понять, что такое штрих-коды и как они работают с научной точки зрения, так сказать.
Системы штрих-кодирования товаров, цифры штрих-кода
Для обычного человека нет принципиальной разницы между разными системами штрихкодирования товаров. Тем не менее, стандартной является та, которая имеет код EAN13. Первые три буквы в начале означают European Article Number, что переводится, как «Европейский Код Товара». Впрочем, эта система используется не только европейскими странами, но и везде. Структура штрих-кода этого типа следующая. В его состав входит тринадцать цифр, которые разделяются на несколько блоков:
Таким образом, алгоритм штрих-кода очень четкий и нельзя его придумывать самостоятельно. Если попытаться воспользоваться сканером штрих-кодов, он выдаст ошибку, потому что алгоритм разработан исходя из имеющегося стандарта.
Некоторые штрих-коды не классифицируются описанным выше образом. Например, продукция может быть фасованной, и тогда штрих-код начинается с цифры 2. Также достаточно популярным форматом штрих-кодов, который используется для других целей, является QR-код. С его помощью можно зашифровать любую информацию.
Скачать генератор штрих-кодов
Итак, для генерации штрих-кодов в Excel необходимо скачать специальный файл (он полностью бесплатный) и открыть его. В скачанном архиве будет три файла:
После скачивания архива, его необходимо распаковать, а потом инсталлироввать шрифт, требуемый для выполнения поставленной нами задачи. Сам генератор штрихкодов находится по этой ссылке. https://www.tirika.ru/files/generator-shtrih-kodov.zip
Установка в Windows шрифта EAN13.ttf
Последовательность действий, необходимая для установки шрифта, несколько отличается. В последних версиях Windows отсутствует специальная кнопка для добавления шрифта, поэтому это нужно сделать другим методом.
Windows XP, более ранние версии ОС
Так, если у Вас операционная система Windows XP, нужно осуществить такие действия:
Windows 7, Windows Vista
Если у Вас Windows Vista и старше, в диалоговом окне выбора шрифтов нет кнопки «Добавить шрифт». Поэтому его нужно скопировать в перечень шрифтов вручную. Для этого надо открыть проводник и перетащить его туда так же, как и в какую угодно другую папку.
Запуск генератора штрих-кодов и его использование
Теперь наш шрифт установлен в Windows. После этого можно приступить к генерации штрих кодов с помощью одноименного файла в распакованном архиве. На этом этапе у пользователя может возникнуть такая проблема.
По умолчанию для всех скачанных с интернета документов Excel автоматически выключает макросы, потому что они могут содержать вредоносный код. Дело в том, что программа Excel не только умеет создавать электронные таблицы, а поддерживает полноценное программирование. Язык, с помощью которого разрабатываются эти мини-приложения, называется VBA, что расшифровывается, как Visual Basic for Applications. Собственно, макросом называется программа, написанная на этом языке. С их помощью можно реализовать почти любую хотелку в электронных таблицах. Но некоторые пользователи разрабатывают плохие программные модули, поэтому разработчики Excel отключили их по умолчанию.
Файл, скачанный ранее, также является программой, написанной для Microsoft Excel. Здесь отсутствует вредоносный код, поэтому можно смело разрешать приложению открывать эти исполняемые модули. Если вы все же не очень доверяете макросам, скачанным с неизвестных источников, то можно просто удалить этот файл. Если их не включить, он не будет работать. Если вы доверяете файлу, то активируйте макросы, после чего нужно указать ряд несложных настроек.
Давайте разберем эти параметры более подробно:
После ввода параметров генератора штрихкодов, нам необходимо нажать на кнопку «Создать штрихкоды». После этого будет создан отдельный лист, в котором будут перечислены наши штрихкоды в первой колонке. Все шрифты будут нарисованы с использованием установленного ранее шрифта.
Далее эта страница может быть распечатана, а потом ее можно и удалить. Если по тем или иным причинам штрих-коды оказываются ненужными, их можно убрать и ранее, поскольку всегда их можно сгенерировать заново. Зачем занимать лишнее место на диске?
По какому принципу работает этот генератор? После нажатия пользователем кнопки «Создать штрихкоды» создается новый лист, а одна из колонок заполняется сгенерированными штрих-кодами. Чтобы это сделать, сначала программа обрабатывает ту информацию, которая была указана пользователем на этапе настроек. Чтобы создать первую картинку, сначала берется префикс, который указал пользователь, после чего добавляет к нему первый номер, а потом добавляет определенное количество нулей. Сколько именно вставляется – определяется таким образом, чтобы получилась числовая последовательность в 12 символов. После этого рассчитывается последняя цифра, которые, как мы помним, генерируется по определенному алгоритму.
В результате, появляется 13-символьное число, записываемое в первую ячейку первого столбика листа, который был создан программой, после чего в ячейку B1 она добавляется, а для ячейки выставляется шрифт EAN13. После выполнения этих действий происходит создание второго штрихкода, которое выполняется по такому же алгоритму. Единственное исключение – номер увеличивается на единицу от предыдущего. Если сначала это было 1, то потом – 2, и так далее.
Алгоритм выполняется, пока не будет сгенерировано необходимое количество штрих-кодов. Затем перед пользователем появляется сгенерированный лист, и он может распечатать штрих-коды, которые получились.
Как самостоятельно сделать генератор штрих-кодов в Excel
А что если мы не хотим пользоваться чужими исполняемыми модулями, а хотим уметь делать такие коды самостоятельно? Для этого есть множество методов: создание собственной подпрограммы Excel, специализированный инструмент Active X и скачивание модулей, созданных другими пользователями.
Для начала можем установить специальный шрифт. Есть несколько шрифтов – не только тот, который мы скачивали ранее. Также по этому адресу можно найти специальную надстройку, предназначенную для достижения поставленной задачи. http://www.idautomation.com/font-encoders/word-excel-addin/.
Теперь нам нужно удостовериться, что был активирован Visual Basic. Ну и включить макрос, чтобы не изобретать велосипед, а создавать самостоятельно, но с использованием уже готовых инструментов. Для этого нужно выполнить следующую последовательность действий:
Дальше нам осталось только распечатать штрих-код и проверить его. Не забудьте перед этим убедиться, что применяются подходящие шрифты.
Процесс создания штрих-кода в Excel пошагово
Есть еще один метод создания штрих-кода в Excel – создание собственного макроса. Также можно добавить элемент Active X. В Excel 2007 версии и новее это делается следующим образом:
Если же нужно сделать так, чтобы он изменялся в зависимости от того, какие цифры будут введены пользователем, необходимо писать код.
Таким образом, эта процедура не такая сложная, как может показаться на первый взгляд. Уже все сделано за пользователя заботливыми программистами. Можно скачать отдельный файл, макрос, который можно использовать в собственной книге или же воспользоваться элементом Active X и создавать собственный макрос. Тем не менее, последний способ является довольно продвинутым, поэтому требует специальных навыков. А чтобы их развить, нужно изучить теорию, которая будет предметом отдельной статьи.