Форум OlegON > Программы и оборудование для автоматизации торговли > Оборудование > Принтеры > Proton

Принтер ш/кодов Proton - как автоматизировать печать : Proton

19.03.2024 14:05


28.07.2012 13:55
KirillHome
 
Ну что же - разобрался.
Проблема, как это часто бывает, оказалась в голове :)

Я инициализировал строку
Код:
TEXT 330,78,"ARIALR.TTF",180,6,6,
Но забыл передать в неё значение (хотя бы пустое)

Переделал на
Код:
TEXT 330,78,"ARIALR.TTF",180,6,6,""
и всё побежало! :viannen_08:
30.06.2014 22:09
BrandSelect
 
Через Бкртендер можно подключиться к разным базам данным - ваш формат в студию.

Принцип простой: при формировании тескта тип данных указывается - внешний источних и настраивается путь к БД. Но умеет это лишь Проф версия - платная. (можно скачать - потестить если что).

Если же писать своб этиктку, то зачем мучиться с командным языком... не понимаю.

Принтеры Proton - это же те TSC. Просто наклейка на принтерах TSC. "Торговая марка".

А у TSC есть удобный инструмент, если делаете свою программу на каком либо высокоуровневом языке.

Просто подключается к нему DLL и используете из неё процедуры и функции, не маясь с изучением и прелестями командного языка.

Вот, например, простейшая этикетка:
setup('58','40','4.0','13','0','3','0'); //параметры этикетки
nobackfeed;
clearbuffer();
windowsfont(16,10, 48, 0, 2, 0, 'arial', 'Тест '); //используем любой шрифт винды - ничего грузить не надо. Задаём координаты теста и его параметры
windowsfont(16,48, 48, 0, 2, 0, 'arial', 'Принтер TTP-244');
barcode('64','100','EAN13','80','1','0','2','4','460851324568'); // печатаем штрих-код с нужными нам параметрами
printlabel('3','1'); //количество копий

Соответственно, данные для печати можно сделать переменными и печатать нужные данные из баз банных

Кому интересно - пишите, перекину инфу интересующую
11.11.2014 14:18
ilia81
 
BrandSelect подскажите пожалуйста каким образом нужно указать переменные
чтобы принтер их воспринял
11.11.2014 16:58
akonev
 
не видит он твой вопрос. у него последняя активность 08.07.2014

расскажи лучше, что именно делаешь и что именно не получается
12.11.2014 10:07
ilia81
 
я в этом деле ученик, делаю этикетку на принтер этикеток TSC
через sql создал некий запрос с вытаскиванием переменных
и пытаюсь вставить в этикетку при распечатывании
этикетку сформировал вот так
SIZE 4,1
GAP 0,0
A=@MATERIAL_NAME
B=@BARCODE
DIRECTION 1
CLS
TEXT 10,10,"2",0,1,1,@MATERIAL_NAME
BARCODE 10,50,"128", 100,1,0,2,2,@BARCODE
PRINT 1
при таком раскладе этикетка печатается только как вставлено
без подстановок нужных мне.
12.11.2014 10:14
akonev
 
Цитата:
ilia81 TEXT 10,10,"2",0,1,1,@MATERIAL_NAME
То есть ты хочешь, чтобы в этом месте печаталось наименование, а вместо него видишь текст "@MATERIAL_NAME". правильно я понял?
12.11.2014 10:47
ilia81
 
Да правильно
вместо переменной я вижу тупо текст
12.11.2014 10:54
akonev
 
Отлично. Теперь надо разобраться, откуда печатаешь.

Суть в том, что подмена переменных данными - забота программного обеспечения.
Принтер тупо печатает то, что упало к нему в порт. Замена переменных реальными данными должна случиться раньше.

Например, если я использую ПО Супермаг и в этикетке есть поле %Name=30, то это забота Супермага:
-прочитать этикетку
-найти в ней это поле
-заменить %Name=30 на часть наименования не длиннее 30 знаков
-то, что получилось - отправить в порт принтера

именно в документации Супермага указано, какие поля он умеет искать и какие данные он вместо них подставит.

из какого ПО печатаешь ты?
12.11.2014 11:07
ilia81
 
печатаю я из php
то есть в php подставляю что нужно и жму печать
далее формируется запрос в sql и должны выбраться переменные по данным из php
lля печати этикетки и далее распечатывание этикетки
12.11.2014 11:47
akonev
 
значит ты у себя в коде должен отпарсить файл формата этикетки, вместо переменных воткнуть данные и уже то, что получилось, отправить в порт принтера.

либо для начала ничего не парсить вовсе, а тупо зашить команды принтера в код и в нужные места вставлять данные из SQL-запроса.
такой подход хорош, чтобы быстро на коленке протестировать работу с принтером. дальше всё равно надо переходить на использование шаблонов, чтобы не зависеть от модели принтера.

скормить принтеру отдельно формат и отдельно результаты запроса, как набор переменных, не получится для подавляющего большинства моделей.
тебе надо формировать отдельный готовый набор команд печати этикетки для каждой строки, которую возвращает тебе SQL-запрос.
Часовой пояс GMT +3, время: 14:05.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.