мета-данные страницы
  •  

Это старая версия документа!


Принтер бирок MPRINT Terra Nova

Принтер бирок MPRINT Terra Nova может работать с любом устройством для Агбис Приёмки: MSPOS, ЭВОТОР, смартфон или планшет

Настройка подключения к принтеру для модуля Агбис Приёмка

Настройка подключения модуля Агбис Приёмка к сетевому принтеру происходит в локальных настройках Агбис Химчистки. Для этого необходимо включить работу с Принтером бирок (1), выбрать печатаемую бирку (2) и указать IP адрес самого принтера (3)

Настройка принтера для работы в локальной сети

  1. Подключить принтер к компьютеру посредством USB кабеля.
  2. Скачать и установить с сайта http://fs.mertech.ru/ драйвера для Windows (найти нужный драйвер можно по словам «MPRINT TERRA NOVA TLP100», настраивать печать под Windows не обязательно)
  3. Скачать утилиту «MPRINTUtilityForLabel» с нашего WebDAV: «WebDAV\Share42\Agbis\_NonVersion\utils\mprintutilityforlabel_v2.0.0.3.zip» (версия утилиты важна, на оффсайте не та версия, которая не умеет менять шрифты)
  4. Произвести настройку принтера в утилите «MPRINTUtilityForLabel»

Настройка принтера утилитой MPRINTUtilityForLabel

  • Загрузить моноширный шрифт Courier New во флеш память принтера:

  • Убедиться что шрифт успешно загружен с именем который мы ему задали:

  • Настроить параметры принтера как это сделано на изображении (запомнить IP адрес который указываем):

  • Отключить принтер от компьютер посредством USB кабеля
  • Подключить принтер к локальной сети посредством Ethernet
  • Проверить, появился ли доступ к принтеру по Ethernet

Кастомизация бирки

Небольшой мастер класс по созданию кастомной бирки для бирки.
Документация по ZPL командам.

Примеры кастомных бирок

Бирка 35(ширина) на 42 (высота), печатается на бесконечной текстильной ленте с автоматическим обрезчиком (термотрансферная печать). На бирке дополнительно выводится заполненный доп.реквизит услуги под номером 100254

Код процедуры

Код процедуры

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

Фото бирки

Фото бирки

Бирка 35(ширина) на 42 (высота), печатается на бесконечной текстильной ленте с автоматическим обрезчиком (термотрансферная печать). На бирке дополнительно выводится заполненный доп.реквизит услуги под номером 100255

Код процедуры

Код процедуры

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

Фото бирки

Фото бирки