превратили монетник в банковский терминал)

This commit is contained in:
Dmitriy 2021-04-29 22:47:32 +03:00
parent 4cd70015c3
commit 83682fe6da
34 changed files with 11479 additions and 6185 deletions

View File

@ -886,6 +886,45 @@ int FiscCloseBillV2(CPU_INT32U pass, CPU_INT64U *cash, CPU_INT08U taxsys, char*
return FISC_OK; return FISC_OK;
} }
int FiscCloseBillV2Online(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);
memset(&fisc_buf[5], 0, 5);
memcpy(&fisc_buf[10], cash, 5); // online ïëàòåæ
memset(&fisc_buf[15], 0, 70);
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) int FiscPrintContinue(CPU_INT32U pass, CPU_INT08U* err)
{ {

View File

@ -370,6 +370,7 @@ 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 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 FiscCloseBillV2(CPU_INT32U pass, CPU_INT64U *cash, CPU_INT08U taxsys, char* text, CPU_INT08U* err);
extern int FiscCloseBillV2Online(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 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); 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);

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

5038
Flash/Exe/solarium_3_34.hex Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -65,6 +65,9 @@ void LoadAcceptedMoney(void);
void SetAcceptedMoney(CPU_INT32U money); void SetAcceptedMoney(CPU_INT32U money);
void ClearAcceptedMoney(void); void ClearAcceptedMoney(void);
CPU_INT32U GetAcceptedMoney(void); CPU_INT32U GetAcceptedMoney(void);
void SetAcceptedBankMoney(CPU_INT32U money);
void ClearAcceptedBankMoney(void);
CPU_INT32U GetAcceptedBankMoney(void);
void InitPass(void); void InitPass(void);
void UserPrintDeferredWaitMenu(int channel); void UserPrintDeferredWaitMenu(int channel);
@ -177,9 +180,10 @@ void UserAppTask(void *p_arg)
if (was_critical_error) if (was_critical_error)
{ {
if (IsValidatorConnected()) CC_CmdBillType(0xffffff, 0xffffff, ADDR_FL); if (IsValidatorConnected()) CC_CmdBillType(0xffffff, 0xffffff, ADDR_FL);
CPU_INT32U price=1, pricetime=0, maxtime = 0xffffffff, accmoney = GetAcceptedMoney(); CPU_INT32U price=1, pricetime=0, maxtime = 0xffffffff, accmoney = GetAcceptedMoney() + GetAcceptedBankMoney();
GetRecentChannelPrice(RecentChannel, &price, &pricetime); GetRecentChannelPrice(RecentChannel, &price, &pricetime);
GetData(&MaxWorkTimeDesc, &maxtime, RecentChannel, DATA_FLAG_DIRECT_INDEX); GetData(&MaxWorkTimeDesc, &maxtime, RecentChannel, DATA_FLAG_DIRECT_INDEX);
if ((pricetime*accmoney*60)/price > maxtime*60) if ((pricetime*accmoney*60)/price > maxtime*60)
{ {
CoinDisable(); CoinDisable();
@ -257,10 +261,12 @@ void UserAppTask(void *p_arg)
CPU_INT32U cpp = 1; CPU_INT32U cpp = 1;
CPU_INT32U money, accmoney; CPU_INT32U money, accmoney;
GetData(&CoinPerPulseDesc, &cpp, 0, DATA_FLAG_SYSTEM_INDEX); GetData(&CoinPerPulseDesc, &cpp, 0, DATA_FLAG_SYSTEM_INDEX);
money = cpp*GetResetCoinCount(); money = cpp*GetResetCoinCount();
accmoney = GetAcceptedMoney(); accmoney = GetAcceptedBankMoney();
accmoney += money; accmoney += money;
SetAcceptedMoney(accmoney); SetAcceptedBankMoney(accmoney);
if (UserMenuState == USER_STATE_ACCEPT_MONEY) if (UserMenuState == USER_STATE_ACCEPT_MONEY)
{ {
UserPrintMoneyMenu(); UserPrintMoneyMenu();
@ -271,6 +277,10 @@ void UserAppTask(void *p_arg)
CPU_INT32U price=1, pricetime=0, maxtime = 0xffffffff; CPU_INT32U price=1, pricetime=0, maxtime = 0xffffffff;
GetRecentChannelPrice(RecentChannel, &price, &pricetime); GetRecentChannelPrice(RecentChannel, &price, &pricetime);
GetData(&MaxWorkTimeDesc, &maxtime, RecentChannel, DATA_FLAG_DIRECT_INDEX); GetData(&MaxWorkTimeDesc, &maxtime, RecentChannel, DATA_FLAG_DIRECT_INDEX);
// äîáàâèì åùå è íàëè÷íûå
accmoney += GetAcceptedMoney();
if ((pricetime*accmoney*60)/price > maxtime*60) if ((pricetime*accmoney*60)/price > maxtime*60)
{ {
CoinDisable(); CoinDisable();
@ -283,9 +293,11 @@ void UserAppTask(void *p_arg)
CPU_INT32U billnom_index; CPU_INT32U billnom_index;
CPU_INT32U billnom = GetResetBillCount(&billnom_index); CPU_INT32U billnom = GetResetBillCount(&billnom_index);
CPU_INT32U price=1, pricetime=0, maxtime = 0xffffffff, accmoney; CPU_INT32U price=1, pricetime=0, maxtime = 0xffffffff, accmoney;
GetRecentChannelPrice(RecentChannel, &price, &pricetime); GetRecentChannelPrice(RecentChannel, &price, &pricetime);
GetData(&MaxWorkTimeDesc, &maxtime, RecentChannel, DATA_FLAG_DIRECT_INDEX); GetData(&MaxWorkTimeDesc, &maxtime, RecentChannel, DATA_FLAG_DIRECT_INDEX);
accmoney = GetAcceptedMoney(); accmoney = GetAcceptedMoney() + GetAcceptedBankMoney();
if ((pricetime*(accmoney+billnom)*60)/price > maxtime*60) if ((pricetime*(accmoney+billnom)*60)/price > maxtime*60)
{ {
max_msg = 3; max_msg = 3;
@ -509,29 +521,58 @@ void UserAppTask(void *p_arg)
if (UserMenuState == USER_STATE_ACCEPT_MONEY) if (UserMenuState == USER_STATE_ACCEPT_MONEY)
{ // ïîëüçîâàòåëü âíåñ äåíüãè è íàæàë ÑÒÀÐÒ { // ïîëüçîâàòåëü âíåñ äåíüãè è íàæàë ÑÒÀÐÒ
CPU_INT32U price=1, pricetime=0, mintime=0,accmoney; CPU_INT32U price=1, pricetime=0, mintime=0,accmoney,accmoneyBank;
GetRecentChannelPrice(RecentChannel, &price, &pricetime); GetRecentChannelPrice(RecentChannel, &price, &pricetime);
accmoney = GetAcceptedMoney(); accmoney = GetAcceptedMoney();
ChannelsPayedTime[RecentChannel] = (pricetime*accmoney*60)/price; accmoneyBank = GetAcceptedBankMoney();
ChannelsPayedTime[RecentChannel] = (pricetime*(accmoney + accmoneyBank)*60)/price;
GetData(&MinWorkTimeDesc, &mintime, RecentChannel, DATA_FLAG_DIRECT_INDEX); GetData(&MinWorkTimeDesc, &mintime, RecentChannel, DATA_FLAG_DIRECT_INDEX);
if (ChannelsPayedTime[RecentChannel] >= mintime*60) if (ChannelsPayedTime[RecentChannel] >= mintime*60)
{ // îïëà÷åííîå âðåìÿ áîëüøå ìèíèìóìà, ìîæíî ðàáîòàòü { // îïëà÷åííîå âðåìÿ áîëüøå ìèíèìóìà, ìîæíî ðàáîòàòü
if (IsValidatorConnected()) CC_CmdBillType(0x000000, 0x000000, ADDR_FL); if (IsValidatorConnected()) CC_CmdBillType(0x000000, 0x000000, ADDR_FL);
// íàïå÷àòàåì ÷åê CoinDisable();
if (IsFiscalConnected())
{
if (PrintFiscalBill(accmoney, ChannelsPayedTime[RecentChannel]) == 0)
{
SaveEventRecord(RecentChannel, JOURNAL_EVENT_PRINT_BILL, GetTimeSec());
}
else
{
// îøèáêà ïå÷àòè ÷åêà
} if(accmoney)
{
// íàïå÷àòàåì ÷åê - íàëè÷êà
if (IsFiscalConnected())
{
if (PrintFiscalBill(accmoney, (pricetime*accmoney*60)/price, 0) == 0)
{
SaveEventRecord(RecentChannel, JOURNAL_EVENT_PRINT_BILL, GetTimeSec());
}
else
{
// îøèáêà ïå÷àòè ÷åêà
}
}
} }
IncCounter(RecentChannel, ChannelsPayedTime[RecentChannel], accmoney);
if(accmoneyBank)
{
// íàïå÷àòàåì ÷åê - íàëè÷êà
if (IsFiscalConnected())
{
if (PrintFiscalBill(accmoneyBank, (pricetime*accmoneyBank*60)/price, 1) == 0)
{
SaveEventRecord(RecentChannel, JOURNAL_EVENT_PRINT_BILL_ONLINE, GetTimeSec());
}
else
{
// îøèáêà ïå÷àòè ÷åêà
}
}
}
IncCounter(RecentChannel, ChannelsPayedTime[RecentChannel], accmoney, accmoneyBank);
SetAcceptedMoney(0); SetAcceptedMoney(0);
SetAcceptedBankMoney(0);
// ãðóçèì â ñ÷åò÷èê âðåìÿ ïàóçó äî // ãðóçèì â ñ÷åò÷èê âðåìÿ ïàóçó äî
CPU_INT32U deferred = 0; CPU_INT32U deferred = 0;
@ -631,20 +672,6 @@ void UserStartupFunc(void)
// ñäåëàåì çàïèñü î âêëþ÷åíèè // ñäåëàåì çàïèñü î âêëþ÷åíèè
SaveEventRecord(0, JOURNAL_EVENT_DEVICE_ON, GetTimeSec()); SaveEventRecord(0, JOURNAL_EVENT_DEVICE_ON, GetTimeSec());
CPU_INT32U enable;
GetData(&EnableModemDesc, &enable, 0, DATA_FLAG_SYSTEM_INDEX);
SetData(&EnableCoinDesc, &enable, 0, DATA_FLAG_SYSTEM_INDEX);
// // èíèöèàëèçàöèÿ ìîäåìà - ïîêà ïîäêëþ÷àåì âìåñòî ôèñêàëüíèêà
// if (InitModem() != 0)
// {
// SetErrorFlag(ERROR_MODEM_CONN);
// }
// else
// {
// ClrErrorFlag(ERROR_MODEM_CONN);
// }
// çàïóñòèì ìîíåòíèê // çàïóñòèì ìîíåòíèê
InitCoin(); InitCoin();
@ -727,7 +754,7 @@ void UserPrintMoneyMenu(void)
sprintf(buf, "Âíåñèòå äåíüãè"); sprintf(buf, "Âíåñèòå äåíüãè");
PrintUserMenuStr(buf, 0); PrintUserMenuStr(buf, 0);
accmoney = GetAcceptedMoney(); accmoney = GetAcceptedMoney() + GetAcceptedBankMoney();
sprintf(buf, "Ïðèíÿòî %d ðóá.", accmoney); sprintf(buf, "Ïðèíÿòî %d ðóá.", accmoney);
PrintUserMenuStr(buf, 1); PrintUserMenuStr(buf, 1);
@ -1137,6 +1164,20 @@ void LoadAcceptedMoney(void)
SetData(&AcceptedMoneyCRC16Desc, &crc, 0, DATA_FLAG_SYSTEM_INDEX); SetData(&AcceptedMoneyCRC16Desc, &crc, 0, DATA_FLAG_SYSTEM_INDEX);
} }
// ñ÷èòàåì cîõðàíåííûå äåíüãè èç FRAM
GetData(&AcceptedBankMoneyDesc, &m, 0, DATA_FLAG_SYSTEM_INDEX);
// ñ÷èòàåì crc16 ýòèõ äåíåã èç FRAM
GetData(&AcceptedBankMoneyCRC16Desc, &crc, 0, DATA_FLAG_SYSTEM_INDEX);
crct = CRC16((unsigned char*)&m, sizeof(CPU_INT32U));
if (crct != crc)
{ // îáíóëÿåì, åñëè crc íå ñîøëàñü
m = 0;
crc = CRC16((unsigned char*)&m, sizeof(CPU_INT32U));
SetData(&AcceptedBankMoneyDesc, &m, 0, DATA_FLAG_SYSTEM_INDEX);
SetData(&AcceptedBankMoneyCRC16Desc, &crc, 0, DATA_FLAG_SYSTEM_INDEX);
}
} }
// äîáàâèòü äåíåã // äîáàâèòü äåíåã
@ -1167,6 +1208,37 @@ CPU_INT32U GetAcceptedMoney(void)
return m; return m;
} }
// äîáàâèòü äåíåã
void SetAcceptedBankMoney(CPU_INT32U money)
{
CPU_INT32U m,crc;
m=money;
crc = CRC16((unsigned char*)&m, sizeof(CPU_INT32U));
SetData(&AcceptedBankMoneyDesc, &m, 0, DATA_FLAG_SYSTEM_INDEX);
SetData(&AcceptedBankMoneyCRC16Desc, &crc, 0, DATA_FLAG_SYSTEM_INDEX);
}
// î÷èñòèòü ñ÷åò÷èê äåíåã
void ClearAcceptedBankMoney(void)
{
CPU_INT32U m,crc;
m=0;
crc = CRC16((unsigned char*)&m, sizeof(CPU_INT32U));
SetData(&AcceptedBankMoneyDesc, &m, 0, DATA_FLAG_SYSTEM_INDEX);
SetData(&AcceptedBankMoneyCRC16Desc, &crc, 0, DATA_FLAG_SYSTEM_INDEX);
}
// î÷èñòèòü ñ÷åò÷èê äåíåã
CPU_INT32U GetAcceptedBankMoney(void)
{
CPU_INT32U m;
GetData(&AcceptedBankMoneyDesc, &m, 0, DATA_FLAG_SYSTEM_INDEX);
return m;
}
// èíèöèàëèçàöèÿ ïàðîëÿ // èíèöèàëèçàöèÿ ïàðîëÿ
void InitPass(void) void InitPass(void)
{ {

View File

@ -175,7 +175,7 @@ void GetEventStr(char* str, char event)
sprintf(str, "Âí.êóïþðà "); sprintf(str, "Âí.êóïþðà ");
break; break;
case JOURNAL_EVENT_MONEY_COIN: case JOURNAL_EVENT_MONEY_COIN:
sprintf(str, "Âí.ìîíåòû "); sprintf(str, "Áåçíàë.îïëàòà ");
break; break;
case JOURNAL_EVENT_START_SESSION: case JOURNAL_EVENT_START_SESSION:
sprintf(str, "Íà÷.ñåàíñà "); sprintf(str, "Íà÷.ñåàíñà ");
@ -189,6 +189,9 @@ void GetEventStr(char* str, char event)
case JOURNAL_EVENT_PRINT_BILL: case JOURNAL_EVENT_PRINT_BILL:
sprintf(str, "Ïå÷àòü ÷åêà"); sprintf(str, "Ïå÷àòü ÷åêà");
break; break;
case JOURNAL_EVENT_PRINT_BILL_ONLINE:
sprintf(str, "Ïå÷àòü ÷åêà áåçíàë");
break;
case JOURNAL_EVENT_PRINT_Z: case JOURNAL_EVENT_PRINT_Z:
sprintf(str, "Ïå÷àòü Z-îò÷åòà"); sprintf(str, "Ïå÷àòü Z-îò÷åòà");
break; break;
@ -226,7 +229,7 @@ void GetEventStrEng(char* str, char event)
sprintf(str, " | Vnesena kupura "); sprintf(str, " | Vnesena kupura ");
break; break;
case JOURNAL_EVENT_MONEY_COIN: case JOURNAL_EVENT_MONEY_COIN:
sprintf(str, " | Vneseny monety "); sprintf(str, " | Âí.áåçíàë ");
break; break;
case JOURNAL_EVENT_START_SESSION: case JOURNAL_EVENT_START_SESSION:
sprintf(str, " | Nachalo seansa "); sprintf(str, " | Nachalo seansa ");
@ -264,6 +267,9 @@ void GetEventStrEng(char* str, char event)
case JOURNAL_EVENT_EMAIL_OK: case JOURNAL_EVENT_EMAIL_OK:
sprintf(str, " | E-mail otpravleno uspeshno "); sprintf(str, " | E-mail otpravleno uspeshno ");
break; break;
case JOURNAL_EVENT_PRINT_BILL_ONLINE:
sprintf(str, "Ïå÷àòü ÷åêà áåçíàë");
break;
default: default:
sprintf(str, " | Net sobytiya "); sprintf(str, " | Net sobytiya ");
break; break;
@ -344,21 +350,24 @@ void PrintEventJournalRecordEng(char* str, TEventRecord *record)
} }
} }
void IncCounter(CPU_INT08U ch, CPU_INT32U time, CPU_INT32U money) void IncCounter(CPU_INT08U ch, CPU_INT32U time, CPU_INT32U money, CPU_INT32U moneyBank)
{ {
CPU_INT32U r, t, m; CPU_INT32U r, t, m, b;
TCountersLong long_ctrs; TCountersLong long_ctrs;
// óâåëè÷èì êàíàëüíûå ñ÷åò÷èêè // óâåëè÷èì êàíàëüíûå ñ÷åò÷èêè
ReadArrayFram(offsetof(TFramMap, Counters.CounterChannelRun)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&r); ReadArrayFram(offsetof(TFramMap, Counters.CounterChannelRun)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&r);
ReadArrayFram(offsetof(TFramMap, Counters.CounterChannelTime)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&t); ReadArrayFram(offsetof(TFramMap, Counters.CounterChannelTime)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&t);
ReadArrayFram(offsetof(TFramMap, Counters.CounterChannelMoney)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&m); ReadArrayFram(offsetof(TFramMap, Counters.CounterChannelMoney)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&m);
ReadArrayFram(offsetof(TFramMap, Counters.CounterChannelBankMoney)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&b);
r++; r++;
t+=time; t+=time;
m+=money; m+=money;
b+=moneyBank;
WriteArrayFram(offsetof(TFramMap, Counters.CounterChannelRun)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&r); WriteArrayFram(offsetof(TFramMap, Counters.CounterChannelRun)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&r);
WriteArrayFram(offsetof(TFramMap, Counters.CounterChannelTime)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&t); WriteArrayFram(offsetof(TFramMap, Counters.CounterChannelTime)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&t);
WriteArrayFram(offsetof(TFramMap, Counters.CounterChannelMoney)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&m); WriteArrayFram(offsetof(TFramMap, Counters.CounterChannelMoney)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&m);
WriteArrayFram(offsetof(TFramMap, Counters.CounterChannelBankMoney)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&b);
// óâåëè÷èì îáùèå ñ÷åò÷èêè // óâåëè÷èì îáùèå ñ÷åò÷èêè
ReadArrayFram(offsetof(TFramMap, Counters.CounterRun), sizeof(CPU_INT32U), (unsigned char*)&r); ReadArrayFram(offsetof(TFramMap, Counters.CounterRun), sizeof(CPU_INT32U), (unsigned char*)&r);
@ -366,7 +375,7 @@ void IncCounter(CPU_INT08U ch, CPU_INT32U time, CPU_INT32U money)
ReadArrayFram(offsetof(TFramMap, Counters.CounterMoney), sizeof(CPU_INT32U), (unsigned char*)&m); ReadArrayFram(offsetof(TFramMap, Counters.CounterMoney), sizeof(CPU_INT32U), (unsigned char*)&m);
r++; r++;
t+=time; t+=time;
m+=money; m+=(money + moneyBank);
WriteArrayFram(offsetof(TFramMap, Counters.CounterRun), sizeof(CPU_INT32U), (unsigned char*)&r); WriteArrayFram(offsetof(TFramMap, Counters.CounterRun), sizeof(CPU_INT32U), (unsigned char*)&r);
WriteArrayFram(offsetof(TFramMap, Counters.CounterTime), sizeof(CPU_INT32U), (unsigned char*)&t); WriteArrayFram(offsetof(TFramMap, Counters.CounterTime), sizeof(CPU_INT32U), (unsigned char*)&t);
WriteArrayFram(offsetof(TFramMap, Counters.CounterMoney), sizeof(CPU_INT32U), (unsigned char*)&m); WriteArrayFram(offsetof(TFramMap, Counters.CounterMoney), sizeof(CPU_INT32U), (unsigned char*)&m);
@ -376,9 +385,10 @@ void IncCounter(CPU_INT08U ch, CPU_INT32U time, CPU_INT32U money)
long_ctrs.CounterChannelRunLong[ch]++; long_ctrs.CounterChannelRunLong[ch]++;
long_ctrs.CounterChannelTimeLong[ch] += time; long_ctrs.CounterChannelTimeLong[ch] += time;
long_ctrs.CounterChannelMoneyLong[ch] += money; long_ctrs.CounterChannelMoneyLong[ch] += money;
long_ctrs.CounterChannelBankMoneyLong[ch] += moneyBank;
long_ctrs.CounterRunLong++; long_ctrs.CounterRunLong++;
long_ctrs.CounterTimeLong += time; long_ctrs.CounterTimeLong += time;
long_ctrs.CounterMoneyLong += money; long_ctrs.CounterMoneyLong += (money + moneyBank);
long_ctrs.crc = CRC16((unsigned char*)&long_ctrs, offsetof(TCountersLong, crc)); long_ctrs.crc = CRC16((unsigned char*)&long_ctrs, offsetof(TCountersLong, crc));
WriteArrayFram(offsetof(TFramMap, CountersLong), sizeof(TCountersLong), (unsigned char*)&long_ctrs); WriteArrayFram(offsetof(TFramMap, CountersLong), sizeof(TCountersLong), (unsigned char*)&long_ctrs);
} }

View File

@ -92,7 +92,7 @@ typedef struct{
CPU_INT08U event; CPU_INT08U event;
#define JOURNAL_EVENT_NO_EVENT 0 // íåò ñîáûòèÿ #define JOURNAL_EVENT_NO_EVENT 0 // íåò ñîáûòèÿ
#define JOURNAL_EVENT_MONEY_NOTE 1 // ñîáûòèå ïîëó÷åíèÿ êóïþðû #define JOURNAL_EVENT_MONEY_NOTE 1 // ñîáûòèå ïîëó÷åíèÿ êóïþðû
#define JOURNAL_EVENT_MONEY_COIN 2 // ñîáûòèå ïîëó÷åíèÿ ìîíåòû (êîë-âî ðóáëåé) #define JOURNAL_EVENT_MONEY_COIN 2 // ñîáûòèå ïîëó÷åíèÿ ìîíåòû (êîë-âî ðóáëåé) (òåïåðü ýòî áàíêîâñêèé òåðìèíàë)
#define JOURNAL_EVENT_START_SESSION 3 // ñîáûòèå íà÷àëà ñåàíñà #define JOURNAL_EVENT_START_SESSION 3 // ñîáûòèå íà÷àëà ñåàíñà
#define JOURNAL_EVENT_END_SESSION 4 // ñîáûòèå êîíöà ñåàíñà #define JOURNAL_EVENT_END_SESSION 4 // ñîáûòèå êîíöà ñåàíñà
#define JOURNAL_EVENT_DEVICE_ON 6 // âêëþ÷åíèå óñòðîéñòâà #define JOURNAL_EVENT_DEVICE_ON 6 // âêëþ÷åíèå óñòðîéñòâà
@ -105,8 +105,8 @@ typedef struct{
#define JOURNAL_EVENT_PASS_FAIL 13 // íåâåðíûé ââîä ïàðîëÿ #define JOURNAL_EVENT_PASS_FAIL 13 // íåâåðíûé ââîä ïàðîëÿ
#define JOURNAL_EVENT_EMAIL_OK 14 // ïðàâèëüíî îòïðàâëåí email #define JOURNAL_EVENT_EMAIL_OK 14 // ïðàâèëüíî îòïðàâëåí email
#define JOURNAL_EVENT_EMAIL_FAIL 15 // îøèáêà ïðè îòïðàâêå email #define JOURNAL_EVENT_EMAIL_FAIL 15 // îøèáêà ïðè îòïðàâêå email
#define JOURNAL_EVENT_PRINT_BILL_ONLINE 16 // ïå÷àòü ÷åêà ñ äåíüãàìè ñ áàíêîâñêîãî òåðìèíàëà
#define JOURNAL_EVENTS_NUM 16 // ÷èñëî ñîáûòèé #define JOURNAL_EVENTS_NUM 17 // ÷èñëî ñîáûòèé
// êàíàë // êàíàë
CPU_INT08U channel; CPU_INT08U channel;
@ -122,6 +122,8 @@ typedef struct{
CPU_INT32U CounterChannelTime[CHANNELS_NUM]; CPU_INT32U CounterChannelTime[CHANNELS_NUM];
// Ñóììà äåíåã ïîêàíàëüíî // Ñóììà äåíåã ïîêàíàëüíî
CPU_INT32U CounterChannelMoney[CHANNELS_NUM]; CPU_INT32U CounterChannelMoney[CHANNELS_NUM];
// Ñóììà áåçíàëè÷íûõ äåíåã ïîêàíàëüíî
CPU_INT32U CounterChannelBankMoney[CHANNELS_NUM];
// îáùåå ÷èñëî çàïóñêîâ // îáùåå ÷èñëî çàïóñêîâ
CPU_INT32U CounterRun; CPU_INT32U CounterRun;
@ -146,6 +148,9 @@ typedef struct{
CPU_INT32U CounterChannelTimeLong[CHANNELS_NUM]; CPU_INT32U CounterChannelTimeLong[CHANNELS_NUM];
// Ñóììà äåíåã ïîêàíàëüíî // Ñóììà äåíåã ïîêàíàëüíî
CPU_INT32U CounterChannelMoneyLong[CHANNELS_NUM]; CPU_INT32U CounterChannelMoneyLong[CHANNELS_NUM];
// Ñóììà áåçíàëè÷íûõ äåíåã ïîêàíàëüíî
CPU_INT32U CounterChannelBankMoneyLong[CHANNELS_NUM];
CPU_INT32U CounterRunLong; CPU_INT32U CounterRunLong;
CPU_INT32U CounterTimeLong; CPU_INT32U CounterTimeLong;
CPU_INT32U CounterMoneyLong; CPU_INT32U CounterMoneyLong;
@ -167,7 +172,7 @@ extern void ClearEventJournal(void);
extern void GetEventStr(char* str, char event); extern void GetEventStr(char* str, char event);
extern int GetEventRecord(TEventRecord* record, CPU_INT32U index); extern int GetEventRecord(TEventRecord* record, CPU_INT32U index);
extern int GetErrorRecord(TErrorRecord* record, CPU_INT32U index); extern int GetErrorRecord(TErrorRecord* record, CPU_INT32U index);
extern void IncCounter(CPU_INT08U ch, CPU_INT32U time, CPU_INT32U money); extern void IncCounter(CPU_INT08U ch, CPU_INT32U time, CPU_INT32U money, CPU_INT32U moneyBank);
extern void ClearCounters(void); extern void ClearCounters(void);
extern void ErrorServer(void); extern void ErrorServer(void);
extern int TstCriticalValidatorErrors(void); extern int TstCriticalValidatorErrors(void);

View File

@ -393,7 +393,7 @@ TDataDescStruct const StatSendHourMinDesc = {
Âêëþ÷åíèå ìîíåòîïðèåìíèêà Âêëþ÷åíèå ìîíåòîïðèåìíèêà
*************************************/ *************************************/
TRangeValueULONG const EnableCoinRange = {0, 1}; TRangeValueULONG const EnableCoinRange = {0, 1};
CPU_INT08U const EnableCoinName[] = "Ìîíåòîïð-ê"; CPU_INT08U const EnableCoinName[] = "Банк.терминал";
CPU_INT08U const *EnableCoinList[] = {OnOffList_str0, OnOffList_str1}; CPU_INT08U const *EnableCoinList[] = {OnOffList_str0, OnOffList_str1};
void OnchangeEnableCoin(void) void OnchangeEnableCoin(void)
@ -1968,6 +1968,29 @@ TDataDescStruct const CounterChannelMoneyDesc = {
0 0
}; };
CPU_INT08U const CounterBankMoneyName[] = "Безнал.,руб.";
/*************************************
Канальный счетчик денег
*************************************/
TDataDescStruct const CounterChannelBankMoneyDesc = {
DATA_DESC_VIEW, // тип дескриптора
DATA_TYPE_ULONG, // тип параметра
DATA_LOC_FRAM, // расположение параметра
DATA_IS_ARRAY, // признак массива
CHANNELS_NUM, // размер массива
&ChannelStIndexDesc, // указатель на десриптор индекса массива
(void*)offsetof(TFramMap, Counters.CounterChannelBankMoney[0]), // указатель на переменную или адрес FRAM
NULL, // указатель на границы параметра
NULL, // функция по изменению
sizeof(CPU_INT32U), // смещение между элементами в массиве
CounterBankMoneyName, // указатель на строку названия параметра
DATA_NO_INDEX, // признак индексного параметра (список строк)
NULL, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
0
};
/************************************* /*************************************
Êàíàëüíûé ñ÷åò÷èê âðåìåíè ðàáîòû Êàíàëüíûé ñ÷åò÷èê âðåìåíè ðàáîòû
*************************************/ *************************************/
@ -2032,6 +2055,27 @@ TDataDescStruct const CounterChannelMoneyLongDesc = {
0 0
}; };
/*************************************
Канальный счетчик денег
*************************************/
TDataDescStruct const CounterChannelBankMoneyLongDesc = {
DATA_DESC_VIEW, // тип дескриптора
DATA_TYPE_ULONG, // тип параметра
DATA_LOC_FRAM, // расположение параметра
DATA_IS_ARRAY, // признак массива
CHANNELS_NUM, // размер массива
&ChannelStIndexDesc, // указатель на десриптор индекса массива
(void*)offsetof(TFramMap, CountersLong.CounterChannelBankMoneyLong[0]), // указатель на переменную или адрес FRAM
NULL, // указатель на границы параметра
NULL, // функция по изменению
sizeof(CPU_INT32U), // смещение между элементами в массиве
CounterBankMoneyName, // указатель на строку названия параметра
DATA_NO_INDEX, // признак индексного параметра (список строк)
NULL, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
0
};
/************************************* /*************************************
Êàíàëüíûé ñ÷åò÷èê âðåìåíè ðàáîòû Êàíàëüíûé ñ÷åò÷èê âðåìåíè ðàáîòû
*************************************/ *************************************/
@ -2327,6 +2371,44 @@ TDataDescStruct const AcceptedMoneyCRC16Desc = {
0 0
}; };
TDataDescStruct const AcceptedBankMoneyDesc = {
DATA_DESC_EDIT, // тип дескриптора
DATA_TYPE_ULONG, // тип параметра
DATA_LOC_FRAM, // расположение параметра
DATA_NO_ARRAY, // признак массива
0, // размер массива
NULL, // указатель на десриптор индекса массива
(void*)offsetof(TFramMap, FRAM_AcceptedBankMoney), // указатель на переменную или адрес FRAM
NULL, // указатель на границы параметра
NULL, // функция по изменению
0, // смещение между элементами в массиве
NULL, // указатель на строку названия параметра
DATA_NO_INDEX, // признак индексного параметра (список строк)
NULL, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
0
};
/*************************************
Дескриптор Crc16 энергонезависимого сохранения
*************************************/
TDataDescStruct const AcceptedBankMoneyCRC16Desc = {
DATA_DESC_EDIT, // тип дескриптора
DATA_TYPE_ULONG, // тип параметра
DATA_LOC_FRAM, // расположение параметра
DATA_NO_ARRAY, // признак массива
0, // размер массива
NULL, // указатель на десриптор индекса массива
(void*)offsetof(TFramMap, crc_AcceptedBankMoney), // указатель на переменную или адрес FRAM
NULL, // указатель на границы параметра
NULL, // функция по изменению
0, // смещение между элементами в массиве
NULL, // указатель на строку названия параметра
DATA_NO_INDEX, // признак индексного параметра (список строк)
NULL, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
0
};
/************************************* /*************************************
Äåñêðèïòîð ïàðîëÿ Äåñêðèïòîð ïàðîëÿ

View File

@ -143,6 +143,7 @@ extern TDataDescStruct const CounterMoneyDesc;
extern TDataDescStruct const CounterTimeDesc; extern TDataDescStruct const CounterTimeDesc;
extern TDataDescStruct const CounterChannelRunDesc; extern TDataDescStruct const CounterChannelRunDesc;
extern TDataDescStruct const CounterChannelMoneyDesc; extern TDataDescStruct const CounterChannelMoneyDesc;
extern TDataDescStruct const CounterChannelBankMoneyDesc;
extern TDataDescStruct const CounterChannelTimeDesc; extern TDataDescStruct const CounterChannelTimeDesc;
extern TDataDescStruct const ChannelStIndexDesc; extern TDataDescStruct const ChannelStIndexDesc;
extern TDataDescStruct const ClearStatCmdDesc; extern TDataDescStruct const ClearStatCmdDesc;
@ -152,6 +153,9 @@ extern TDataDescStruct const NameChannelDesc;
extern TDataDescStruct const AcceptedMoneyDesc; extern TDataDescStruct const AcceptedMoneyDesc;
extern TDataDescStruct const AcceptedMoneyCRC16Desc; extern TDataDescStruct const AcceptedMoneyCRC16Desc;
extern TDataDescStruct const AcceptedBankMoneyDesc;
extern TDataDescStruct const AcceptedBankMoneyCRC16Desc;
extern TDataDescStruct const DisableFiscalErrorsDesc; extern TDataDescStruct const DisableFiscalErrorsDesc;
extern TDataDescStruct const StartButtonNameDesc; extern TDataDescStruct const StartButtonNameDesc;
@ -177,6 +181,7 @@ extern TDataDescStruct const MasterPassTempDesc;
extern TDataDescStruct const CounterChannelRunLongDesc; extern TDataDescStruct const CounterChannelRunLongDesc;
extern TDataDescStruct const CounterChannelMoneyLongDesc; extern TDataDescStruct const CounterChannelMoneyLongDesc;
extern TDataDescStruct const CounterChannelBankMoneyLongDesc;
extern TDataDescStruct const CounterChannelTimeLongDesc; extern TDataDescStruct const CounterChannelTimeLongDesc;
extern TDataDescStruct const ChannelStLongIndexDesc; extern TDataDescStruct const ChannelStLongIndexDesc;

View File

@ -43,5 +43,9 @@ typedef struct{
CPU_INT32U CommandV2; CPU_INT32U CommandV2;
CPU_INT32U TaxSystem; CPU_INT32U TaxSystem;
// ëčíč˙ áĺçíŕëč÷íűő äĺíĺă
CPU_INT32U FRAM_AcceptedBankMoney;
CPU_INT32U crc_AcceptedBankMoney;
}TFramMap; }TFramMap;

View File

@ -327,14 +327,21 @@ const TMenuLine line_ChannelCountersMenu_2 = {
}; };
const TMenuLine line_ChannelCountersMenu_3 = { const TMenuLine line_ChannelCountersMenu_3 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)&CounterChannelBankMoneyDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà
};
const TMenuLine line_ChannelCountersMenu_4 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè 0, // äîï. ôëàãè
(void*)&CounterChannelTimeDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð (void*)&CounterChannelTimeDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà NULL // ïàíåëü äëÿ ïåðåõîäà
}; };
const TMenuLineArray arr_ChannelCountersArray[] = {&line_ChannelCountersMenu_0, &line_ChannelCountersMenu_1, &line_ChannelCountersMenu_2, &line_ChannelCountersMenu_3, NULL}; const TMenuLineArray arr_ChannelCountersArray[] = {&line_ChannelCountersMenu_0, &line_ChannelCountersMenu_1, &line_ChannelCountersMenu_2, &line_ChannelCountersMenu_3, &line_ChannelCountersMenu_4, NULL};
const TMenuPanel ChannelCountersPanel[] = {arr_ChannelCountersArray, NULL, 4, MENU_PANEL_STATIC}; const TMenuPanel ChannelCountersPanel[] = {arr_ChannelCountersArray, NULL, 5, MENU_PANEL_STANDARD};
/*********************************** /***********************************
@ -839,7 +846,7 @@ const TMenuPanel PriceWeekendMenuPanel[] = {arr_PriceMenuArrayWend, OnEnterPanel
const CPU_INT08U str_DeviceMenu_0[] = " ÎÁÎÐÓÄÎÂÀÍÈÅ"; const CPU_INT08U str_DeviceMenu_0[] = " ÎÁÎÐÓÄÎÂÀÍÈÅ";
const CPU_INT08U str_DeviceMenu_1[] = "ÔÐ"; const CPU_INT08U str_DeviceMenu_1[] = "ÔÐ";
const CPU_INT08U str_DeviceMenu_2[] = "Ìîíåòîïðèåìíèê"; const CPU_INT08U str_DeviceMenu_2[] = "Áàíê.òåðìèíàë";
const CPU_INT08U str_DeviceMenu_3[] = "Ìîäåì"; const CPU_INT08U str_DeviceMenu_3[] = "Ìîäåì";
const TMenuLine line_DeviceMenu_0 = { const TMenuLine line_DeviceMenu_0 = {
@ -962,7 +969,7 @@ const TMenuPanel FrMenuPanel[] = {arr_FrMenuArray, NULL, 9, MENU_PANEL_STANDARD}
/*********************************** /***********************************
ÌÅÍÞ ÍÀÑÒÐÎÉÊÀ ÌÎÍÅÒÎÏÐÈÅÌÍÈÊÀ ÌÅÍÞ ÍÀÑÒÐÎÉÊÀ ÌÎÍÅÒÎÏÐÈÅÌÍÈÊÀ
***********************************/ ***********************************/
const CPU_INT08U str_CoinMenu_0[] = "ÍÀÑÒÐÎéÊÈ ÌÎÍÅÒÎÏÐ."; const CPU_INT08U str_CoinMenu_0[] = "ÍÀÑÒÐÎéÊÈ ÁÀÍÊ.ÒÅÐÌ.";
const TMenuLine line_CoinMenu_0 = { const TMenuLine line_CoinMenu_0 = {
MENU_LINE_STRING, // òèï ïóíêòà ìåíþ MENU_LINE_STRING, // òèï ïóíêòà ìåíþ
@ -1655,7 +1662,7 @@ void PrintEventJournalRecord(TEventRecord *record)
{ {
sprintf(str_EventData, ""); sprintf(str_EventData, "");
} }
else if (record->event == JOURNAL_EVENT_PRINT_BILL) else if (record->event == JOURNAL_EVENT_PRINT_BILL || record->event == JOURNAL_EVENT_PRINT_BILL_ONLINE)
{ {
sprintf(str_EventData, "êàíàë %d", record->channel+1); sprintf(str_EventData, "êàíàë %d", record->channel+1);
} }
@ -1832,11 +1839,18 @@ const TMenuLine line_ChannelCountersLongMenu_2 = {
}; };
const TMenuLine line_ChannelCountersLongMenu_3 = { const TMenuLine line_ChannelCountersLongMenu_3 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)&CounterChannelBankMoneyLongDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà
};
const TMenuLine line_ChannelCountersLongMenu_4 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè 0, // äîï. ôëàãè
(void*)&CounterChannelTimeLongDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð (void*)&CounterChannelTimeLongDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà NULL // ïàíåëü äëÿ ïåðåõîäà
}; };
const TMenuLineArray arr_ChannelCountersLongArray[] = {&line_ChannelCountersLongMenu_0, &line_ChannelCountersLongMenu_1, &line_ChannelCountersLongMenu_2, &line_ChannelCountersLongMenu_3, NULL}; const TMenuLineArray arr_ChannelCountersLongArray[] = {&line_ChannelCountersLongMenu_0, &line_ChannelCountersLongMenu_1, &line_ChannelCountersLongMenu_2, &line_ChannelCountersLongMenu_3, &line_ChannelCountersLongMenu_4, NULL};
const TMenuPanel ChannelCountersLongPanel[] = {arr_ChannelCountersLongArray, NULL, 4, MENU_PANEL_STATIC}; const TMenuPanel ChannelCountersLongPanel[] = {arr_ChannelCountersLongArray, NULL, 5, MENU_PANEL_STANDARD};

View File

@ -624,7 +624,7 @@ void ClrFiscalErrorByCode(CPU_INT08U err)
// ïå÷àòü ÷åêà íà ÔÐ // ïå÷àòü ÷åêà íà ÔÐ
// time òåïåðü â ñåêóíäàõ // time òåïåðü â ñåêóíäàõ
int PrintFiscalBill(CPU_INT32U money, CPU_INT32U time) int PrintFiscalBill(CPU_INT32U money, CPU_INT32U time, CPU_INT32U online)
{ {
CPU_INT08U err; CPU_INT08U err;
CPU_INT64U count = (time*1000)/60; CPU_INT64U count = (time*1000)/60;
@ -798,27 +798,53 @@ repeat_close:
tax[0] = (CPU_INT08U)tax1; tax[0] = (CPU_INT08U)tax1;
} }
if (((ext == 0) && (FiscCloseBill(DEFAULT_PASS, &cash, &tax[0], "Ñïàñèáî çà ïîêóïêó!!!", &err) != FISC_OK)) if(online)
|| ((ext) && (FiscCloseBillV2(DEFAULT_PASS, &cash, tax[0], "Ñïàñèáî çà ïîêóïêó!!!!", &err) != FISC_OK))
)
{ {
if (err) if(((ext) && (FiscCloseBillV2Online(DEFAULT_PASS, &cash, tax[0], "Ñïàñèáî çà ïîêóïêó!!!", &err) != FISC_OK)))
{ {
SetFiscalErrorByCode(err); if (err)
} {
else SetFiscalErrorByCode(err);
{ }
// íåò ñîåäèíåíèÿ else
ClearFiscalErrors(); {
FiscalConnState = FISCAL_NOCONN; // íåò ñîåäèíåíèÿ
SetErrorFlag(ERROR_FR_CONN); ClearFiscalErrors();
} FiscalConnState = FISCAL_NOCONN;
if (repeat) SetErrorFlag(ERROR_FR_CONN);
{ }
FPost(); if (repeat)
return -4; {
} FPost();
repeat++; return -4;
}
repeat++;
}
}
else
{
if (((ext == 0) && (FiscCloseBill(DEFAULT_PASS, &cash, &tax[0], "Ñïàñèáî çà ïîêóïêó!!!", &err) != FISC_OK))
|| ((ext) && (FiscCloseBillV2(DEFAULT_PASS, &cash, tax[0], "Ñïàñèáî çà ïîêóïêó!!!!", &err) != FISC_OK))
)
{
if (err)
{
SetFiscalErrorByCode(err);
}
else
{
// íåò ñîåäèíåíèÿ
ClearFiscalErrors();
FiscalConnState = FISCAL_NOCONN;
SetErrorFlag(ERROR_FR_CONN);
}
if (repeat)
{
FPost();
return -4;
}
repeat++;
}
} }
if (repeat) if (repeat)

View File

@ -14,7 +14,7 @@ extern void InitFiscal(void);
extern int IsFiscalConnected(void); extern int IsFiscalConnected(void);
extern void FPend(void); extern void FPend(void);
extern void FPost(void); extern void FPost(void);
extern int PrintFiscalBill(CPU_INT32U money, CPU_INT32U time); extern int PrintFiscalBill(CPU_INT32U money, CPU_INT32U time, CPU_INT32U online);
extern int PrintFiscalBillRepeated(CPU_INT32U money, CPU_INT32U time); extern int PrintFiscalBillRepeated(CPU_INT32U money, CPU_INT32U time);
extern void SetFiscalErrorByCode(CPU_INT08U err); extern void SetFiscalErrorByCode(CPU_INT08U err);
extern void ClearFiscalErrors(void); extern void ClearFiscalErrors(void);

View File

@ -1,7 +1,7 @@
#ifndef _VERSION_H_ #ifndef _VERSION_H_
#define _VERSION_H_ #define _VERSION_H_
#define DEVICE_FW_VERSION "03.33" #define DEVICE_FW_VERSION "03.34"
#endif // #ifndef _VERSION_H_ #endif // #ifndef _VERSION_H_

View File

@ -60,14 +60,14 @@
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\version.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>77</SelStart><SelEnd>77</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>73</YPos><SelStart>445</SelStart><SelEnd>445</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.c</Filename><XPos>0</XPos><YPos>426</YPos><SelStart>97646</SelStart><SelEnd>97646</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\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>28</YPos><SelStart>982</SelStart><SelEnd>992</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\modem\modem.c</Filename><XPos>0</XPos><YPos>143</YPos><SelStart>3321</SelStart><SelEnd>3321</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.c</Filename><XPos>0</XPos><YPos>889</YPos><SelStart>38896</SelStart><SelEnd>38896</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\modem_task.c</Filename><XPos>0</XPos><YPos>462</YPos><SelStart>15080</SelStart><SelEnd>15080</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\keyboard\keyboard.c</Filename><XPos>0</XPos><YPos>129</YPos><SelStart>2822</SelStart><SelEnd>2822</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>167</SelStart><SelEnd>167</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\app\app.c</Filename><XPos>0</XPos><YPos>1</YPos><SelStart>590</SelStart><SelEnd>590</SelEnd></Tab><ActiveTab>13</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\lcd.c</Filename><XPos>0</XPos><YPos>9</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\symtab.h</Filename><XPos>0</XPos><YPos>253</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\lcd.h</Filename><XPos>0</XPos><YPos>3</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menu.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>406</SelStart><SelEnd>406</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\control.c</Filename><XPos>0</XPos><YPos>176</YPos><SelStart>1865</SelStart><SelEnd>1865</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.c</Filename><XPos>0</XPos><YPos>125</YPos><SelStart>3550</SelStart><SelEnd>3550</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\validator.c</Filename><XPos>0</XPos><YPos>253</YPos><SelStart>9825</SelStart><SelEnd>9825</SelEnd></Tab></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\service\coin.c</Filename><XPos>0</XPos><YPos>28</YPos><SelStart>982</SelStart><SelEnd>992</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\modem\modem.c</Filename><XPos>0</XPos><YPos>143</YPos><SelStart>3321</SelStart><SelEnd>3321</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\modem_task.c</Filename><XPos>0</XPos><YPos>462</YPos><SelStart>15080</SelStart><SelEnd>15080</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\keyboard\keyboard.c</Filename><XPos>0</XPos><YPos>129</YPos><SelStart>2822</SelStart><SelEnd>2822</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.h</Filename><XPos>0</XPos><YPos>21</YPos><SelStart>854</SelStart><SelEnd>873</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\app\app.c</Filename><XPos>0</XPos><YPos>1</YPos><SelStart>590</SelStart><SelEnd>590</SelEnd></Tab><ActiveTab>5</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\lcd.c</Filename><XPos>0</XPos><YPos>9</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\symtab.h</Filename><XPos>0</XPos><YPos>253</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\lcd.h</Filename><XPos>0</XPos><YPos>3</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menu.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>406</SelStart><SelEnd>406</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\control.c</Filename><XPos>0</XPos><YPos>176</YPos><SelStart>1865</SelStart><SelEnd>1865</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.c</Filename><XPos>0</XPos><YPos>575</YPos><SelStart>22600</SelStart><SelEnd>22600</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\validator.c</Filename><XPos>0</XPos><YPos>253</YPos><SelStart>9825</SelStart><SelEnd>9825</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\version.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>77</SelStart><SelEnd>77</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.c</Filename><XPos>0</XPos><YPos>184</YPos><SelStart>4367</SelStart><SelEnd>4367</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\fr.c</Filename><XPos>0</XPos><YPos>607</YPos><SelStart>16346</SelStart><SelEnd>16365</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\fiscal\fiscal.c</Filename><XPos>0</XPos><YPos>840</YPos><SelStart>21887</SelStart><SelEnd>21887</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\fiscal\fiscal.h</Filename><XPos>0</XPos><YPos>360</YPos><SelStart>18263</SelStart><SelEnd>18263</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\fr.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>416</SelStart><SelEnd>416</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.c</Filename><XPos>0</XPos><YPos>1963</YPos><SelStart>91825</SelStart><SelEnd>91825</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\fram_map.h</Filename><XPos>0</XPos><YPos>12</YPos><SelStart>808</SelStart><SelEnd>808</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.h</Filename><XPos>0</XPos><YPos>90</YPos><SelStart>3905</SelStart><SelEnd>3936</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.h</Filename><XPos>0</XPos><YPos>170</YPos><SelStart>6311</SelStart><SelEnd>6311</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.c</Filename><XPos>0</XPos><YPos>958</YPos><SelStart>39421</SelStart><SelEnd>39421</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.h</Filename><XPos>0</XPos><YPos>29</YPos><SelStart>1564</SelStart><SelEnd>1564</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions> <Positions>
<Top><Row0><Sizes><Toolbar-058229c8><key>iaridepm.enu1</key></Toolbar-058229c8><Toolbar-05875ba8><key>debuggergui.enu1</key></Toolbar-05875ba8></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>484</Bottom><Right>302</Right><x>-2</x><y>-2</y><xscreen>213</xscreen><yscreen>206</yscreen><sizeHorzCX>155930</sizeHorzCX><sizeHorzCY>284138</sizeHorzCY><sizeVertCX>222548</sizeVertCX><sizeVertCY>670345</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>196</Bottom><Right>1368</Right><x>-2</x><y>-2</y><xscreen>1370</xscreen><yscreen>198</yscreen><sizeHorzCX>1002928</sizeHorzCX><sizeHorzCY>273103</sizeHorzCY><sizeVertCX>155930</sizeVertCX><sizeVertCY>273103</sizeVertCY></Rect></Wnd2></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions> <Top><Row0><Sizes><Toolbar-048629c8><key>iaridepm.enu1</key></Toolbar-048629c8><Toolbar-048af288><key>debuggergui.enu1</key></Toolbar-048af288></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>484</Bottom><Right>302</Right><x>-2</x><y>-2</y><xscreen>213</xscreen><yscreen>206</yscreen><sizeHorzCX>155930</sizeHorzCX><sizeHorzCY>284138</sizeHorzCY><sizeVertCX>222548</sizeVertCX><sizeVertCY>670345</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>196</Bottom><Right>1368</Right><x>-2</x><y>-2</y><xscreen>1370</xscreen><yscreen>198</yscreen><sizeHorzCX>1002928</sizeHorzCX><sizeHorzCY>273103</sizeHorzCY><sizeVertCX>155930</sizeVertCX><sizeVertCY>273103</sizeVertCY></Rect></Wnd2></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop> </Desktop>
</Project> </Project>

View File

@ -3,7 +3,7 @@ WatchCond=_ 0
Watch0=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0 Watch0=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0
Watch1=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0 Watch1=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0
[DebugChecksum] [DebugChecksum]
Checksum=-454810418 Checksum=-1867077700
[DisAssemblyWindow] [DisAssemblyWindow]
NumStates=_ 1 NumStates=_ 1
State 1=_ 1 State 1=_ 1

View File

@ -63,14 +63,14 @@
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\version.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>77</SelStart><SelEnd>77</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>73</YPos><SelStart>445</SelStart><SelEnd>445</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.c</Filename><XPos>0</XPos><YPos>426</YPos><SelStart>97646</SelStart><SelEnd>97646</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\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>28</YPos><SelStart>982</SelStart><SelEnd>992</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\modem\modem.c</Filename><XPos>0</XPos><YPos>143</YPos><SelStart>3321</SelStart><SelEnd>3321</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.c</Filename><XPos>0</XPos><YPos>889</YPos><SelStart>38896</SelStart><SelEnd>38896</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\modem_task.c</Filename><XPos>0</XPos><YPos>462</YPos><SelStart>15080</SelStart><SelEnd>15080</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\keyboard\keyboard.c</Filename><XPos>0</XPos><YPos>129</YPos><SelStart>2822</SelStart><SelEnd>2822</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>167</SelStart><SelEnd>167</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\app\app.c</Filename><XPos>0</XPos><YPos>1</YPos><SelStart>590</SelStart><SelEnd>590</SelEnd></Tab><ActiveTab>13</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\lcd.c</Filename><XPos>0</XPos><YPos>9</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\symtab.h</Filename><XPos>0</XPos><YPos>253</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\lcd.h</Filename><XPos>0</XPos><YPos>3</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menu.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>406</SelStart><SelEnd>406</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\control.c</Filename><XPos>0</XPos><YPos>176</YPos><SelStart>1865</SelStart><SelEnd>1865</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.c</Filename><XPos>0</XPos><YPos>125</YPos><SelStart>3550</SelStart><SelEnd>3550</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\validator.c</Filename><XPos>0</XPos><YPos>253</YPos><SelStart>9825</SelStart><SelEnd>9825</SelEnd></Tab></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\service\coin.c</Filename><XPos>0</XPos><YPos>28</YPos><SelStart>982</SelStart><SelEnd>992</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\modem\modem.c</Filename><XPos>0</XPos><YPos>143</YPos><SelStart>3321</SelStart><SelEnd>3321</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\modem_task.c</Filename><XPos>0</XPos><YPos>462</YPos><SelStart>15080</SelStart><SelEnd>15080</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\keyboard\keyboard.c</Filename><XPos>0</XPos><YPos>129</YPos><SelStart>2822</SelStart><SelEnd>2822</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.h</Filename><XPos>0</XPos><YPos>21</YPos><SelStart>854</SelStart><SelEnd>873</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\OS\app\app.c</Filename><XPos>0</XPos><YPos>1</YPos><SelStart>590</SelStart><SelEnd>590</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\lcd.c</Filename><XPos>0</XPos><YPos>9</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\symtab.h</Filename><XPos>0</XPos><YPos>253</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\lcd\lcd.h</Filename><XPos>0</XPos><YPos>3</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menu.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>406</SelStart><SelEnd>406</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\control.c</Filename><XPos>0</XPos><YPos>176</YPos><SelStart>1865</SelStart><SelEnd>1865</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\app_serv.c</Filename><XPos>0</XPos><YPos>527</YPos><SelStart>21024</SelStart><SelEnd>21024</SelEnd></Tab><ActiveTab>11</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\validator.c</Filename><XPos>0</XPos><YPos>253</YPos><SelStart>9825</SelStart><SelEnd>9825</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\version.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>77</SelStart><SelEnd>77</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.c</Filename><XPos>0</XPos><YPos>184</YPos><SelStart>4367</SelStart><SelEnd>4367</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\fr.c</Filename><XPos>0</XPos><YPos>607</YPos><SelStart>16346</SelStart><SelEnd>16365</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\fiscal\fiscal.c</Filename><XPos>0</XPos><YPos>840</YPos><SelStart>21887</SelStart><SelEnd>21887</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\DRIVERS\fiscal\fiscal.h</Filename><XPos>0</XPos><YPos>360</YPos><SelStart>18263</SelStart><SelEnd>18263</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\service\fr.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>416</SelStart><SelEnd>416</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.c</Filename><XPos>0</XPos><YPos>1963</YPos><SelStart>91825</SelStart><SelEnd>91825</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\fram_map.h</Filename><XPos>0</XPos><YPos>12</YPos><SelStart>808</SelStart><SelEnd>808</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\app\journal.h</Filename><XPos>0</XPos><YPos>90</YPos><SelStart>3905</SelStart><SelEnd>3936</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\data\datadesc.h</Filename><XPos>0</XPos><YPos>170</YPos><SelStart>6311</SelStart><SelEnd>6311</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.c</Filename><XPos>0</XPos><YPos>958</YPos><SelStart>39421</SelStart><SelEnd>39421</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\PROJECT\menu\menudesc.h</Filename><XPos>0</XPos><YPos>29</YPos><SelStart>1564</SelStart><SelEnd>1564</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions> <Positions>
<Top><Row0><Sizes><Toolbar-058229c8><key>iaridepm.enu1</key></Toolbar-058229c8></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>522</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>722759</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>158</Bottom><Right>1368</Right><x>-2</x><y>-2</y><xscreen>1370</xscreen><yscreen>160</yscreen><sizeHorzCX>1002928</sizeHorzCX><sizeHorzCY>220690</sizeHorzCY><sizeVertCX>117130</sizeVertCX><sizeVertCY>0</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions> <Top><Row0><Sizes><Toolbar-048629c8><key>iaridepm.enu1</key></Toolbar-048629c8></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>488</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>675862</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>192</Bottom><Right>1368</Right><x>-2</x><y>-2</y><xscreen>1370</xscreen><yscreen>194</yscreen><sizeHorzCX>1002928</sizeHorzCX><sizeHorzCY>267586</sizeHorzCY><sizeVertCX>117130</sizeVertCX><sizeVertCY>0</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop> </Desktop>
</Workspace> </Workspace>

File diff suppressed because it is too large Load Diff

View File

@ -585,7 +585,7 @@
</option> </option>
<option> <option>
<name>OOCOutputFile</name> <name>OOCOutputFile</name>
<state>solarium_3_33.hex</state> <state>solarium_3_34.hex</state>
</option> </option>
<option> <option>
<name>OOCCommandLineProducer</name> <name>OOCCommandLineProducer</name>