gifts2017

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

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

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

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

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

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

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

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

См. также

Подписаться Добавить вознаграждение

Комментарии

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

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

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

как раз столкнулся в необходимости в данной обработке, а какие форматы штрих кодов поддерживает обработка? Полагаю все?
2. Павел Колмаков (Stim213) 19.06.12 10:52
все. Обработка использует типовые методы формирования ШК
3. Роман Узьмов (RomanUzmov) 24.06.12 22:55
С 2D-штрихкодами тоже умеет работать?
4. StronG-X (Dethmond) 25.06.12 10:23
5. Павел Колмаков (Stim213) 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) 16.12.14 16:44
(2) Stim213, благодарю за пример!!! Долго мучился, не получалось напечатать штрихкод в виде картинки, адаптировал несколько фрагметов кода под свою обработку печати этикеток и ценников, для конфигурации розница 2.1
11. Алексей Ларин (roofless) 01.09.15 08:39
(10) markovki, получилось напечатать в виде картинки?
12. Алексей Ларин (roofless) 03.09.15 14:54
(11) roofless, нужно было вывести именно картинку, не просто на печатную форму, а чтобы можно было копировать в буфер.
сделал так
&НаКлиенте
Процедура ВывестиШтрихкод(Команда)
ДанныеФайла = ВывестиШтрихкодНаСервере();
ОткрытьЗначение(ДанныеФайла);
КонецПроцедуры

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

);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

КонецФункции
...Показать Скрыть
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа