szrh.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 448 行 · 第 1/2 页
CPP
448 行
//---------------------------------------------------------------------------
#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, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TBillBaseForm(Owner,chWnd,MidCode,WhereStr)
{
SetAutoCodeString(seSzrhCode, "Acm-023");
//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,seSzrhClient,seSzrhClient->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(Handle,scSzrhUser,"SELECT UserCode FROM sdUser","UserCode");
FillComboBox(Handle,scSzrhCurrency,sSql,"CurrencyName","CurrencyCode","CurrencyRate","CurrencyLocal");
// FillComboBox(Handle,scSzrhClient,"SELECT ClientCode FROM sdClient where ClientCancel=0","ClientCode");
// FillEdit(Query,seSzrhUser,"select UserCode,UserName from sdUser","UserName","UserCode");
// FillEdit(Query,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;
seSzrhClient->Text ="";
lbSzrhClientName->Caption="";
scSzrhCurrency->LocateKey(g_sdCurrencyCode);
seSzrhEnrate->Text ="1";
// seSzrhAmt->Text ="0";
seSzrhUser->Text=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)
{
seSzrdLine->Text=AnsiString(comServer->ItemCount+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("SzrhCode");
deSzrhDate->Text =GetHeadValue("SzrhDate");
seSzrhClient->Text =GetHeadValue("SzrhClient");
lbSzrhClientName->Caption=GetHeadValue("SzrhClientName");
scSzrhCurrency->LocateKey(GetHeadValue("SzrhCurrency"));
seSzrhEnrate->Text =GetHeadValue("SzrhEnrate");
// seSzrhAmt->Text =GetHeadValue("SzrhAmt");
seSzrhUser->Text=GetHeadValue("SzrhUser");
chkSzrhCheck->Checked =(GetHeadValue("SzrhCheck")=="1");
seSzrhChecker->Text=GetHeadValue("SzrhChecker");
chkSzrhCancel->Checked =(GetHeadValue("SzrhCancel")=="1");
seSzrhDesc->Text =GetHeadValue("SzrhDesc");
lbSzrhSysDate->Caption =GetHeadValue("SzrhSysDate");
SetCheckToolbarStatus(chkSzrhCheck->Checked);
SetCancelToolbarStatus(chkSzrhCancel->Checked);
}
else
{
seSzrdLine->Text =GetDetailValue("SzrdLine");
seSzrdSogCode->Text =GetDetailValue("SzrdSogCode");
seSzrdSogdLine->Text =GetDetailValue("SzrdSogdLine");
seSzrdSoCode->Text =GetDetailValue("SzrdSoCode");
seSzrdSodLine->Text =GetDetailValue("SzrdSodLine");
seSzrdQty->Text =GetDetailValue("SzrdQty");
seSzrdAmt->Text =GetDetailValue("SzrdAmt");
seSzrdCashAmt->Text =GetDetailValue("SzrdCashAmt");
seSzrdDesc->Text =GetDetailValue("SzrdDesc");
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSzrh::SendDataToComObject(int Section)
{
AnsiString s;
if (Section==1)
{
SetHeadValue("SzrhCode",seSzrhCode->Text);
SetHeadValue("SzrhDate",deSzrhDate->Text);
SetHeadValue("SzrhClient",seSzrhClient->Text);
SetHeadValue("SzrhClientName",lbSzrhClientName->Caption);
SetHeadValue("SzrhCurrency",scSzrhCurrency->ItemData[1]);
SetHeadValue("SzrhEnrate",seSzrhEnrate->Text);
// SetHeadValue("SzrhAmt",seSzrhAmt->Text);
SetHeadValue("SzrhUser",g_sdUserCode);
// SetHeadValue("SzrhCheck",chkSzrhCheck->Checked ?"1":"0" );
// SetHeadValue("SzrhCancel",chkSzrhCancel->Checked ?"1":"0" );
SetHeadValue("SzrhDesc",seSzrhDesc->Text);
// SetHeadValue("SzrhSysDate",deSzrhSysDate->Text);
}
else
{
//给单号(SzrdCode)赋值
SetDetailValue("SzrdCode",seSzrhCode->Text);
SetDetailValue("SzrdLine",seSzrdLine->Text);
SetDetailValue("SzrdSogCode",seSzrdSogCode->Text);
SetDetailValue("SzrdSogdLine",seSzrdSogdLine->Text);
SetDetailValue("SzrdSoCode",seSzrdSoCode->Text);
SetDetailValue("SzrdSodLine",seSzrdSodLine->Text);
SetDetailValue("SzrdQty",seSzrdQty->Text);
SetDetailValue("SzrdAmt",seSzrdAmt->Text);
SetDetailValue("SzrdCashAmt",seSzrdCashAmt->Text);
SetDetailValue("SzrdDesc",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("SzrdLine")+"\t"+GetDetailValue("SzrdSogCode")+"\t"+
GetDetailValue("SzrdSogdLine")+"\t"+GetDetailValue("SzrdSoCode")+"\t"+
GetDetailValue("SzrdSodLine")+"\t"+GetDetailValue("SzrdQty")+"\t"+
GetDetailValue("SzrdAmt")+"\t"+GetDetailValue("SzrdCashAmt");
sgSzrd->AddItem(ItemStr);
break;
case 1:
ItemStr="\t"+GetDetailValue("SzrdLine")+"\t"+GetDetailValue("SzrdSogCode")+"\t"+
GetDetailValue("SzrdSogdLine")+"\t"+GetDetailValue("SzrdSoCode")+"\t"+
GetDetailValue("SzrdSodLine")+"\t"+GetDetailValue("SzrdQty")+"\t"+
GetDetailValue("SzrdAmt")+"\t"+GetDetailValue("SzrdCashAmt");
sgSzrd->ChangeItem(ItemStr,sgSzrd->Row);
break;
case 2:
sgSzrd->RemoveItem(sgSzrd->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSzrh::DisplayBill()
{
if(comServer->RecordCount<1)
return;
GetDataFromComObject(1);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?