Для вывода штрих кода в печатную форму, в 1С:Предприятии предназначен объект «1С.V8.Печать штрих-кодов». Для того чтобы он стал доступен на компьютере должна быть установлена компонента «1CBarCode.exe».
Установка компоненты 1CBarCode.exe
Дистрибутив с компонентой для штрих-кодов можно скачать на официальном сайте 1С или на диске ИТС в директории 1CITSEXETradeWare1C1CBarCode. После скачивания потребуется установка.
Запуск установки 1CBarCode.exe
После запуска программа подготовится к установке и предложит продолжить установку.
Для продолжения инсталяции программы нужно будет принять условия.
Затем необходимо выбрать место на жестком диске для установки программы и продолжить установку
Установка займет примерно 10-15 секунд в зависимости от комплектации ПК.
При успешном окончании появится окно.
Добавление штрих-кода в печатную форму
Во многих типовых конфигурациях уже реализован механизм присвоения штрих-кодов некоторым документам, или справочникам. Если данного функционала нет, то потребуется самостоятельно написать его в конфигурации. В примере ниже демонстрируется вывод произвольного штрих-кода.
Как сделать в 1С штрихкод?
Добавление рисунка в макет. Для того чтобы добавить рисунок нужно открыть в главном меню (Таблица)-(Рисунки)-(Вставить объект. ).
В окне «Вставка объекта» необходимо выбрать «Элемент управления» и Тип объект: 1С.V8.Печать штрих-кодов.
После добавления рисунка к нему можно обратиться программно чтобы задать «ТипКода» и «ТекстКода». Как правило в типовых конфигурациях типы кодов хранятся в плане видов характеристик с наименованием «ТипыШтрихкодов». В конфигурации могут быть готовые функции для получения значения «ТипКода», например ПолучитьЗначениеТипаШтрихкодаДляЭУ().
Функция ПолучитьЗначениеТипаШтрихкодаДляЭУ(ТипКода)
Перем Значение;
Если ТипКода = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN8 Тогда
Значение = 0;
ИначеЕсли ТипКода = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN13 Тогда
Значение = 1;
ИначеЕсли ТипКода = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN128 Тогда
Значение = 2;
ИначеЕсли ТипКода = ПланыВидовХарактеристик.ТипыШтрихкодов.Code39 Тогда
Значение = 3;
ИначеЕсли ТипКода = ПланыВидовХарактеристик.ТипыШтрихкодов.Code128 Тогда
Значение = 4;
Иначе
Значение = -1;
КонецЕсли;
Возврат Значение;
КонецФункции
Процедура ВывестиШтрихКодВПечатнуюФорму(Кнопка)
//Для типовых конфигураций
ТипКода = ПолучитьЗначениеТипаШтрихкодаДляЭУ(ПланыВидовХарактеристик.ТипыШтрихкодов.EAN8);
//Для произвольных конфигураций
ТипКода = 0; //EAN8
ТипКода = 1; //EAN13
ТипКода = 2; //EAN128
ТипКода = 3; //CODE39
ТипКода = 4; //CODE128
ТипКода = 5; //CODE16K
ТипКода = 6; //PDF417
ТипКода = 7; //Industrial2of5
ТипКода = 8; //Interleaved2of5
ТипКода = 9; //Code39FullASCII
ТипКода = 10; //CODE93
ТипКода = 11; //ITF14
ТипКода = 12; //RSS14
ТипКода = 13; //CodaBar
ТипКода = 14; //EAN13 AddOn 2
ТипКода = 15; //EAN13 AddOn 5
Макет = ПолучитьМакет(«Макет1»);
Макет.Рисунки.D1.Объект.ТекстКода = «1234567»;
Макет.Рисунки.D1.Объект.ТипКода = ТипКода;
Макет.Показать();
КонецПроцедуры
Комментарии (0)
Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться
Источник: 1clenta.ru
Штрихкоды в 1С, как создать и напечатать?
Нет сомнений, что механизм автоматической идентификации товаров, производимой продукции, различного имущества организации при помощи штрихкодов повышает эффективность работы, позволяет минимизировать количество ошибок и уменьшить трудозатраты, быстрее обслуживать клиентов.
В программных продуктах 1С уже имеется встроенная система для возможности печати штрихкодов для номенклатуры. Штрихкоды возможно отображать на различным печатных формах или специализированных бирках, ценниках и пр.
Как создать и напечатать штрихкоды в 1С?
Для того, чтобы работал механизм печати, должен быть установлена компонента печати “1С:Печать штрихкодов (ActiveX)”. Скачать ее можно с сайта с обновлениями 1С.
После установки диструбутива в программе появится возможность использовать штрихкоды следующих форматов: EAN8, EAN13, EAN13 AddOn 2, EAN13 AddOn 5, ITF14, RSS14, EAN128, Code39, Code39 Full ASCII, Code93, Code128, Code16k, Industrial 2 of 5, Interleaved 2 of 5, CodaBar, PDF417.
После этого для формирования ценников и этикеток откроем обработку “Печать ценников и этикеток”. Далее в табличной части выберем нужные нам позиции номенклатуры. Поскольку в нашем примере нам понадобиться печатать и этикетки и ценники, то установим соответствующий режим печати по кнопке в шапке.
В табличной части выберем шаблон ценника и этикетки. Обратите внимание, что в шаблоне должно содержаться поле со штрихкодом, а также для выбранной номенклатуры должен быть определен сам штрихкод.
После этого при выводе на печать у нас будут сформированы ценники и этикетки в том количестве экземпляров, которое было указано в поле “Кол. Ценников (шт)” и “Кол. этикетов(шт)” соответственно.
Остались вопросы? Получите бесплатную консультацию!
Бесплатные сервисы для пользователей 1С ИТС:
Источник: www.servicetrend.ru
Код Икс Пи ☆ Центр автоматизации, сопровождения и поддержки
Ранее, на платфотме 8.1 и 8.2 в режиме обычного приложения («толстого клиента»), штрих код печатался так: качаем и устанавливаем компонент «1С:Печать штрихкодов», можно по ссылке с сайта 1С: https://its.1c.ru/db/files/1CITS/EXE/TradeWare/1C/1CBarCode/1CBarCode.exe. В макет добавляем необходимый ActiveX объект. В момент вывода секции меняем свойство «Объект.Сообщение», подсовываем ему значение штрих-кода, получается примерно так:
В итоге в документе будет выведен желаемый штрих-код.
Проблема, в режиме управляемого приложения вываливается ошибка:
ОбластьВывода.Рисунки.ШтрихКод.Объект – неопределено
Новый вариант печати штрих-кода через компоненту из макета
Дело в том, что для управляемого приложения внешние компоненты разрабатываются по другой технологии. Пример внешней компоненты для печати штрих-кода для управляемых форм есть в демонстрационной конфигурации «Управляемое приложение» в макетах справочника Товары, либо в конфигурации «1С:Управление торговлей» версии 11, макеты обработки «Печать этикеток и ценников».
Новую компоненту не надо вставлять непосредственно в макет печатаемого документа, надо передать ей строковое значение, в ответ она вернет штрих код в виде «картинки». Саму компоненту лучше загрузить компоненту в общий макет (в виде бинарных данных).
Сначала в макет вставляем обычную картинку:
Далее надо получить объект внешней компоненты:
Функция ПодключитьВнешнююКомпонентуПечатиШтрихкода() Экспорт ПодключениеВыполнено = ПодключитьВнешнююКомпоненту(«ОбщийМакет.КомпонентаПечатиШтрихкодов», «КартинкаШтрихкода», ТипВнешнейКомпоненты.Native); // Создадим объект внешней компоненты Если ПодключениеВыполнено Тогда ВнешняяКомпонента = Новый(«AddIn.КартинкаШтрихкода.Barcode»); Иначе Возврат Неопределено; КонецЕсли; // Если нет возможности рисовать Если НЕ ВнешняяКомпонента.ГрафикаУстановлена Тогда // То картинку сформировать не сможем Возврат Неопределено; Иначе // Установим основные параметры компоненты // Если в системе установлен шрифт Tahoma Если ВнешняяКомпонента.НайтиШрифт(«Tahoma») = Истина Тогда // Выбираем его как шрифт для формирования картинки ВнешняяКомпонента.Шрифт = «Tahoma»; Иначе // Шрифт Tahoma в системе отсутствует // Обойдем все доступные компоненте шрифты Для Сч = 0 По ВнешняяКомпонента.КоличествоШрифтов -1 Цикл // Получим очередной шрифт, доступный компоненте ТекущийШрифт = ВнешняяКомпонента.ШрифтПоИндексу(Сч); // Если шрифт доступен Если ТекущийШрифт <> Неопределено Тогда // Они и будет шрифтом для формирования штри-кода ВнешняяКомпонента.Шрифт = ТекущийШрифт; Прервать; КонецЕсли; КонецЦикла; КонецЕсли; // Утановим размер шрифта ВнешняяКомпонента.РазмерШрифта = 12; Возврат ВнешняяКомпонента; КонецЕсли; КонецФункции
В первой строке функции компонента загружается из макета, далее заполняются параметры и возвращается объект компоненты. Затем опишем функцию, которая, получив данные, сформирует нужную нам картинку с штрихкодом:
Функция ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода) Экспорт ВнешняяКомпонента = ПодключитьВнешнююКомпонентуПечатиШтрихкода(); Если ВнешняяКомпонента = Неопределено Тогда ВызватьИсключение НСтр(«ru = ‘Ошибка подключения внешней компоненты печати штрихкода!'»); КонецЕсли; // Зададим размер картинки ВнешняяКомпонента.Ширина = Окр(ПараметрыШтрихкода.Ширина); ВнешняяКомпонента.Высота = Окр(ПараметрыШтрихкода.Высота); ВнешняяКомпонента.АвтоТип = Ложь; ВнешняяКомпонента.ТипКода = ПараметрыШтрихкода.ТипКода; ВнешняяКомпонента.ОтображатьТекст = ПараметрыШтрихкода.ОтображатьТекст; ВнешняяКомпонента.РазмерШрифта = ПараметрыШтрихкода.РазмерШрифта; // Или установим код EAN-13 // ВнешняяКомпонента.ТипКода = 1; // // Тип смотрим в документации на внешнуюю компоненту // Если код содержит контрольный символ, обязательно указываем ВнешняяКомпонента.СодержитКС = СтрДлина(ПараметрыШтрихкода.Штрихкод) = 13; // Если отображать контрольный символ не нужно // ВнешняяКомпонента.ВидимостьКС = Ложь; // Формируем картинку штрихкода ВнешняяКомпонента.ЗначениеКода = ПараметрыШтрихкода.Штрихкод; // Если установленная нами ширина меньше минимально допустимой для этого штрихкода Если ВнешняяКомпонента.Ширина < ВнешняяКомпонента.МинимальнаяШиринаКода Тогда ВнешняяКомпонента.Ширина = ВнешняяКомпонента.МинимальнаяШиринаКода + 10; КонецЕсли; // Сформируем картинку ДвоичныеДанныеКартинки = ВнешняяКомпонента.ПолучитьШтрихкод(); // Если картинка сформировалась Если ДвоичныеДанныеКартинки <>Неопределено Тогда // Формируем из двоичных данных Возврат Новый Картинка(ДвоичныеДанныеКартинки); КонецЕсли; Возврат Неопределено; КонецФункции
ТипКода — число от 0 до 15: 0 — EAN8, 1 — EAN13, 2 — EAN128. Вот полный список типов по порядку:
EAN8, EAN13, EAN128, Code39, Code128, Code16k, PDF417, Standart (Industrial) 2 of 5, Interleaved 2 of 5, Расширение Code39, Code93, ITF14, RSS14, CodaBar, EAN13 AddOn 2, EAN13 AddOn 5.
Кроме типа штрихкода, компонента имеет ряд других свойств, например ВнешняяКомпонента.ОтображатьТекст, ВнешняяКомпонента.РазмерШрифта и прочие, можно посмотреть в свойствах.
Наконец последнее, получаем и выводим штрихкод в картинку:
Эталон = ПолучитьОбщийМакет(«Эталон»); КоличествоМиллиметровВПикселе = Эталон.Рисунки.Квадрат100Пикселей.Высота / 100; ПараметрыШтрихкода = Новый Структура; ПараметрыШтрихкода.Вставить(«Ширина», Окр(ОбластьМакета.Рисунки.КартинкаШтрихкода.Ширина / КоличествоМиллиметровВПикселе)); ПараметрыШтрихкода.Вставить(«Высота», Окр(ОбластьМакета.Рисунки.КартинкаШтрихкода.Высота / КоличествоМиллиметровВПикселе)); ПараметрыШтрихкода.Вставить(«Штрихкод», ?(ЗначениеШК=»»,СокрЛП(ЧисловойКодПоСсылке(Ссылка)), ЗначениеШК)); ПараметрыШтрихкода.Вставить(«ТипКода», 4); // Code128 ПараметрыШтрихкода.Вставить(«ОтображатьТекст», Ложь); ПараметрыШтрихкода.Вставить(«РазмерШрифта», 6); ОбластьМакета.Рисунки.КартинкаШтрихкода.Картинка = ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода); ТабличныйДокумент.Вывести(ОбластьМакета);
Макет «Эталон» необходим для точного расчета размеров картинки. В итоге в области макета появится штрих код, окончательный вид сформированного документа:
You have no rights to post comments
Источник: codexp.ru