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

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


Принтер бирок 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

Фото бирки

Фото бирки