Radist (обсуждение | вклад) (Создана новая страница размером <nowiki>В исходниках Ананаса есть расширение "te" http://www.leaderit.ru/cgi-bin/cvsweb.cgi/ananas/src/ext...) |
Radist (обсуждение | вклад) м (→Сканеры Штрихкода:) |
||
(не показаны 4 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
− | + | =te= | |
− | http://www.leaderit.ru/cgi-bin/cvsweb.cgi/ananas/src/extensions/te/ | + | |
+ | В исходниках Ананаса есть расширение [[te]] [http://www.leaderit.ru/cgi-bin/cvsweb.cgi/ananas/src/extensions/te/], позволяющее в Ананас скрипте использовать все драйвера из проекта [[tradeequip]] как родные объекты Ананас скрипта. | ||
Оно отвечает за взаимодействие с оборудованием через драйвера tradeequip. | Оно отвечает за взаимодействие с оборудованием через драйвера tradeequip. | ||
Для того чтобы откомпилировать расширение te, должны быть установлены библиотеки и заголовочные файлы tradeequip. | Для того чтобы откомпилировать расширение te, должны быть установлены библиотеки и заголовочные файлы tradeequip. | ||
+ | |||
По умолчанию при сборке Ананаса из CVS компиляция расширения te отключена. | По умолчанию при сборке Ананаса из CVS компиляция расширения te отключена. | ||
− | + | Для того чтобы включить сборку этого расширения следует убрать комментарий: | |
− | + | ||
− | Для того чтобы включить сборку этого расширения | + | |
#unix:SUBDIRS += te | #unix:SUBDIRS += te | ||
Строка 14: | Строка 14: | ||
чтобы было так | чтобы было так | ||
unix:SUBDIRS += te | unix:SUBDIRS += te | ||
+ | |||
+ | =Драйвера, которые уже работают в [[tradeequip]]:= | ||
+ | ==Фискальные регистраторы:== | ||
+ | *ШТРИХ-ФР-(К/Ф) | ||
+ | |||
+ | ==Сканеры Штрихкода:== | ||
+ | *Все модели с последовательным портом (Универсальный драйвер)и USB в режиме эмуляции RS-232 (протестировано с Cipher1000 и Metrologic 5145) | ||
+ | |||
+ | ==Ридеры магнитных карт:== | ||
+ | *Все с последовательным портом, клавиатурные (УНИДрайвер) | ||
+ | |||
+ | ==Дисплеи покупателя:== | ||
+ | *Epson, Firich, VF2029, DSP800 | ||
+ | |||
+ | ==Список реально работающих драйверов:== | ||
+ | |||
+ | TEReaderBarcode | ||
+ | TEReaderCard | ||
+ | TEDisplayPC | ||
+ | TEDisplayEpson | ||
+ | TEDisplayDSP800 | ||
+ | TEDisplayVF2029 | ||
+ | TECashRegisterShtrihFR | ||
+ | |||
+ | =Пример использование в скрипте:= | ||
+ | |||
+ | Ananas script examples for trade equipment drivers: | ||
+ | TEDisplayVF2029, TEReaderBarcode | ||
+ | |||
+ | ==1.global module:== | ||
+ | |||
+ | |||
+ | var TradeEq = 0; // global trade equipment manager | ||
+ | var TEDisplay = 0; // Display object | ||
+ | var TEReader = 0; // Reader object | ||
+ | |||
+ | // EVENTS GLOBAL HANDLER | ||
+ | function on_event( src, data ) | ||
+ | { | ||
+ | sys.Message(1,"Global module: on_event from "+src+" data="+data); | ||
+ | } | ||
+ | |||
+ | function on_systemstart() | ||
+ | { | ||
+ | TradeEq = new TradeEquipment(); | ||
+ | TEDisplay = TradeEq.newDriver("TEDisplayVF2029"); | ||
+ | if (TEDisplay) { | ||
+ | TEDisplay.setPortBaudRate(12); //9600 | ||
+ | TEDisplay.setPortNumberAndInit(2); // COM2 | ||
+ | } | ||
+ | TEReader = TradeEq.newDriver("TEReaderBarcode"); | ||
+ | if (TEReader) { | ||
+ | TEReader.PortNumber = 1; | ||
+ | TEReader.PortBaudRate = 9600; | ||
+ | TEReader.startDriver(); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | ==2.Document module== | ||
+ | |||
+ | // | ||
+ | function on_formstart(){ | ||
+ | TEReader.clearBuffer(); // clear unprocessed barcodescodes | ||
+ | } | ||
+ | |||
+ | // DISPLAY TEXT ON ROW CHANGED. | ||
+ | function on_tablerow( name ){ | ||
+ | print("Table "+name+" row changed"); | ||
+ | TEDisplay.showText("ROW CHANGED","line1","scroll/left"); | ||
+ | } | ||
+ | |||
+ | // EVENTS DOCUMENT HANDLER | ||
+ | function on_event( src, data ) | ||
+ | { | ||
+ | sys.Message(1,"Document module: on_event from "+src+" data="+data); | ||
+ | if (src=="TradeEquipment") { | ||
+ | // NEED CHECK 'data' VALUE FOR READER EVENT FILTERS | ||
+ | bc = TEReader.text(); | ||
+ | SetValue("Имя", bc); // SET FIELD VALUE TO BARCODE READED | ||
+ | TEReader.next(); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | В результате выполнения этих модулей на дисплей покупателя вывелось "ROW CHANGED" а при сканировании штрихкода при открытом документе автоматически заполнилось поле 'Имя' значением считанного штрихкода. |
Текущая версия на 23:14, 6 августа 2009
Содержание
te
В исходниках Ананаса есть расширение te [1], позволяющее в Ананас скрипте использовать все драйвера из проекта tradeequip как родные объекты Ананас скрипта. Оно отвечает за взаимодействие с оборудованием через драйвера tradeequip. Для того чтобы откомпилировать расширение te, должны быть установлены библиотеки и заголовочные файлы tradeequip.
По умолчанию при сборке Ананаса из CVS компиляция расширения te отключена. Для того чтобы включить сборку этого расширения следует убрать комментарий:
#unix:SUBDIRS += te
в файле
ananas/src/extensions/extensions.pro
чтобы было так
unix:SUBDIRS += te
Драйвера, которые уже работают в tradeequip:
Фискальные регистраторы:
- ШТРИХ-ФР-(К/Ф)
Сканеры Штрихкода:
- Все модели с последовательным портом (Универсальный драйвер)и USB в режиме эмуляции RS-232 (протестировано с Cipher1000 и Metrologic 5145)
Ридеры магнитных карт:
- Все с последовательным портом, клавиатурные (УНИДрайвер)
Дисплеи покупателя:
- Epson, Firich, VF2029, DSP800
Список реально работающих драйверов:
TEReaderBarcode TEReaderCard TEDisplayPC TEDisplayEpson TEDisplayDSP800 TEDisplayVF2029 TECashRegisterShtrihFR
Пример использование в скрипте:
Ananas script examples for trade equipment drivers: TEDisplayVF2029, TEReaderBarcode
1.global module:
var TradeEq = 0; // global trade equipment manager var TEDisplay = 0; // Display object var TEReader = 0; // Reader object
// EVENTS GLOBAL HANDLER function on_event( src, data ) {
sys.Message(1,"Global module: on_event from "+src+" data="+data);
}
function on_systemstart() {
TradeEq = new TradeEquipment(); TEDisplay = TradeEq.newDriver("TEDisplayVF2029"); if (TEDisplay) { TEDisplay.setPortBaudRate(12); //9600 TEDisplay.setPortNumberAndInit(2); // COM2 } TEReader = TradeEq.newDriver("TEReaderBarcode"); if (TEReader) { TEReader.PortNumber = 1; TEReader.PortBaudRate = 9600; TEReader.startDriver(); }
}
2.Document module
// function on_formstart(){
TEReader.clearBuffer(); // clear unprocessed barcodescodes
}
// DISPLAY TEXT ON ROW CHANGED. function on_tablerow( name ){
print("Table "+name+" row changed"); TEDisplay.showText("ROW CHANGED","line1","scroll/left");
}
// EVENTS DOCUMENT HANDLER function on_event( src, data ) {
sys.Message(1,"Document module: on_event from "+src+" data="+data); if (src=="TradeEquipment") { // NEED CHECK 'data' VALUE FOR READER EVENT FILTERS bc = TEReader.text(); SetValue("Имя", bc); // SET FIELD VALUE TO BARCODE READED TEReader.next(); }
}
В результате выполнения этих модулей на дисплей покупателя вывелось "ROW CHANGED" а при сканировании штрихкода при открытом документе автоматически заполнилось поле 'Имя' значением считанного штрихкода.