0
Гений 1С
гуру
09.09.20
✎
20:12
|
Мне нужно печатать свой текст, используя стандартные шаблоны этикеток в БП3.
Ну я посмотрел код, без расширения туда воткнуться никак, а расширение мне нельзя, я во Фреше, расширение, которое перекрывает общий модуль требует опасного режима.
Пока передаю текст "abcdeabcde123" так:
Для Каждого Строка ИЗ ТаблицаЗаписей Цикл
Строка.ШаблонЭтикетки = ШаблонЭтикетки;
Строка.Количество = 1; //Количество
GTIN = "01234567891234";
КС = МенеджерОборудованияКлиентСервер.РассчитатьКонтрольныйСимволGTIN14(GTIN);
GTIN = Сред(GTIN, 1, 13) + КС;
//Подгоняем КодМаркировки под GTIN и Серийный номер (01) 14... (21) 13...
Строка.КодМаркировки = "(01)" + GTIN + "(21)" + "abcdeabcde123";
КонецЦикла;
СтруктураНастроек = ПечатьЭтикетокИСМП.СтруктураНастроекЭтикеткаИСМП();
СтруктураНастроек.Вставить("КаждаяЭтикеткаНаНовомЛисте", КаждаяЭтикеткаНаНовомЛисте);//ДанныеПечати.КаждаяЭтикеткаНаНовомЛисте);
СтандартнаяОбработка = истина;
ПечатьЭтикетокИСМППереопределяемый.ПечатьЭтикетокИСМП(
ТаблицаЗаписей, ТабличныйДокумент, СтруктураНастроек, СтандартнаяОбработка);
После этого в параметре СерийныйНомер этикетки я получаю свой текст.
Но проблема в том, что у меня должна быть строка длиной 13 символов. Можно конечно справа забить пробелами... ;-)
Может быть можно заюзать как-то стандартную печать этикеток? но мне нужно программно передать свой текст.
|
|
2
Гений 1С
гуру
10.09.20
✎
10:55
|
(1) постобработка макета возможна, конечно, но не за что зацепиться.
Можно, конечно, в транзакции создавать номенклатуру с нужными реквизитами потом вызывать печать, а после печати отменять транзакцию, но это вообще какой-то левый способ. ;-)
|
|