📄 szrh.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Szrh.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "BillBaseForm"
#pragma link "DateEdit"
#pragma link "fpanel"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"
TfrmSzrh *frmSzrh;
//---------------------------------------------------------------------------
__fastcall TfrmSzrh::TfrmSzrh(TComponent* Owner)
: TBillBaseForm(Owner,euSdSzrh,"")
{
AutoCtl=seSzrhCode;
}
//---------------------------------------------------------------------------
void __fastcall TfrmSzrh::InitEditControl()
{
ClientGroup->AddComponent(1,false,false,true, FloatPanel1,FloatPanel1->Name);
ClientGroup->AddComponent(1,true,true,true, FloatPanel3,FloatPanel3->Name);
ClientGroup->AddComponent(1,false,true,false,seSzrhCode,seSzrhCode->Name);
ClientGroup->AddComponent(2,false,false,true,FloatPanel2,FloatPanel2->Name);
ClientGroup->AddComponent(2,false,true,true,seSzrdSogCode,seSzrdSogCode->Name);
ClientGroup->AddComponent(1,false,true,true,scSzrhClient,scSzrhClient->Name);
ClientGroup->AddComponent(1,false,true,true,seSzrhEnrate,seSzrhEnrate->Name);
ClientGroup->AddComponent(2,false,true,true,seSzrdSogdLine,seSzrdSogdLine->Name);
ClientGroup->AddComponent(2,true,true,true,seSzrdSoCode,seSzrdSoCode->Name);
ClientGroup->AddComponent(2,true,true,true,seSzrdSodLine,seSzrdSodLine->Name);
ClientGroup->AddComponent(2,true,true,true,seSzrdQty,seSzrdQty->Name);
AnsiString sSql;
sSql =AnsiString("select currencycode,currencyname,currencyrate=coalesce(rateratio,1),currencylocal from sdcurrency,sdrate");
sSql+=" where currencycode*=ratecurrency and ";
sSql+=" ratefmonth='"+g_sdSMonth+"'";
//Szrh
// FillComboBox(scSzrhUser,"SELECT UserCode FROM sdUser","UserCode");
FillComboBox(scSzrhCurrency,sSql,"CurrencyName","CurrencyCode","CurrencyRate","CurrencyLocal");
FillComboBox(scSzrhClient,"SELECT ClientCode FROM sdClient where ClientCancel=0","ClientCode");
FillEdit(seSzrhUser,"select UserCode,UserName from sdUser","UserName","UserCode");
FillEdit(seSzrhChecker,"select UserCode,UserName from sdUser","UserName","UserCode");
}
//---------------------------------------------------------------------------
void __fastcall TfrmSzrh::ClearControl(int Section,bool BringToNext)
{
if (Section == 1)
{
if (! BringToNext)
{
seSzrhCode->Text ="";
deSzrhDate->Text =g_sdCurDate;
scSzrhClient->Text ="";
lbSzrhClientName->Caption="";
scSzrhCurrency->Text =g_sdCurrencyCode;
seSzrhEnrate->Text ="1";
// seSzrhAmt->Text ="0";
seSzrhUser->LocateKey(g_sdUserCode);
chkSzrhCheck->Checked =false;
seSzrhChecker->ItemIndex =-1;
chkSzrhCancel->Checked=false;
seSzrhDesc->Text ="";
lbSzrhSysDate->Caption =g_sdCurDate;
}
sgSzrd->RowCount=1;
}
else if (Section==2)
{
if (!BringToNext)
{
if(comServer->ItemCount==0)
seSzrdLine->Text ="1";
else
{
comServer->LocateItemByIndex(comServer->ItemCount-1);
seSzrdLine->Text=AnsiString(StrToInt(GetDetailValue(fiSzrdLine))+1);
}
seSzrdSogCode->Text ="";
seSzrdSogdLine->Text ="";
seSzrdSoCode->Text ="";
seSzrdSodLine->Text ="";
seSzrdQty->Text ="0";
seSzrdAmt->Text ="0.00";
seSzrdCashAmt->Text ="0.00";
seSzrdDesc->Text ="";
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSzrh::GetDataFromComObject(int Section)
{
if (Section==1)
{
seSzrhCode->Text =GetHeadValue(fiSzrhCode);
deSzrhDate->Text =GetHeadValue(fiSzrhDate);
scSzrhClient->Text =GetHeadValue(fiSzrhClient);
lbSzrhClientName->Caption=GetHeadValue(fiSzrhClientName);
scSzrhCurrency->Text =GetHeadValue(fiSzrhCurrency);
seSzrhEnrate->Text =GetHeadValue(fiSzrhEnrate);
// seSzrhAmt->Text =GetHeadValue(fiSzrhAmt);
seSzrhUser->LocateKey(GetHeadValue(fiSzrhUser));
chkSzrhCheck->Checked =(GetHeadValue(fiSzrhCheck)=="1");
seSzrhChecker->LocateKey(GetHeadValue(fiSzrhChecker));
chkSzrhCancel->Checked =(GetHeadValue(fiSzrhCancel)=="1");
seSzrhDesc->Text =GetHeadValue(fiSzrhDesc);
lbSzrhSysDate->Caption =GetHeadValue(fiSzrhSysDate);
SetCheckToolbarStatus(chkSzrhCheck->Checked);
SetCancelToolbarStatus(chkSzrhCancel->Checked);
}
else
{
seSzrdLine->Text =GetDetailValue(fiSzrdLine);
seSzrdSogCode->Text =GetDetailValue(fiSzrdSogCode);
seSzrdSogdLine->Text =GetDetailValue(fiSzrdSogdLine);
seSzrdSoCode->Text =GetDetailValue(fiSzrdSoCode);
seSzrdSodLine->Text =GetDetailValue(fiSzrdSodLine);
seSzrdQty->Text =GetDetailValue(fiSzrdQty);
seSzrdAmt->Text =GetDetailValue(fiSzrdAmt);
seSzrdCashAmt->Text =GetDetailValue(fiSzrdCashAmt);
seSzrdDesc->Text =GetDetailValue(fiSzrdDesc);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSzrh::SendDataToComObject(int Section)
{
AnsiString s;
if (Section==1)
{
SetHeadValue(fiSzrhCode,seSzrhCode->Text);
SetHeadValue(fiSzrhDate,deSzrhDate->Text);
SetHeadValue(fiSzrhClient,scSzrhClient->Text);
// SetHeadValue(fiSzrhClientName,seSzrhClientName->Text);
SetHeadValue(fiSzrhCurrency,scSzrhCurrency->ItemData[1]);
SetHeadValue(fiSzrhEnrate,seSzrhEnrate->Text);
// SetHeadValue(fiSzrhAmt,seSzrhAmt->Text);
SetHeadValue(fiSzrhUser,g_sdUserCode);
// SetHeadValue(fiSzrhCheck,chkSzrhCheck->Checked ?"1":"0" );
// SetHeadValue(fiSzrhCancel,chkSzrhCancel->Checked ?"1":"0" );
SetHeadValue(fiSzrhDesc,seSzrhDesc->Text);
// SetHeadValue(fiSzrhSysDate,deSzrhSysDate->Text);
}
else
{
//给单号(SzrdCode)赋值
SetDetailValue(fiSzrdCode,seSzrhCode->Text);
SetDetailValue(fiSzrdLine ,seSzrdLine->Text);
SetDetailValue(fiSzrdSogCode,seSzrdSogCode->Text);
SetDetailValue(fiSzrdSogdLine,seSzrdSogdLine->Text);
SetDetailValue(fiSzrdSoCode,seSzrdSoCode->Text);
SetDetailValue(fiSzrdSodLine,seSzrdSodLine->Text);
SetDetailValue(fiSzrdQty,seSzrdQty->Text);
SetDetailValue(fiSzrdAmt,seSzrdAmt->Text);
SetDetailValue(fiSzrdCashAmt,seSzrdCashAmt->Text);
SetDetailValue(fiSzrdDesc,seSzrdDesc->Text);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSzrh::WaitUserInput(int Section)
{
if (Section ==1)
{
// FloatPanel1->Enabled=true;
if(seSzrhCode->Enabled)
seSzrhCode->SetFocus();
}
else
{
// FloatPanel1->Enabled=false;
sgSzrd->Visible=false;
FloatPanel2->Visible=true;
sgSzrd->Align=alNone;
FloatPanel2->Align=alClient;
if(CurrentState==caAddDetail||CurrentState==caAddBill)
btnOK->Enabled=true;
else
btnOK->Enabled=false;
btnCancel->Enabled=true;
seSzrdLine->SetFocus();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSzrh::RefreshGridData(int mAction)
{
int i;
AnsiString ItemStr;
switch(mAction)
{
case 0:
ItemStr="\t"+GetDetailValue(fiSzrdLine)+"\t"+GetDetailValue(fiSzrdSogCode)+"\t"+
GetDetailValue(fiSzrdSogdLine)+"\t"+GetDetailValue(fiSzrdSoCode)+"\t"+
GetDetailValue(fiSzrdSodLine)+"\t"+GetDetailValue(fiSzrdQty)+"\t"+
GetDetailValue(fiSzrdAmt)+"\t"+GetDetailValue(fiSzrdCashAmt);
sgSzrd->AddItem(ItemStr);
break;
case 1:
ItemStr="\t"+GetDetailValue(fiSzrdLine)+"\t"+GetDetailValue(fiSzrdSogCode)+"\t"+
GetDetailValue(fiSzrdSogdLine)+"\t"+GetDetailValue(fiSzrdSoCode)+"\t"+
GetDetailValue(fiSzrdSodLine)+"\t"+GetDetailValue(fiSzrdQty)+"\t"+
GetDetailValue(fiSzrdAmt)+"\t"+GetDetailValue(fiSzrdCashAmt);
sgSzrd->ChangeItem(ItemStr,sgSzrd->Row);
break;
case 2:
sgSzrd->RemoveItem(sgSzrd->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSzrh::DisplayBill()
{
if(comServer->RecordCount<1)
return;
GetDataFromComObject(1);
ChangeToBrowseState(true);
FillGridWithData();
/* if (sgSzrd->RowCount >1)
{
AnsiString Keystr;
Keystr=sgSzrd->Cells[1][sgSzrd->Row];
comServer->LocateItemByKey(WideString(Keystr));
GetDataFromComObject(2);
}*/
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -