120 lines
7.6 KiB
C++
120 lines
7.6 KiB
C++
//---------------------------------------------------------------------------
|
||
#ifndef FP300KZ1CH
|
||
#define FP300KZ1CH
|
||
//---------------------------------------------------------------------------
|
||
#include "FP300KZ.h"
|
||
//#include "../Printer.h"
|
||
//#include "../../ComPort.h"
|
||
#include <stdTools.h>
|
||
#include <structs.h>
|
||
#include <string>
|
||
//---------------------------------------------------------------------------
|
||
struct LDDevice //Ëîãè÷åñêîå óñòðîéñòâî
|
||
{
|
||
int Number; //Íîìåð èëè id óñòðîéñòâà
|
||
std::string Name; //Èìÿ ËÓ
|
||
int ComNumber; //Íîìåð êîì-ïîðòà ËÓ
|
||
int BaudRate; //Ñêîðîñòü ðàáîòû ËÓ, â áîäàõ èëè â âèäå èíäåêñà (èíäåêñ 0 ñîîòâåòñòâóåò ñêîðîñòè 1200 áîä)
|
||
std::string ComputerName; //Èìÿ êîìïüþòåðà, íà êîòîðîì óñòàíîâëåíî ôèçè÷åñêîå óñòðîéñòâî
|
||
int TimeOut; //Òàéìàóò îæèäàíèÿ îòâåòà îò ËÓ
|
||
std::string FrType; //Òèï ÔÐ, ñîîòâåòñòâóþùèé äîáàâëÿåìîìó ËÓ
|
||
};
|
||
//---------------------------------------------------------------------------
|
||
//Ñïåöèàëüíûé êëàññ 1ñ äðàéâåðà
|
||
class FP300KZ1C : public FP300KZ
|
||
{
|
||
//private:
|
||
public:
|
||
TSimpleList<LDDevice*> *ListLDDevice; //ñïèñîê óñòðîéñòâ
|
||
//SProp* PropMas;
|
||
|
||
int StringQuantity; //Íà ñêîëüêî ñòðîê äâèãàòü áóìàãó
|
||
int StringNumber; //Äëÿ èçìåíåíèÿ çàãîëîâîêà ÷åêà è õâîñòà
|
||
bool ReportType; //Ïîëíûé ëèáî ñîêðàù¸ííûé ôèñêàëüíûé îò÷¸ò
|
||
std::string BarCode; //("ØòðèõÊîä") äëÿ ïîñëåäóþùåé ïå÷àòè
|
||
std::string Date;//("Äàòà") "DD-MM-YYYY" äàòà â ÊÊÌ, ïîëó÷àåìîå ìåòîäîì GETECRSTATUS
|
||
std::string Time; //Âðåìÿ "HH:MM:SS" TIMESTR
|
||
//std::string TimeStr; //ÂÐÅÌßÑÒÐÎÊÀ òîæå ñàìîå ÷òî è Time
|
||
int Department; //Îòäåë
|
||
bool Absolute;
|
||
double Discount;//ÑÊÈÄÊÀ
|
||
double Change; //Ñäà÷à òîëüêî ÷òåíèå
|
||
|
||
// float DiscountInvertor; //ÇÍÀÊÑÊÈÄÊÈ (óìíîæ íà ñêèäêó)
|
||
int DocumentNumber; //ÍÎÌÅÐÄÎÊÓÌÅÍÒÀ
|
||
int OperatorNumber; //ÍÎÌÅÐÎÏÅÐÀÒÎÐÀ
|
||
double Price; //ÖÅÍÀ
|
||
double Summ1,Summ2,Summ3,Summ4,Summ5,Summ6,Summ7,Summ8;
|
||
double Quantity; //ÊÎËÈ×ÅÑÒÂÎ
|
||
//int ResultCode; //ÐÅÇÓËÜÒÀÒ âûïîëíåíèÿ ïîñëåäíåé êîìàíäû
|
||
std::string RNN,RNM; //ÐÍÌ ñì ÏÎËÓ×ÈÒÜÄËÈÍÍÛÅÇÀÂÎÄÑÊÎÉÍÎÌÅÐÈÐÍÌ()
|
||
|
||
std::string ROUGHVALVE;//ÃÐÓÁÛÉÊËÀÏÀÍ Ïóñòàÿ ñòðîêà
|
||
//std::string SerialNumber; //SERIALNUMBER ÇÀÂÎÄÑÊÎÉÍÎÌÅÐ (ñìîòðè: PrinterNumber)
|
||
std::string StringHead;
|
||
std::string StringTail;
|
||
std::string StringForPrinting; // ÑÒÐÎÊÀÄËßÏÅ×ÀÒÈ
|
||
void setStringForPrinting(std::string str);
|
||
|
||
double Tax1, Tax2, Tax3, Tax4, Tax5; // (ÍÀËÎÃ1, ÍÀËÎÃ2, ÍÀËÎÃ3, ÍÀËÎÃ4, ÍÀËÎÃ5)
|
||
|
||
bool Open; //Îòêðûò ôèñêàëüíûé èëè ñëóæåáíûé ÷åê
|
||
int Items; //Êîëè÷åñòâî çàðåãèñòðèðîâàííûõ ïðîäàæ â òåêóùåì èëè ïîñëåäíåì ôèñêàëüíîì ÷åêå.
|
||
double Amount; //Ñóììà ïîñëåäíåãî ôèñêàëüíîãî ÷åêà
|
||
double Tender; //Ñóììà îïëàòû òåêóùåãî èëè ïîñëåäíåãî ÷åêà
|
||
|
||
|
||
double getCashIn(); //float CashIn; //ÊýøÈí Float, ÷òåíèå/çàïèñü, èñïîëüçóåòñÿ êàê ïîêàçàòåëü ñóììû âíåñåíèÿ ïîñëå âûïîëåííèÿ îïåðåöèè CASHINCOME (ÂÍÅÑÅÍÈÅ), CASHOUTCOME (ÂÛÏËÀÒÀ) è ïîêóïîê/ïðîäàæ
|
||
double getCashOut(); //float CashOut; //ÊýøÀóò Float, ÷òåíèå/çàïèñü, èñïîëüçóåòñÿ êàê ïîêàçàòåëü ñóììû âûïëàò ïîñëå âûïîëåííèÿ îïåðåöèè CASHINCOME (ÂÍÅÑÅÍÈÅ), CASHOUTCOME (ÂÛÏËÀÒÀ)
|
||
double getCashSum(); //float CashSum; //ÊýøÑóììà Float, ÷òåíèå/çàïèñü, èñïîëüçóåòñÿ êàê ïîêàçàòåëü ñóììû íàëè÷íîñòè â êàññå ïîñëå âûïîëåííèÿ îïåðåöèè CASHINCOME (ÂÍÅÑÅÍÈÅ), CASHOUTCOME (ÂÛÏËÀÒÀ) è ïîêóïîê/ïðîäàæ
|
||
int getSessionSec();
|
||
std::string getStatuses();
|
||
|
||
//int TimeOut; //ÒÀÉÌÀÓÒÏÐÈÅÌÀÁÀÉÒÀ
|
||
|
||
std::string FIRSTSESSIONDATE; //Óêàçûâàåò äàòó íà÷àëà äëÿ ïå÷àòè îò÷åòà ìåòîäîì FISCALREPORTFORDATESRANGE (ÔÈÑÊÀËÜÍÛÉÎÒרÒÏÎÄÈÀÏÀÇÎÍÓÄÀÒ)
|
||
std::string LASTSESSIONDATE; //Óêàçûâàåò äàòó îêîí÷àíèÿ äëÿ ïå÷àòè îò÷åòà ìåòîäîì FISCALREPORTFORDATESRANGE (ÔÈÑÊÀËÜÍÛÉÎÒרÒÏÎÄÈÀÏÀÇÎÍÓÄÀÒ)
|
||
int FirstSessionNumber; //Óêàçûâàåò íà÷àëüíóþ ñìåíó äëÿ ïå÷àòè îò÷åòà ìåòîäîì FISCALREPORTFORSESSIONRANGE (ÔÈÑÊÀËÜÍÛÉÎÒרÒÏÎÄÈÀÏÀÇÎÍÓÑÌÅÍ)
|
||
int LastSessionNumber; //Óêàçûâàåò êîíå÷íóþ ñìåíó äëÿ ïå÷àòè îò÷åòà ìåòîäîì FISCALREPORTFORSESSIONRANGE (ÔÈÑÊÀËÜÍÛÉÎÒרÒÏÎÄÈÀÏÀÇÎÍÓÑÌÅÍ)
|
||
|
||
|
||
int LDIndex; //ÈÍÄÅÊÑËÓ Integer, ÷òåíèå/çàïèñü, ñîäåðæèò òåêóùåå âûáðàííîå ëîãè÷åñêîå óñòðîéñòâî
|
||
int LDNumber; //ÍÎÌÅÐËÓ Integer, ÷òåíèå/çàïèñü, ñîäåðæèò òåêóùåå âûáðàííîå ëîãè÷åñêîå óñòðîéñòâî
|
||
std::string LDName; //ÈÌßËÓ Ñòðîêà, ÷òåíèå/çàïèñü, ñîäåðæèò èìÿ òåêóùåãî ëîãè÷åñêîãî óñòðîéñòâà. Ïî-óìîë÷àíèþ èíèöèàëèçèðóåòñÿ ñòðîêîé «Óñòðîéñòâî ¹N», ãäå N — ïîðÿäêîâûé íîìåð óñòðîéñòâà (íà÷èíàÿ ñ 1)
|
||
|
||
//std::string ECRFlafs; //ÔËÀÃÈÊÊÌ Ñòðîêà, ÷òåíèå, ñîäåðæèò ïîëíûé ðàçâåðíóòûé ñòàòóñ ÊÊÌ â âèäå ñòðîêè ðàçìåðîì 6*8 áàéò, ñîñòîÿùåé èç ñèìâîëîâ '0' èëè '1', ïîçâîëÿþùåé ïîëó÷èòü ëþáóþ èíôîðìàöèþ î òåêóùåì ñòàòóñå ÊÊÌ. Ñòðîêà ñîñòîÿíèÿ ñîîòâåòñòâóåò ïîáèòíîìó îïèñàíèþ ñòàòóñà ÔÐ Ïîðò. Çàïîëíÿåòñÿ ïðèìåíåíèåì ìåòîäà GETECRSTATUS (ÏÎËÓ×ÈÒÜÑÎÑÒÎßÍÈÅÊÊÌ)
|
||
int LineNumber; //ÍÎÌÅÐËÈÍÈÈ ÷òåíèå/çàïèñü, çàäàåò íîìåð ñòðîêè äëÿ çàãðóçêè â êà÷åñòâå ãðàôè÷åñêîãî ëîãîòèïà ìåòîäîì LOADLINEDATA (ÇÀÃÐÓÇÊÀÃÐÀÔÈÊÈ)
|
||
std::string LineData; //ÃÐÀÔÈ×ÅÑÊÀßÈÍÔÎÐÌÀÖÈß Còðîêà, ÷òåíèå/çàïèñü, çàäàåò ñîäåðæèìîå çàãðóæàåìîé ñòðîêè øðàôè÷åñêîãî ëîãîòèïà ìåòîäîì LOADLINEDATA (ÇÀÃÐÓÇÊÀÃÐÀÔÈÊÈ)
|
||
// float TaxA, TaxB, TaxC, TaxD, TaxE; //(ÑÓÌÌÀÀ, ÑÓÌÌÀÁ, ÑÓÌÌÀÂ, ÑÓÌÌÀÃ) Float, ÷òíèå, ñîäåðæèò ñóììó íàêîïëåíèé â êàññå çà ñìåíó (äî ñíÿòèÿ Z-îò÷åòà) ïî íàëîãîâûì ñòàâêàì A, B, C, D. Ñóììà ìîæåò áûòü ïîëó÷åíà âûçîâîì ìåòîäà (GETSUMS (ÑÓÌÌÀÍÀÊÎÏËÅÍÈÉ))
|
||
std::string PayMode; //ÒÈÏÎÏËÀÒÛ Çàäàåò òèï îïëàòû, èñïîëüçóåìûé ïðè îïëàòå è çàêðûòèè ÷åêà. Ìîæåò áûòü óêàçàí îäèí èç ñëåäóþùèõ òèïîâ: ‘P’ – Îïëàòà íàëè÷íûìè; ‘N’ – Îïëàòà â êðåäèò; ‘C’ – Îïëàòà ÷åêîì; ‘D’ – Îïëàòà äåáèòíîé êàðòîé ‘I’ - Ïðîãðàììèðóåìûé òèï îïëàòû 1 ‘J’ - Ïðîãðàììèðóåìûé òèï îïëàòû 2 ‘K’ - Ïðîãðàììèðóåìûé òèï îïëàòû 3 ‘L’ - Ïðîãðàììèðóåìûé òèï îïëàòû 4 Ïðèìå÷àíèå: ïî-óìîë÷àíèþ (åñëè ñâîéñòâî íå ïðîèíèöèàëèçèðîâàíî) èñïîëüçóåòñÿ îïëàòà íàëè÷íûìè.
|
||
|
||
//Ïåððåìåííûå äëÿ ðàáîòû ñ ëîãè÷åñêèì óñòðîéñòâîì
|
||
int ActiveLD; //Àêòèâíîå ëîãè÷åñêîå óñòðîéñòâî
|
||
std::string LDComputerName; //ÈÌßÊÎÌÏÜÞÒÅÐÀËÓ Ñòðîêà, ÷òåíèå/çàïèñü, çàäàåò èìÿ êîìïüþòåðà, íà êîòîðîì óñòàíîâëåíî ôèçè÷åñêîå óñòðîéñòâî ÔÐ. Ïðèìå÷àíèå:  äàíîé âåðñèè ïîääåðæèâàåòñÿ, íî íå èñïîëüçóåòñÿ.
|
||
int LDTimeOut; //ÒÀÉÌÀÓÒËÓ Integer, ÷òåíèå/çàïèñü, çàäàåò òàéìàóò äëÿ òåêóùåãî ËÓ
|
||
int LDBaudRate; //ÑÊÎÐÎÑÒÜÎÁÌÅÍÀËÓ ÷òåèå/çàïèñü, óñòàíàâëèâàåò èëè ïîëó÷àåò òåêóùóþ ñêîðîñòü îáìåíà ñ ÔÐ, ñîõðàíåííóþ èëè ñîõðàíÿåìóþ â ËÓ. Èñïîëüçóåòñÿ ìåòîäàìè ENUMLD (ÏÅÐÅ×ÈÑËÈÒÜËÓ), GETPARAMLD (ÏÎËÓ×ÈÒÜÏÀÐÀÌÅÒÐÛËÓ), SETACTIVELD (ÓÑÒÀÍÎÂÈÒÜÀÊÒÈÂÍÎÅËÓ), SETPARAMLD (ÓÑÒÀÍÎÂÈÒÜÏÀÐÀÌÅÒÐÛËÓ),
|
||
int LDComNumber; //COMÏÎÐÒËÓ Integer, ÷òåèå/çàïèñü, óñòàíàâëèâàåò èëè ïîëó÷àåò òåêóùèé ïîðò äëÿ îáìåíà ñ ÔÐ, ñîõðàíåííûé ëè ñîõðàíÿåìûé â ËÓ. Èñïîëüçóåòñÿ ìåòîäàìè ENUMLD (ÏÅÐÅ×ÈÑËÈÒÜËÓ), GETPARAMLD (ÏÎËÓ×ÈÒÜÏÀÐÀÌÅÒÐÛËÓ), SETACTIVELD (ÓÑÒÀÍÎÂÈÒÜÀÊÒÈÂÍÎÅËÓ), SETPARAMLD (ÓÑÒÀÍÎÂÈÒÜÏÀÐÀÌÅÒÐÛËÓ),
|
||
|
||
std::string LDFrType;
|
||
std::string FrType; //
|
||
|
||
//bool PORTLOCKED; //ÏÎÐÒÇÀÁËÎÊÈÐÎÂÀÍ Boolean, ÷òåíèå, óòñàíàâëèâàåòñÿ â True (1), åñëè ïîðò èñïîëüçóåòñÿ è â False (0), åñëè ïîðò ñâîáîäåí
|
||
bool UseReceiptRibbon; //Ïå÷àòàòü ëèáî íå ïå÷àòàòü ïðè âûïîëíåíèè ôóíêöèé: PrintString, PrintWideString, FeedDocument.
|
||
bool UseJournalRibbon; //ÈñïîëüçîâàòüÎïåðàöèîííûéÆóðíàë
|
||
|
||
FP300KZ1C();
|
||
~FP300KZ1C();
|
||
bool getECRStatus();
|
||
|
||
bool SaveSetup();
|
||
bool LoadSetup();
|
||
bool AddLD(std::string Name,int ComNumber,int BaudRate,std::string ComputerName,int TimeOut,std::string FrType); //<Äîáàâèòü ëîãè÷åñêîå óñòðîéñòâî
|
||
bool DelLD(int LDNumber);
|
||
bool LoadLD(); //Çàãðóçèòü ëîãè÷åñêèå óñòðîéñòâà
|
||
bool SaveLD();
|
||
int getLDCount(); //LDCount ÎËÈ×ÅÑÒÂÎËÓ Integer, ÷òåíèå, ñîäåðæèò êîëè÷åñòâî ëîãè÷åñêèõ óñòðîéñòâ, ïîëó÷àåìîå ìåòîäîì GETCOUNTLD (ÏÎËÓ×ÈÒÜÊÎËÈ×ÅÑÒÂÎËÓ), èçìåíÿåòñÿ ïðè óäàëåíèè èëè äîáàâëåíèè íîâîãî ËÓ
|
||
int GetLastPrintedDocNumber2();
|
||
std::string ECRFlags(); //Ñâîéñòâî â âèäå ìåòîäà
|
||
};
|
||
//---------------------------------------------------------------------------
|
||
#endif |