Материал из Ananas
Перейти к: навигация, поиск
м
м (Сканеры Штрихкода:)
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
(http://www.leaderit.ru/files/pub/LIT/alm24/RPMS.lit/) к
+
=te=
  
 
В исходниках Ананаса есть расширение [[te]] [http://www.leaderit.ru/cgi-bin/cvsweb.cgi/ananas/src/extensions/te/], позволяющее в Ананас скрипте использовать все драйвера из проекта [[tradeequip]] как родные объекты Ананас скрипта.
 
В исходниках Ананаса есть расширение [[te]] [http://www.leaderit.ru/cgi-bin/cvsweb.cgi/ananas/src/extensions/te/], позволяющее в Ананас скрипте использовать все драйвера из проекта [[tradeequip]] как родные объекты Ананас скрипта.
Строка 6: Строка 6:
  
 
По умолчанию при сборке Ананаса из 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" а при сканировании штрихкода при открытом документе автоматически заполнилось поле 'Имя' значением считанного штрихкода.