bdd2

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

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

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

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

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

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

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

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

См. также

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

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

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

как раз столкнулся в необходимости в данной обработке, а какие форматы штрих кодов поддерживает обработка? Полагаю все?
2. Павел Колмаков (Stim213) 261 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) 261 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 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;
КонецЕсли;
// Сформируем картинку
ДвоичныеДанныеКартинки = ВнешняяКомпонента.ПолучитьШтрихкод();

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

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

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