fbbsub.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 666 行 · 第 1/2 页
CPP
666 行
//---------------------------------------------------------------------------
#include <vcl.h>
#include "FbbSub.h"
#include "Fbb.h"
#include "RecBaseForm.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "DateEdit"
#pragma link "fpanel"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "StdBaseForm"
#pragma link "RecBaseForm"
#pragma resource "*.dfm"
TfrmFbbSub *frmFbbSub;
//---------------------------------------------------------------------------
__fastcall TfrmFbbSub::TfrmFbbSub(TComponent* Owner)
: TStdBaseForm(Owner)
{
FFbbVerify="";
FRetState="Cancel";
InitEditControl();
}
//---------------------------------------------------------------------------
void __fastcall TfrmFbbSub::ClearControl()
{
//-----------
seFbbNo->Text=FMaxFbbNo;
deFbbDate->Text=deFbbDate->InitDate;
rbtFbbDir1->Checked=true;
rbtFbbDir2->Checked=false;
lbFbbDir1->Font->Color=clRed;
lbFbbDir2->ParentFont=true;
scFbbSettleMode->ItemIndex=-1;
seFbbSettleNo->Text="";
seFbbCurrency->LocateKey(FFbbCurrency);
seFbbAmt->Text="0";
seFbbCc->ItemIndex=-1;
scFbbUser->LocateKey(g_sdUserCode);
seFbbZy->ItemIndex=-1;
seFbbExpense->ItemIndex=-1;
seFbbClient->ItemIndex=-1;
seFbbSupply->ItemIndex=-1;
seFbbDept->ItemIndex=-1;
seFbbDeptE->ItemIndex=-1;
seFbbEmployee->ItemIndex=-1;
seFbbFromCacT->ItemIndex=-1;
seFbbFromCacR->ItemIndex=-1;
seFbbFromCurrency->ItemIndex=-1;
seFbbFromRate->Text="0.00";
seFbbFromAmt->Text="0.00";
}
//---------------------------------------------------------------------------
void __fastcall TfrmFbbSub::SetcomServer(TComServer *value)
{
comServer=value;
}
//---------------------------------------------------------------------------
void __fastcall TfrmFbbSub::GetDataFromComObject(int iIndex)
{
AnsiString FbbAmtStr;
if(!GetHeadValue("FbbAmt").IsEmpty())
{
FbbAmtStr=GetHeadValue("FbbAmt");
}
else
{
FbbAmtStr="0";
}
//-----------
seFbbNo->Text=GetHeadValue("FbbNo");
deFbbDate->Text=GetHeadValue("FbbDate");
if(GetHeadValue("FbbDir")=="1")
{
rbtFbbDir1->Checked=true;
rbtFbbDir2->Checked=false;
lbFbbDir1->Font->Color=clRed;
lbFbbDir2->ParentFont=true;
}
else
{
rbtFbbDir2->Checked=true;
rbtFbbDir1->Checked=false;
lbFbbDir2->Font->Color=clRed;
lbFbbDir1->ParentFont=true;
}
seFbbCurrency->LocateKey(FFbbCurrency);
seFbbAmt->Text=FormatFloat("#,##0.00",FbbAmtStr.ToDouble());
scFbbSettleMode->LocateKey(GetHeadValue("FbbSettleMode"));
seFbbSettleNo->Text=GetHeadValue("FbbSettleNo");
seFbbCc->LocateKey(GetHeadValue("FbbCc"));
scFbbUser->LocateKey(GetHeadValue("FbbUser"));
seFbbZy->LocateKey(GetHeadValue("FbbZy"));
chkFbbVerify->Checked=GetHeadValue("FbbVerify")=="1";
//-----------
switch (iIndex)
{
case 1://ex
seFbbExpense->LocateKey(GetHeadValue("FbbExpense"));
break;
case 2://cl
seFbbClient->LocateKey(GetHeadValue("FbbClient"));
break;
case 3://su
seFbbSupply->LocateKey(GetHeadValue("FbbSupply"));
break;
case 4://de
seFbbDept->LocateKey(GetHeadValue("FbbDept"));
break;
case 5://Em
seFbbDeptE->LocateKey(GetHeadValue("FbbDept"));
seFbbEmployee->LocateKey(GetHeadValue("FbbEmployee"));
break;
case 6://Tr
seFbbFromCacT->LocateKey(GetHeadValue("FbbFromCac"));
break;
case 7://Ra
seFbbFromCacR->LocateKey(GetHeadValue("FbbFromCac"));
seFbbFromCurrency->LocateKey(GetHeadValue("FbbFromCurrency"));
seFbbFromRate->Text=FormatFloat("#,##0.00",GetHeadValue("FbbFromRate").ToDouble());
seFbbFromAmt->Text=FormatFloat("#,##0.00",GetHeadValue("FbbFromAmt").ToDouble());
break;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFbbSub::SendDataToComObject(int iIndex)
{
try
{
//--------------
SetFieldValue("FbbNo",seFbbNo->Text);
SetFieldValue("FbbCac",FFbbCac);
SetFieldValue("FbbFMonth",g_sdFMonth);
SetFieldValue("FbbType",scFbbType->ItemData[1]);
SetFieldValue("FbbDate",deFbbDate->Text);
if(rbtFbbDir1->Checked)
SetFieldValue("FbbDir","1");
else
SetFieldValue("FbbDir","-1");
SetFieldValue("FbbSettleMode",scFbbSettleMode->ItemData[1]);
SetFieldValue("FbbSettleNo",seFbbSettleNo->Text);
SetFieldValue("FbbCurrency",seFbbCurrency->ItemData[1]);
if(seFbbAmt->Text.IsEmpty())
{
seFbbAmt->Text="0";
}
SetFieldValue("FbbAmt",seFbbAmt->Text);
SetFieldValue("FbbUser",g_sdUserCode);
SetFieldValue("FbbZy",seFbbZy->ItemData[1]);
//--------------
switch (iIndex)
{
case 1://ex
SetFieldValue("FbbExpense",seFbbExpense->ItemData[1]);
SetFieldValue("FbbCc",seFbbCc->ItemData[1]);
break;
case 2://cl
SetFieldValue("FbbClient",seFbbClient->ItemData[1]);
break;
case 3://supply
SetFieldValue("FbbSupply",seFbbSupply->ItemData[1]);
break;
case 4://Department
SetFieldValue("FbbDept",seFbbDept->ItemData[1]);
break;
case 5://Employee
SetFieldValue("FbbDept",seFbbDeptE->ItemData[1]);
SetFieldValue("FbbEmployee",seFbbEmployee->ItemData[1]);
break;
case 6://TR
SetFieldValue("FbbFromCac",seFbbFromCacT->ItemData[1]);
break;
case 7://Ra
SetFieldValue("FbbFromCac",seFbbFromCacR->ItemData[1]);
SetFieldValue("FbbFromCurrency",seFbbFromCurrency->ItemData[1]);
SetFieldValue("FbbFromRate",seFbbFromRate->Text);
SetFieldValue("FbbFromAmt",seFbbFromAmt->Text);
break;
}
}
catch(Exception &e)
{
throw Exception(e.Message);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFbbSub::InitEditControl()
{
//---------
FillComboBox(Handle,scFbbSettleMode,"select SettleModeName,SettleModeCode from sdSettleMode order by SettleModeCode",
"SettleModeName","SettleModeCode");
FillComboBox(Handle,scFbbUser,"select memo=UserName,CashierCode from sdUser,sdCashier where CashierCode=UserCode order by CashierCode",
"memo","CashierCode");
FillEdit(Handle,seFbbCurrency,"select CurrencyName,CurrencyCode from sdCurrency order by CurrencyCode","CurrencyName","CurrencyCode");
FillEdit(Handle,seFbbCc,"select CcName,CcCode from sdCc where CcCancel=0 order by CcCode","CcName","CcCode");
FillEdit(Handle,seFbbZy,"select NoteBookText,NoteBookCode from sdNoteBook order by NoteBookCode","NoteBookText","NoteBookCode");//摘要
//---------
scFbbType->ClearAll();
scFbbType->AddItems("费用","1");
scFbbType->AddItems("客户往来","2");
scFbbType->AddItems("供应商往来","3");
scFbbType->AddItems("部门","4");
scFbbType->AddItems("个人","5");
scFbbType->AddItems("内部转帐","6");
scFbbType->AddItems("换汇","7");
//---------
FillEdit(Handle,seFbbExpense,"select ExpenseName,ExpenseCode from sdExpense order by ExpenseCode","ExpenseName","ExpenseCode");
FillEdit(Handle,seFbbClient,"select ClientName,ClientCode from sdClient where ClientCancel=0 order by ClientCode","ClientName","ClientCode");
FillEdit(Handle,seFbbSupply,"select SupplyName,SupplyCode from sdSupply where SupplyCancel=0 order by SupplyCode","SupplyName","SupplyCode");
FillEdit(Handle,seFbbDept,"select DeptName,DeptCode from sdDept where DeptEnd=1 order by DeptCode","DeptName","DeptCode");
FillEdit(Handle,seFbbDeptE,"select DeptName,DeptCode from sdDept where DeptEnd=1 order by DeptCode","DeptName","DeptCode");
FillEdit(Handle,seFbbEmployee,"select EmployeeName,EmployeeCode from sdEmployee where EmployeeState=0 order by EmployeeCode","EmployeeName","EmployeeCode");
FillEdit(Handle,seFbbFromCacT,"select CacName=CacCode+space(2)+GlkmName,CacCode from sdCac,sdGlkm where CacGlkm=GlkmCode order by CacCode","CacName","CacCode");
FillEdit(Handle,seFbbFromCacR,"select CacName=CacCode+space(2)+GlkmName,CacCode from sdCac,sdGlkm where CacGlkm=GlkmCode order by CacCode","CacName","CacCode");
FillEdit(Handle,seFbbFromCurrency,"select distinct CurrencyCode,CurrencyName from sdCurrency order by CurrencyCode","CurrencyName","CurrencyCode");
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
void __fastcall TfrmFbbSub::RefreshUpdateData(int MsgSrc,int MsgType)
{
//
}
//---------------------------------------------------------------------------
void __fastcall TfrmFbbSub::FormShow(TObject *Sender)
{
TObject *TempSender;
chkFbbVerify->Enabled=false;
for (int i=0;i<this->ComponentCount;i++)
{
if((this->Components[i])->ClassNameIs("TSDEdit"))
((TSDEdit *)(this->Components[i]))->Color=clWindow;
}
for(int i = 0; i < pgcFbbSub->PageCount; i++)
{
pgcFbbSub->Pages[i]->TabVisible=false;
}
try
{
TempSender=new TObject;
if(FCurState==caEditDetail)
{
fpType->Enabled=false;
panFbbSub->Enabled=true;
pgcFbbSub->Enabled=true;
btnAdd->Enabled=false;
scFbbType->LocateKey(GetHeadValue("FbbType"));//单记录,不用GetFieldValue
scFbbTypeChange(TempSender);
GetDataFromComObject(scFbbType->ItemData[1].ToInt());
}
else if(FCurState==caAddDetail)
{
fpType->Enabled=true;
panFbbSub->Enabled=true;
pgcFbbSub->Enabled=true;
btnAdd->Enabled=true;
scFbbType->ItemIndex=0;
ClearControl();
scFbbTypeChange(TempSender);
}
else if(FCurState==caNormal || FFbbVerify==1)//判断是否:结清or browse
{
scFbbType->LocateKey(GetHeadValue("FbbType"));//单记录,不用GetFieldValue
scFbbTypeChange(TempSender);
fpType->Enabled=false;
panFbbSub->Enabled=false;
pgcFbbSub->Enabled=false;
btnAdd->Enabled=false;
GetDataFromComObject(scFbbType->ItemData[1].ToInt());
}
}
__finally
{
delete TempSender;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFbbSub::btOkClick(TObject *Sender)
{
int tCacType;
if(FCurState!=caNormal)
{
tCacType=scFbbType->ItemData[1].ToInt();
try
{
SendDataToComObject(tCacType);
}
catch(Exception &e)
{
throw Exception(e.Message);
}
FRetState="OK";
}
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmFbbSub::seFbbExpenseButtonClick(TObject *Sender)
{
AnsiString SqlStr;
SqlStr="003[费用代码][费用名称][费用类型]";
SqlStr+="select ExpenseCode,ExpenseName,ExpenseType from sdExpense order by ExpenseCode";
TfrmWnQuery *p;
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"费用资料查询",SqlStr);
}
__finally
{
EndWaitForm();
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?