1С 8.2 Печать штрихкодов
Компоненты печати штрихкодов можно найти в демонстрационной конфигурации "Управляемое приложение". Там же находится пример печати штрихкодов. Загрузить конфигурацию можно здесь при наличии доступа или здесь.
Одна из компонент печати штрихкодов - для платформы windows 32, прикреплена к данной статье в формате 7z (это архив, извлекается winrar-ом).
Рассмотрим пример процедуры печати штрихкодов для случая, когда у нас имеются компоненты для различных платформ: // Формирование изображения штрихкода для указанного объекта // // Параметры: // Нет // // Возвращаемое значение: // Картинка - Картинка со сформированным штрихкодом ИЛИ НЕОПРЕДЕЛЕНО Функция ПолучитьКартинкуШтрихкода(ШтрихКод, ТипКода=Неопределено) Экспорт // В зависимости от типа платформы подключим соответствующую внешнюю компоненту ИнформацияОСистеме = Новый СистемнаяИнформация; Если ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Windows_x86 Тогда ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодовWindows32", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native); ИначеЕсли ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Windows_x86_64 Тогда ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодовWindows64", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native); ИначеЕсли ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Linux_x86 Тогда ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодовLinux32", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native); Иначе ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодовLinux64", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native); КонецЕсли; // Создадим объект внешней компоненты Компонент = Новый("AddIn.КартинкаШтрихкода.Barcode"); // Если нет возможности рисовать Если НЕ Компонент.ГрафикаУстановлена Тогда // То картинку сформировать не сможем Возврат Неопределено; КонецЕсли; // Если в системе установлен шрифт Tahoma Если Компонент.НайтиШрифт("Tahoma") = Истина Тогда // Выбираем его как шрифт для формирования картинки Компонент.Шрифт = "Tahoma"; Иначе // Шрифт Tahoma в системе отсутствует // Обойдем все доступные компоненте шрифты Для Сч = 0 По Компонент.КоличествоШрифтов -1 Цикл // Получим очередной шрифт, доступный компоненте ТекущийШрифт = Компонент.ШрифтПоИндексу(Сч); // Если шрифт доступен Если ТекущийШрифт <> Неопределено Тогда // Они и будет шрифтом для формирования штрихкода Компонент.Шрифт = ТекущийШрифт; Прервать; КонецЕсли; КонецЦикла; КонецЕсли; // Установим размер шрифта Компонент.РазмерШрифта = 12; // Зададим размер картинки Компонент.Ширина = 100; Компонент.Высота = 90; Если ТипКода = Неопределено Тогда // Разрешим компоненте самой определять тип кода Компонент.АвтоТип = Истина; // ИЛИ установим код EAN-13 // Компонент.ТипКода = 1; // // Тип смотрим в документации на внешнюю компоненту Иначе Компонент.ТипКода = ТипКода; КонецЕсли; // Если код содержит контрольный символ, обязательно указываем Компонент.СодержитКС = СтрДлина(Штрихкод) = 13; // Если отображать контрольный символ не нужно // Компонент.ВидимостьКС = Ложь; // Формируем картинку штрихкода Компонент.ЗначениеКода = Штрихкод; // Если установленная нами ширина меньше минимально допустимой для этого штрихкода Если Компонент.Ширина < Компонент.МинимальнаяШиринаКода Тогда // Скорректируем ширину Компонент.Ширина = Компонент.МинимальнаяШиринаКода + 10; КонецЕсли; // Сформируем картинку ДвоичныеДанныеКартинки = Компонент.ПолучитьШтрихкод(); // Если картинка сформировалась Если НЕ ДвоичныеДанныеКартинки = Неопределено Тогда // Формируем из двоичных данных Возврат Новый Картинка(ДвоичныеДанныеКартинки); КонецЕсли; Возврат Неопределено; КонецФункции Данная функция возвращает картинку, которую можно выводить в табличный документ печатной формы необходимого объекта. Свойства объекта Компонента можно посмотреть на картинке:
Удачи в работе!
С.С.С.