мета-данные страницы
Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Следующая версия Следующая версия справа и слева | ||
armhim_config_mpprint [24.10.2022 17:34] FeLDMaRShaL [Примеры кастомных бирок] |
armhim_config_mpprint [24.10.2022 17:42] FeLDMaRShaL [Примеры кастомных бирок] |
||
---|---|---|---|
Строка 37: | Строка 37: | ||
==== Примеры кастомных бирок ==== | ==== Примеры кастомных бирок ==== | ||
- | === Бирка 35(ширина) на 42 (высота), печатается на бесконечной текстильной ленте с автоматическим обрезчиком (термотрансферная печать). На бирке дополнительно выводится заполненный доп.реквизит услуги под номером 100254 === | + | * Бирка 35(ширина) на 42 (высота), печатается на бесконечной текстильной ленте с автоматическим обрезчиком (термотрансферная печать). На бирке дополнительно выводится заполненный доп.реквизит услуги под номером 100254. {{ :sql_zpl1.zip | sql}} |
- | <hidden Код процедуры> | + | |
- | <code sql>CREATE OR ALTER procedure SP_GET_LABEL_ZPL_CUSTOM ( | + | |
- | DOS_ID D_ID_INT64) | + | |
- | returns ( | + | |
- | ZPL_TEXT D_BLOB) | + | |
- | as | + | |
- | declare variable SCLAD_KREDIT_NAME D_STR_50; | + | |
- | declare variable DATE_BEG D_STR_4096; | + | |
- | declare variable DATE_END D_STR_12; | + | |
- | declare variable BARCODE_READ D_STR_25; | + | |
- | declare variable BARCODE D_STR_25; | + | |
- | declare variable DOC_NUM D_STR_25; | + | |
- | declare variable CLIENT_NAME D_STR_250; | + | |
- | declare variable TOVAR_LINE1 D_STR_250; | + | |
- | declare variable TOVAR_LINE2 D_STR_50; | + | |
- | declare variable SMALL_FONT_SIZE D_INTEGER; | + | |
- | declare variable MEDIUM_FONT_SIZE D_INTEGER; | + | |
- | declare variable BIG_FONT_SIZE D_INTEGER; | + | |
- | declare variable VERY_SMALL_SIZE D_INTEGER; | + | |
- | declare variable NUM_OF_SERV D_INT64; | + | |
- | begin | + | |
- | + | ||
- | /* | + | |
- | Процедура делалась для принтера Mercury Terra nova TLP300 | + | |
- | Используется 4 разных размера одного и того же моноширного шрифта COURIER-NEW.TTF на текстильной ленте, бирка размером 35*42 при термотрансферной печати с отрезчиком: | + | |
- | + | ||
- | Очень маленький 20,13 максимум 35 символов | + | |
- | Маленький 25,17 максимум 24 симовлов | + | |
- | Средний 30,20 максимум 20 символа | + | |
- | Большой 50,33 максимум 10 символов | + | |
- | */ | + | |
- | + | ||
- | VERY_SMALL_SIZE = 35; | + | |
- | SMALL_FONT_SIZE = 24; | + | |
- | MEDIUM_FONT_SIZE = 20; | + | |
- | BIG_FONT_SIZE = 10; | + | |
- | + | ||
- | select | + | |
- | s.name, | + | |
- | lpad(extract(day from D.DOC_DATE), 2, '0') || '.' || lpad(extract(month from D.DOC_DATE), 2, '0'), | + | |
- | lpad(extract(day from DOR.DATE_OUT), 2, '0') || '.' || lpad(extract(month from DOR.DATE_OUT), 2, '0'), | + | |
- | dos.BARCODE_READ, | + | |
- | DOS.BARCODE, | + | |
- | D.DOC_NUM, | + | |
- | C.NAME, | + | |
- | substring(TT.name from 1 for :medium_font_size) as tovar_line1, | + | |
- | substring(TT.name from :medium_font_size+1 for :medium_font_size+:medium_font_size) as tovar_line1 | + | |
- | from DOC_ORDER_SERVICES DOS | + | |
- | left join DOCS_ORDER DOR on DOR.ID = DOS.DOC_ORDER_ID | + | |
- | left join DOCS D on D.DOC_ID = DOR.DOC_ID | + | |
- | left join TOVARS_TBL TT on TT.TOVAR_ID = DOS.TOVAR_ID | + | |
- | left join CONTRAGENTS C on C.CONTR_ID = D.CONTRAGENT_ID | + | |
- | left join SCLADS S on S.ID = DOR.SCLAD_KREDIT_ID | + | |
- | where DOS.ID = :DOS_ID | + | |
- | into :sclad_kredit_name, :date_beg, :date_end, :barcode_read, | + | |
- | :barcode, :doc_num, :client_name, :tovar_line1, | + | |
- | :tovar_line2; | + | |
- | + | ||
- | select aos.value_flt | + | |
- | from addon_order_services aos | + | |
- | where aos.line_id=:dos_id and aos.addon_type_id=100254 | + | |
- | into :num_of_serv; | + | |
- | + | ||
- | /* | + | |
- | ^PW350 - ширина 350 мм | + | |
- | ^MTT - термотрансферная | + | |
- | ^MNN - бесконечная | + | |
- | ^LL424 - длина 424 мм | + | |
- | */ | + | |
- | + | ||
- | ZPL_TEXT = '^XA | + | |
- | ^SZ2^JMA | + | |
- | ^MCY^PMN | + | |
- | ^PW350^MTT | + | |
- | ^MNN^LL424 | + | |
- | ~TA120 | + | |
- | ^MMC | + | |
- | ^MD25 | + | |
- | ^PR4,4,4 | + | |
- | ^JZY | + | |
- | ^LH0,0^LRN | + | |
- | ^XZ | + | |
- | ^XA | + | |
- | ^CI33 | + | |
- | + | ||
- | + | ||
- | '; | + | |
- | + | ||
- | select res | + | |
- | from SP_ZPL_LABEL_PRINT_STRING(:sclad_kredit_name, :very_small_size, 1) | + | |
- | into :sclad_kredit_name; | + | |
- | + | ||
- | select res | + | |
- | from SP_ZPL_LABEL_PRINT_STRING_VALUE(' '||:date_beg, :date_end||'', :medium_font_size) | + | |
- | into :date_beg; | + | |
- | + | ||
- | + | ||
- | select res | + | |
- | from SP_ZPL_LABEL_PRINT_STRING(:barcode_read, :big_font_size, 1) | + | |
- | into :barcode_read; | + | |
- | + | ||
- | select res | + | |
- | from SP_ZPL_LABEL_PRINT_STRING(:client_name, :small_font_size, 0) | + | |
- | into :client_name; | + | |
- | + | ||
- | select res | + | |
- | from SP_ZPL_LABEL_PRINT_STRING(:doc_num, :medium_font_size, 0) | + | |
- | into :doc_num; | + | |
- | + | ||
- | select res | + | |
- | from SP_ZPL_LABEL_PRINT_STRING(:tovar_line1, :medium_font_size, 0) | + | |
- | into :tovar_line1; | + | |
- | + | ||
- | select res | + | |
- | from SP_ZPL_LABEL_PRINT_STRING(:tovar_line2, :medium_font_size, 0) | + | |
- | into :tovar_line2; | + | |
- | + | ||
- | select res | + | |
- | from SP_ZPL_LABEL_PRINT_STRING(:num_of_serv, :medium_font_size, 0) | + | |
- | into :num_of_serv; | + | |
- | + | ||
- | + | ||
- | + | ||
- | ZPL_TEXT = ZPL_TEXT || '^A@,20,13,E:COURIER-NEW.TTF | + | |
- | ^FO0,60 | + | |
- | ^FD'||sclad_kredit_name||'^FS | + | |
- | + | ||
- | ^A@,25,17,E:COURIER-NEW.TTF | + | |
- | ^FO30,95 | + | |
- | ^FD'||date_beg||'^FS | + | |
- | + | ||
- | ^A@,50,33,E:COURIER-NEW.TTF | + | |
- | ^FO40,120 | + | |
- | ^FD'||barcode_read||'^FS | + | |
- | + | ||
- | ^FO42,175 | + | |
- | ^BY2 | + | |
- | ^BCN,60,N,N,N,N | + | |
- | ^FD>;'||barcode||'^FS | + | |
- | + | ||
- | ^A@,25,17,E:COURIER-NEW.TTF | + | |
- | ^FO5,250 | + | |
- | ^FD'||' '||client_name||'^FS | + | |
- | + | ||
- | ^A@,30,20,E:COURIER-NEW.TTF | + | |
- | ^FO5,280 | + | |
- | ^FD'||' '||doc_num||'^FS | + | |
- | + | ||
- | ^A@,30,20,E:COURIER-NEW.TTF | + | |
- | ^FO5,310 | + | |
- | ^FD'||' '||tovar_line1||'^FS | + | |
- | + | ||
- | ^A@,30,20,E:COURIER-NEW.TTF | + | |
- | ^FO5,340 | + | |
- | ^FD'||' '||tovar_line2||'^FS'; | + | |
- | + | ||
- | if (num_of_serv is not null) then | + | |
- | ZPL_TEXT = ZPL_TEXT || | + | |
- | '^A@,30,20,E:COURIER-NEW.TTF | + | |
- | ^FO5,370 | + | |
- | ^FD'||' '||num_of_serv||'^FS'; | + | |
- | + | ||
- | ZPL_TEXT = ZPL_TEXT || '^PQ1,1,1,Y | + | |
- | ^XZ'; | + | |
- | + | ||
- | suspend; | + | |
- | end</code> | + | |
- | </hidden> | + | |
- | <hidden Фото бирки> | + | |
{{:pasted:20221024-171612.png?400}} | {{:pasted:20221024-171612.png?400}} | ||
- | </hidden> | + | * Бирка 35(ширина) на 42 (высота), печатается на бесконечной текстильной ленте с автоматическим обрезчиком (термотрансферная печать). На бирке дополнительно выводится заполненный доп.реквизит услуги под номером 100255 {{ :sql_zpl2.zip | sql}} |
- | === Бирка 35(ширина) на 42 (высота), печатается на бесконечной текстильной ленте с автоматическим обрезчиком (термотрансферная печать). На бирке дополнительно выводится заполненный доп.реквизит услуги под номером 100255 === | + | {{:pasted:20221024-173006.png?400}} |
- | <hidden Код процедуры> | + | |
- | <code sql> | + | |
- | CREATE OR ALTER procedure SP_GET_LABEL_ZPL_CUSTOM ( | + | |
- | DOS_ID D_ID_INT64) | + | |
- | returns ( | + | |
- | ZPL_TEXT D_BLOB) | + | |
- | as | + | |
- | declare variable SCLAD_KREDIT_NAME D_STR_50; | + | |
- | declare variable DATE_BEG D_STR_4096; | + | |
- | declare variable DATE_END D_STR_12; | + | |
- | declare variable BARCODE_READ D_STR_25; | + | |
- | declare variable BARCODE D_STR_25; | + | |
- | declare variable DOC_NUM D_STR_25; | + | |
- | declare variable CLIENT_NAME D_STR_250; | + | |
- | declare variable TOVAR_LINE1 D_STR_250; | + | |
- | declare variable TOVAR_LINE2 D_STR_50; | + | |
- | declare variable SMALL_FONT_SIZE D_INTEGER; | + | |
- | declare variable MEDIUM_FONT_SIZE D_INTEGER; | + | |
- | declare variable BIG_FONT_SIZE D_INTEGER; | + | |
- | declare variable FIRM D_STR_250; | + | |
- | begin | + | |
- | /* | ||
- | Процедура делалась для принтера Mercury Terra nova TLP300 | ||
- | Используется 3 разных размера одного и того же моноширного шрифта COURIER-NEW.TTF липкой бирке размером 35*42 при термотрансферной печати с отрезщиком: | ||
- | |||
- | Маленький 25,17 максимум 31 симовлов | ||
- | Средний 30,20 максимум 26 символа | ||
- | Большой 60,40 максимум 13 символов | ||
- | Если заполнен доп реквизит бренд (фирма), то он печатается внизу бирки | ||
- | */ | ||
- | |||
- | SMALL_FONT_SIZE = 31; | ||
- | MEDIUM_FONT_SIZE = 26; | ||
- | BIG_FONT_SIZE = 13; | ||
- | |||
- | select | ||
- | s.name, | ||
- | lpad(extract(day from D.DOC_DATE), 2, '0') || '.' || lpad(extract(month from D.DOC_DATE), 2, '0'), | ||
- | lpad(extract(day from DOR.DATE_OUT), 2, '0') || '.' || lpad(extract(month from DOR.DATE_OUT), 2, '0'), | ||
- | dos.BARCODE_READ, | ||
- | DOS.BARCODE, | ||
- | D.DOC_NUM, | ||
- | C.NAME, | ||
- | substring(TT.name from 1 for :medium_font_size) as tovar_line1, | ||
- | substring(TT.name from :medium_font_size+1 for :medium_font_size+:medium_font_size) as tovar_line1, | ||
- | (select aos.value_str from addon_order_services aos where aos.line_id=:DOS_ID and aos.addon_type_id=100255) as firm | ||
- | from DOC_ORDER_SERVICES DOS | ||
- | left join DOCS_ORDER DOR on DOR.ID = DOS.DOC_ORDER_ID | ||
- | left join DOCS D on D.DOC_ID = DOR.DOC_ID | ||
- | left join TOVARS_TBL TT on TT.TOVAR_ID = DOS.TOVAR_ID | ||
- | left join CONTRAGENTS C on C.CONTR_ID = D.CONTRAGENT_ID | ||
- | left join SCLADS S on S.ID = DOR.SCLAD_KREDIT_ID | ||
- | where DOS.ID = :DOS_ID | ||
- | into :sclad_kredit_name, :date_beg, :date_end, :barcode_read, | ||
- | :barcode, :doc_num, :client_name, :tovar_line1, | ||
- | :tovar_line2, :firm; | ||
- | /* | ||
- | ^PW350 - ширина 350 мм | ||
- | ^MTT - термотрансферная | ||
- | ^MNN - бесконечная | ||
- | ^LL424 - длина 424 мм | ||
- | */ | ||
- | |||
- | ZPL_TEXT = '^XA | ||
- | ^SZ2^JMA | ||
- | ^MCY^PMN | ||
- | ^PW350^MTT | ||
- | ^MNN^LL424 | ||
- | ~TA120 | ||
- | ^MMC | ||
- | ^MD25 | ||
- | ^PR4,4,4 | ||
- | ^JZY | ||
- | ^LH0,0^LRN | ||
- | ^XZ | ||
- | ^XA | ||
- | ^CI33 | ||
- | |||
- | |||
- | '; | ||
- | |||
- | select res | ||
- | from SP_ZPL_LABEL_PRINT_STRING(:sclad_kredit_name, :small_font_size, 1) | ||
- | into :sclad_kredit_name; | ||
- | |||
- | select res | ||
- | from SP_ZPL_LABEL_PRINT_STRING_VALUE(' '||:date_beg, :date_end||'', :medium_font_size) | ||
- | into :date_beg; | ||
- | |||
- | |||
- | select res | ||
- | from SP_ZPL_LABEL_PRINT_STRING(:barcode_read, :big_font_size, 1) | ||
- | into :barcode_read; | ||
- | |||
- | select res | ||
- | from SP_ZPL_LABEL_PRINT_STRING(:client_name, :small_font_size, 0) | ||
- | into :client_name; | ||
- | |||
- | select res | ||
- | from SP_ZPL_LABEL_PRINT_STRING(:doc_num, :medium_font_size, 0) | ||
- | into :doc_num; | ||
- | |||
- | select res | ||
- | from SP_ZPL_LABEL_PRINT_STRING(:tovar_line1, :medium_font_size, 0) | ||
- | into :tovar_line1; | ||
- | |||
- | select res | ||
- | from SP_ZPL_LABEL_PRINT_STRING(:tovar_line2, :medium_font_size, 0) | ||
- | into :tovar_line2; | ||
- | |||
- | select res | ||
- | from SP_ZPL_LABEL_PRINT_STRING(:firm, :medium_font_size, 0) | ||
- | into :firm; | ||
- | |||
- | |||
- | ZPL_TEXT = ZPL_TEXT || '^A@,25,17,E:COURIER-NEW.TTF | ||
- | ^FO80,10 | ||
- | ^FD'||sclad_kredit_name||'^FS | ||
- | |||
- | ^A@,30,20,E:COURIER-NEW.TTF | ||
- | ^FO70,50 | ||
- | ^FD'||date_beg||'^FS | ||
- | |||
- | ^A@,60,40,E:COURIER-NEW.TTF | ||
- | ^FO80,85 | ||
- | ^FD'||barcode_read||'^FS | ||
- | |||
- | ^FO50,150 | ||
- | ^BY2 | ||
- | ^BCN,60,N,N,N,N | ||
- | ^FD>;'||barcode||'^FS | ||
- | |||
- | ^A@,25,17,E:COURIER-NEW.TTF | ||
- | ^FO5,225 | ||
- | ^FD'||' '||client_name||'^FS | ||
- | |||
- | ^A@,30,20,E:COURIER-NEW.TTF | ||
- | ^FO5,265 | ||
- | ^FD'||' '||doc_num||'^FS | ||
- | |||
- | ^A@,30,20,E:COURIER-NEW.TTF | ||
- | ^FO5,305 | ||
- | ^FD'||' '||tovar_line1||'^FS | ||
- | |||
- | ^A@,30,20,E:COURIER-NEW.TTF | ||
- | ^FO5,320 | ||
- | ^FD'||' '||tovar_line2||'^FS'; | ||
- | |||
- | if (firm is not null) then | ||
- | ZPL_TEXT = ZPL_TEXT || | ||
- | '^A@,30,20,E:COURIER-NEW.TTF | ||
- | ^FO5,350 | ||
- | ^FD'||' '||firm||'^FS'; | ||
- | |||
- | ZPL_TEXT = ZPL_TEXT ||'^PQ1,1,1,Y | ||
- | ^XZ'; | ||
- | |||
- | suspend; | ||
- | end</code> | ||
- | </hidden> | ||
- | <hidden Фото бирки> | ||
- | {{:pasted:20221024-173006.png?400}} | ||
- | </hidden> |