Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Процедура СформироватьКартинкуШтрихкодаНаСервере()
- ВнешняяКомпонента = ПодключитьВнешнююКомпонентуПечатиШтрихкода();
- ПараметрыШтрихкода = Новый Структура;
- ПараметрыШтрихкода.Вставить("Ширина", 400);
- ПараметрыШтрихкода.Вставить("Высота", 100);
- ПараметрыШтрихкода.Вставить("Штрихкод", Объект.Штрихкод);
- ПараметрыШтрихкода.Вставить("ТипКода", 4);
- ПараметрыШтрихкода.Вставить("ОтображатьТекст", Истина);
- ПараметрыШтрихкода.Вставить("РазмерШрифта", 10);
- Картинка = ПолучитьКартинкуШтрихкода(ВнешняяКомпонента, ПараметрыШтрихкода);
- АдресКартинки = ПоместитьВоВременноеХранилище(Картинка, УникальныйИдентификатор);
- КонецПроцедуры // СформироватьНаСервере()
- Функция ПолучитьКартинкуШтрихкода(ВнешняяКомпонента, ПараметрыШтрихкода) Экспорт
- Если Не ЗначениеЗаполнено(ПараметрыШтрихкода.Штрихкод) Тогда
- Возврат Неопределено;
- КонецЕсли;
- // Зададим размер картинки
- ВнешняяКомпонента.Ширина = ПараметрыШтрихкода.Ширина;
- ВнешняяКомпонента.Высота = ПараметрыШтрихкода.Высота;
- // Разрешим компоненте самой определять тип кода
- ВнешняяКомпонента.АвтоТип = Ложь;
- ВнешняяКомпонента.ТипКода = ПараметрыШтрихкода.ТипКода;
- ВнешняяКомпонента.ОтображатьТекст = ПараметрыШтрихкода.ОтображатьТекст;
- Попытка
- ВнешняяКомпонента.РазмерШрифта = ПараметрыШтрихкода.РазмерШрифта;
- Исключение
- КонецПопытки;
- // Или установим код EAN-13
- // ВнешняяКомпонента.ТипКода = 1;
- //
- // Тип смотрим в документации на внешнуюю компоненту
- // Если код содержит контрольный символ, обязательно указываем
- ВнешняяКомпонента.СодержитКС = ПараметрыШтрихкода.ТипКода = 1;
- // Если отображать контрольный символ не нужно
- // ВнешняяКомпонента.ВидимостьКС = Ложь;
- Если ПараметрыШтрихкода.Свойство("ПрозрачныйФон") Тогда
- ВнешняяКомпонента.ПрозрачныйФон = ПараметрыШтрихкода.ПрозрачныйФон;
- КонецЕсли;
- Если ПараметрыШтрихкода.Свойство("ЦветФона") Тогда
- ВнешняяКомпонента.ЦветФона = ПараметрыШтрихкода.ЦветФона;
- КонецЕсли;
- Если ПараметрыШтрихкода.Свойство("ЦветПолос") Тогда
- ВнешняяКомпонента.ЦветПолос = ПараметрыШтрихкода.ЦветПолос;
- ВнешняяКомпонента.ЦветТекста = ПараметрыШтрихкода.ЦветПолос;
- КонецЕсли;
- Если ПараметрыШтрихкода.Свойство("ОриентацияТекста") Тогда
- ВнешняяКомпонента.ОриентацияТекста = ПараметрыШтрихкода.ОриентацияТекста;
- // 0 - по центру, 1 - слева, 2 - справа, 3-6 - растянуть
- КонецЕсли;
- Если ПараметрыШтрихкода.Свойство("ПоложениеТекста") Тогда
- ВнешняяКомпонента.ПоложениеТекста = ПараметрыШтрихкода.ПоложениеТекста;
- // 0 - снизу, 1 - сверху
- КонецЕсли;
- Если ПараметрыШтрихкода.Свойство("УголПоворота") Тогда
- ВнешняяКомпонента.УголПоворота = ПараметрыШтрихкода.УголПоворота;
- КонецЕсли;
- Если ВнешняяКомпонента.ОтображатьТекст И ВнешняяКомпонента.ТипКода = 1 Тогда
- ВнешняяКомпонента.РазделителиКода = 60;
- КонецЕсли;
- // Формируем картинку штрихкода
- ВнешняяКомпонента.ЗначениеКода = ПараметрыШтрихкода.Штрихкод;
- //Если ВнешняяКомпонента.УголПоворота = 90 ИЛИ ВнешняяКомпонента.УголПоворота = 270 Тогда
- // // Если установленная нами ширина меньше минимально допустимой для этого штрихкода
- // Если ВнешняяКомпонента.Высота < ВнешняяКомпонента.МинимальнаяШиринаКода Тогда
- // // Скорректируем ширину
- // ВнешняяКомпонента.Высота = ВнешняяКомпонента.МинимальнаяШиринаКода + 10;
- // КонецЕсли;
- // // Если установленная нами высота меньше минимально допустимой для этого штрихкода
- // Если ВнешняяКомпонента.Ширина < ВнешняяКомпонента.МинимальнаяВысотаКода Тогда
- // // Скорректируем ширину
- // ВнешняяКомпонента.Ширина = ВнешняяКомпонента.МинимальнаяВысотаКода + 10;
- // КонецЕсли;
- //Иначе
- // Если установленная нами ширина меньше минимально допустимой для этого штрихкода
- Если ВнешняяКомпонента.Ширина < ВнешняяКомпонента.МинимальнаяШиринаКода Тогда
- // Скорректируем ширину
- ВнешняяКомпонента.Ширина = ВнешняяКомпонента.МинимальнаяШиринаКода + 10;
- КонецЕсли;
- // Если установленная нами высота меньше минимально допустимой для этого штрихкода
- Если ВнешняяКомпонента.Высота < ВнешняяКомпонента.МинимальнаяВысотаКода Тогда
- // Скорректируем ширину
- ВнешняяКомпонента.Высота = ВнешняяКомпонента.МинимальнаяВысотаКода + 10;
- КонецЕсли;
- //КонецЕсли;
- // Сформируем картинку
- ДвоичныеДанныеКартинки = ВнешняяКомпонента.ПолучитьШтрихкод();
- // Если картинка сформировалась
- Если ДвоичныеДанныеКартинки <> Неопределено Тогда
- // Формируем из двоичных данных
- Возврат Новый Картинка(ДвоичныеДанныеКартинки);
- КонецЕсли;
- Возврат Неопределено;
- КонецФункции
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement