Имя: Пароль:
1C
 
Протащить свой текст в этикетку программно только через гланды или? БП3
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 символов. Можно конечно справа забить пробелами... ;-)

Может быть можно заюзать как-то стандартную печать этикеток? но мне нужно программно передать свой текст.
1 vde69
 
09.09.20
20:21
печать она идет с клиента, так подготовка макета на сервере а печать с клиента... вот и думай :)
2 Гений 1С
 
гуру
10.09.20
10:55
(1) постобработка макета возможна, конечно, но не за что зацепиться.
Можно, конечно, в транзакции создавать номенклатуру с нужными реквизитами потом вызывать печать, а после печати отменять транзакцию, но это вообще какой-то левый способ. ;-)