Печать штрих-кодов в управляемом приложении

Опубликовал Павел Колмаков (Stim213) в раздел Печать - Ценники

Внешняя печатная форма печати штрих-кодов в управляемом приложении

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

В УТ 11 эта форма подключается к  документу реализации. Для подключения к другим документам и в других конфигурациях - смотрите процедуру ПолучитьНазначениеОбработки() в модуле объекта.

Печатная форма просто выводит список номенклатуры и штрих-коды из табличной  части.

Скачать файлы

Наименование Файл Версия Размер
внешняя печатная форма
.epf 11,60Kb
15.06.12
281
.epf 11,60Kb 281 Скачать

См. также

Комментарии
1. rsb rsb (fibrsb) 19.06.12 10:30 Сейчас в теме
>Внешняя печатная форма для типовых конфгураций на управляемом приложении для печати штрихкодов.

>В УТ 11 эта форма подключается к документу реализации. для подключения к другим документам и в других конфигурациях - смотрите >процедуру ПолучитьНазначениеОбработки() в модуле объекта.

>Печатная форма просто выводит список номенклатуры и штрихкода из табличной части.

как раз столкнулся в необходимости в данной обработке, а какие форматы штрих кодов поддерживает обработка? Полагаю все?
2. Павел Колмаков (Stim213) 268 19.06.12 10:52 Сейчас в теме
все. Обработка использует типовые методы формирования ШК
3. Роман Узьмов (RomanUzmov) 42 24.06.12 22:55 Сейчас в теме
С 2D-штрихкодами тоже умеет работать?
4. StronG-X (Dethmond) 25.06.12 10:23 Сейчас в теме
5. Павел Колмаков (Stim213) 268 25.06.12 10:41 Сейчас в теме
(3) а разве типовые базы умеют хранить двумерные ШК?
а задача интересная
6. vladal (Vladal) 25.06.12 16:00 Сейчас в теме
В статье напиши, пожалуйста, примеры кода. А кому лень - пусть качают.
7. vladal (Vladal) 25.06.12 16:00 Сейчас в теме
(5) О, да. Хранятся данные, которые потом этим кодом шифруются.
9. Сергей Григорьев (serq82) 12.09.14 08:00 Сейчас в теме
в данное время подключение компоненты делается так:

ПодключениеВыполнено = ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодов", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native);
MsDjuice; Pavel_nv; +2 Ответить
10. Константин Марков (markovki) 17 16.12.14 16:44 Сейчас в теме
(2) Stim213, благодарю за пример!!! Долго мучился, не получалось напечатать штрихкод в виде картинки, адаптировал несколько фрагметов кода под свою обработку печати этикеток и ценников, для конфигурации розница 2.1
11. Алексей Ларин (roofless) 17 01.09.15 08:39 Сейчас в теме
(10) markovki, получилось напечатать в виде картинки?
12. Алексей Ларин (roofless) 17 03.09.15 14:54 Сейчас в теме
(11) roofless, нужно было вывести именно картинку, не просто на печатную форму, а чтобы можно было копировать в буфер.
сделал так
&НаКлиенте
Процедура ВывестиШтрихкод(Команда)
ДанныеФайла = ВывестиШтрихкодНаСервере();
ОткрытьЗначение(ДанныеФайла);
КонецПроцедуры

&НаСервере
Функция ВывестиШтрихкодНаСервере()
Запрос = Новый Запрос("ВЫБРАТЬ
|	ШтрихкодыНоменклатуры.Штрихкод,
|	ШтрихкодыНоменклатуры.Номенклатура.НаименованиеПолное КАК НаименованиеПолное
|ИЗ
|	РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
|ГДЕ
|	ШтрихкодыНоменклатуры.Номенклатура = &Номенклатура"

);

Запрос.УстановитьПараметр("Номенклатура", Объект.Ссылка);
МассивРезультатов = Запрос.ВыполнитьПакет();
ДанныеПечати = МассивРезультатов[0].Выбрать();

Если ДанныеПечати.Количество() = 0 Тогда 
Возврат Неопределено
Иначе

ВнешняяКомпонента = Обработки.ПечатьЭтикетокИЦенников.ПодключитьВнешнююКомпонентуПечатиШтрихкода();
Если ВнешняяКомпонента = Неопределено Тогда
ВызватьИсключение НСтр("ru = 'Ошибка подключения внешней компоненты печати штрихкода!'");
КонецЕсли;

Пока ДанныеПечати.Следующий() Цикл
ФайлКартинки = ПолучитьКартинкуШтрихкода(ВнешняяКомпонента, ДанныеПечати.Штрихкод, 300, 110);
КонецЦикла;

Возврат ФайлКартинки;
КонецЕсли;

КонецФункции

&НаСервере
Функция ПолучитьКартинкуШтрихкода(ВнешняяКомпонента, Штрихкод, Ширина, Высота) Экспорт

// Зададим размер картинки
ВнешняяКомпонента.Ширина =Ширина;
ВнешняяКомпонента.Высота =Высота;

// Разрешим компоненте самой определять тип кода
ВнешняяКомпонента.АвтоТип = истина;

// Если код содержит контрольный символ, обязательно указываем
ВнешняяКомпонента.СодержитКС = СтрДлина(Штрихкод) = 13;

// Если отображать контрольный символ не нужно
// ВнешняяКомпонента.ВидимостьКС = Ложь;

// Формируем картинку штрихкода
ВнешняяКомпонента.ЗначениеКода = Штрихкод;

// Если установленная нами ширина меньше минимально допустимой для этого штрихкода
Если ВнешняяКомпонента.Ширина < ВнешняяКомпонента.МинимальнаяШиринаКода Тогда
// Скорректируем ширину
ВнешняяКомпонента.Ширина = ВнешняяКомпонента.МинимальнаяШиринаКода + 10;
КонецЕсли;
// Сформируем картинку
ДвоичныеДанныеКартинки = ВнешняяКомпонента.ПолучитьШтрихкод();

// Если картинка сформировалась
Если ДвоичныеДанныеКартинки <> Неопределено Тогда
// Формируем из двоичных данных
Возврат Новый Картинка(ДвоичныеДанныеКартинки);
КонецЕсли;

Возврат Неопределено;

КонецФункции
...Показать Скрыть