mirror of
https://github.com/dimoniche/solarium.git
synced 2026-01-29 17:33:32 +03:00
фискальник обновлен
добавил новые параметры, новый режим и т.д.
This commit is contained in:
parent
09523d777e
commit
6f53fb9d61
@ -495,6 +495,28 @@ int FiscPrintDayReportToBuf(CPU_INT32U admpass, CPU_INT08U* err)
|
||||
return FISC_OK;
|
||||
}
|
||||
|
||||
// îòêðûòü ñìåíó
|
||||
int FiscOpenDay(CPU_INT32U pass, CPU_INT08U* err)
|
||||
{
|
||||
CPU_INT08U* rxdat;
|
||||
CPU_INT08U len;
|
||||
|
||||
*err = 0;
|
||||
|
||||
if (FiscSendCommand(FISC_OPEN_DAY, (CPU_INT08U*)&pass, 4) != FISC_OK) {return FISC_ERR;}
|
||||
|
||||
if (FiscReceiveAnswer(&rxdat, &len, FISC_ANSWER_TIMEOUT) != FISC_OK) {return FISC_ERR;}
|
||||
|
||||
*err = rxdat[1];
|
||||
|
||||
if (3 != len) {return FISC_ERR;}
|
||||
|
||||
if ((rxdat[0] != FISC_OPEN_DAY) || (rxdat[1] != 0)) {return FISC_ERR;}
|
||||
|
||||
return FISC_OK;
|
||||
}
|
||||
|
||||
|
||||
// ńóňî÷íűé îň÷ĺň c ăŕřĺíčĺě â áóôĺđ
|
||||
int FiscPrintDayReportsFromBuf(CPU_INT32U admpass, CPU_INT08U* err)
|
||||
{
|
||||
@ -752,6 +774,53 @@ int FiscMakeSell(CPU_INT32U pass,
|
||||
return FISC_OK;
|
||||
}
|
||||
|
||||
// çàðåãèñòðèðîâàòü ïðîäàæó
|
||||
int FiscMakeSellV2(CPU_INT32U pass,
|
||||
CPU_INT64U *count, CPU_INT64U *price, CPU_INT08U department,
|
||||
CPU_INT08U* tax, CPU_INT08U subj, char* text, CPU_INT08U* err)
|
||||
{
|
||||
CPU_INT08U* rxdat;
|
||||
CPU_INT08U len;
|
||||
static const CPU_INT08U subj_tbl[3] = {1, 3, 4};
|
||||
|
||||
fisc_buf[0] = 0x46; // êîìàíäà 0xFF46
|
||||
memcpy(&fisc_buf[1], (CPU_INT08U*)&pass, 4);
|
||||
fisc_buf[5] = 0x01; // òèï îïåðàöèè 1 - ïðèõîä
|
||||
memcpy(&fisc_buf[6], (CPU_INT08U*)count, 6); // êîëè÷åñòâî 6 áàéò, 6 çíàêîâ ïîñëå çàïÿòîé
|
||||
memcpy(&fisc_buf[12], (CPU_INT08U*)price, 5); // öåíà
|
||||
fisc_buf[17] = 0xFF; // ñóììà ðàññ÷èòûâàåòñÿ êàññîé
|
||||
fisc_buf[18] = 0xFF;
|
||||
fisc_buf[19] = 0xFF;
|
||||
fisc_buf[20] = 0xFF;
|
||||
fisc_buf[21] = 0xFF;
|
||||
fisc_buf[22] = 0xFF; // íàëîã íå óêàçàí (ðàññ÷èòûâàåòñÿ êàññîé)
|
||||
fisc_buf[23] = 0xFF;
|
||||
fisc_buf[24] = 0xFF;
|
||||
fisc_buf[25] = 0xFF;
|
||||
fisc_buf[26] = 0xFF;
|
||||
if (tax[0]) fisc_buf[27] = 1 << (tax[0] - 1);
|
||||
else fisc_buf[27] = 0;
|
||||
fisc_buf[28] = department;
|
||||
fisc_buf[29] = 0x04; // ïðèçíàê ñïîñîáà ðàñ÷åòà 4 - "ïîëíûé ðàñ÷åò"
|
||||
if (subj > 2) subj = 0;
|
||||
fisc_buf[30] = subj_tbl[subj]; // ïðèçíàê ïðåäìåòà ðàñ÷åòà
|
||||
memset(&fisc_buf[31], 0, 40); // íàèìåíîâàíèå
|
||||
strcpy((char*)&fisc_buf[31], text);
|
||||
|
||||
if (FiscSendCommand(FISC_EXTENDED_CMD, fisc_buf, 71) != FISC_OK) {return FISC_ERR;}
|
||||
|
||||
memset(fisc_buf, 0, 256);
|
||||
|
||||
if (FiscReceiveAnswer(&rxdat, &len, FISC_ANSWER_TIMEOUT) != FISC_OK) {return FISC_ERR;}
|
||||
|
||||
*err = rxdat[2];
|
||||
|
||||
if (3 != len) {return FISC_ERR;}
|
||||
|
||||
if ((rxdat[0] != FISC_EXTENDED_CMD) || (rxdat[1] != 0x46) || (rxdat[2] != 0)) {return FISC_ERR;}
|
||||
|
||||
return FISC_OK;
|
||||
}
|
||||
|
||||
// çŕęđűňčĺ ÷ĺęŕ
|
||||
int FiscCloseBill(CPU_INT32U pass, CPU_INT64U *cash, CPU_INT08U* tax, char* text, CPU_INT08U* err)
|
||||
@ -762,9 +831,10 @@ int FiscCloseBill(CPU_INT32U pass, CPU_INT64U *cash, CPU_INT08U* tax, char* text
|
||||
memcpy(&fisc_buf[0], (CPU_INT08U*)&pass, 4);
|
||||
memcpy(&fisc_buf[4], cash, 5);
|
||||
memset(&fisc_buf[9], 0, 15+2);
|
||||
|
||||
memcpy(&fisc_buf[26], tax, 4);
|
||||
memset(&fisc_buf[30], 0, 40);
|
||||
strcpy((char*)&fisc_buf[70], text);
|
||||
strcpy((char*)&fisc_buf[30], text);
|
||||
|
||||
if (FiscSendCommand(FISC_CLOSE_BILL, fisc_buf, 70) != FISC_OK) {return FISC_ERR;}
|
||||
|
||||
@ -779,6 +849,43 @@ int FiscCloseBill(CPU_INT32U pass, CPU_INT64U *cash, CPU_INT08U* tax, char* text
|
||||
return FISC_OK;
|
||||
}
|
||||
|
||||
// çàêðûòèå ÷åêà
|
||||
int FiscCloseBillV2(CPU_INT32U pass, CPU_INT64U *cash, CPU_INT08U taxsys, char* text, CPU_INT08U* err)
|
||||
{
|
||||
CPU_INT08U* rxdat;
|
||||
CPU_INT08U len;
|
||||
|
||||
fisc_buf[0] = 0x45;
|
||||
memcpy(&fisc_buf[1], (CPU_INT08U*)&pass, 4);
|
||||
memcpy(&fisc_buf[5], cash, 5);
|
||||
memset(&fisc_buf[10], 0, 75);
|
||||
|
||||
fisc_buf[85] = 0x00; // îêðóãëåíèå äî ðóáëÿ â êîïåéêàõ
|
||||
memset(&fisc_buf[86], 0, 5); // íàëîã 1
|
||||
memset(&fisc_buf[91], 0, 5); // íàëîã 2
|
||||
memset(&fisc_buf[96], 0, 5); // íàëîã 3
|
||||
memset(&fisc_buf[101], 0, 5); // íàëîã 4
|
||||
memset(&fisc_buf[106], 0, 5); // íàëîã 5
|
||||
memset(&fisc_buf[111], 0, 5); // íàëîã 6
|
||||
fisc_buf[116] = (1 << taxsys);
|
||||
memset(&fisc_buf[117], 0, 40);
|
||||
strcpy((char*)&fisc_buf[117], text);
|
||||
|
||||
if (FiscSendCommand(FISC_EXTENDED_CMD, fisc_buf, 157) != FISC_OK) {return FISC_ERR;}
|
||||
|
||||
memset(fisc_buf, 0, 256);
|
||||
|
||||
if (FiscReceiveAnswer(&rxdat, &len, FISC_ANSWER_TIMEOUT) != FISC_OK) {return FISC_ERR;}
|
||||
|
||||
*err = rxdat[2];
|
||||
|
||||
//if (8 != len) {return FISC_ERR;}
|
||||
|
||||
if ((rxdat[0] != FISC_EXTENDED_CMD) || (rxdat[1] != 0x45) || (rxdat[2] != 0)) {return FISC_ERR;}
|
||||
|
||||
return FISC_OK;
|
||||
}
|
||||
|
||||
// ďđîäîëćĺíčĺ ďĺ÷ŕňč (ďîńëĺ îňńóňńňâč˙ áóěŕăč)
|
||||
int FiscPrintContinue(CPU_INT32U pass, CPU_INT08U* err)
|
||||
{
|
||||
@ -800,3 +907,91 @@ int FiscPrintContinue(CPU_INT32U pass, CPU_INT08U* err)
|
||||
return FISC_OK;
|
||||
}
|
||||
|
||||
|
||||
/// ÷òåíèå çíà÷åíèÿ èç òàáëèöû
|
||||
int FiscReadTableData(CPU_INT32U pass, CPU_INT08U table, CPU_INT16U row, CPU_INT08U field, CPU_INT08U field_len, CPU_INT08U* data, CPU_INT08U* err)
|
||||
{
|
||||
CPU_INT08U* rxdat;
|
||||
CPU_INT08U len;
|
||||
CPU_INT08U req[8];
|
||||
|
||||
*err = 0;
|
||||
|
||||
memcpy(&req[0], &pass, 4);
|
||||
memcpy(&req[4], &table, 1);
|
||||
memcpy(&req[5], &row, 2);
|
||||
memcpy(&req[7], &field, 1);
|
||||
|
||||
if (FiscSendCommand(FISC_READ_TABLE, (CPU_INT08U*)&req, 8) != FISC_OK) {return FISC_ERR;}
|
||||
|
||||
if (FiscReceiveAnswer(&rxdat, &len, FISC_ANSWER_TIMEOUT) != FISC_OK) {return FISC_ERR;}
|
||||
|
||||
*err = rxdat[1];
|
||||
|
||||
if ((field_len + 2) != len) {return FISC_ERR;}
|
||||
|
||||
if ((rxdat[0] != FISC_READ_TABLE) || (rxdat[1] != 0)) {return FISC_ERR;}
|
||||
|
||||
memcpy(data, &rxdat[2], field_len);
|
||||
|
||||
return FISC_OK;
|
||||
}
|
||||
|
||||
/// çàïèñü çíà÷åíèÿ â òàáëèöó
|
||||
int FiscWriteTableData(CPU_INT32U pass, CPU_INT08U table, CPU_INT16U row, CPU_INT08U field, CPU_INT08U field_len, CPU_INT08U* data, CPU_INT08U* err)
|
||||
{
|
||||
CPU_INT08U* rxdat;
|
||||
CPU_INT08U len;
|
||||
|
||||
memcpy(&fisc_buf[0], (CPU_INT08U*)&pass, 4);
|
||||
memcpy(&fisc_buf[4], &table, 1);
|
||||
memcpy(&fisc_buf[5], &row, 2);
|
||||
memcpy(&fisc_buf[7], &field, 1);
|
||||
memcpy(&fisc_buf[8], &data, field_len);
|
||||
|
||||
if (FiscSendCommand(FISC_WRITE_TABLE, fisc_buf, 8 + field_len) != FISC_OK) {return FISC_ERR;}
|
||||
|
||||
if (FiscReceiveAnswer(&rxdat, &len, FISC_ANSWER_TIMEOUT) != FISC_OK) {return FISC_ERR;}
|
||||
|
||||
*err = rxdat[1];
|
||||
|
||||
if (3 != len) {return FISC_ERR;}
|
||||
|
||||
if ((rxdat[0] != FISC_WRITE_TABLE) || (rxdat[1] != 0)) {return FISC_ERR;}
|
||||
|
||||
return FISC_OK;
|
||||
}
|
||||
|
||||
// Àäìèí.îòìåíà ÷åêà
|
||||
int FiscCanselBill(CPU_INT32U pass, CPU_INT08U* err)
|
||||
{
|
||||
CPU_INT08U* rxdat;
|
||||
CPU_INT08U len;
|
||||
|
||||
memcpy(&fisc_buf[0], (CPU_INT08U*)&pass, 4);
|
||||
|
||||
if (FiscSendCommand(FISC_CANSEL_BILL, fisc_buf, 4) != FISC_OK)
|
||||
{
|
||||
return FISC_ERR;
|
||||
}
|
||||
|
||||
if (FiscReceiveAnswer(&rxdat, &len, FISC_ANSWER_TIMEOUT) != FISC_OK)
|
||||
{
|
||||
return FISC_ERR;
|
||||
}
|
||||
|
||||
*err = rxdat[1];
|
||||
|
||||
if (3 != len)
|
||||
{
|
||||
return FISC_ERR;
|
||||
}
|
||||
|
||||
if ((rxdat[0] != FISC_CANSEL_BILL) || (rxdat[1] != 0))
|
||||
{
|
||||
return FISC_ERR;
|
||||
}
|
||||
|
||||
return FISC_OK;
|
||||
}
|
||||
|
||||
|
||||
@ -59,12 +59,20 @@ extern CPU_INT08U FiscalState;
|
||||
|
||||
#define FISC_MAKE_SELL 0x80
|
||||
#define FISC_CLOSE_BILL 0x85
|
||||
#define FISC_CANSEL_BILL 0x88
|
||||
|
||||
#define FISC_EXTENDED_CMD 0xFF
|
||||
|
||||
#define FISC_OPEN_DAY 0xE0
|
||||
#define FISC_PRINT_CONTINUE 0xB0
|
||||
|
||||
#define FISC_PRINT_DAY_REPORT_TO_BUF 0xC6
|
||||
#define FISC_PRINT_DAY_REPORT_FROM_BUF 0xC7
|
||||
|
||||
#define FISC_WRITE_TABLE 0x1E
|
||||
#define FISC_READ_TABLE 0x1F
|
||||
|
||||
|
||||
// ïåðåîïðåäåëåíèå ôóíêöèé ïåðåäà÷è
|
||||
#define FiscPurgeRx Uart0_Flush
|
||||
#define FiscUartSend Uart0_Send
|
||||
@ -83,165 +91,128 @@ extern CPU_INT08U FiscalState;
|
||||
#define FISC_ERR -1
|
||||
|
||||
// êîäû îøèáîê ÔÐ
|
||||
#define FR_ERROR_CODE_1 0x1 //Íåèñïðàâåí íàêîïèòåëü ÔÏ 1, ÔÏ 2 èëè ÷àñû
|
||||
#define FR_ERROR_CODE_2 0x2 //Îòñóòñòâóåò ÔÏ 1
|
||||
#define FR_ERROR_CODE_3 0x3 //Îòñóòñòâóåò ÔÏ 2
|
||||
#define FR_ERROR_CODE_4 0x4 //Íåêîððåêòíûå ïàðàìåòðû â êîìàíäå îáðàùåíèÿ ê ÔÏ
|
||||
#define FR_ERROR_CODE_5 0x5 //Íåò çàïðîøåííûõ äàííûõ
|
||||
#define FR_ERROR_CODE_6 0x6 //ÔÏ â ðåæèìå âûâîäà äàííûõ
|
||||
#define FR_ERROR_CODE_7 0x7 //Íåêîððåêòíûå ïàðàìåòðû â êîìàíäå äëÿ äàííîé ðåàëèçàöèè ÔÏ
|
||||
#define FR_ERROR_CODE_8 0x8 //Êîìàíäà íå ïîääåðæèâàåòñÿ â äàííîé ðåàëèçàöèè ÔÏ
|
||||
#define FR_ERROR_CODE_9 0x9 //Íåêîððåêòíàÿ äëèíà êîìàíäû
|
||||
#define FR_ERROR_CODE_a 0x0A //Ôîðìàò äàííûõ íå BCD
|
||||
#define FR_ERROR_CODE_b 0x0B //Íåèñïðàâíà ÿ÷åéêà ïàìÿòè ÔÏ ïðè çàïèñè èòîãà
|
||||
#define FR_ERROR_CODE_11 0x11 //Íå ââåäåíà ëèöåíçèÿ
|
||||
#define FR_ERROR_CODE_12 0x12 //Çàâîäñêîé íîìåð óæå ââåäåí
|
||||
#define FR_ERROR_CODE_13 0x13 //Òåêóùàÿ äàòà ìåíüøå äàòû ïîñëåäíåé çàïèñè â ÔÏ
|
||||
#define FR_ERROR_CODE_14 0x14 //Îáëàñòü ñìåííûõ èòîãîâ ÔÏ ïåðåïîëíåíà
|
||||
#define FR_ERROR_CODE_15 0x15 //Ñìåíà óæå îòêðûòà
|
||||
#define FR_ERROR_CODE_16 0x16 //Ñìåíà íå îòêðûòà //
|
||||
#define FR_ERROR_CODE_17 0x17 //Íîìåð ïåðâîé ñìåíû áîëüøå íîìåðà ïîñëåäíåé ñìåíû //
|
||||
#define FR_ERROR_CODE_18 0x18 //Äàòà ïåðâîé ñìåíû áîëüøå äàòû ïîñëåäíåé ñìåíû //
|
||||
#define FR_ERROR_CODE_19 0x19 //Íåò äàííûõ â ÔÏ //
|
||||
#define FR_ERROR_CODE_1a 0x1A //Îáëàñòü ïåðåðåãèñòðàöèé â ÔÏ ïåðåïîëíåíà //
|
||||
#define FR_ERROR_CODE_1b 0x1B //Çàâîäñêîé íîìåð íå ââåäåí //
|
||||
#define FR_ERROR_CODE_1c 0x1C //Â çàäàííîì äèàïàçîíå åñòü ïîâðåæäåííàÿ çàïèñü //
|
||||
#define FR_ERROR_CODE_1d 0x1D //Ïîâðåæäåíà ïîñëåäíÿÿ çàïèñü ñìåííûõ èòîãîâ //
|
||||
#define FR_ERROR_CODE_1f 0x1F //Îòñóòñòâóåò ïàìÿòü ðåãèñòðîâ //
|
||||
#define FR_ERROR_CODE_20 0x20 //Ïåðåïîëíåíèå äåíåæíîãî ðåãèñòðà ïðè äîáàâëåíèè //
|
||||
#define FR_ERROR_CODE_21 0x21 //Âû÷èòàåìàÿ ñóììà áîëüøå ñîäåðæèìîãî äåíåæíîãî ðåãèñòðà //
|
||||
#define FR_ERROR_CODE_22 0x22 //Íåâåðíàÿ äàòà //
|
||||
#define FR_ERROR_CODE_23 0x23 //Íåò çàïèñè àêòèâèçàöèè //
|
||||
#define FR_ERROR_CODE_24 0x24 //Îáëàñòü àêòèâèçàöèé ïåðåïîëíåíà //
|
||||
#define FR_ERROR_CODE_25 0x25 //Íåò àêòèâèçàöèè ñ çàïðàøèâàåìûì íîìåðîì //
|
||||
#define FR_ERROR_CODE_28 0x28 //Â ÔÐ áîëåå 2õ ñáîéíûõ çàïèñåé //
|
||||
#define FR_ERROR_CODE_33 0x33 //Íåêîððåêòíûå ïàðàìåòðû â êîìàíäå //
|
||||
#define FR_ERROR_CODE_35 0x35 //Íåêîððåêòíûé ïàðàìåòð ïðè äàííûõ íàñòðîéêàõ //
|
||||
#define FR_ERROR_CODE_36 0x36 //Íåêîððåêòíûå ïàðàìåòðû â êîìàíäå äëÿ äàííîé ðåàëèçàöèè ÔÐ //
|
||||
#define FR_ERROR_CODE_37 0x37 //Êîìàíäà íå ïîääåðæèâàåòñÿ â äàííîé ðåàëèçàöèè ÔÐ //
|
||||
#define FR_ERROR_CODE_38 0x38 //Îøèáêà â ÏÇÓ //+
|
||||
#define FR_ERROR_CODE_39 0x39 //Âíóòðåííÿÿ îøèáêà ÏÎ ÔÐ //
|
||||
#define FR_ERROR_CODE_3a 0x3A //Ïåðåïîëíåíèå íàêîïëåíèÿ ïî íàäáàâêàì â ñìåíå //
|
||||
#define FR_ERROR_CODE_3c 0x3C //ÝÊËÇ: íåâåðíûé ðåãèñòðàöèîííûé íîìåð //
|
||||
#define FR_ERROR_CODE_3e 0x3E //Ïåðåïîëíåíèå íàêîïëåíèÿ ïî ñåêöèÿì â ñìåíå //
|
||||
#define FR_ERROR_CODE_3f 0x3F //Ïåðåïîëíåíèå íàêîïëåíèÿ ïî ñêèäêàì â ñìåíå //
|
||||
#define FR_ERROR_CODE_40 0x40 //Ïåðåïîëíåíèå äèàïàçîíà ñêèäîê //
|
||||
#define FR_ERROR_CODE_41 0x41 //Ïåðåïîëíåíèå äèàïàçîíà îïëàòû íàëè÷íûìè //
|
||||
#define FR_ERROR_CODE_42 0x42 //Ïåðåïîëíåíèå äèàïàçîíà îïëàòû òèïîì 2 //
|
||||
#define FR_ERROR_CODE_43 0x43 //Ïåðåïîëíåíèå äèàïàçîíà îïëàòû òèïîì 3 //
|
||||
#define FR_ERROR_CODE_44 0x44 //Ïåðåïîëíåíèå äèàïàçîíà îïëàòû òèïîì 4
|
||||
#define FR_ERROR_CODE_45 0x45 //Cóììà âñåõ òèïîâ îïëàòû ìåíüøå èòîãà ÷åêà //
|
||||
#define FR_ERROR_CODE_46 0x46 //Íå õâàòàåò íàëè÷íîñòè â êàññå //
|
||||
#define FR_ERROR_CODE_47 0x47 //Ïåðåïîëíåíèå íàêîïëåíèÿ ïî íàëîãàì â ñìåíå //
|
||||
#define FR_ERROR_CODE_48 0x48 //Ïåðåïîëíåíèå èòîãà ÷åêà //
|
||||
#define FR_ERROR_CODE_4a 0x4A //Îòêðûò ÷åê - îïåðàöèÿ íåâîçìîæíà //
|
||||
#define FR_ERROR_CODE_4b 0x4B //Áóôåð ÷åêà ïåðåïîëíåí //
|
||||
#define FR_ERROR_CODE_4c 0x4C //Ïåðåïîëíåíèå íàêîïëåíèÿ ïî îáîðîòó íàëîãîâ â ñìåíå //
|
||||
#define FR_ERROR_CODE_4d 0x4D //Âíîñèìàÿ áåçíàëè÷íîé îïëàòîé ñóììà áîëüøå ñóììû ÷åêà //
|
||||
#define FR_ERROR_CODE_4e 0x4E //Ñìåíà ïðåâûñèëà 24 ÷àñà //
|
||||
#define FR_ERROR_CODE_4f 0x4F //Íåâåðíûé ïàðîëü //
|
||||
#define FR_ERROR_CODE_50 0x50 //Èäåò ïå÷àòü ïðåäûäóùåé êîìàíäû //
|
||||
#define FR_ERROR_CODE_51 0x51 //Ïåðåïîëíåíèå íàêîïëåíèé íàëè÷íûìè â ñìåíå //
|
||||
#define FR_ERROR_CODE_52 0x52 //Ïåðåïîëíåíèå íàêîïëåíèé ïî òèïó îïëàòû 2 â ñìåíå //
|
||||
#define FR_ERROR_CODE_53 0x53 //Ïåðåïîëíåíèå íàêîïëåíèé ïî òèïó îïëàòû 3 â ñìåíå //
|
||||
#define FR_ERROR_CODE_54 0x54 //Ïåðåïîëíåíèå íàêîïëåíèé ïî òèïó îïëàòû 4 â ñìåíå //
|
||||
#define FR_ERROR_CODE_56 0x56 //Íåò äîêóìåíòà äëÿ ïîâòîðà //
|
||||
#define FR_ERROR_CODE_57 0x57 //ÝÊËÇ: êîëè÷åñòâî çàêðûòûõ ñìåí íå ñîâïàäàåò ñ ÔÏ //
|
||||
#define FR_ERROR_CODE_58 0x58 //Îæèäàíèå êîìàíäû ïðîäîëæåíèÿ ïå÷àòè //
|
||||
#define FR_ERROR_CODE_59 0x59 //Äîêóìåíò îòêðûò äðóãèì îïåðàòîðîì //
|
||||
#define FR_ERROR_CODE_5b 0x5B //Ïåðåïîëíåíèå äèàïàçîíà íàäáàâîê //
|
||||
#define FR_ERROR_CODE_5c 0x5C //Ïîíèæåíî íàïðÿæåíèå 24Â
|
||||
#define FR_ERROR_CODE_5d 0x5D //Òàáëèöà íå îïðåäåëåíà //
|
||||
#define FR_ERROR_CODE_5e 0x5E //Íåêîððåêòíàÿ îïåðàöèÿ //
|
||||
#define FR_ERROR_CODE_5f 0x5F //Îòðèöàòåëüíûé èòîã ÷åêà //
|
||||
#define FR_ERROR_CODE_60 0x60 //Ïåðåïîëíåíèå ïðè óìíîæåíèè //
|
||||
#define FR_ERROR_CODE_61 0x61 //Ïåðåïîëíåíèå äèàïàçîíà öåíû //
|
||||
#define FR_ERROR_CODE_62 0x62 //Ïåðåïîëíåíèå äèàïàçîíà êîëè÷åñòâà //
|
||||
#define FR_ERROR_CODE_63 0x63 //Ïåðåïîëíåíèå äèàïàçîíà îòäåëà //
|
||||
#define FR_ERROR_CODE_64 0x64 //ÔÏ îòñóòñòâóåò //+
|
||||
#define FR_ERROR_CODE_65 0x65 //Íå õâàòàåò äåíåã â ñåêöèè //
|
||||
#define FR_ERROR_CODE_66 0x66 //Ïåðåïîëíåíèå äåíåã â ñåêöèè //
|
||||
#define FR_ERROR_CODE_67 0x67 //Îøèáêà ñâÿçè ñ ÔÏ //+
|
||||
#define FR_ERROR_CODE_68 0x68 //Íå õâàòàåò äåíåã ïî îáîðîòó íàëîãîâ //
|
||||
#define FR_ERROR_CODE_69 0x69 //Ïåðåïîëíåíèå äåíåã ïî îáîðîòó íàëîãîâ //
|
||||
#define FR_ERROR_CODE_6a 0x6A //Îøèáêà ïèòàíèÿ â ìîìåíò îòâåòà ïî I
|
||||
#define FR_ERROR_CODE_6b 0x6B //Íåò ÷åêîâîé ëåíòû //
|
||||
#define FR_ERROR_CODE_6c 0x6C //Íåò êîíòðîëüíîé ëåíòû //
|
||||
#define FR_ERROR_CODE_6d 0x6D //Íå õâàòàåò äåíåã ïî íàëîãó //
|
||||
#define FR_ERROR_CODE_6e 0x6E //Ïåðåïîëíåíèå äåíåã ïî íàëîãó //
|
||||
#define FR_ERROR_CODE_6f 0x6F //Ïåðåïîëíåíèå ïî âûïëàòå â ñìåíå //
|
||||
#define FR_ERROR_CODE_70 0x70 //Ïåðåïîëíåíèå ÔÏ //
|
||||
#define FR_ERROR_CODE_71 0x71 //Îøèáêà îòðåç÷èêà //+
|
||||
#define FR_ERROR_CODE_72 0x72 //Êîìàíäà íå ïîääåðæèâàåòñÿ â äàííîì ïîäðåæèìå //
|
||||
#define FR_ERROR_CODE_73 0x73 //Êîìàíäà íå ïîääåðæèâàåòñÿ â äàííîì ðåæèìå //
|
||||
#define FR_ERROR_CODE_74 0x74 //Îøèáêà ÎÇÓ //
|
||||
#define FR_ERROR_CODE_75 0x75 //Îøèáêà ïèòàíèÿ //+
|
||||
#define FR_ERROR_CODE_76 0x76 //Îøèáêà ïðèíòåðà: íåò èìïóëüñîâ ñ òàõîãåíåðàòîðà //+
|
||||
#define FR_ERROR_CODE_77 0x77 //Îøèáêà ïðèíòåðà: íåò ñèãíàëà ñ äàò÷èêîâ //+
|
||||
#define FR_ERROR_CODE_78 0x78 //Çàìåíà ÏÎ //
|
||||
#define FR_ERROR_CODE_79 0x79 //Çàìåíà ÔÏ //
|
||||
#define FR_ERROR_CODE_7a 0x7A //Ïîëå íå ðåäàêòèðóåòñÿ
|
||||
#define FR_ERROR_CODE_7b 0x7B //Îøèáêà îáîðóäîâàíèÿ //
|
||||
#define FR_ERROR_CODE_7c 0x7C //Íå ñîâïàäàåò äàòà //
|
||||
#define FR_ERROR_CODE_7d 0x7D //Íåâåðíûé ôîðìàò äàòû //
|
||||
#define FR_ERROR_CODE_7e 0x7E //Íåâåðíîå çíà÷åíèå â ïîëå äëèíû //
|
||||
#define FR_ERROR_CODE_7f 0x7F //Ïåðåïîëíåíèå äèàïàçîíà èòîãà ÷åêà //
|
||||
#define FR_ERROR_CODE_80 0x80 //Îøèáêà ñâÿçè ñ ÔÏ //+
|
||||
#define FR_ERROR_CODE_81 0x81 //Îøèáêà ñâÿçè ñ ÔÏ //+
|
||||
#define FR_ERROR_CODE_82 0x82 //Îøèáêà ñâÿçè ñ ÔÏ //+
|
||||
#define FR_ERROR_CODE_83 0x83 //Îøèáêà ñâÿçè ñ ÔÏ //+
|
||||
#define FR_ERROR_CODE_84 0x84 //Ïåðåïîëíåíèå íàëè÷íîñòè //
|
||||
#define FR_ERROR_CODE_85 0x85 //Ïåðåïîëíåíèå ïî ïðîäàæàì â ñìåíå //
|
||||
#define FR_ERROR_CODE_86 0x86 //Ïåðåïîëíåíèå ïî ïîêóïêàì â ñìåíå //
|
||||
#define FR_ERROR_CODE_87 0x87 //Ïåðåïîëíåíèå ïî âîçâðàòàì ïðîäàæ â ñìåíå //
|
||||
#define FR_ERROR_CODE_88 0x88 //Ïåðåïîëíåíèå ïî âîçâðàòàì ïîêóïîê â ñìåíå //
|
||||
#define FR_ERROR_CODE_89 0x89 //Ïåðåïîëíåíèå ïî âíåñåíèþ â ñìåíå //
|
||||
#define FR_ERROR_CODE_8a 0x8A //Ïåðåïîëíåíèå ïî íàäáàâêàì â ÷åêå //
|
||||
#define FR_ERROR_CODE_8b 0x8B //Ïåðåïîëíåíèå ïî ñêèäêàì â ÷åêå //
|
||||
#define FR_ERROR_CODE_8c 0x8C //Îòðèöàòåëüíûé èòîã íàäáàâêè â ÷åêå //
|
||||
#define FR_ERROR_CODE_8d 0x8D //Îòðèöàòåëüíûé èòîã ñêèäêè â ÷åêå //
|
||||
#define FR_ERROR_CODE_8e 0x8E //Íóëåâîé èòîã ÷åêà //
|
||||
#define FR_ERROR_CODE_8f 0x8F //Êàññà íå ôèñêàëèçèðîâàíà // //
|
||||
#define FR_ERROR_CODE_1 0x1 //Íåèçâåñòíàÿ êîìàíäà
|
||||
#define FR_ERROR_CODE_2 0x2 //Íåâåðíîå ñîñòîÿíèå ÔÍ
|
||||
#define FR_ERROR_CODE_3 0x3 //Îøèáêà ÔÍ
|
||||
#define FR_ERROR_CODE_4 0x4 //Îøèáêà ÊÑ
|
||||
#define FR_ERROR_CODE_5 0x5 //Çàêîí÷åí ñðîê ýêñïëóàòàöèè ÔÍ
|
||||
#define FR_ERROR_CODE_6 0x6 //Àðõèâ ÔÍ ïåðåïîëíåí
|
||||
#define FR_ERROR_CODE_7 0x7 //Íåâåðíûå äàòà è/èëè âðåìÿ
|
||||
#define FR_ERROR_CODE_8 0x8 //Íåò çàïðîøåííûõ äàííûõ
|
||||
#define FR_ERROR_CODE_9 0x9 //Íåêîððåêòíîå çíà÷åíèå ïàðàìåòðîâ êîìàíäû
|
||||
#define FR_ERROR_CODE_10 0x10 //Ïðåâûøåíèå ðàçìåðîâ TLV äàííûõ
|
||||
#define FR_ERROR_CODE_11 0x11 //Íåò òðàíñïîðòíîãî ñîåäèíåíèÿ
|
||||
#define FR_ERROR_CODE_12 0x12 //Èñ÷åðïàí ðåñóðñ ÊÑ
|
||||
#define FR_ERROR_CODE_14 0x14 //Èñ÷åðïàí ðåñóðñ õðàíåíèÿ
|
||||
#define FR_ERROR_CODE_15 0x15 //Èñ÷åðïàí ðåñóðñ Îæèäàíèÿ ïåðåäà÷è ñîîáùåíèÿ
|
||||
#define FR_ERROR_CODE_16 0x16 //Ïðîäîëæèòåëüíîñòü ñìåíû áîëåå 24 ÷àñîâ
|
||||
#define FR_ERROR_CODE_17 0x17 //Íåâåðíàÿ ðàçíèöà âî âðåìåíè ìåæäó 2 îïåðàöèìè
|
||||
#define FR_ERROR_CODE_20 0x20 //Ñîîáùåíèå îò ÎÔÄ íå ìîæåò áûòü ïðèíÿòî
|
||||
#define FR_ERROR_CODE_2F 0x2F //Òàéìàóò îáìåíà ñ ÔÍ
|
||||
#define FR_ERROR_CODE_30 0x30 //ÔÍ íå îòâå÷àåò
|
||||
#define FR_ERROR_CODE_33 0x33 //Íåêîððåêòíûå ïàðàìåòðû â êîìàíäå
|
||||
#define FR_ERROR_CODE_34 0x34 //Íåò äàííûõ
|
||||
#define FR_ERROR_CODE_35 0x35 //Íåêîððåêòíûé ïàðàìåòð ïðè äàííûõ íàñòðîéêàõ
|
||||
#define FR_ERROR_CODE_36 0x36 //Íåêîððåêòíûå ïàðàìåòðû â êîìàíäå äëÿ äàííîé ðåàëèçàöèè ÊÊÒ
|
||||
#define FR_ERROR_CODE_37 0x37 //Êîìàíäà íå ïîääåðæèâàåòñÿ â äàííîé ðåàëèçàöèè ÊÊÒ
|
||||
#define FR_ERROR_CODE_38 0x38 //Îøèáêà â ÏÇÓ
|
||||
#define FR_ERROR_CODE_39 0x39 //Âíóòðåííÿÿ îøèáêà ÏÎ ÊÊÒ
|
||||
#define FR_ERROR_CODE_3a 0x3A //Ïåðåïîëíåíèå íàêîïëåíèÿ ïî íàäáàâêàì â ñìåíå
|
||||
#define FR_ERROR_CODE_3c 0x3C //Ñìåíà îòêðûòà – îïåðàöèÿ íå âîçìîæíà
|
||||
#define FR_ERROR_CODE_3D 0x3D //Ñìåíà íå îòêðûòà – îïåðàöèÿ íå âîçìîæíà
|
||||
#define FR_ERROR_CODE_3E 0x3E //Ïåðåïîëíåíèå íàêîïëåíèÿ ïî ñåêöèÿì â ñìåíå
|
||||
#define FR_ERROR_CODE_3F 0x3F //Ïåðåïîëíåíèå íàêîïëåíèÿ ïî ñêèäêàì â ñìåíå
|
||||
#define FR_ERROR_CODE_40 0x40 //Ïåðåïîëíåíèå äèàïàçîíà ñêèäîê
|
||||
#define FR_ERROR_CODE_41 0x41 //Ïåðåïîëíåíèå äèàïàçîíà îïëàòû íàëè÷íûìè
|
||||
#define FR_ERROR_CODE_42 0x42 //Ïåðåïîëíåíèå äèàïàçîíà îïëàòû òèïîì 2
|
||||
#define FR_ERROR_CODE_43 0x43 //Ïåðåïîëíåíèå äèàïàçîíà îïëàòû òèïîì 3
|
||||
#define FR_ERROR_CODE_44 0x44 //Ïåðåïîëíåíèå äèàïàçîíà îïëàòû òèïîì 4
|
||||
#define FR_ERROR_CODE_45 0x45 //Cóììà âñåõ òèïîâ îïëàòû ìåíüøå èòîãà ÷åêà
|
||||
#define FR_ERROR_CODE_46 0x46 //Íå õâàòàåò íàëè÷íîñòè â êàññå
|
||||
#define FR_ERROR_CODE_47 0x47 //Ïåðåïîëíåíèå íàêîïëåíèÿ ïî íàëîãàì â ñìåíå
|
||||
#define FR_ERROR_CODE_48 0x48 //Ïåðåïîëíåíèå èòîãà ÷åêà
|
||||
#define FR_ERROR_CODE_49 0x49 //Îïåðàöèÿ íåâîçìîæíà â îòêðûòîì ÷åêå äàííîãî òèïà
|
||||
#define FR_ERROR_CODE_4A 0x4A //Îòêðûò ÷åê - îïåðàöèÿ íåâîçìîæíà
|
||||
#define FR_ERROR_CODE_4B 0x4B //Áóôåð ÷åêà ïåðåïîëíåí
|
||||
#define FR_ERROR_CODE_4C 0x4C //Ïåðåïîëíåíèå íàêîïëåíèÿ ïî îáîðîòó íàëîãîâ â ñìåíå
|
||||
#define FR_ERROR_CODE_4D 0x4D //Âíîñèìàÿ áåçíàëè÷íîé îïëàòîé ñóììà áîëüøå ñóììû ÷åêà
|
||||
#define FR_ERROR_CODE_4E 0x4E //Ñìåíà ïðåâûñèëà 24 ÷àñà
|
||||
#define FR_ERROR_CODE_4F 0x4F //Íåâåðíûé ïàðîëü
|
||||
#define FR_ERROR_CODE_50 0x50 //Èäåò ïå÷àòü ïðåäûäóùåé êîìàíäû
|
||||
#define FR_ERROR_CODE_51 0x51 //Ïåðåïîëíåíèå íàêîïëåíèé íàëè÷íûìè â ñìåíå
|
||||
#define FR_ERROR_CODE_52 0x52 //Ïåðåïîëíåíèå íàêîïëåíèé ïî òèïó îïëàòû 2 â ñìåíå
|
||||
#define FR_ERROR_CODE_53 0x53 //Ïåðåïîëíåíèå íàêîïëåíèé ïî òèïó îïëàòû 3 â ñìåíå
|
||||
#define FR_ERROR_CODE_54 0x54 //Ïåðåïîëíåíèå íàêîïëåíèé ïî òèïó îïëàòû 4 â ñìåíå
|
||||
#define FR_ERROR_CODE_55 0x55 //×åê çàêðûò – îïåðàöèÿ íåâîçìîæíà
|
||||
#define FR_ERROR_CODE_56 0x56 //Íåò äîêóìåíòà äëÿ ïîâòîðà
|
||||
#define FR_ERROR_CODE_58 0x58 //Îæèäàíèå êîìàíäû ïðîäîëæåíèÿ ïå÷àòè
|
||||
#define FR_ERROR_CODE_59 0x59 //Äîêóìåíò îòêðûò äðóãèì îïåðàòîðîì
|
||||
#define FR_ERROR_CODE_5B 0x5B //Ïåðåïîëíåíèå äèàïàçîíà íàäáàâîê
|
||||
#define FR_ERROR_CODE_5C 0x5C //Ïîíèæåíî íàïðÿæåíèå 24Â
|
||||
#define FR_ERROR_CODE_5D 0x5D //Òàáëèöà íå îïðåäåëåíà
|
||||
#define FR_ERROR_CODE_5E 0x5E //Íåêîððåêòíàÿ îïåðàöèÿ
|
||||
#define FR_ERROR_CODE_5F 0x5F //Îòðèöàòåëüíûé èòîã ÷åêà
|
||||
#define FR_ERROR_CODE_60 0x60 //Ïåðåïîëíåíèå ïðè óìíîæåíèè
|
||||
#define FR_ERROR_CODE_61 0x61 //Ïåðåïîëíåíèå äèàïàçîíà öåíû
|
||||
#define FR_ERROR_CODE_62 0x62 //Ïåðåïîëíåíèå äèàïàçîíà êîëè÷åñòâà
|
||||
#define FR_ERROR_CODE_63 0x63 //Ïåðåïîëíåíèå äèàïàçîíà îòäåëà
|
||||
#define FR_ERROR_CODE_65 0x65 //Íå õâàòàåò äåíåã â ñåêöèè
|
||||
#define FR_ERROR_CODE_66 0x66 //Ïåðåïîëíåíèå äåíåã â ñåêöèè
|
||||
#define FR_ERROR_CODE_68 0x68 //Íå õâàòàåò äåíåã ïî îáîðîòó íàëîãîâ
|
||||
#define FR_ERROR_CODE_69 0x69 //Ïåðåïîëíåíèå äåíåã ïî îáîðîòó íàëîãîâ
|
||||
#define FR_ERROR_CODE_6A 0x6A //Îøèáêà ïèòàíèÿ â ìîìåíò îòâåòà ïî I2C
|
||||
#define FR_ERROR_CODE_6B 0x6B //Íåò ÷åêîâîé ëåíòû
|
||||
#define FR_ERROR_CODE_6C 0x6C //Íåò êîíòðîëüíîé ëåíòû
|
||||
#define FR_ERROR_CODE_6D 0x6D //Íå õâàòàåò äåíåã ïî íàëîãó
|
||||
#define FR_ERROR_CODE_6E 0x6E //Ïåðåïîëíåíèå äåíåã ïî íàëîãó
|
||||
#define FR_ERROR_CODE_6F 0x6F //Ïåðåïîëíåíèå ïî âûïëàòå â ñìåíå
|
||||
#define FR_ERROR_CODE_71 0x71 //Îøèáêà îòðåç÷èêà
|
||||
#define FR_ERROR_CODE_72 0x72 //Êîìàíäà íå ïîääåðæèâàåòñÿ â äàííîì ïîäðåæèìå
|
||||
#define FR_ERROR_CODE_73 0x73 //Êîìàíäà íå ïîääåðæèâàåòñÿ â äàííîì ðåæèìå
|
||||
#define FR_ERROR_CODE_74 0x74 //Îøèáêà ÎÇÓ
|
||||
#define FR_ERROR_CODE_75 0x75 //Îøèáêà ïèòàíèÿ
|
||||
#define FR_ERROR_CODE_77 0x77 //Îøèáêà ïðèíòåðà: íåò ñèãíàëà ñ äàò÷èêîâ
|
||||
#define FR_ERROR_CODE_78 0x78 //Çàìåíà ÏÎ
|
||||
#define FR_ERROR_CODE_7A 0x7A //Ïîëå íå ðåäàêòèðóåòñÿ
|
||||
#define FR_ERROR_CODE_7B 0x7B //Îøèáêà îáîðóäîâàíèÿ
|
||||
#define FR_ERROR_CODE_7C 0x7C //Íå ñîâïàäàåò äàòà
|
||||
#define FR_ERROR_CODE_7D 0x7D //Íåâåðíûé ôîðìàò äàòû
|
||||
#define FR_ERROR_CODE_7E 0x7E //Íåâåðíîå çíà÷åíèå â ïîëå äëèíû
|
||||
#define FR_ERROR_CODE_7F 0x7F //Ïåðåïîëíåíèå äèàïàçîíà èòîãà ÷åêà
|
||||
#define FR_ERROR_CODE_84 0x84 //Ïåðåïîëíåíèå íàëè÷íîñòè
|
||||
#define FR_ERROR_CODE_85 0x85 //Ïåðåïîëíåíèå ïî ïðîäàæàì â ñìåíå
|
||||
#define FR_ERROR_CODE_86 0x86 //Ïåðåïîëíåíèå ïî ïîêóïêàì â ñìåíå
|
||||
#define FR_ERROR_CODE_87 0x87 //Ïåðåïîëíåíèå ïî âîçâðàòàì ïðîäàæ â ñìåíå
|
||||
#define FR_ERROR_CODE_88 0x88 //Ïåðåïîëíåíèå ïî âîçâðàòàì ïîêóïîê â ñìåíå
|
||||
#define FR_ERROR_CODE_89 0x89 //Ïåðåïîëíåíèå ïî âíåñåíèþ â ñìåíå
|
||||
#define FR_ERROR_CODE_8A 0x8A //Ïåðåïîëíåíèå ïî íàäáàâêàì â ÷åêå
|
||||
#define FR_ERROR_CODE_8B 0x8B //Ïåðåïîëíåíèå ïî ñêèäêàì â ÷åêå
|
||||
#define FR_ERROR_CODE_8C 0x8C //Îòðèöàòåëüíûé èòîã íàäáàâêè â ÷åêå
|
||||
#define FR_ERROR_CODE_8D 0x8D //Îòðèöàòåëüíûé èòîã ñêèäêè â ÷åêå
|
||||
#define FR_ERROR_CODE_8E 0x8E //Íóëåâîé èòîã ÷åêà
|
||||
#define FR_ERROR_CODE_90 0x90 //Ïîëå ïðåâûøàåò ðàçìåð, óñòàíîâëåííûé â íàñòðîéêàõ
|
||||
#define FR_ERROR_CODE_91 0x91 //Âûõîä çà ãðàíèöó ïîëÿ ïå÷àòè ïðè äàííûõ íàñòðîéêàõ øðèôòà
|
||||
#define FR_ERROR_CODE_92 0x92 //Íàëîæåíèå ïîëåé
|
||||
#define FR_ERROR_CODE_93 0x93 //Âîññòàíîâëåíèå ÎÇÓ ïðîøëî óñïåøíî
|
||||
#define FR_ERROR_CODE_94 0x94 //Èñ÷åðïàí ëèìèò îïåðàöèé â ÷åêå
|
||||
#define FR_ERROR_CODE_a0 0xA0 //Îøèáêà ñâÿçè ñ ÝÊËÇ
|
||||
#define FR_ERROR_CODE_a1 0xA1 //ÝÊËÇ îòñóòñòâóåò
|
||||
#define FR_ERROR_CODE_a2 0xA2 //ÝÊËÇ: Íåêîððåêòíûé ôîðìàò èëè ïàðàìåòð êîìàíäû
|
||||
#define FR_ERROR_CODE_a3 0xA3 //Íåêîððåêòíîå ñîñòîÿíèå ÝÊËÇ
|
||||
#define FR_ERROR_CODE_a4 0xA4 //Àâàðèÿ ÝÊËÇ
|
||||
#define FR_ERROR_CODE_a5 0xA5 //Àâàðèÿ ÊÑ â ñîñòàâå ÝÊËÇ
|
||||
#define FR_ERROR_CODE_a6 0xA6 //Èñ÷åðïàí âðåìåííîé ðåñóðñ ÝÊËÇ
|
||||
#define FR_ERROR_CODE_a7 0xA7 //ÝÊËÇ ïåðåïîëíåíà
|
||||
#define FR_ERROR_CODE_a8 0xA8 //ÇÊËÇ: Íåâåðíûå äàòà è âðåìÿ
|
||||
#define FR_ERROR_CODE_a9 0xA9 //ÝÊËÇ: Íåò çàïðîøåííûõ äàííûõ
|
||||
#define FR_ERROR_CODE_aa 0xAA //Ïåðåïîëíåíèå ÝÊËÇ (îòðèöàòåëüíûé èòîã äîêóìåíòà)
|
||||
#define FR_ERROR_CODE_b0 0xB0 //ÝÊËÇ: Ïåðåïîëíåíèå â ïàðàìåòðå êîëè÷åñòâî
|
||||
#define FR_ERROR_CODE_b1 0xB1 //ÝÊËÇ: Ïåðåïîëíåíèå â ïàðàìåòðå ñóììà
|
||||
#define FR_ERROR_CODE_b2 0xB2 //ÝÊËÇ: Óæå àêòèâèçèðîâàíà
|
||||
#define FR_ERROR_CODE_c0 0xC0 //Êîíòðîëü äàòû è âðåìåíè (ïîäòâåðäèòå äàòó è âðåìÿ)
|
||||
#define FR_ERROR_CODE_c1 0xC1 //ÝÊËÇ: ñóòî÷íûé îò÷?ò ñ ãàøåíèåì ïðåðâàòü íåëüçÿ
|
||||
#define FR_ERROR_CODE_c2 0xC2 //Ïðåâûøåíèå íàïðÿæåíèÿ â áëîêå ïèòàíèÿ
|
||||
#define FR_ERROR_CODE_c3 0xC3 //Íåñîâïàäåíèå èòîãîâ ÷åêà è ÝÊËÇ
|
||||
#define FR_ERROR_CODE_c4 0xC4 //Íåñîâïàäåíèå íîìåðîâ ñìåí
|
||||
//#define FR_ERROR_CODE_c5 0xC5 //Áóôåð ïîäêëàäíîãî äîêóìåíòà ïóñò
|
||||
//#define FR_ERROR_CODE_c6 0xC6 //Ïîäêëàäíîé äîêóìåíò îòñóòñòâóåò //
|
||||
//#define FR_ERROR_CODE_c7 0xC7 //Ïîëå íå ðåäàêòèðóåòñÿ â äàííîì ðåæèìå
|
||||
//#define FR_ERROR_CODE_c8 0xC8 //Îòñóòñòâóþò //èìïóëüñû îò òàõîäàò÷èêà
|
||||
#define FR_ERROR_CODE_C0 0xC0 //Êîíòðîëü äàòû è âðåìåíè (ïîäòâåðäèòå äàòó è âðåìÿ)
|
||||
#define FR_ERROR_CODE_C2 0xC2 //Ïðåâûøåíèå íàïðÿæåíèÿ â áëîêå ïèòàíèÿ
|
||||
#define FR_ERROR_CODE_C4 0xC4 //Íåñîâïàäåíèå íîìåðîâ ñìåí
|
||||
#define FR_ERROR_CODE_C7 0xC7 //Ïîëå íå ðåäàêòèðóåòñÿ â äàííîì ðåæèìå
|
||||
#define FR_ERROR_CODE_C8 0xC8 //Îòñóòñòâóþò èìïóëüñû îò òàõîäàò÷èêà
|
||||
|
||||
#define FR_ERROR_NUMBER 143
|
||||
#define FR_ERROR_NUMBER 109
|
||||
|
||||
// ñòðóêòóðà çàâîäñêîãî íîìåðà è ÐÍÌ
|
||||
#pragma pack(1)
|
||||
#pragma pack(push, 1)
|
||||
typedef struct{
|
||||
CPU_INT08U FactoryNumber[7];
|
||||
CPU_INT08U RNM[7];
|
||||
}TFiscFactoryNumber;
|
||||
#pragma pack(pop)
|
||||
|
||||
// ñòðóêòóðà êîðîòêîãî ñîñòîÿíèÿ
|
||||
#pragma pack(1)
|
||||
#pragma pack(push, 1)
|
||||
typedef struct{
|
||||
CPU_INT08U OperatorNumber; // íîìåð îïåðàòîðà 1..30
|
||||
CPU_INT16U Flags; // ôëàãè ÔÐ
|
||||
@ -279,9 +250,10 @@ typedef struct{
|
||||
CPU_INT08U BillOperationNumber_H; // êîë-âî îïðåàöèé â ÷åêå, ñò. áàéò
|
||||
CPU_INT08U Reserve[3]; // ðåçåðâ
|
||||
}TFiscShortStatus;
|
||||
#pragma pack(pop)
|
||||
|
||||
// ñòðóêòóðà ïîëíîãî ñîñòîÿíèÿ
|
||||
#pragma pack(1)
|
||||
#pragma pack(push, 1)
|
||||
typedef struct{
|
||||
/*
|
||||
Ïîðÿäêîâûé íîìåð îïåðàòîðà (1 áàéò) 1…30
|
||||
@ -338,9 +310,10 @@ typedef struct{
|
||||
CPU_INT08U inn[6];
|
||||
|
||||
}TFiscFullStatus;
|
||||
#pragma pack(pop)
|
||||
|
||||
// ñòðóêòóðà èíôîðìàöèè îá óñòðîéñòâå
|
||||
#pragma pack(1)
|
||||
#pragma pack(push, 1)
|
||||
typedef struct{
|
||||
CPU_INT08U Type; // Òèï óñòðîéñòâà (1 áàéò) 0…255
|
||||
CPU_INT08U Subtype; // Ïîäòèï óñòðîéñòâà (1 áàéò) 0…255
|
||||
@ -354,6 +327,7 @@ typedef struct{
|
||||
// áàéò, îòâîäèìîå ïîä íàçâàíèå óñòðîéñòâà, îïðåäåëÿåòñÿ â êàæäîì êîíêðåòíîì
|
||||
// ñëó÷àå ñàìîñòîÿòåëüíî ðàçðàáîò÷èêàìè óñòðîéñòâà (X áàéò)
|
||||
}TFiscDevType;
|
||||
#pragma pack(pop)
|
||||
extern TFiscDevType FiscDevInfo;
|
||||
|
||||
// ôóíêöèè
|
||||
@ -386,10 +360,18 @@ extern int FiscPrintContinue(CPU_INT32U pass, CPU_INT08U* err);
|
||||
extern int FiscOpenBill(CPU_INT32U pass, CPU_INT08U type, CPU_INT08U* err);
|
||||
extern int FiscMakeSell(CPU_INT32U pass, CPU_INT64U *count, CPU_INT64U *price, CPU_INT08U department, CPU_INT08U* tax, char* text, CPU_INT08U* err);
|
||||
extern int FiscCloseBill(CPU_INT32U pass, CPU_INT64U *cash, CPU_INT08U* tax, char* text, CPU_INT08U* err);
|
||||
extern int FiscCanselBill(CPU_INT32U pass, CPU_INT08U* err);
|
||||
|
||||
extern int FiscPrintDayReportToBuf(CPU_INT32U admpass, CPU_INT08U* err);
|
||||
extern int FiscPrintDayReportsFromBuf(CPU_INT32U admpass, CPU_INT08U* err);
|
||||
|
||||
extern int FiscPollExt(void);
|
||||
extern int FiscOpenDay(CPU_INT32U pass, CPU_INT08U* err);
|
||||
|
||||
extern int FiscMakeSellV2(CPU_INT32U pass, CPU_INT64U *count, CPU_INT64U *price, CPU_INT08U department, CPU_INT08U* tax, CPU_INT08U subj, char* text, CPU_INT08U* err);
|
||||
extern int FiscCloseBillV2(CPU_INT32U pass, CPU_INT64U *cash, CPU_INT08U taxsys, char* text, CPU_INT08U* err);
|
||||
|
||||
extern int FiscWriteTableData(CPU_INT32U pass, CPU_INT08U table, CPU_INT16U row, CPU_INT08U field, CPU_INT08U field_len, CPU_INT08U* data, CPU_INT08U* err);
|
||||
extern int FiscReadTableData(CPU_INT32U pass, CPU_INT08U table, CPU_INT16U row, CPU_INT08U field, CPU_INT08U field_len, CPU_INT08U* data, CPU_INT08U* err);
|
||||
|
||||
#endif //#ifndef _FISCAL_H_
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -1,63 +0,0 @@
|
||||
This is an internal working file generated by the Source Browser.
|
||||
21:12 33s
|
||||
C:\work\solarium\DRIVERS\ccnet\CCRSProtocol.c
|
||||
C:\work\solarium\DRIVERS\ccnet\CCRSProtocol.c
|
||||
--diag_suppress
|
||||
Pa039
|
||||
-o
|
||||
C:\work\solarium\Flash\Obj\
|
||||
--no_cse
|
||||
--no_unroll
|
||||
--no_inline
|
||||
--no_code_motion
|
||||
--no_tbaa
|
||||
--no_clustering
|
||||
--no_scheduling
|
||||
--debug
|
||||
--endian=little
|
||||
--cpu=ARM7TDMI-S
|
||||
-e
|
||||
--fpu=None
|
||||
--dlib_config
|
||||
C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.0\arm\INC\c\DLib_Config_Normal.h
|
||||
-I
|
||||
C:\work\solarium\OS\app\
|
||||
-I
|
||||
C:\work\solarium\OS\bsp\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\cpu\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\lib\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\os_ii\port\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\os_ii\source\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\lcd\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\keyboard\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\fram\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\ccnet\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\fiscal\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\modem\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\app\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\service\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\menu\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\data\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\tools\
|
||||
--interwork
|
||||
--cpu_mode
|
||||
thumb
|
||||
-On
|
||||
--use_c++_inline
|
||||
Binary file not shown.
BIN
Flash/Obj/coin.o
BIN
Flash/Obj/coin.o
Binary file not shown.
Binary file not shown.
BIN
Flash/Obj/data.o
BIN
Flash/Obj/data.o
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,63 +0,0 @@
|
||||
This is an internal working file generated by the Source Browser.
|
||||
21:12 34s
|
||||
C:\work\solarium\DRIVERS\fiscal\fiscal.c
|
||||
C:\work\solarium\DRIVERS\fiscal\fiscal.c
|
||||
--diag_suppress
|
||||
Pa039
|
||||
-o
|
||||
C:\work\solarium\Flash\Obj\
|
||||
--no_cse
|
||||
--no_unroll
|
||||
--no_inline
|
||||
--no_code_motion
|
||||
--no_tbaa
|
||||
--no_clustering
|
||||
--no_scheduling
|
||||
--debug
|
||||
--endian=little
|
||||
--cpu=ARM7TDMI-S
|
||||
-e
|
||||
--fpu=None
|
||||
--dlib_config
|
||||
C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.0\arm\INC\c\DLib_Config_Normal.h
|
||||
-I
|
||||
C:\work\solarium\OS\app\
|
||||
-I
|
||||
C:\work\solarium\OS\bsp\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\cpu\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\lib\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\os_ii\port\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\os_ii\source\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\lcd\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\keyboard\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\fram\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\ccnet\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\fiscal\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\modem\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\app\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\service\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\menu\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\data\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\tools\
|
||||
--interwork
|
||||
--cpu_mode
|
||||
thumb
|
||||
-On
|
||||
--use_c++_inline
|
||||
BIN
Flash/Obj/fr.o
BIN
Flash/Obj/fr.o
Binary file not shown.
@ -1,63 +0,0 @@
|
||||
This is an internal working file generated by the Source Browser.
|
||||
21:12 35s
|
||||
C:\work\solarium\DRIVERS\fram\fram.c
|
||||
C:\work\solarium\DRIVERS\fram\fram.c
|
||||
--diag_suppress
|
||||
Pa039
|
||||
-o
|
||||
C:\work\solarium\Flash\Obj\
|
||||
--no_cse
|
||||
--no_unroll
|
||||
--no_inline
|
||||
--no_code_motion
|
||||
--no_tbaa
|
||||
--no_clustering
|
||||
--no_scheduling
|
||||
--debug
|
||||
--endian=little
|
||||
--cpu=ARM7TDMI-S
|
||||
-e
|
||||
--fpu=None
|
||||
--dlib_config
|
||||
C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.0\arm\INC\c\DLib_Config_Normal.h
|
||||
-I
|
||||
C:\work\solarium\OS\app\
|
||||
-I
|
||||
C:\work\solarium\OS\bsp\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\cpu\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\lib\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\os_ii\port\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\os_ii\source\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\lcd\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\keyboard\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\fram\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\ccnet\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\fiscal\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\modem\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\app\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\service\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\menu\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\data\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\tools\
|
||||
--interwork
|
||||
--cpu_mode
|
||||
thumb
|
||||
-On
|
||||
--use_c++_inline
|
||||
Binary file not shown.
@ -1,63 +0,0 @@
|
||||
This is an internal working file generated by the Source Browser.
|
||||
21:12 36s
|
||||
C:\work\solarium\DRIVERS\keyboard\keyboard.c
|
||||
C:\work\solarium\DRIVERS\keyboard\keyboard.c
|
||||
--diag_suppress
|
||||
Pa039
|
||||
-o
|
||||
C:\work\solarium\Flash\Obj\
|
||||
--no_cse
|
||||
--no_unroll
|
||||
--no_inline
|
||||
--no_code_motion
|
||||
--no_tbaa
|
||||
--no_clustering
|
||||
--no_scheduling
|
||||
--debug
|
||||
--endian=little
|
||||
--cpu=ARM7TDMI-S
|
||||
-e
|
||||
--fpu=None
|
||||
--dlib_config
|
||||
C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.0\arm\INC\c\DLib_Config_Normal.h
|
||||
-I
|
||||
C:\work\solarium\OS\app\
|
||||
-I
|
||||
C:\work\solarium\OS\bsp\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\cpu\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\lib\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\os_ii\port\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\os_ii\source\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\lcd\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\keyboard\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\fram\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\ccnet\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\fiscal\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\modem\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\app\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\service\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\menu\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\data\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\tools\
|
||||
--interwork
|
||||
--cpu_mode
|
||||
thumb
|
||||
-On
|
||||
--use_c++_inline
|
||||
@ -1,63 +0,0 @@
|
||||
This is an internal working file generated by the Source Browser.
|
||||
21:12 37s
|
||||
C:\work\solarium\DRIVERS\lcd\lcd.c
|
||||
C:\work\solarium\DRIVERS\lcd\lcd.c
|
||||
--diag_suppress
|
||||
Pa039
|
||||
-o
|
||||
C:\work\solarium\Flash\Obj\
|
||||
--no_cse
|
||||
--no_unroll
|
||||
--no_inline
|
||||
--no_code_motion
|
||||
--no_tbaa
|
||||
--no_clustering
|
||||
--no_scheduling
|
||||
--debug
|
||||
--endian=little
|
||||
--cpu=ARM7TDMI-S
|
||||
-e
|
||||
--fpu=None
|
||||
--dlib_config
|
||||
C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.0\arm\INC\c\DLib_Config_Normal.h
|
||||
-I
|
||||
C:\work\solarium\OS\app\
|
||||
-I
|
||||
C:\work\solarium\OS\bsp\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\cpu\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\lib\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\os_ii\port\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\os_ii\source\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\lcd\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\keyboard\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\fram\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\ccnet\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\fiscal\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\modem\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\app\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\service\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\menu\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\data\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\tools\
|
||||
--interwork
|
||||
--cpu_mode
|
||||
thumb
|
||||
-On
|
||||
--use_c++_inline
|
||||
BIN
Flash/Obj/menu.o
BIN
Flash/Obj/menu.o
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,63 +0,0 @@
|
||||
This is an internal working file generated by the Source Browser.
|
||||
21:12 37s
|
||||
C:\work\solarium\DRIVERS\modem\modem.c
|
||||
C:\work\solarium\DRIVERS\modem\modem.c
|
||||
--diag_suppress
|
||||
Pa039
|
||||
-o
|
||||
C:\work\solarium\Flash\Obj\
|
||||
--no_cse
|
||||
--no_unroll
|
||||
--no_inline
|
||||
--no_code_motion
|
||||
--no_tbaa
|
||||
--no_clustering
|
||||
--no_scheduling
|
||||
--debug
|
||||
--endian=little
|
||||
--cpu=ARM7TDMI-S
|
||||
-e
|
||||
--fpu=None
|
||||
--dlib_config
|
||||
C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.0\arm\INC\c\DLib_Config_Normal.h
|
||||
-I
|
||||
C:\work\solarium\OS\app\
|
||||
-I
|
||||
C:\work\solarium\OS\bsp\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\cpu\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\lib\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\os_ii\port\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\os_ii\source\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\lcd\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\keyboard\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\fram\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\ccnet\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\fiscal\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\modem\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\app\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\service\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\menu\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\data\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\tools\
|
||||
--interwork
|
||||
--cpu_mode
|
||||
thumb
|
||||
-On
|
||||
--use_c++_inline
|
||||
Binary file not shown.
43
Flash/Obj/solarium.pbd
Normal file
43
Flash/Obj/solarium.pbd
Normal file
@ -0,0 +1,43 @@
|
||||
This is an internal working file generated by the Source Browser.
|
||||
23:08 48s
|
||||
C:\work\solarium\Flash\Obj\CCRSProtocol.pbi
|
||||
C:\work\solarium\Flash\Obj\app.pbi
|
||||
C:\work\solarium\Flash\Obj\app_serv.pbi
|
||||
C:\work\solarium\Flash\Obj\bsp.pbi
|
||||
C:\work\solarium\Flash\Obj\coin.pbi
|
||||
C:\work\solarium\Flash\Obj\control.pbi
|
||||
C:\work\solarium\Flash\Obj\crc16.pbi
|
||||
C:\work\solarium\Flash\Obj\data.pbi
|
||||
C:\work\solarium\Flash\Obj\datadesc.pbi
|
||||
C:\work\solarium\Flash\Obj\fiscal.pbi
|
||||
C:\work\solarium\Flash\Obj\fr.pbi
|
||||
C:\work\solarium\Flash\Obj\fram.pbi
|
||||
C:\work\solarium\Flash\Obj\journal.pbi
|
||||
C:\work\solarium\Flash\Obj\keyboard.pbi
|
||||
C:\work\solarium\Flash\Obj\lcd.pbi
|
||||
C:\work\solarium\Flash\Obj\lib_mem.pbi
|
||||
C:\work\solarium\Flash\Obj\lib_str.pbi
|
||||
C:\work\solarium\Flash\Obj\menu.pbi
|
||||
C:\work\solarium\Flash\Obj\menudesc.pbi
|
||||
C:\work\solarium\Flash\Obj\mode.pbi
|
||||
C:\work\solarium\Flash\Obj\modem.pbi
|
||||
C:\work\solarium\Flash\Obj\modem_task.pbi
|
||||
C:\work\solarium\Flash\Obj\os_core.pbi
|
||||
C:\work\solarium\Flash\Obj\os_cpu_c.pbi
|
||||
C:\work\solarium\Flash\Obj\os_dbg.pbi
|
||||
C:\work\solarium\Flash\Obj\os_dcc.pbi
|
||||
C:\work\solarium\Flash\Obj\os_flag.pbi
|
||||
C:\work\solarium\Flash\Obj\os_mbox.pbi
|
||||
C:\work\solarium\Flash\Obj\os_mem.pbi
|
||||
C:\work\solarium\Flash\Obj\os_mutex.pbi
|
||||
C:\work\solarium\Flash\Obj\os_q.pbi
|
||||
C:\work\solarium\Flash\Obj\os_sem.pbi
|
||||
C:\work\solarium\Flash\Obj\os_task.pbi
|
||||
C:\work\solarium\Flash\Obj\os_time.pbi
|
||||
C:\work\solarium\Flash\Obj\os_tmr.pbi
|
||||
C:\work\solarium\Flash\Obj\spi.pbi
|
||||
C:\work\solarium\Flash\Obj\time.pbi
|
||||
C:\work\solarium\Flash\Obj\uart0.pbi
|
||||
C:\work\solarium\Flash\Obj\uart1.pbi
|
||||
C:\work\solarium\Flash\Obj\uart2.pbi
|
||||
C:\work\solarium\Flash\Obj\validator.pbi
|
||||
@ -1,63 +0,0 @@
|
||||
This is an internal working file generated by the Source Browser.
|
||||
21:12 35s
|
||||
C:\work\solarium\DRIVERS\fram\spi.c
|
||||
C:\work\solarium\DRIVERS\fram\spi.c
|
||||
--diag_suppress
|
||||
Pa039
|
||||
-o
|
||||
C:\work\solarium\Flash\Obj\
|
||||
--no_cse
|
||||
--no_unroll
|
||||
--no_inline
|
||||
--no_code_motion
|
||||
--no_tbaa
|
||||
--no_clustering
|
||||
--no_scheduling
|
||||
--debug
|
||||
--endian=little
|
||||
--cpu=ARM7TDMI-S
|
||||
-e
|
||||
--fpu=None
|
||||
--dlib_config
|
||||
C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.0\arm\INC\c\DLib_Config_Normal.h
|
||||
-I
|
||||
C:\work\solarium\OS\app\
|
||||
-I
|
||||
C:\work\solarium\OS\bsp\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\cpu\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\lib\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\os_ii\port\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\os_ii\source\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\lcd\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\keyboard\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\fram\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\ccnet\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\fiscal\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\modem\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\app\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\service\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\menu\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\data\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\tools\
|
||||
--interwork
|
||||
--cpu_mode
|
||||
thumb
|
||||
-On
|
||||
--use_c++_inline
|
||||
@ -1,63 +0,0 @@
|
||||
This is an internal working file generated by the Source Browser.
|
||||
21:12 34s
|
||||
C:\work\solarium\DRIVERS\fiscal\uart0.c
|
||||
C:\work\solarium\DRIVERS\fiscal\uart0.c
|
||||
--diag_suppress
|
||||
Pa039
|
||||
-o
|
||||
C:\work\solarium\Flash\Obj\
|
||||
--no_cse
|
||||
--no_unroll
|
||||
--no_inline
|
||||
--no_code_motion
|
||||
--no_tbaa
|
||||
--no_clustering
|
||||
--no_scheduling
|
||||
--debug
|
||||
--endian=little
|
||||
--cpu=ARM7TDMI-S
|
||||
-e
|
||||
--fpu=None
|
||||
--dlib_config
|
||||
C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.0\arm\INC\c\DLib_Config_Normal.h
|
||||
-I
|
||||
C:\work\solarium\OS\app\
|
||||
-I
|
||||
C:\work\solarium\OS\bsp\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\cpu\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\lib\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\os_ii\port\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\os_ii\source\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\lcd\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\keyboard\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\fram\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\ccnet\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\fiscal\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\modem\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\app\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\service\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\menu\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\data\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\tools\
|
||||
--interwork
|
||||
--cpu_mode
|
||||
thumb
|
||||
-On
|
||||
--use_c++_inline
|
||||
@ -1,63 +0,0 @@
|
||||
This is an internal working file generated by the Source Browser.
|
||||
21:12 33s
|
||||
C:\work\solarium\DRIVERS\ccnet\uart1.c
|
||||
C:\work\solarium\DRIVERS\ccnet\uart1.c
|
||||
--diag_suppress
|
||||
Pa039
|
||||
-o
|
||||
C:\work\solarium\Flash\Obj\
|
||||
--no_cse
|
||||
--no_unroll
|
||||
--no_inline
|
||||
--no_code_motion
|
||||
--no_tbaa
|
||||
--no_clustering
|
||||
--no_scheduling
|
||||
--debug
|
||||
--endian=little
|
||||
--cpu=ARM7TDMI-S
|
||||
-e
|
||||
--fpu=None
|
||||
--dlib_config
|
||||
C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.0\arm\INC\c\DLib_Config_Normal.h
|
||||
-I
|
||||
C:\work\solarium\OS\app\
|
||||
-I
|
||||
C:\work\solarium\OS\bsp\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\cpu\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\lib\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\os_ii\port\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\os_ii\source\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\lcd\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\keyboard\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\fram\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\ccnet\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\fiscal\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\modem\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\app\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\service\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\menu\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\data\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\tools\
|
||||
--interwork
|
||||
--cpu_mode
|
||||
thumb
|
||||
-On
|
||||
--use_c++_inline
|
||||
@ -1,63 +0,0 @@
|
||||
This is an internal working file generated by the Source Browser.
|
||||
21:12 39s
|
||||
C:\work\solarium\DRIVERS\modem\uart2.c
|
||||
C:\work\solarium\DRIVERS\modem\uart2.c
|
||||
--diag_suppress
|
||||
Pa039
|
||||
-o
|
||||
C:\work\solarium\Flash\Obj\
|
||||
--no_cse
|
||||
--no_unroll
|
||||
--no_inline
|
||||
--no_code_motion
|
||||
--no_tbaa
|
||||
--no_clustering
|
||||
--no_scheduling
|
||||
--debug
|
||||
--endian=little
|
||||
--cpu=ARM7TDMI-S
|
||||
-e
|
||||
--fpu=None
|
||||
--dlib_config
|
||||
C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.0\arm\INC\c\DLib_Config_Normal.h
|
||||
-I
|
||||
C:\work\solarium\OS\app\
|
||||
-I
|
||||
C:\work\solarium\OS\bsp\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\cpu\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\lib\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\os_ii\port\
|
||||
-I
|
||||
C:\work\solarium\OS\uc\os_ii\source\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\lcd\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\keyboard\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\fram\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\ccnet\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\fiscal\
|
||||
-I
|
||||
C:\work\solarium\DRIVERS\modem\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\app\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\service\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\menu\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\data\
|
||||
-I
|
||||
C:\work\solarium\PROJECT\tools\
|
||||
--interwork
|
||||
--cpu_mode
|
||||
thumb
|
||||
-On
|
||||
--use_c++_inline
|
||||
Binary file not shown.
@ -453,7 +453,7 @@ void UserAppTask(void *p_arg)
|
||||
if (err) {SetFiscalErrorByCode(err);}
|
||||
SaveEventRecord(0, JOURNAL_EVENT_PRINT_Z, GetTimeSec());
|
||||
GoToPreviousMenu();
|
||||
ClrFiscalErrorByCode(FR_ERROR_CODE_4e);
|
||||
ClrFiscalErrorByCode(FR_ERROR_CODE_4E);
|
||||
}
|
||||
}
|
||||
else if (GetCurrentMenu() == bufReportMenuPanel)
|
||||
|
||||
@ -1175,46 +1175,35 @@ CPU_INT08U const *ErrorNumberList0[ERRORS_NUM] = {"
|
||||
"ошибка",
|
||||
"ошибка",
|
||||
|
||||
"ФР:01h-неисправен",
|
||||
"ФР:02h-отсутствует",
|
||||
"ФР:03h-отсутствует",
|
||||
"ФР:04h-некорр.п-ры",
|
||||
"ФР:05h-нет",
|
||||
"ФР:06h-ФП в режиме",
|
||||
"ФР:07h-некорр.п-ры",
|
||||
"ФР:08h-команда",
|
||||
"ФР:09h-некорр.",
|
||||
"ФР:0Ah-формат данных",
|
||||
"ФР:0Bh-неиспр.ячейка",
|
||||
"ФР:11h-не введена",
|
||||
"ФР:12h-заводской",
|
||||
"ФР:13h-текущая дата",
|
||||
"ФР:14h-ФП",
|
||||
"ФР:15h-Смена",
|
||||
"ФР:16h-Смена",
|
||||
"ФР:17h-Ошибка номера",
|
||||
"ФР:18h-Ошибка даты",
|
||||
"ФР:19h-Нет данных",
|
||||
"ФР:1Ah-Оошибка ФП",
|
||||
"ФР:1Bh-Заводской",
|
||||
"ФР:1Ch-Есть",
|
||||
"ФР:1Dh-Повреждена",
|
||||
"ФР:1Fh-Отсутствует",
|
||||
"ФР:20h-Переполнение",
|
||||
"ФР:21h-Ошибка суммы",
|
||||
"ФР:22h-Неверная дата",
|
||||
"ФР:23h-Нет записи",
|
||||
"ФР:24h-Область",
|
||||
"ФР:25h-Нет",
|
||||
"ФР:28h-В ФП более",
|
||||
"ФР:01h-Неизвестная",
|
||||
"ФР:02h-Неверное",
|
||||
"ФР:03h-Ошибка ФН",
|
||||
"ФР:04h-Ошибка КС",
|
||||
"ФР:05h-Закончен срок",
|
||||
"ФР:06h-Архив ФН",
|
||||
"ФР:07h-Неверные дата",
|
||||
"ФР:08h-Нет ",
|
||||
"ФР:09h-Некорр.",
|
||||
"ФР:10h-Превышение",
|
||||
"ФР:11h-Нет",
|
||||
"ФР:12h-Исчерпан",
|
||||
"ФР:14h-Исчерпан",
|
||||
"ФР:15h-Исчерпан",
|
||||
"ФР:16h-Смена более",
|
||||
"ФР:17h-Неверная",
|
||||
"ФР:20h-Сообщение",
|
||||
"ФР:2Fh-Таймаут ",
|
||||
"ФР:30h-ФН ",
|
||||
"ФР:33h-Некорректные",
|
||||
"ФР:34h-Нет",
|
||||
"ФР:35h-Некорректный",
|
||||
"ФР:36h-Некорректные",
|
||||
"ФР:37h-Команда",
|
||||
"ФР:38h-Ошибка в ПЗУ",
|
||||
"ФР:38h-Ошибка",
|
||||
"ФР:39h-Внутренняя",
|
||||
"ФР:3Ah-Переполнение",
|
||||
"ФР:3Ch-ЭКЛЗ:",
|
||||
"ФР:3Ch-Смена",
|
||||
"ФР:3Dh-Смена",
|
||||
"ФР:3Eh-Переполнение",
|
||||
"ФР:3Fh-Переполнение",
|
||||
"ФР:40h-Переполнение",
|
||||
@ -1226,6 +1215,7 @@ CPU_INT08U const *ErrorNumberList0[ERRORS_NUM] = {"
|
||||
"ФР:46h-Не хватает",
|
||||
"ФР:47h-Переполнение",
|
||||
"ФР:48h-Переполнение",
|
||||
"ФР:49h-Опер.невозм.",
|
||||
"ФР:4Ah-Открыт чек",
|
||||
"ФР:4Bh-Буфер чека",
|
||||
"ФР:4Ch-Переполнение",
|
||||
@ -1237,8 +1227,8 @@ CPU_INT08U const *ErrorNumberList0[ERRORS_NUM] = {"
|
||||
"ФР:52h-Переполнение",
|
||||
"ФР:53h-Переполнение",
|
||||
"ФР:54h-Переполнение",
|
||||
"ФР:55h-Чек закрыт",
|
||||
"ФР:56h-Нет док.",
|
||||
"ФР:57h-ЭКЛЗ:",
|
||||
"ФР:58h-Ожидание",
|
||||
"ФР:59h-Документ",
|
||||
"ФР:5Bh-Переполнение",
|
||||
@ -1250,10 +1240,8 @@ CPU_INT08U const *ErrorNumberList0[ERRORS_NUM] = {"
|
||||
"ФР:61h-Переполнение",
|
||||
"ФР:62h-Переполнение",
|
||||
"ФР:63h-Переполнение",
|
||||
"ФР:64h-ФП отсутствует",
|
||||
"ФР:65h-Не хватает",
|
||||
"ФР:66h-Переполнение",
|
||||
"ФР:67h-Ошибка связи",
|
||||
"ФР:68h-Не хватает",
|
||||
"ФР:69h-Переполнение",
|
||||
"ФР:6Ah-Ошибка",
|
||||
@ -1262,26 +1250,19 @@ CPU_INT08U const *ErrorNumberList0[ERRORS_NUM] = {"
|
||||
"ФР:6Dh-Не хватает",
|
||||
"ФР:6Eh-Переполнение",
|
||||
"ФР:6Fh-Переполнение",
|
||||
"ФР:70h-Переполнение",
|
||||
"ФР:71h-Ошибка",
|
||||
"ФР:72h-Команда не",
|
||||
"ФР:73h-Команда не",
|
||||
"ФР:74h-Ошибка ОЗУ",
|
||||
"ФР:75h-Ошибка",
|
||||
"ФР:76h-Принтер:",
|
||||
"ФР:77h-Принтер:",
|
||||
"ФР:78h-Замена ПО",
|
||||
"ФР:79h-Замена ФП",
|
||||
"ФП:7Ah-Поле не",
|
||||
"ФР:7Bh-Ошибка",
|
||||
"ФР:7Ch-Не совпадает",
|
||||
"ФР:7Dh-Неверный",
|
||||
"ФР:7Eh-Неверное",
|
||||
"ФР:7Fh-Переполнение",
|
||||
"ФР:80h-Ошибка",
|
||||
"ФР:81h-Ошибка",
|
||||
"ФР:82h-Ошибка",
|
||||
"ФР:83h-Ошибка",
|
||||
"ФР:84h-Переполнение",
|
||||
"ФР:85h-Переполнение",
|
||||
"ФР:86h-Переполнение",
|
||||
@ -1293,36 +1274,16 @@ CPU_INT08U const *ErrorNumberList0[ERRORS_NUM] = {"
|
||||
"ФР:8Ch-Отриц.",
|
||||
"ФР:8Dh-Отрицательный",
|
||||
"ФР:8Eh-Нулевой итог",
|
||||
"ФР:8Fh-Касса не",
|
||||
"ФР:90h-Поле прев.",
|
||||
"ФР:91h-Выход за",
|
||||
"ФР:92h-Наложение",
|
||||
"ФР:93h-Восстановление",
|
||||
"ФР:94h-Исчерпан",
|
||||
"ФР:A0h-Ошибка связи",
|
||||
"ФР:A1h-ЭКЛЗ",
|
||||
"ФР:A2h-ЭКЛЗ: ",
|
||||
"ФР:A3h-Некорректное",
|
||||
"ФР:A4h-Авария ЭКЛЗ",
|
||||
"ФР:A5h-Авария КС",
|
||||
"ФР:A6h-Исчерпан",
|
||||
"ФР:A7h-ЭКЛЗ",
|
||||
"ФР:A8h-ЗКЛЗ:",
|
||||
"ФР:A9h-ЭКЛЗ:",
|
||||
"ФР:AAh-Переполнение",
|
||||
"ФР:B0h-ЭКЛЗ:",
|
||||
"ФР:B1h-ЭКЛЗ:",
|
||||
"ФР:B2h-ЭКЛЗ:",
|
||||
"ФР:C0h-Контроль",
|
||||
"ФР:C1h-ЭКЛЗ:",
|
||||
"ФР:C2h-Превышение",
|
||||
"ФР:C3h-Несовпадение",
|
||||
"ФР:C4h-Несовпадение",
|
||||
//"ФР:С5h-Буфер",
|
||||
//"ФР:C6h-Подкладной",
|
||||
//"ФР:C7h-Поле не",
|
||||
//"ФР:С8h-Отсутствуют",
|
||||
|
||||
"ФР:C7h-Поле не",
|
||||
"ФР:С8h-Отсутствуют"
|
||||
};
|
||||
|
||||
TDataDescStruct const JournalErrorNumberDesc0 = {
|
||||
@ -1369,47 +1330,37 @@ CPU_INT08U const *ErrorNumberList1[ERRORS_NUM] = {"
|
||||
"маг.датчика",
|
||||
"датчика",
|
||||
"модема",
|
||||
"связи с ФР",
|
||||
"ФП1,ФП2 или часы",
|
||||
"ФП 1",
|
||||
"ФП 2",
|
||||
"в команде к ФП",
|
||||
"связи с ФР",
|
||||
|
||||
"команда", // ФР:01h
|
||||
"состояние ФН",
|
||||
"",
|
||||
"",
|
||||
"эксплуатации ФН",
|
||||
"переполнен",
|
||||
"и/или время",
|
||||
"запрошенных данных",
|
||||
"вывода данных",
|
||||
"в команде ФП",
|
||||
"не подд.ФП",
|
||||
"длина команды ",
|
||||
"не BCD",
|
||||
"памяти ФП",
|
||||
"лицензия",
|
||||
"номер уже введен",
|
||||
"меньше даты в ФП",
|
||||
"переполнена",
|
||||
"уже открыта",
|
||||
"не открыта",
|
||||
"смены",
|
||||
"смены",
|
||||
"в ФП",
|
||||
"",
|
||||
"номер не введен",
|
||||
"поврежд. запись",
|
||||
"последняя запись",
|
||||
"память регистров",
|
||||
"денежного регистра",
|
||||
"",
|
||||
"",
|
||||
"активизации",
|
||||
"акт.переполнена",
|
||||
"активизации",
|
||||
"2х сбойных записей",
|
||||
"параметры в команде",
|
||||
"знач.пар.к-ды",
|
||||
"разм.TLV данных",
|
||||
"трансп.соед.",
|
||||
"ресурс КС",
|
||||
"ресурс хранения",
|
||||
"ресурс ожидания",
|
||||
"24 часов",
|
||||
"разница во времени",
|
||||
"от ОФД не принято",
|
||||
"обмена с ФН",
|
||||
"не отвечает",
|
||||
"параметры в к-де",
|
||||
"данных",
|
||||
"параметр",
|
||||
"параметры",
|
||||
"не поддерж.ФР",
|
||||
"",
|
||||
"ошибка ПО ФР",
|
||||
"накопления в смене",
|
||||
"неверный рег.номер",
|
||||
"параметры", // 36h
|
||||
"не поддерживается",
|
||||
"в ПЗУ",
|
||||
"ошибка ПО ККТ",
|
||||
"нак.по надб.",
|
||||
"откр.-операция невозм.",
|
||||
"закр.-операция невозм.", //3Dh
|
||||
"накоп.по секциям",
|
||||
"накоп.по скидкам",
|
||||
"диапазона скидок",
|
||||
@ -1421,6 +1372,7 @@ CPU_INT08U const *ErrorNumberList1[ERRORS_NUM] = {"
|
||||
"наличности в кассе",
|
||||
"накопления по налогам",
|
||||
"итога чека",
|
||||
"в откр.чеке",
|
||||
"операция невозможна",
|
||||
"переполнен",
|
||||
"накоп.по налогам",
|
||||
@ -1432,8 +1384,8 @@ CPU_INT08U const *ErrorNumberList1[ERRORS_NUM] = {"
|
||||
"накоплений 2 в смене",
|
||||
"накоплений 3 в смене",
|
||||
"накоплений 4 в смене",
|
||||
"операция невозм.",
|
||||
"для повтора",
|
||||
"ошибка кол-ва смен",
|
||||
"команды продолжения",
|
||||
"открыт другим оп.",
|
||||
"диапазона надбавок",
|
||||
@ -1445,10 +1397,8 @@ CPU_INT08U const *ErrorNumberList1[ERRORS_NUM] = {"
|
||||
"диапазона цены",
|
||||
"диапазона кол-ва",
|
||||
"диапазона отдела",
|
||||
"",
|
||||
"денег в секции",
|
||||
"денег в секции",
|
||||
"с ФП",
|
||||
"денег по налогам",
|
||||
"денег по налогам",
|
||||
"питания",
|
||||
@ -1457,26 +1407,19 @@ CPU_INT08U const *ErrorNumberList1[ERRORS_NUM] = {"
|
||||
"денег по налогу",
|
||||
"денег по налогу",
|
||||
"по выплате в смене",
|
||||
"ФП",
|
||||
"отрезчика",
|
||||
"поддерж.",
|
||||
"поддерж.",
|
||||
"",
|
||||
"питания",
|
||||
"нет импульсов",
|
||||
"нет сигнала",
|
||||
"",
|
||||
"",
|
||||
"редактируется",
|
||||
"оборудования",
|
||||
"дата",
|
||||
"формат даты",
|
||||
"значение в поле длины",
|
||||
"диапазона итога чека",
|
||||
"связи с ФП",
|
||||
"связи с ФП",
|
||||
"связи с ФП",
|
||||
"связи с ФП",
|
||||
"наличности",
|
||||
"по продажам",
|
||||
"по покупкам",
|
||||
@ -1488,36 +1431,16 @@ CPU_INT08U const *ErrorNumberList1[ERRORS_NUM] = {"
|
||||
"итог надбавки",
|
||||
"итог скидки в чеке",
|
||||
"чека",
|
||||
"фискализирована",
|
||||
"размер в настройках",
|
||||
"границу поля печати",
|
||||
"полей",
|
||||
"ОЗУ прошло успешно",
|
||||
"лимит операций в чеке",
|
||||
"с ЭКЛЗ",
|
||||
"отсутствует",
|
||||
"Некорр.формат команды",
|
||||
"состояние ЭКЛЗ",
|
||||
"",
|
||||
"в составе ЭКЛЗ",
|
||||
"врем.ресурс ЭКЛЗ",
|
||||
"переполнена",
|
||||
"Неверные дата и время ",
|
||||
"Нет запрошенных данных ",
|
||||
"ЭКЛЗ",
|
||||
"Переполнение кол-ва",
|
||||
"Переполнение суммы",
|
||||
"Уже активизирована",
|
||||
"даты и времени",
|
||||
"суточный отчет",
|
||||
"напряжения",
|
||||
"итогов чека и ЭКЛЗ",
|
||||
"номеров смен",
|
||||
//"подк.док.пуст ",
|
||||
//"док.отсутствует",
|
||||
//"редактируется",
|
||||
//"импульсы"
|
||||
|
||||
"редактируется",
|
||||
"импульсы тахо."
|
||||
};
|
||||
|
||||
TDataDescStruct const JournalErrorNumberDesc1 = {
|
||||
@ -1571,7 +1494,8 @@ CPU_INT08U const *ErrorNumberListEng[ERRORS_NUM] =
|
||||
"Nekriticheskaya oshibka kupuropriemnika",
|
||||
|
||||
"Oshibka svyazi s modemom",
|
||||
"Oshibka svyazi s FR",
|
||||
"Oshibka svyazi s FR",
|
||||
|
||||
"Oshibka FR 0x01",
|
||||
"Oshibka FR 0x02",
|
||||
"Oshibka FR 0x03",
|
||||
@ -1581,30 +1505,18 @@ CPU_INT08U const *ErrorNumberListEng[ERRORS_NUM] =
|
||||
"Oshibka FR 0x07",
|
||||
"Oshibka FR 0x08",
|
||||
"Oshibka FR 0x09",
|
||||
"Oshibka FR 0x0A",
|
||||
"Oshibka FR 0x0B",
|
||||
"Oshibka FR 0x10",
|
||||
"Oshibka FR 0x11",
|
||||
"Oshibka FR 0x12",
|
||||
"Oshibka FR 0x13",
|
||||
"Oshibka FR 0x14",
|
||||
"Oshibka FR 0x15",
|
||||
"Oshibka FR 0x16",
|
||||
"Oshibka FR 0x17",
|
||||
"Oshibka FR 0x18",
|
||||
"Oshibka FR 0x19",
|
||||
"Oshibka FR 0x1A",
|
||||
"Oshibka FR 0x1B",
|
||||
"Oshibka FR 0x1C",
|
||||
"Oshibka FR 0x1D",
|
||||
"Oshibka FR 0x1F",
|
||||
"Oshibka FR 0x20",
|
||||
"Oshibka FR 0x21",
|
||||
"Oshibka FR 0x22",
|
||||
"Oshibka FR 0x23",
|
||||
"Oshibka FR 0x24",
|
||||
"Oshibka FR 0x25",
|
||||
"Oshibka FR 0x28",
|
||||
"Oshibka FR 0x2F",
|
||||
"Oshibka FR 0x30",
|
||||
"Oshibka FR 0x33",
|
||||
"Oshibka FR 0x34",
|
||||
"Oshibka FR 0x35",
|
||||
"Oshibka FR 0x36",
|
||||
"Oshibka FR 0x37",
|
||||
@ -1612,6 +1524,7 @@ CPU_INT08U const *ErrorNumberListEng[ERRORS_NUM] =
|
||||
"Oshibka FR 0x39",
|
||||
"Oshibka FR 0x3A",
|
||||
"Oshibka FR 0x3C",
|
||||
"Oshibka FR 0x3D",
|
||||
"Oshibka FR 0x3E",
|
||||
"Oshibka FR 0x3F",
|
||||
"Oshibka FR 0x40",
|
||||
@ -1623,6 +1536,7 @@ CPU_INT08U const *ErrorNumberListEng[ERRORS_NUM] =
|
||||
"Oshibka FR 0x46",
|
||||
"Oshibka FR 0x47",
|
||||
"Oshibka FR 0x48",
|
||||
"Oshibka FR 0x49",
|
||||
"Oshibka FR 0x4A",
|
||||
"Oshibka FR 0x4B",
|
||||
"Oshibka FR 0x4C",
|
||||
@ -1634,8 +1548,8 @@ CPU_INT08U const *ErrorNumberListEng[ERRORS_NUM] =
|
||||
"Oshibka FR 0x52",
|
||||
"Oshibka FR 0x53",
|
||||
"Oshibka FR 0x54",
|
||||
"Oshibka FR 0x55",
|
||||
"Oshibka FR 0x56",
|
||||
"Oshibka FR 0x57",
|
||||
"Oshibka FR 0x58",
|
||||
"Oshibka FR 0x59",
|
||||
"Oshibka FR 0x5B",
|
||||
@ -1647,10 +1561,8 @@ CPU_INT08U const *ErrorNumberListEng[ERRORS_NUM] =
|
||||
"Oshibka FR 0x61",
|
||||
"Oshibka FR 0x62",
|
||||
"Oshibka FR 0x63",
|
||||
"Oshibka FR 0x64",
|
||||
"Oshibka FR 0x65",
|
||||
"Oshibka FR 0x66",
|
||||
"Oshibka FR 0x67",
|
||||
"Oshibka FR 0x68",
|
||||
"Oshibka FR 0x69",
|
||||
"Oshibka FR 0x6A",
|
||||
@ -1659,26 +1571,19 @@ CPU_INT08U const *ErrorNumberListEng[ERRORS_NUM] =
|
||||
"Oshibka FR 0x6D",
|
||||
"Oshibka FR 0x6E",
|
||||
"Oshibka FR 0x6F",
|
||||
"Oshibka FR 0x70",
|
||||
"Oshibka FR 0x71",
|
||||
"Oshibka FR 0x72",
|
||||
"Oshibka FR 0x73",
|
||||
"Oshibka FR 0x74",
|
||||
"Oshibka FR 0x75",
|
||||
"Oshibka FR 0x76",
|
||||
"Oshibka FR 0x77",
|
||||
"Oshibka FR 0x78",
|
||||
"Oshibka FR 0x79",
|
||||
"Oshibka FR 0x7A",
|
||||
"Oshibka FR 0x7B",
|
||||
"Oshibka FR 0x7C",
|
||||
"Oshibka FR 0x7D",
|
||||
"Oshibka FR 0x7E",
|
||||
"Oshibka FR 0x7F",
|
||||
"Oshibka FR 0x80",
|
||||
"Oshibka FR 0x81",
|
||||
"Oshibka FR 0x82",
|
||||
"Oshibka FR 0x83",
|
||||
"Oshibka FR 0x84",
|
||||
"Oshibka FR 0x85",
|
||||
"Oshibka FR 0x86",
|
||||
@ -1690,31 +1595,16 @@ CPU_INT08U const *ErrorNumberListEng[ERRORS_NUM] =
|
||||
"Oshibka FR 0x8C",
|
||||
"Oshibka FR 0x8D",
|
||||
"Oshibka FR 0x8E",
|
||||
"Oshibka FR 0x8F",
|
||||
"Oshibka FR 0x90",
|
||||
"Oshibka FR 0x91",
|
||||
"Oshibka FR 0x92",
|
||||
"Oshibka FR 0x93",
|
||||
"Oshibka FR 0x94",
|
||||
"Oshibka FR 0xA0",
|
||||
"Oshibka FR 0xA1",
|
||||
"Oshibka FR 0xA2",
|
||||
"Oshibka FR 0xA3",
|
||||
"Oshibka FR 0xA4",
|
||||
"Oshibka FR 0xA5",
|
||||
"Oshibka FR 0xA6",
|
||||
"Oshibka FR 0xA7",
|
||||
"Oshibka FR 0xA8",
|
||||
"Oshibka FR 0xA9",
|
||||
"Oshibka FR 0xAA",
|
||||
"Oshibka FR 0xB0",
|
||||
"Oshibka FR 0xB1",
|
||||
"Oshibka FR 0xB2",
|
||||
"Oshibka FR 0xC0",
|
||||
"Oshibka FR 0xC1",
|
||||
"Oshibka FR 0xC2",
|
||||
"Oshibka FR 0xC3"
|
||||
"Oshibka FR 0xC4"
|
||||
"Oshibka FR 0xC4",
|
||||
"Oshibka FR 0xC7",
|
||||
"Oshibka FR 0xC8"
|
||||
};
|
||||
|
||||
TDataDescStruct const JournalErrorNumberDescEng = {
|
||||
@ -2251,6 +2141,124 @@ TDataDescStruct const BillFormatDesc = {
|
||||
1
|
||||
};
|
||||
|
||||
/*************************************
|
||||
Система налогообложения
|
||||
*************************************/
|
||||
TRangeValueULONG const TaxSystemRange = {0, 5};
|
||||
CPU_INT08U const TaxSystemName[] = "Система нал.";
|
||||
CPU_INT08U const TaxSystemList_str0[] = "ОСН";
|
||||
CPU_INT08U const TaxSystemList_str1[] = "УСН д";
|
||||
CPU_INT08U const TaxSystemList_str2[] = "УСН д-р";
|
||||
CPU_INT08U const TaxSystemList_str3[] = "ЕНВД";
|
||||
CPU_INT08U const TaxSystemList_str4[] = "ЕСП";
|
||||
CPU_INT08U const TaxSystemList_str5[] = "ПСН";
|
||||
|
||||
CPU_INT08U const *TaxSystemList[] = {TaxSystemList_str0, TaxSystemList_str1, TaxSystemList_str2, TaxSystemList_str3, TaxSystemList_str4, TaxSystemList_str5};
|
||||
|
||||
TDataDescStruct const TaxSystemDesc = {
|
||||
DATA_DESC_EDIT, // тип дескриптора
|
||||
DATA_TYPE_ULONG, // тип параметра
|
||||
DATA_LOC_FRAM, // расположение параметра
|
||||
DATA_NO_ARRAY, // признак массива
|
||||
0, // размер массива
|
||||
0, // указатель на дескриптор индекса массива
|
||||
(void*)offsetof(TFramMap, TaxSystem), // указатель на переменную или адрес FRAM
|
||||
(void*)&TaxSystemRange, // указатель на границы параметра
|
||||
NULL, // функция по изменению
|
||||
sizeof(CPU_INT32U), // смещение между элементами в массиве
|
||||
TaxSystemName, // указатель на строку названия параметра
|
||||
DATA_IS_INDEX, // признак индексного параметра (список строк)
|
||||
TaxSystemList, // указатель на список строк для индексного параметра
|
||||
DATA_INIT_DISABLE,
|
||||
0
|
||||
};
|
||||
|
||||
/*************************************
|
||||
Индекс налога
|
||||
*************************************/
|
||||
TRangeValueULONG const TaxFormatRange = {0, 6};
|
||||
CPU_INT08U const TaxFormatName[] = "Налог:";
|
||||
CPU_INT08U const TaxFormatList_str0[] = "откл.";
|
||||
CPU_INT08U const TaxFormatList_str1[] = " 1 ";
|
||||
CPU_INT08U const TaxFormatList_str2[] = " 2 ";
|
||||
CPU_INT08U const TaxFormatList_str3[] = " 3 ";
|
||||
CPU_INT08U const TaxFormatList_str4[] = " 4 ";
|
||||
CPU_INT08U const TaxFormatList_str5[] = " 5 ";
|
||||
CPU_INT08U const TaxFormatList_str6[] = " 6 ";
|
||||
CPU_INT08U const *TaxFormatList[] = {TaxFormatList_str0, TaxFormatList_str1, TaxFormatList_str2, TaxFormatList_str3, TaxFormatList_str4, TaxFormatList_str5, TaxFormatList_str6};
|
||||
|
||||
TDataDescStruct const TaxFormatDesc = {
|
||||
DATA_DESC_EDIT, // тип дескриптора
|
||||
DATA_TYPE_ULONG, // тип параметра
|
||||
DATA_LOC_FRAM, // расположение параметра
|
||||
DATA_NO_ARRAY, // признак массива
|
||||
0, // размер массива
|
||||
0, // указатель на дескриптор индекса массива
|
||||
(void*)offsetof(TFramMap, TaxFormat), // указатель на переменную или адрес FRAM
|
||||
(void*)&TaxFormatRange, // указатель на границы параметра
|
||||
NULL, // функция по изменению
|
||||
sizeof(CPU_INT32U), // смещение между элементами в массиве
|
||||
TaxFormatName, // указатель на строку названия параметра
|
||||
DATA_IS_INDEX, // признак индексного параметра (список строк)
|
||||
TaxFormatList, // указатель на список строк для индексного параметра
|
||||
DATA_INIT_DISABLE,
|
||||
0
|
||||
};
|
||||
|
||||
/*************************************
|
||||
Предмет расчета
|
||||
*************************************/
|
||||
TRangeValueULONG const SubjSellRange = {0, 2};
|
||||
CPU_INT08U const SubjSellName[] = "Предм.расчета";
|
||||
CPU_INT08U const SubjSellList_str0[] = "ТОВАР";
|
||||
CPU_INT08U const SubjSellList_str1[] = "РАБОТА";
|
||||
CPU_INT08U const SubjSellList_str2[] = "УСЛУГА";
|
||||
CPU_INT08U const *SubjSellList[] = {SubjSellList_str0, SubjSellList_str1, SubjSellList_str2};
|
||||
|
||||
TDataDescStruct const SubjSellDesc = {
|
||||
DATA_DESC_EDIT, // тип дескриптора
|
||||
DATA_TYPE_ULONG, // тип параметра
|
||||
DATA_LOC_FRAM, // расположение параметра
|
||||
DATA_NO_ARRAY, // признак массива
|
||||
0, // размер массива
|
||||
0, // указатель на дескриптор индекса массива
|
||||
(void*)offsetof(TFramMap, SubjSell), // указатель на переменную или адрес FRAM
|
||||
(void*)&SubjSellRange, // указатель на границы параметра
|
||||
NULL, // функция по изменению
|
||||
sizeof(CPU_INT32U), // смещение между элементами в массиве
|
||||
SubjSellName, // указатель на строку названия параметра
|
||||
DATA_IS_INDEX, // признак индексного параметра (список строк)
|
||||
SubjSellList, // указатель на список строк для индексного параметра
|
||||
DATA_INIT_DISABLE,
|
||||
0
|
||||
};
|
||||
|
||||
/*************************************
|
||||
Тип команд работы с чеком
|
||||
*************************************/
|
||||
TRangeValueULONG const CommandV2Range = {0, 1};
|
||||
CPU_INT08U const CommandV2Name[] = "Тип команд";
|
||||
CPU_INT08U const CommandV2List_str0[] = "старый";
|
||||
CPU_INT08U const CommandV2List_str1[] = "V2";
|
||||
CPU_INT08U const *CommandV2List[] = {CommandV2List_str0, CommandV2List_str1};
|
||||
|
||||
TDataDescStruct const CommandV2Desc = {
|
||||
DATA_DESC_EDIT, // тип дескриптора
|
||||
DATA_TYPE_ULONG, // тип параметра
|
||||
DATA_LOC_FRAM, // расположение параметра
|
||||
DATA_NO_ARRAY, // признак массива
|
||||
0, // размер массива
|
||||
0, // указатель на дескриптор индекса массива
|
||||
(void*)offsetof(TFramMap, CommandV2), // указатель на переменную или адрес FRAM
|
||||
(void*)&CommandV2Range, // указатель на границы параметра
|
||||
NULL, // функция по изменению
|
||||
sizeof(CPU_INT32U), // смещение между элементами в массиве
|
||||
CommandV2Name, // указатель на строку названия параметра
|
||||
DATA_IS_INDEX, // признак индексного параметра (список строк)
|
||||
CommandV2List, // указатель на список строк для индексного параметра
|
||||
DATA_INIT_DISABLE,
|
||||
1
|
||||
};
|
||||
|
||||
/*************************************
|
||||
Название услуги
|
||||
@ -2792,6 +2800,12 @@ const TDataDescArrayStruct AllDataArray[] = {
|
||||
&DeferredStartDesc,
|
||||
&StartButtonNameDesc,
|
||||
|
||||
&TaxSystemDesc,
|
||||
&TaxFormatDesc,
|
||||
&SubjSellDesc,
|
||||
&DisableFiscalErrorsDesc,
|
||||
&CommandV2Desc,
|
||||
|
||||
NULL
|
||||
};
|
||||
|
||||
|
||||
@ -185,5 +185,9 @@ extern TDataDescStruct const IncasSendFlagDesc;
|
||||
extern TDataDescStruct const IncasMoneyDesc;
|
||||
extern TDataDescStruct const IncasTimeDesc;
|
||||
|
||||
extern TDataDescStruct const TaxFormatDesc;
|
||||
extern TDataDescStruct const SubjSellDesc;
|
||||
extern TDataDescStruct const CommandV2Desc;
|
||||
extern TDataDescStruct const TaxSystemDesc;
|
||||
|
||||
#endif //#ifndef _DATADESC_H_
|
||||
|
||||
@ -37,6 +37,11 @@ typedef struct{
|
||||
CPU_INT32U StartButtonName;
|
||||
|
||||
CPU_INT32U DefferedStartEnabled[CHANNELS_NUM];
|
||||
|
||||
|
||||
CPU_INT32U TaxFormat;
|
||||
CPU_INT32U SubjSell;
|
||||
CPU_INT32U CommandV2;
|
||||
CPU_INT32U TaxSystem;
|
||||
|
||||
}TFramMap;
|
||||
|
||||
|
||||
@ -915,21 +915,49 @@ const TMenuLine line_FrMenu_3 = {
|
||||
};
|
||||
|
||||
const TMenuLine line_FrMenu_4 = {
|
||||
MENU_LINE_SHOW_DESC,
|
||||
0,
|
||||
(void*)&CommandV2Desc,
|
||||
NULL
|
||||
};
|
||||
|
||||
const TMenuLine line_FrMenu_5 = {
|
||||
MENU_LINE_SHOW_DESC,
|
||||
0,
|
||||
(void*)&TaxSystemDesc,
|
||||
NULL
|
||||
};
|
||||
|
||||
const TMenuLine line_FrMenu_6 = {
|
||||
MENU_LINE_SHOW_DESC,
|
||||
0,
|
||||
(void*)&TaxFormatDesc,
|
||||
NULL
|
||||
};
|
||||
|
||||
const TMenuLine line_FrMenu_7 = {
|
||||
MENU_LINE_SHOW_DESC,
|
||||
0,
|
||||
(void*)&SubjSellDesc,
|
||||
NULL
|
||||
};
|
||||
|
||||
const TMenuLine line_FrMenu_8 = {
|
||||
MENU_LINE_SHOW_DESC, // ??? ?????? ????
|
||||
0, // ???. ?????
|
||||
(void*)&ServiceNameDesc, // ????????? ?? ????????? ?????? ??? ??????????
|
||||
NULL // ?????? ??? ????????
|
||||
};
|
||||
|
||||
const TMenuLine line_FrMenu_5 = {
|
||||
const TMenuLine line_FrMenu_9 = {
|
||||
MENU_LINE_SHOW_DESC,
|
||||
0,
|
||||
(void*)&DisableFiscalErrorsDesc,
|
||||
NULL
|
||||
};
|
||||
|
||||
const TMenuLineArray arr_FrMenuArray[] = {&line_FrMenu_0, &line_FrMenu_1, &line_FrMenu_2, &line_FrMenu_3, &line_FrMenu_4, &line_FrMenu_5, NULL};
|
||||
const TMenuPanel FrMenuPanel[] = {arr_FrMenuArray, NULL, 6, MENU_PANEL_STANDARD};
|
||||
const TMenuLineArray arr_FrMenuArray[] = {&line_FrMenu_0, &line_FrMenu_1, &line_FrMenu_2, &line_FrMenu_3, &line_FrMenu_4, &line_FrMenu_5, &line_FrMenu_6, &line_FrMenu_7, &line_FrMenu_8, &line_FrMenu_9, NULL};
|
||||
const TMenuPanel FrMenuPanel[] = {arr_FrMenuArray, NULL, 10, MENU_PANEL_STANDARD};
|
||||
|
||||
/***********************************
|
||||
ÌÅÍÞ ÍÀÑÒÐÎÉÊÀ ÌÎÍÅÒÎÏÐÈÅÌÍÈÊÀ
|
||||
|
||||
@ -136,6 +136,13 @@ void InitImpInput (void)
|
||||
FIO0DIR_bit.P0_23 = 0;
|
||||
FIO0MASK_bit.P0_23 = 0;
|
||||
|
||||
// inhibit
|
||||
// PINSEL1_bit.P0_24 = 0x0;
|
||||
// PINMODE1_bit.P0_24 = 0;
|
||||
// FIO0DIR_bit.P0_24 = 1;
|
||||
// FIO0MASK_bit.P0_24 = 0;
|
||||
// FIO0SET_bit.P0_24 = 1;
|
||||
|
||||
pclk_freq = BSP_CPU_PclkFreq(23);
|
||||
rld_cnts = pclk_freq / INPUT_CAPTURE_FREQ;
|
||||
|
||||
|
||||
@ -75,19 +75,8 @@ int CheckFiscalStatus()
|
||||
memcpy(&flags, &FiscFullStatus.Flags, sizeof(CPU_INT16U));
|
||||
|
||||
// КРИТИЧНЫЕ ФЛАГИ:
|
||||
// ЭКЛЗ (0 – нет, 1 – есть)
|
||||
if (!(flags & (1L<<5)))
|
||||
{
|
||||
// нет ЭКЛЗ
|
||||
SetFiscalErrorByCode(FR_ERROR_CODE_a1);
|
||||
return -3;
|
||||
}
|
||||
else
|
||||
{
|
||||
ClrFiscalErrorByCode(FR_ERROR_CODE_a1);
|
||||
}
|
||||
|
||||
ClrFiscalErrorByCode(FR_ERROR_CODE_6b);
|
||||
|
||||
ClrFiscalErrorByCode(FR_ERROR_CODE_6B);
|
||||
// ПОДРЕЖИМ
|
||||
switch (FiscFullStatus.SubMode)
|
||||
{
|
||||
@ -95,17 +84,17 @@ int CheckFiscalStatus()
|
||||
// 1. Пассивное отсутствие бумаги – ФР не в фазе печати операции – не принимает от
|
||||
// хоста команды, связанные с печатью на том документе, датчик которого сообщает об
|
||||
// отсутствии бумаги.
|
||||
SetFiscalErrorByCode(FR_ERROR_CODE_6b);
|
||||
SetFiscalErrorByCode(FR_ERROR_CODE_6B);
|
||||
return -4;
|
||||
case 2:
|
||||
// 2. Активное отсутствие бумаги – ФР в фазе печати операции – принимает только
|
||||
// команды, не связанные с печатью. Переход из этого подрежима только в подрежим 3.
|
||||
SetFiscalErrorByCode(FR_ERROR_CODE_6b);
|
||||
SetFiscalErrorByCode(FR_ERROR_CODE_6B);
|
||||
return -5;
|
||||
case 3:
|
||||
// 3. После активного отсутствия бумаги – ФР ждет команду продолжения печати. Кроме
|
||||
// этого принимает команды, не связанные с печатью.
|
||||
SetFiscalErrorByCode(FR_ERROR_CODE_6b);
|
||||
SetFiscalErrorByCode(FR_ERROR_CODE_6B);
|
||||
// допечатываем чек
|
||||
FiscPrintContinue(DEFAULT_PASS, &err);
|
||||
return -6;
|
||||
@ -146,7 +135,7 @@ int CheckFiscalStatus()
|
||||
// закрываем смену в буфер
|
||||
FiscPrintDayReportToBuf(30, &err);
|
||||
// как только переполнение буфера, печатаем из буфера
|
||||
if (err == FR_ERROR_CODE_4b)
|
||||
if (err == FR_ERROR_CODE_4B)
|
||||
{
|
||||
SetFiscalErrorByCode(err);
|
||||
SaveEventRecord(0, JOURNAL_EVENT_PRINT_BUF, GetTimeSec());
|
||||
@ -177,22 +166,38 @@ int CheckFiscalStatus()
|
||||
else if (autoclose==0)
|
||||
{
|
||||
// ошибка - должен прийти оператор и закрыть смену
|
||||
SetFiscalErrorByCode(FR_ERROR_CODE_4e);
|
||||
return -11;
|
||||
SetFiscalErrorByCode(FR_ERROR_CODE_4E);
|
||||
goto check_exit;
|
||||
//return -11;
|
||||
}
|
||||
}
|
||||
goto check_exit;
|
||||
case 4:
|
||||
// 4. Закрытая смена.
|
||||
// îòêðûâàåì ñìåíó
|
||||
if (FiscOpenDay(DEFAULT_PASS, &err) != FISC_OK)
|
||||
{
|
||||
if (err)
|
||||
{
|
||||
SetFiscalErrorByCode(err);
|
||||
}
|
||||
else
|
||||
{
|
||||
ClearFiscalErrors();
|
||||
FiscalConnState = FISCAL_NOCONN;
|
||||
SetErrorFlag(ERROR_FR_CONN);
|
||||
}
|
||||
return -12;
|
||||
}
|
||||
ClearFiscalErrors();
|
||||
goto check_exit;
|
||||
case 5:
|
||||
// 5. Блокировка по неправильному паролю налогового инспектора.
|
||||
SetFiscalErrorByCode(FR_ERROR_CODE_4f);
|
||||
SetFiscalErrorByCode(FR_ERROR_CODE_4F);
|
||||
goto check_exit;
|
||||
case 6:
|
||||
// 6. Ожидание подтверждения ввода даты.
|
||||
SetFiscalErrorByCode(FR_ERROR_CODE_c0);
|
||||
SetFiscalErrorByCode(FR_ERROR_CODE_C0);
|
||||
goto check_exit;
|
||||
case 8:
|
||||
// 8. Открытый документ:
|
||||
@ -201,6 +206,7 @@ int CheckFiscalStatus()
|
||||
// 8.2. Возврат продажи.
|
||||
// 8.3. Возврат покупки.
|
||||
// 8.4. Нефискальный.
|
||||
/*
|
||||
{
|
||||
CPU_INT64U cash = 0;
|
||||
CPU_INT08U tax[4] = {0,0,0,0};
|
||||
@ -208,9 +214,10 @@ int CheckFiscalStatus()
|
||||
if (err)
|
||||
{
|
||||
SetFiscalErrorByCode(err);
|
||||
return -11;
|
||||
return -13;
|
||||
}
|
||||
}
|
||||
*/
|
||||
goto check_exit;
|
||||
case 12:
|
||||
// идет печать Z-отчета
|
||||
@ -248,11 +255,11 @@ int ConnectFiscal(void)
|
||||
// поллим
|
||||
for (j = FISCAL_BAUDS_COUNT-1; j >= 0; j--)
|
||||
{
|
||||
Uart0_Init(fiscal_bauds[j]);
|
||||
i = 10;
|
||||
do
|
||||
{
|
||||
OSTimeDly(100);
|
||||
Uart0_Init(fiscal_bauds[j]);
|
||||
poll = FiscPollExt();
|
||||
if ((poll == FISC_READY) || (poll == FISC_BUSY)) break;
|
||||
} while (--i);
|
||||
@ -323,10 +330,11 @@ int ConnectFiscalFast(void)
|
||||
// поллим
|
||||
for (j = FISCAL_BAUDS_COUNT-1; j >= 0; j--)
|
||||
{
|
||||
Uart0_Init(fiscal_bauds[j]);
|
||||
i = 2;
|
||||
do
|
||||
{
|
||||
OSTimeDly(100);
|
||||
Uart0_Init(fiscal_bauds[j]);
|
||||
poll = FiscPollExt();
|
||||
if ((poll == FISC_READY) || (poll == FISC_BUSY)) break;
|
||||
} while (--i);
|
||||
@ -400,13 +408,14 @@ void InitFiscal(void)
|
||||
|
||||
int IsFiscalConnected(void)
|
||||
{
|
||||
int retval = 0;
|
||||
CPU_INT32U enable;
|
||||
#if OS_CRITICAL_METHOD == 3
|
||||
OS_CPU_SR cpu_sr = 0;
|
||||
#endif
|
||||
GetData(&EnableFiscalDesc, &enable, 0, DATA_FLAG_SYSTEM_INDEX);
|
||||
OS_ENTER_CRITICAL();
|
||||
int retval;
|
||||
if (FiscalConnState == FISCAL_CONN) retval=1;
|
||||
else retval=0;
|
||||
if ((enable) && (FiscalConnState == FISCAL_CONN)) retval=1;
|
||||
OS_EXIT_CRITICAL();
|
||||
return retval;
|
||||
}
|
||||
@ -473,154 +482,117 @@ void ClearFiscalErrors(void)
|
||||
}
|
||||
}
|
||||
|
||||
static const CPU_INT08U error_codes[FR_ERROR_NUMBER] = {
|
||||
0x1,//Неисправен накопитель ФП 1, ФП 2 или часы
|
||||
0x2,//Отсутствует ФП 1
|
||||
0x3,//Отсутствует ФП 2
|
||||
0x4,//Некорректные параметры в команде обращения к ФП
|
||||
0x5,//Нет запрошенных данных
|
||||
0x6,//ФП в режиме вывода данных
|
||||
0x7,//Некорректные параметры в команде для данной реализации ФП
|
||||
0x8,//Команда не поддерживается в данной реализации ФП
|
||||
0x9,//Некорректная длина команды
|
||||
0x0A,//Формат данных не BCD
|
||||
0x0B,//Неисправна ячейка памяти ФП при записи итога
|
||||
0x11,//Не введена лицензия
|
||||
0x12,//Заводской номер уже введен
|
||||
0x13,//Текущая дата меньше даты последней записи в ФП
|
||||
0x14,//Область сменных итогов ФП переполнена
|
||||
0x15,//Смена уже открыта
|
||||
0x16,//Смена не открыта,//
|
||||
0x17,//Номер первой смены больше номера последней смены,//
|
||||
0x18,//Дата первой смены больше даты последней смены,//
|
||||
0x19,//Нет данных в ФП,//
|
||||
0x1A,//Область перерегистраций в ФП переполнена,//
|
||||
0x1B,//Заводской номер не введен,//
|
||||
0x1C,//В заданном диапазоне есть поврежденная запись,//
|
||||
0x1D,//Повреждена последняя запись сменных итогов,//
|
||||
0x1F,//Отсутствует память регистров,//
|
||||
0x20,//Переполнение денежного регистра при добавлении,//
|
||||
0x21,//Вычитаемая сумма больше содержимого денежного регистра,//
|
||||
0x22,//Неверная дата,//
|
||||
0x23,//Нет записи активизации,//
|
||||
0x24,//Область активизаций переполнена,//
|
||||
0x25,//Нет активизации с запрашиваемым номером,//
|
||||
0x28,//В ФР более 2х сбойных записей,//
|
||||
0x33,//Некорректные параметры в команде,//
|
||||
0x35,//Некорректный параметр при данных настройках,//
|
||||
0x36,//Некорректные параметры в команде для данной реализации ФР,//
|
||||
0x37,//Команда не поддерживается в данной реализации ФР,//
|
||||
0x38,//Ошибка в ПЗУ,//+
|
||||
0x39,//Внутренняя ошибка ПО ФР,//
|
||||
0x3A,//Переполнение накопления по надбавкам в смене,//
|
||||
0x3C,//ЭКЛЗ: неверный регистрационный номер,//
|
||||
0x3E,//Переполнение накопления по секциям в смене,//
|
||||
0x3F,//Переполнение накопления по скидкам в смене,//
|
||||
0x40,//Переполнение диапазона скидок,//
|
||||
0x41,//Переполнение диапазона оплаты наличными,//
|
||||
0x42,//Переполнение диапазона оплаты типом 2,//
|
||||
0x43,//Переполнение диапазона оплаты типом 3,//
|
||||
0x44,//Переполнение диапазона оплаты типом 4
|
||||
0x45,//Cумма всех типов оплаты меньше итога чека,//
|
||||
0x46,//Не хватает наличности в кассе,//
|
||||
0x47,//Переполнение накопления по налогам в смене,//
|
||||
0x48,//Переполнение итога чека,//
|
||||
0x4A,//Открыт чек - операция невозможна,//
|
||||
0x4B,//Буфер чека переполнен,//
|
||||
0x4C,//Переполнение накопления по обороту налогов в смене,//
|
||||
0x4D,//Вносимая безналичной оплатой сумма больше суммы чека,//
|
||||
0x4E,//Смена превысила 24 часа,//
|
||||
0x4F,//Неверный пароль,//
|
||||
0x50,//Идет печать предыдущей команды,//
|
||||
0x51,//Переполнение накоплений наличными в смене,//
|
||||
0x52,//Переполнение накоплений по типу оплаты 2 в смене,//
|
||||
0x53,//Переполнение накоплений по типу оплаты 3 в смене,//
|
||||
0x54,//Переполнение накоплений по типу оплаты 4 в смене,//
|
||||
0x56,//Нет документа для повтора,//
|
||||
0x57,//ЭКЛЗ: количество закрытых смен не совпадает с ФП,//
|
||||
0x58,//Ожидание команды продолжения печати,//
|
||||
0x59,//Документ открыт другим оператором,//
|
||||
0x5B,//Переполнение диапазона надбавок,//
|
||||
0x5C,//Понижено напряжение 24В
|
||||
0x5D,//Таблица не определена,//
|
||||
0x5E,//Некорректная операция,//
|
||||
0x5F,//Отрицательный итог чека,//
|
||||
0x60,//Переполнение при умножении,//
|
||||
0x61,//Переполнение диапазона цены,//
|
||||
0x62,//Переполнение диапазона количества,//
|
||||
0x63,//Переполнение диапазона отдела,//
|
||||
0x64,//ФП отсутствует,//+
|
||||
0x65,//Не хватает денег в секции,//
|
||||
0x66,//Переполнение денег в секции,//
|
||||
0x67,//Ошибка связи с ФП,//+
|
||||
0x68,//Не хватает денег по обороту налогов,//
|
||||
0x69,//Переполнение денег по обороту налогов,//
|
||||
0x6A,//Ошибка питания в момент ответа по I
|
||||
0x6B,//Нет чековой ленты,//
|
||||
0x6C,//Нет контрольной ленты,//
|
||||
0x6D,//Не хватает денег по налогу,//
|
||||
0x6E,//Переполнение денег по налогу,//
|
||||
0x6F,//Переполнение по выплате в смене,//
|
||||
0x70,//Переполнение ФП,//
|
||||
0x71,//Ошибка отрезчика,//+
|
||||
0x72,//Команда не поддерживается в данном подрежиме,//
|
||||
0x73,//Команда не поддерживается в данном режиме,//
|
||||
0x74,//Ошибка ОЗУ,//
|
||||
0x75,//Ошибка питания,//+
|
||||
0x76,//Ошибка принтера: нет импульсов с тахогенератора,//+
|
||||
0x77,//Ошибка принтера: нет сигнала с датчиков,//+
|
||||
0x78,//Замена ПО,//
|
||||
0x79,//Замена ФП,//
|
||||
0x7A,//Поле не редактируется
|
||||
0x7B,//Ошибка оборудования,//
|
||||
0x7C,//Не совпадает дата,//
|
||||
0x7D,//Неверный формат даты,//
|
||||
0x7E,//Неверное значение в поле длины,//
|
||||
0x7F,//Переполнение диапазона итога чека,//
|
||||
0x80,//Ошибка связи с ФП,//+
|
||||
0x81,//Ошибка связи с ФП,//+
|
||||
0x82,//Ошибка связи с ФП,//+
|
||||
0x83,//Ошибка связи с ФП,//+
|
||||
0x84,//Переполнение наличности,//
|
||||
0x85,//Переполнение по продажам в смене,//
|
||||
0x86,//Переполнение по покупкам в смене,//
|
||||
0x87,//Переполнение по возвратам продаж в смене,//
|
||||
0x88,//Переполнение по возвратам покупок в смене,//
|
||||
0x89,//Переполнение по внесению в смене,//
|
||||
0x8A,//Переполнение по надбавкам в чеке,//
|
||||
0x8B,//Переполнение по скидкам в чеке,//
|
||||
0x8C,//Отрицательный итог надбавки в чеке,//
|
||||
0x8D,//Отрицательный итог скидки в чеке,//
|
||||
0x8E,//Нулевой итог чека,//
|
||||
0x8F,//Касса не фискализирована,//,//
|
||||
0x90,//Поле превышает размер, установленный в настройках
|
||||
0x91,//Выход за границу поля печати при данных настройках шрифта
|
||||
0x92,//Наложение полей
|
||||
0x93,//Восстановление ОЗУ прошло успешно
|
||||
0x94,//Исчерпан лимит операций в чеке
|
||||
0xA0,//Ошибка связи с ЭКЛЗ
|
||||
0xA1,//ЭКЛЗ отсутствует
|
||||
0xA2,//ЭКЛЗ: Некорректный формат или параметр команды
|
||||
0xA3,//Некорректное состояние ЭКЛЗ
|
||||
0xA4,//Авария ЭКЛЗ
|
||||
0xA5,//Авария КС в составе ЭКЛЗ
|
||||
0xA6,//Исчерпан временной ресурс ЭКЛЗ
|
||||
0xA7,//ЭКЛЗ переполнена
|
||||
0xA8,//ЗКЛЗ: Неверные дата и время
|
||||
0xA9,//ЭКЛЗ: Нет запрошенных данных
|
||||
0xAA,//Переполнение ЭКЛЗ (отрицательный итог документа)
|
||||
0xB0,//ЭКЛЗ: Переполнение в параметре количество
|
||||
0xB1,//ЭКЛЗ: Переполнение в параметре сумма
|
||||
0xB2,//ЭКЛЗ: Уже активизирована
|
||||
0xC0,//Контроль даты и времени (подтвердите дату и время)
|
||||
0xC1,//ЭКЛЗ: суточный отч?т с гашением прервать нельзя
|
||||
0xC2,//Превышение напряжения в блоке питания
|
||||
0xC3,//Несовпадение итогов чека и ЭКЛЗ
|
||||
0xC4,//Несовпадение номеров смен
|
||||
//0xC5,//Буфер подкладного документа пуст
|
||||
//0xC6,//Подкладной документ отсутствует,//
|
||||
//0xC7,//Поле не редактируется в данном режиме
|
||||
//0xC8,//Отсутствуют,//импульсы от таходатчика
|
||||
static const CPU_INT08U fr_error_codes[FR_ERROR_NUMBER] =
|
||||
{
|
||||
FR_ERROR_CODE_1,
|
||||
FR_ERROR_CODE_2,
|
||||
FR_ERROR_CODE_3,
|
||||
FR_ERROR_CODE_4,
|
||||
FR_ERROR_CODE_5,
|
||||
FR_ERROR_CODE_6,
|
||||
FR_ERROR_CODE_7,
|
||||
FR_ERROR_CODE_8,
|
||||
FR_ERROR_CODE_9,
|
||||
FR_ERROR_CODE_10,
|
||||
FR_ERROR_CODE_11,
|
||||
FR_ERROR_CODE_12,
|
||||
FR_ERROR_CODE_14,
|
||||
FR_ERROR_CODE_15,
|
||||
FR_ERROR_CODE_16,
|
||||
FR_ERROR_CODE_17,
|
||||
FR_ERROR_CODE_20,
|
||||
FR_ERROR_CODE_2F,
|
||||
FR_ERROR_CODE_30,
|
||||
FR_ERROR_CODE_33,
|
||||
FR_ERROR_CODE_34,
|
||||
FR_ERROR_CODE_35,
|
||||
FR_ERROR_CODE_36,
|
||||
FR_ERROR_CODE_37,
|
||||
FR_ERROR_CODE_38,
|
||||
FR_ERROR_CODE_39,
|
||||
FR_ERROR_CODE_3a,
|
||||
FR_ERROR_CODE_3c,
|
||||
FR_ERROR_CODE_3D,
|
||||
FR_ERROR_CODE_3E,
|
||||
FR_ERROR_CODE_3F,
|
||||
FR_ERROR_CODE_40,
|
||||
FR_ERROR_CODE_41,
|
||||
FR_ERROR_CODE_42,
|
||||
FR_ERROR_CODE_43,
|
||||
FR_ERROR_CODE_44,
|
||||
FR_ERROR_CODE_45,
|
||||
FR_ERROR_CODE_46,
|
||||
FR_ERROR_CODE_47,
|
||||
FR_ERROR_CODE_48,
|
||||
FR_ERROR_CODE_49,
|
||||
FR_ERROR_CODE_4A,
|
||||
FR_ERROR_CODE_4B,
|
||||
FR_ERROR_CODE_4C,
|
||||
FR_ERROR_CODE_4D,
|
||||
FR_ERROR_CODE_4E,
|
||||
FR_ERROR_CODE_4F,
|
||||
FR_ERROR_CODE_50,
|
||||
FR_ERROR_CODE_51,
|
||||
FR_ERROR_CODE_52,
|
||||
FR_ERROR_CODE_53,
|
||||
FR_ERROR_CODE_54,
|
||||
FR_ERROR_CODE_55,
|
||||
FR_ERROR_CODE_56,
|
||||
FR_ERROR_CODE_58,
|
||||
FR_ERROR_CODE_59,
|
||||
FR_ERROR_CODE_5B,
|
||||
FR_ERROR_CODE_5C,
|
||||
FR_ERROR_CODE_5D,
|
||||
FR_ERROR_CODE_5E,
|
||||
FR_ERROR_CODE_5F,
|
||||
FR_ERROR_CODE_60,
|
||||
FR_ERROR_CODE_61,
|
||||
FR_ERROR_CODE_62,
|
||||
FR_ERROR_CODE_63,
|
||||
FR_ERROR_CODE_65,
|
||||
FR_ERROR_CODE_66,
|
||||
FR_ERROR_CODE_68,
|
||||
FR_ERROR_CODE_69,
|
||||
FR_ERROR_CODE_6A,
|
||||
FR_ERROR_CODE_6B,
|
||||
FR_ERROR_CODE_6C,
|
||||
FR_ERROR_CODE_6D,
|
||||
FR_ERROR_CODE_6E,
|
||||
FR_ERROR_CODE_6F,
|
||||
FR_ERROR_CODE_71,
|
||||
FR_ERROR_CODE_72,
|
||||
FR_ERROR_CODE_73,
|
||||
FR_ERROR_CODE_74,
|
||||
FR_ERROR_CODE_75,
|
||||
FR_ERROR_CODE_77,
|
||||
FR_ERROR_CODE_78,
|
||||
FR_ERROR_CODE_7A,
|
||||
FR_ERROR_CODE_7B,
|
||||
FR_ERROR_CODE_7C,
|
||||
FR_ERROR_CODE_7D,
|
||||
FR_ERROR_CODE_7E,
|
||||
FR_ERROR_CODE_7F,
|
||||
FR_ERROR_CODE_84,
|
||||
FR_ERROR_CODE_85,
|
||||
FR_ERROR_CODE_86,
|
||||
FR_ERROR_CODE_87,
|
||||
FR_ERROR_CODE_88,
|
||||
FR_ERROR_CODE_89,
|
||||
FR_ERROR_CODE_8A,
|
||||
FR_ERROR_CODE_8B,
|
||||
FR_ERROR_CODE_8C,
|
||||
FR_ERROR_CODE_8D,
|
||||
FR_ERROR_CODE_8E,
|
||||
FR_ERROR_CODE_90,
|
||||
FR_ERROR_CODE_91,
|
||||
FR_ERROR_CODE_92,
|
||||
FR_ERROR_CODE_93,
|
||||
FR_ERROR_CODE_94,
|
||||
FR_ERROR_CODE_C0,
|
||||
FR_ERROR_CODE_C2,
|
||||
FR_ERROR_CODE_C4,
|
||||
FR_ERROR_CODE_C7,
|
||||
FR_ERROR_CODE_C8
|
||||
};
|
||||
|
||||
// установка глобального флага ошибки ФР по ошибки коду драйвера
|
||||
@ -629,7 +601,7 @@ void SetFiscalErrorByCode(CPU_INT08U err)
|
||||
if (!err) return;
|
||||
for (unsigned char i=0; i<FR_ERROR_NUMBER; i++)
|
||||
{
|
||||
if (error_codes[i] == err)
|
||||
if (fr_error_codes[i] == err)
|
||||
{
|
||||
SetErrorFlag(ERROR_FR+i);
|
||||
break;
|
||||
@ -642,7 +614,7 @@ void ClrFiscalErrorByCode(CPU_INT08U err)
|
||||
{
|
||||
for (unsigned char i=0; i<FR_ERROR_NUMBER; i++)
|
||||
{
|
||||
if (error_codes[i] == err)
|
||||
if (fr_error_codes[i] == err)
|
||||
{
|
||||
ClrErrorFlag(ERROR_FR+i);
|
||||
break;
|
||||
@ -661,6 +633,16 @@ int PrintFiscalBill(CPU_INT32U money, CPU_INT32U time)
|
||||
CPU_INT08U tax[4] = {0,0,0,0};
|
||||
CPU_INT32U format = 0;
|
||||
CPU_INT08U repeat;
|
||||
CPU_INT32U tax1;
|
||||
CPU_INT08U subj;
|
||||
CPU_INT32U subj32;
|
||||
CPU_INT32U ext;
|
||||
|
||||
GetData(&TaxFormatDesc, &tax1, 0, DATA_FLAG_SYSTEM_INDEX);
|
||||
tax[0] = (CPU_INT08U)tax1;
|
||||
GetData(&SubjSellDesc, &subj32, 0, DATA_FLAG_SYSTEM_INDEX);
|
||||
subj = (CPU_INT08U)subj32;
|
||||
GetData(&CommandV2Desc, &ext, 0, DATA_FLAG_SYSTEM_INDEX);
|
||||
|
||||
FPend();
|
||||
|
||||
@ -718,8 +700,14 @@ repeat_open:
|
||||
|
||||
repeat_sell1:
|
||||
|
||||
if (ext)
|
||||
{
|
||||
count *= 1000;
|
||||
}
|
||||
|
||||
// печатаем количество минут
|
||||
if (FiscMakeSell(DEFAULT_PASS, &count, &price, 0, &tax[0], "Услуги солярия, мин.", &err) != FISC_OK)
|
||||
if (((ext == 0) && (FiscMakeSell(DEFAULT_PASS, &count, &price, 0, &tax[0], "Óñëóãè ñîëÿðèÿ, ìèí.", &err) != FISC_OK))
|
||||
|| ((ext) && (FiscMakeSellV2(DEFAULT_PASS, &count, &price, 0, &tax[0], subj, "Óñëóãè ñîëÿðèÿ, ìèí.", &err) != FISC_OK)))
|
||||
{
|
||||
if (err)
|
||||
{
|
||||
@ -763,7 +751,10 @@ repeat_sell2:
|
||||
// печатаем только общую сумму
|
||||
count = 1000;
|
||||
price = money*100;
|
||||
if (FiscMakeSell(DEFAULT_PASS, &count, &price, 0, &tax[0], "Услуги солярия", &err) != FISC_OK)
|
||||
if (ext) count *= 1000;
|
||||
|
||||
if (((ext == 0) && (FiscMakeSell(DEFAULT_PASS, &count, &price, 0, &tax[0], "Óñëóãè ñîëÿðèÿ", &err) != FISC_OK))
|
||||
|| ((ext) && (FiscMakeSellV2(DEFAULT_PASS, &count, &price, 0, &tax[0], subj, "Óñëóãè ñîëÿðèÿ", &err) != FISC_OK)))
|
||||
{
|
||||
if (err)
|
||||
{
|
||||
@ -795,15 +786,21 @@ repeat_sell2:
|
||||
return -400;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
repeat = 0;
|
||||
|
||||
repeat_close:
|
||||
|
||||
if (FiscCloseBill(DEFAULT_PASS, &cash, &tax[0], "Спасибо за покупку!!!", &err) != FISC_OK)
|
||||
if (ext)
|
||||
{
|
||||
GetData(&TaxSystemDesc, &tax1, 0, DATA_FLAG_SYSTEM_INDEX);
|
||||
tax[0] = (CPU_INT08U)tax1;
|
||||
}
|
||||
|
||||
if (((ext == 0) && (FiscCloseBill(DEFAULT_PASS, &cash, &tax[0], "Ñïàñèáî çà ïîêóïêó!!!", &err) != FISC_OK))
|
||||
|| ((ext) && (FiscCloseBillV2(DEFAULT_PASS, &cash, tax[0], "Ñïàñèáî çà ïîêóïêó!!!!", &err) != FISC_OK))
|
||||
)
|
||||
{
|
||||
if (err)
|
||||
{
|
||||
@ -841,28 +838,11 @@ repeat_close:
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
// печать чека на ФР с повторами, на случай закрытия смены
|
||||
int PrintFiscalBillRepeated(CPU_INT32U money, CPU_INT32U time)
|
||||
{
|
||||
int res = PrintFiscalBill(money, time);
|
||||
int i=4;
|
||||
|
||||
while ((res != 0) && (i>0))
|
||||
{
|
||||
OSTimeDly(5000);
|
||||
res = PrintFiscalBill(money, time);
|
||||
i--;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
*/
|
||||
|
||||
int TstFiscalErrorByCode(unsigned char code)
|
||||
{
|
||||
for (unsigned char i=0; i<FR_ERROR_NUMBER; i++)
|
||||
{
|
||||
if (error_codes[i] == code)
|
||||
if (fr_error_codes[i] == code)
|
||||
{
|
||||
return TstErrorFlag(ERROR_FR+i);
|
||||
}
|
||||
@ -874,7 +854,7 @@ CPU_INT08U GetFiscalErrorNumberByCode(unsigned char code)
|
||||
{
|
||||
for (unsigned char i=0; i<FR_ERROR_NUMBER; i++)
|
||||
{
|
||||
if (error_codes[i] == code)
|
||||
if (fr_error_codes[i] == code)
|
||||
{
|
||||
return i;
|
||||
}
|
||||
@ -882,79 +862,115 @@ CPU_INT08U GetFiscalErrorNumberByCode(unsigned char code)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define FR_CRITICAL_ERROR_NUM 70
|
||||
#define FR_CRITICAL_ERROR_NUM 105
|
||||
|
||||
const CPU_INT08U FiscalCriticalErrorsTable[FR_CRITICAL_ERROR_NUM] = {
|
||||
FR_ERROR_CODE_1,
|
||||
FR_ERROR_CODE_2,
|
||||
FR_ERROR_CODE_6,
|
||||
FR_ERROR_CODE_a,
|
||||
FR_ERROR_CODE_b,
|
||||
FR_ERROR_CODE_11,
|
||||
FR_ERROR_CODE_13,
|
||||
FR_ERROR_CODE_14,
|
||||
FR_ERROR_CODE_17,
|
||||
FR_ERROR_CODE_18,
|
||||
FR_ERROR_CODE_1a,
|
||||
FR_ERROR_CODE_1c,
|
||||
FR_ERROR_CODE_1d,
|
||||
FR_ERROR_CODE_1f,
|
||||
FR_ERROR_CODE_23,
|
||||
FR_ERROR_CODE_24,
|
||||
FR_ERROR_CODE_38,
|
||||
FR_ERROR_CODE_39,
|
||||
FR_ERROR_CODE_3a,
|
||||
FR_ERROR_CODE_3c,
|
||||
FR_ERROR_CODE_3e,
|
||||
FR_ERROR_CODE_3f,
|
||||
FR_ERROR_CODE_40,
|
||||
FR_ERROR_CODE_41,
|
||||
FR_ERROR_CODE_42,
|
||||
FR_ERROR_CODE_43,
|
||||
FR_ERROR_CODE_44,
|
||||
FR_ERROR_CODE_47,
|
||||
FR_ERROR_CODE_48,
|
||||
FR_ERROR_CODE_4c,
|
||||
FR_ERROR_CODE_4e,
|
||||
FR_ERROR_CODE_51,
|
||||
FR_ERROR_CODE_52,
|
||||
FR_ERROR_CODE_53,
|
||||
FR_ERROR_CODE_54,
|
||||
FR_ERROR_CODE_57,
|
||||
FR_ERROR_CODE_5b,
|
||||
FR_ERROR_CODE_64,
|
||||
FR_ERROR_CODE_67,
|
||||
FR_ERROR_CODE_6a,
|
||||
FR_ERROR_CODE_6b,
|
||||
FR_ERROR_CODE_70,
|
||||
FR_ERROR_CODE_71,
|
||||
FR_ERROR_CODE_74,
|
||||
FR_ERROR_CODE_75,
|
||||
FR_ERROR_CODE_76,
|
||||
FR_ERROR_CODE_77,
|
||||
FR_ERROR_CODE_78,
|
||||
FR_ERROR_CODE_79,
|
||||
FR_ERROR_CODE_7b,
|
||||
FR_ERROR_CODE_80,
|
||||
FR_ERROR_CODE_81,
|
||||
FR_ERROR_CODE_82,
|
||||
FR_ERROR_CODE_83,
|
||||
FR_ERROR_CODE_87,
|
||||
FR_ERROR_CODE_88,
|
||||
FR_ERROR_CODE_89,
|
||||
FR_ERROR_CODE_8a,
|
||||
FR_ERROR_CODE_8b,
|
||||
FR_ERROR_CODE_a0,
|
||||
FR_ERROR_CODE_a1,
|
||||
FR_ERROR_CODE_a3,
|
||||
FR_ERROR_CODE_a4,
|
||||
FR_ERROR_CODE_a5,
|
||||
FR_ERROR_CODE_a6,
|
||||
FR_ERROR_CODE_a7,
|
||||
FR_ERROR_CODE_a8,
|
||||
FR_ERROR_CODE_a9,
|
||||
FR_ERROR_CODE_c2,
|
||||
FR_ERROR_CODE_c4
|
||||
const CPU_INT08U FiscalCriticalErrorsTable[FR_CRITICAL_ERROR_NUM] =
|
||||
{
|
||||
FR_ERROR_CODE_1,
|
||||
FR_ERROR_CODE_2,
|
||||
FR_ERROR_CODE_3,
|
||||
FR_ERROR_CODE_4,
|
||||
FR_ERROR_CODE_5,
|
||||
FR_ERROR_CODE_6,
|
||||
FR_ERROR_CODE_7,
|
||||
FR_ERROR_CODE_8,
|
||||
FR_ERROR_CODE_9,
|
||||
FR_ERROR_CODE_10,
|
||||
FR_ERROR_CODE_11,
|
||||
FR_ERROR_CODE_12,
|
||||
FR_ERROR_CODE_14,
|
||||
FR_ERROR_CODE_15,
|
||||
FR_ERROR_CODE_16,
|
||||
FR_ERROR_CODE_17,
|
||||
FR_ERROR_CODE_30,
|
||||
FR_ERROR_CODE_33,
|
||||
FR_ERROR_CODE_34,
|
||||
FR_ERROR_CODE_35,
|
||||
FR_ERROR_CODE_36,
|
||||
FR_ERROR_CODE_37,
|
||||
FR_ERROR_CODE_38,
|
||||
FR_ERROR_CODE_39,
|
||||
FR_ERROR_CODE_3a,
|
||||
FR_ERROR_CODE_3c,
|
||||
FR_ERROR_CODE_3D,
|
||||
FR_ERROR_CODE_3E,
|
||||
FR_ERROR_CODE_3F,
|
||||
FR_ERROR_CODE_40,
|
||||
FR_ERROR_CODE_41,
|
||||
FR_ERROR_CODE_42,
|
||||
FR_ERROR_CODE_43,
|
||||
FR_ERROR_CODE_44,
|
||||
FR_ERROR_CODE_45,
|
||||
FR_ERROR_CODE_46,
|
||||
FR_ERROR_CODE_47,
|
||||
FR_ERROR_CODE_48,
|
||||
FR_ERROR_CODE_49,
|
||||
FR_ERROR_CODE_4A,
|
||||
FR_ERROR_CODE_4B,
|
||||
FR_ERROR_CODE_4C,
|
||||
FR_ERROR_CODE_4D,
|
||||
FR_ERROR_CODE_4E,
|
||||
FR_ERROR_CODE_4F,
|
||||
FR_ERROR_CODE_50,
|
||||
FR_ERROR_CODE_51,
|
||||
FR_ERROR_CODE_52,
|
||||
FR_ERROR_CODE_53,
|
||||
FR_ERROR_CODE_54,
|
||||
FR_ERROR_CODE_55,
|
||||
FR_ERROR_CODE_56,
|
||||
FR_ERROR_CODE_58,
|
||||
FR_ERROR_CODE_59,
|
||||
FR_ERROR_CODE_5B,
|
||||
FR_ERROR_CODE_5C,
|
||||
FR_ERROR_CODE_5D,
|
||||
FR_ERROR_CODE_5E,
|
||||
FR_ERROR_CODE_5F,
|
||||
FR_ERROR_CODE_60,
|
||||
FR_ERROR_CODE_61,
|
||||
FR_ERROR_CODE_62,
|
||||
FR_ERROR_CODE_63,
|
||||
FR_ERROR_CODE_65,
|
||||
FR_ERROR_CODE_66,
|
||||
FR_ERROR_CODE_68,
|
||||
FR_ERROR_CODE_69,
|
||||
FR_ERROR_CODE_6A,
|
||||
FR_ERROR_CODE_6B,
|
||||
FR_ERROR_CODE_6C,
|
||||
FR_ERROR_CODE_6D,
|
||||
FR_ERROR_CODE_6E,
|
||||
FR_ERROR_CODE_6F,
|
||||
FR_ERROR_CODE_72,
|
||||
FR_ERROR_CODE_73,
|
||||
FR_ERROR_CODE_74,
|
||||
FR_ERROR_CODE_75,
|
||||
FR_ERROR_CODE_77,
|
||||
FR_ERROR_CODE_78,
|
||||
FR_ERROR_CODE_7A,
|
||||
FR_ERROR_CODE_7B,
|
||||
FR_ERROR_CODE_7C,
|
||||
FR_ERROR_CODE_7D,
|
||||
FR_ERROR_CODE_7E,
|
||||
FR_ERROR_CODE_7F,
|
||||
FR_ERROR_CODE_84,
|
||||
FR_ERROR_CODE_85,
|
||||
FR_ERROR_CODE_86,
|
||||
FR_ERROR_CODE_87,
|
||||
FR_ERROR_CODE_88,
|
||||
FR_ERROR_CODE_89,
|
||||
FR_ERROR_CODE_8A,
|
||||
FR_ERROR_CODE_8B,
|
||||
FR_ERROR_CODE_8C,
|
||||
FR_ERROR_CODE_8D,
|
||||
FR_ERROR_CODE_8E,
|
||||
FR_ERROR_CODE_90,
|
||||
FR_ERROR_CODE_91,
|
||||
FR_ERROR_CODE_92,
|
||||
FR_ERROR_CODE_94,
|
||||
FR_ERROR_CODE_C0,
|
||||
FR_ERROR_CODE_C2,
|
||||
FR_ERROR_CODE_C4,
|
||||
FR_ERROR_CODE_C7,
|
||||
FR_ERROR_CODE_C8
|
||||
};
|
||||
|
||||
// проверка критичеких флагов ФР
|
||||
@ -980,3 +996,27 @@ int GetFirstCriticalFiscalError(CPU_INT08U *err)
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
// îòìåíà ÷åêà
|
||||
int CanselFiscalBill(void)
|
||||
{
|
||||
CPU_INT08U err;
|
||||
|
||||
FPend();
|
||||
|
||||
if (CheckFiscalStatus() < 0)
|
||||
{
|
||||
FPost();
|
||||
return -100;
|
||||
}
|
||||
|
||||
if (FiscCanselBill(DEFAULT_PASS, &err) != FISC_OK)
|
||||
{
|
||||
FPost();
|
||||
return -101;
|
||||
}
|
||||
|
||||
FPost();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@ -37,7 +37,7 @@
|
||||
<Factory>Workspace</Factory>
|
||||
<Session>
|
||||
|
||||
<NodeDict><ExpandedNode>solarium</ExpandedNode><ExpandedNode>solarium/DRIVERS</ExpandedNode><ExpandedNode>solarium/DRIVERS/lcd</ExpandedNode><ExpandedNode>solarium/PROJECT</ExpandedNode><ExpandedNode>solarium/PROJECT/app</ExpandedNode><ExpandedNode>solarium/PROJECT/data</ExpandedNode><ExpandedNode>solarium/PROJECT/menu</ExpandedNode></NodeDict></Session>
|
||||
<NodeDict><ExpandedNode>solarium</ExpandedNode><ExpandedNode>solarium/DRIVERS</ExpandedNode><ExpandedNode>solarium/PROJECT</ExpandedNode><ExpandedNode>solarium/PROJECT/app</ExpandedNode><ExpandedNode>solarium/PROJECT/data</ExpandedNode><ExpandedNode>solarium/PROJECT/menu</ExpandedNode><ExpandedNode>solarium/PROJECT/service</ExpandedNode></NodeDict></Session>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
@ -63,14 +63,14 @@
|
||||
|
||||
|
||||
|
||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\version.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>110</SelStart><SelEnd>110</SelEnd></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\version.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>93</SelStart><SelEnd>93</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.c</Filename><XPos>0</XPos><YPos>625</YPos><SelStart>23333</SelStart><SelEnd>23333</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\fiscal\fiscal.h</Filename><XPos>0</XPos><YPos>360</YPos><SelStart>18127</SelStart><SelEnd>18127</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\fr.c</Filename><XPos>0</XPos><YPos>687</YPos><SelStart>18119</SelStart><SelEnd>18119</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.c</Filename><XPos>0</XPos><YPos>2204</YPos><SelStart>103470</SelStart><SelEnd>103470</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.h</Filename><XPos>0</XPos><YPos>54</YPos><SelStart>2473</SelStart><SelEnd>2473</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.h</Filename><XPos>0</XPos><YPos>186</YPos><SelStart>6570</SelStart><SelEnd>6570</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.c</Filename><XPos>0</XPos><YPos>1821</YPos><SelStart>36630</SelStart><SelEnd>36630</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\fram_map.h</Filename><XPos>0</XPos><YPos>26</YPos><SelStart>706</SelStart><SelEnd>706</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\coin.c</Filename><XPos>0</XPos><YPos>127</YPos><SelStart>2836</SelStart><SelEnd>2836</SelEnd></Tab><ActiveTab>9</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\modem\modem.c</Filename><XPos>0</XPos><YPos>478</YPos><SelStart>11401</SelStart><SelEnd>11401</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\modem_task.c</Filename><XPos>0</XPos><YPos>538</YPos><SelStart>17253</SelStart><SelEnd>17253</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\modem\modem.h</Filename><XPos>0</XPos><YPos>40</YPos><SelStart>1398</SelStart><SelEnd>1398</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||
<Positions>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<Top><Row0><Sizes><Toolbar-051c29c8><key>iaridepm.enu1</key></Toolbar-051c29c8></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>519</Bottom><Right>290</Right><x>-2</x><y>-2</y><xscreen>160</xscreen><yscreen>0</yscreen><sizeHorzCX>117130</sizeHorzCX><sizeHorzCY>0</sizeHorzCY><sizeVertCX>213763</sizeVertCX><sizeVertCY>718621</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>161</Bottom><Right>1368</Right><x>-2</x><y>-2</y><xscreen>1370</xscreen><yscreen>163</yscreen><sizeHorzCX>1002928</sizeHorzCX><sizeHorzCY>224828</sizeHorzCY><sizeVertCX>117130</sizeVertCX><sizeVertCY>0</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||
<Top><Row0><Sizes><Toolbar-051c29c8><key>iaridepm.enu1</key></Toolbar-051c29c8></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>482</Bottom><Right>290</Right><x>-2</x><y>-2</y><xscreen>160</xscreen><yscreen>0</yscreen><sizeHorzCX>117130</sizeHorzCX><sizeHorzCY>0</sizeHorzCY><sizeVertCX>213763</sizeVertCX><sizeVertCY>667586</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1368</Right><x>-2</x><y>-2</y><xscreen>1370</xscreen><yscreen>200</yscreen><sizeHorzCX>1002928</sizeHorzCX><sizeHorzCY>275862</sizeHorzCY><sizeVertCX>117130</sizeVertCX><sizeVertCY>0</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||
</Desktop>
|
||||
</Workspace>
|
||||
|
||||
|
||||
@ -1115,11 +1115,11 @@
|
||||
<inputs>
|
||||
<tool>
|
||||
<name>BICOMP</name>
|
||||
<file> 228 31 92 11 15 138 80 81 154 14 148 121 88 90 177 87 153 125 22 9 171 236 25 188 227 229 187 210 191 186 202 183 84 91 221 172 234</file>
|
||||
<file> 228 31 92 11 15 138 80 81 154 14 148 121 88 90 177 87 153 125 22 9 171 236 25 188 227 229 187 210 191 186 202 183 84 91 221 172 234 240</file>
|
||||
</tool>
|
||||
<tool>
|
||||
<name>ICCARM</name>
|
||||
<file> 228 31 92 11 15 95 138 80 81 154 14 148 121 88 90 177 87 153 125 22 9 171 236 25 188 227 229 187 210 191 186 202 183 84 91 221 172 234</file>
|
||||
<file> 228 31 92 11 15 95 138 80 81 154 14 148 121 88 90 177 87 153 125 22 9 171 236 25 188 227 229 187 210 191 186 202 183 84 91 221 172 234 240</file>
|
||||
</tool>
|
||||
</inputs>
|
||||
</file>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user