первый

This commit is contained in:
2024-11-01 12:23:13 +05:00
parent 801d9d33fa
commit 0688c46a7e
226 changed files with 162921 additions and 0 deletions

View File

@ -0,0 +1,262 @@
//---------------------------------------------------------------------------
#pragma hdrstop
#include "stdafx.h"
//---------------------------------------------------------------------------
#include "FP300KZ1C.h"
#include <WTools.h>
//---------------------------------------------------------------------------
FP300KZ1C::FP300KZ1C()
{
//DiscountInvertor=1;
DocumentNumber=0;
OperatorNumber=1;
PayMode="P"; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ActiveLD=-1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UseReceiptRibbon=true; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
UseJournalRibbon=true;
Absolute=false; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Discount=0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Tax1=0; Tax2=0; Tax3=0; Tax4=0;
Department=0;
StringQuantity=5; //<2F><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Open = false; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
Items = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
Amount = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
Tender = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
ListLDDevice=new TSimpleList<LDDevice*>(10,true); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> LD <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
//---------------------------------------------------------------------------
FP300KZ1C::~FP300KZ1C()
{
delete ListLDDevice;
}
//---------------------------------------------------------------------------
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
bool FP300KZ1C::getECRStatus()
{
GetStatusFP();
bool b=true;
unsigned short De,Me,Ye,Ho,Mi,Se;
b=b && GetDateTime(De,Me,Ye,Ho,Mi,Se); ///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Date=add0(IntToStdStr(De))+"-"+add0(IntToStdStr(Me))+"-"+add0(IntToStdStr(Ye)); //DD-MM-YYYY
Time=add0(IntToStdStr(Ho))+":"+add0(IntToStdStr(Mi))+":"+add0(IntToStdStr(Se)); //HH:MM:SS
return b;
}
//---------------------------------------------------------------------------
bool FP300KZ1C::SaveSetup()
{
bool b=true;
/* std::wstring path=getCommonAppPathW()+L"\\NewTon\\Setup.ini";
std::string str;
str=toStdStr(cPort->ComNumber);
b=b && IniWrite(path, "Main", "ComNumber", str.c_str());
str=toStdStr(cPort->BaudRate);
b=b && IniWrite(path, "Main", "BaudRate", str.c_str());
//str=toStdStr(cPort->TimeOut)
b=b && IniWrite(path, "Main", "TimeOut", "500");
*/
return b;
}
//---------------------------------------------------------------------------
bool FP300KZ1C::LoadSetup()
{
/* std::wstring path=getCommonAppPathW()+"\\NewTon\\Setup.ini";
std::string str;
str=IniRead(path, "Main", "ComNumber");
cPort->ComNumber=fromString<int>(str);
str=IniRead(path, "Main", "BaudRate");
cPort->BaudRate=fromString<int>(str);
//Timeout
*/
return true;
}
//---------------------------------------------------------------------------
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ini <20><><EFBFBD><EFBFBD>
///\param Name <20><><EFBFBD> <20><>
///\param ComNumber <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD> <20><>
///\param BaudRate <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>, <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1200 <20><><EFBFBD>)
///\param ComputerName <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
///\param TimeOut <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>
///\param FrType <20><><EFBFBD> <20><>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
bool FP300KZ1C::AddLD(std::string Name,int ComNumber,int BaudRate,std::string ComputerName,int TimeOut,std::string FrType)
{
//<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int Number=0;
for(unsigned int i=0;i<ListLDDevice->count();i++)
if(Number<ListLDDevice->get(i)->Number) Number=ListLDDevice->get(i)->Number;
LDDevice *dv= new LDDevice;
dv->Name=Name;
dv->Number=Number+1;
dv->ComNumber=ComNumber;
dv->BaudRate=BaudRate;
dv->ComputerName=ComputerName;
dv->TimeOut=TimeOut;
dv->FrType=FrType;
ListLDDevice->add(dv);
SaveLD(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ini <20><><EFBFBD><EFBFBD>
return true;
}
//---------------------------------------------------------------------------
//<2F><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool FP300KZ1C::DelLD(int LDNumber)
{
for(unsigned int i=0;i<ListLDDevice->count();i++)
{
if(ListLDDevice->get(i)->Number==LDNumber)
{
ListLDDevice->del(i);
i--;
}
}
SaveLD(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ini <20><><EFBFBD><EFBFBD>
return true;
}
//---------------------------------------------------------------------------
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool FP300KZ1C::LoadLD()
{
//TIniFileSTD* ini=new TIniFileSTD(getCommonAppPathW()+L"\\Newton\\Setup.ini");
//delete ini;
std::wstring str;
std::wstring path=getCommonAppPathW()+L"\\Newton\\Setup.ini";
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
str=IniReadW(path, L"Main", L"ActiveLD");
if(str==L"") str=L"-1";
ActiveLD=fromWString<int>(str);
ListLDDevice->clear();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
str=IniReadW(path, L"Main", L"LDCount");
if(str==L"") str=L"0";
int cnt=fromWString<int>(str);
for(int i=0; i<cnt; i++)
{
str=L"LDDevice"+toStdWStr(i);
LDDevice *dv= new LDDevice;
dv->Number=fromWString<int>(IniReadW(path, str, L"Number"));
dv->Name = WStringToString( IniReadW(path, str, L"Name"), std::locale(""));
dv->ComNumber=fromWString<int>(IniReadW(path, str, L"ComNumber"));
dv->BaudRate=fromWString<int>(IniReadW(path, str, L"BaudRate"));
dv->ComputerName=WStringToString( IniReadW(path, str, L"ComputerName"), std::locale(""));
dv->TimeOut=fromWString<int>(IniReadW(path, str, L"TimeOut"));
dv->FrType=WStringToString( IniReadW(path, str, L"FrType"), std::locale(""));
ListLDDevice->add(dv);
}
return true;
}
//---------------------------------------------------------------------------
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool FP300KZ1C::SaveLD()
{
std::wstring path=getCommonAppPathW()+L"\\NewTon\\Setup.ini";
LDDevice *dv;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ini <20><><EFBFBD><EFBFBD>
std::string str=IntToStdStr(ListLDDevice->count());
//std::string str=toStdStr(ListLDDevice->count());
//std::string str=toStdStr(ListLDDevice->count());
IniWriteW(path, L"Main", L"LDCount", StringToWString(str,std::locale("")));
str=IntToStdStr(ActiveLD);
//str=toStdStr(ActiveLD);
IniWriteW(path, L"Main", L"ActiveLD", StringToWString(str,std::locale("")));
for(uint4 i=0;i<ListLDDevice->count();i++)
{
str="LDDevice"+IntToStdStr(i);
//str="LDDevice"+toStdStr(i);
dv=ListLDDevice->get(i);
IniWriteW(path, StringToWString(str,std::locale("")), L"Number", StringToWString(IntToStdStr(dv->Number),std::locale("")));
IniWriteW(path, StringToWString(str,std::locale("")), L"Name", StringToWString(dv->Name,std::locale("")));
IniWriteW(path, StringToWString(str,std::locale("")), L"ComNumber", StringToWString(IntToStdStr(dv->ComNumber),std::locale("")));
IniWriteW(path, StringToWString(str,std::locale("")), L"BaudRate", StringToWString(IntToStdStr(dv->BaudRate),std::locale("")));
IniWriteW(path, StringToWString(str,std::locale("")), L"ComputerName", StringToWString(dv->ComputerName,std::locale("")));
IniWriteW(path, StringToWString(str,std::locale("")), L"TimeOut", StringToWString(IntToStdStr(dv->TimeOut),std::locale("")));
IniWriteW(path, StringToWString(str,std::locale("")), L"FrType", StringToWString(dv->FrType,std::locale("")));
/*
IniWriteW(path, StringToWString(str,std::locale("")), L"Number", StringToWString(toStdStr(dv->Number),std::locale("")));
IniWriteW(path, StringToWString(str,std::locale("")), L"Name", StringToWString(dv->Name,std::locale("")));
IniWriteW(path, StringToWString(str,std::locale("")), L"ComNumber", StringToWString(toStdStr(dv->ComNumber),std::locale("")));
IniWriteW(path, StringToWString(str,std::locale("")), L"BaudRate", StringToWString(toStdStr(dv->BaudRate),std::locale("")));
IniWriteW(path, StringToWString(str,std::locale("")), L"ComputerName", StringToWString(dv->ComputerName,std::locale("")));
IniWriteW(path, StringToWString(str,std::locale("")), L"TimeOut", StringToWString(toStdStr(dv->TimeOut),std::locale("")));
IniWriteW(path, StringToWString(str,std::locale("")), L"FrType", StringToWString(dv->FrType,std::locale("")));
*/
}
return true;
}
//---------------------------------------------------------------------------
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int FP300KZ1C::getLDCount()
{
return ListLDDevice->count();
}
//---------------------------------------------------------------------------
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
std::string FP300KZ1C::ECRFlags()
{
return Status->getStatus();
}
//---------------------------------------------------------------------------
void FP300KZ1C::setStringForPrinting(std::string str)
{
replaseChars(str,10,' ');
StringForPrinting=str;
}
//---------------------------------------------------------------------------
int FP300KZ1C::GetLastPrintedDocNumber2()
{
int num;
GetLastPrintedDocNumber(num);
return num;
}
//---------------------------------------------------------------------------
//<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
double FP300KZ1C::getCashSum()
{
std::string ExitCode;
double CashSum,ServIn,ServOut;
ParishOrConsumption("","",0.0,L"",L"",ExitCode,CashSum,ServIn,ServOut);
return CashSum;
}
//---------------------------------------------------------------------------
//<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
double FP300KZ1C::getCashIn()
{
std::string ExitCode;
double CashSum,ServIn,ServOut;
ParishOrConsumption("","",0.0,L"",L"",ExitCode,CashSum,ServIn,ServOut);
return ServIn;
}
//---------------------------------------------------------------------------
//<2F><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
double FP300KZ1C::getCashOut()
{
std::string ExitCode;
double CashSum,ServIn,ServOut;
ParishOrConsumption("","",0.0,L"",L"",ExitCode,CashSum,ServIn,ServOut);
return ServOut;
}
//---------------------------------------------------------------------------
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
int FP300KZ1C::getSessionSec()
{
int sec=0;
SessionSec(sec); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
return sec;
}