bcssub.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 323 行
CPP
323 行
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "BcsSub.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "DateEdit"
#pragma link "fpanel"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "StdBaseForm"
#pragma resource "*.dfm"
TfrmBcsSub *frmBcsSub;
//---------------------------------------------------------------------------
__fastcall TfrmBcsSub::TfrmBcsSub(TComponent* Owner)
: TStdBaseForm(Owner)
{
FRetState="Cancel";
FBcsVeriry="";
InitEditControl();
}
//---------------------------------------------------------------------------
void __fastcall TfrmBcsSub::SetcomServer(TComServer *value)
{
comServer=value;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBcsSub::InitEditControl()
{
FillComboBox(Handle,scBcsSettleMode,"select SettleModeName,SettleModeCode from sdSettleMode order by SettleModeCode",
"SettleModeName","SettleModeCode");
FillComboBox(Handle,scBcsUser,"select memo=UserName,CashierCode from sdUser,sdCashier where CashierCode=UserCode order by CashierCode",
"memo","CashierCode");
FillEdit(Handle,seBcsCac,"select CacCode,memo=CacCode+space(2)+CacGlkm+'-'+GlkmName from sdCac,sdGlkm where CacGlkm=GlkmCode order by CacCode",
"memo","CacCode");
FillComboBox(Handle,scBcsFmonth,"select distinct fbbfmonth from sdfbb","fbbfmonth");
FillEdit(Handle,seBcsZy,"select NoteBookText,NoteBookCode from sdNoteBook order by NoteBookCode","NoteBookText","NoteBookCode");//摘要
}
//---------------------------------------------------------------------------
void __fastcall TfrmBcsSub::RefreshUpdateData(int MsgSrc,int MsgType)
{
//
}
//---------------------------------------------------------------------------
void __fastcall TfrmBcsSub::ClearControl()
{
seBcsLine->Text="1";
scBcsFmonth->LocateKey(g_sdFMonth);
deBcsDate->Text=g_sdCurDate;
seBcsCac->ItemIndex=-1;
scBcsSettleMode->ItemIndex=-1;
seBcsSettleNo->Text="";
rbtBcsDir1->Checked=true;
rbtBcsDir2->Checked=false;
lbBcsDir1->Font->Color=clRed;
lbBcsDir2->ParentFont=true;
seBcsAmt->Text="0.00";
scBcsUser->LocateKey(g_sdUserCode);
seBcsZy->ItemIndex=-1;
chkBcsVeriry->Checked=false;
seBcsFbbNo->Text="";
}
//---------------------------------------------------------------------------
void __fastcall TfrmBcsSub::GetDataFromComObject()
{
AnsiString BcsAmtStr;
if(!GetHeadValue("BcsAmt").IsEmpty())
{
BcsAmtStr=GetHeadValue("BcsAmt");
}
else
{
BcsAmtStr="0";
}
seBcsLine->Text=GetHeadValue("BcsLine");
scBcsFmonth->LocateKey(GetHeadValue("BcsFMonth"));
deBcsDate->Text=GetHeadValue("BcsDate");
seBcsCac->LocateKey(GetHeadValue("BcsCac"));
scBcsSettleMode->LocateKey(GetHeadValue("BcsSettleMode"));
seBcsSettleNo->Text=GetHeadValue("BcsSettleNo");
if(GetHeadValue("BcsDir")==1)
{
rbtBcsDir1->Checked=true;
rbtBcsDir2->Checked=false;
lbBcsDir1->Font->Color=clRed;
lbBcsDir2->ParentFont=true;
}
else
{
rbtBcsDir2->Checked=true;
rbtBcsDir1->Checked=false;
lbBcsDir2->Font->Color=clRed;
lbBcsDir1->ParentFont=true;
}
seBcsAmt->Text=FormatFloat("#,##0.00",BcsAmtStr.ToDouble());
scBcsUser->LocateKey(GetHeadValue("BcsUser"));
seBcsZy->LocateKey(GetHeadValue("BcsZy"));
chkBcsVeriry->Checked=GetHeadValue("BcsVeriry")=="1";
seBcsFbbNo->Text=GetHeadValue("BcsFbbNo");
}
//---------------------------------------------------------------------------
void __fastcall TfrmBcsSub::SendDataToComObject()
{
SetFieldValue("BcsCode",seBcsCode->Text);
SetFieldValue("BcsLine",seBcsLine->Text);
SetFieldValue("BcsFMonth",scBcsFmonth->ItemData[0]);
SetFieldValue("BcsDate",deBcsDate->Text);
SetFieldValue("BcsCac",seBcsCac->ItemData[1]);
SetFieldValue("BcsSettleMode",scBcsSettleMode->ItemData[1]);
SetFieldValue("BcsSettleNo",seBcsSettleNo->Text);
if(rbtBcsDir1->Checked)
SetFieldValue("BcsDir","1");
else
SetFieldValue("BcsDir","-1");
SetFieldValue("BcsAmt",seBcsAmt->Text);
SetFieldValue("BcsUser",scBcsUser->ItemData[1]);
SetFieldValue("BcsZy",seBcsZy->ItemData[1]);
SetFieldValue("BcsFbbNo",seBcsFbbNo->Text);//加入出纳日记帐行
SetFieldValue("BcsVeriry",chkBcsVeriry->Checked?1:0);//加入出纳日记帐行
}
//------------------------------------------------------------------------------
void __fastcall TfrmBcsSub::btOKClick(TObject *Sender)
{
//新增时判断对帐单号是否有重复
if(seBcsCode->Enabled==true)//只有在新增单号时才enabled==true
{
TComResultSet *RsBcsCode;
try
{
RsBcsCode=new TComResultSet(Handle,g_ClientHandle);
RsBcsCode->Close();
RsBcsCode->Open("select distinct BcsCode from sdBcs where BcsCode= "+QuotedStr(seBcsCode->Text),"BcsCode");
if(RsBcsCode->RecordCount>0)
{
ShowMessageWindow("该银行对帐单号重复!",mwsWarning);
return;
}
}
__finally
{
if(RsBcsCode) delete RsBcsCode;
}
}
if(FCurState!=caNormal)
{
try
{ FBcsCode=seBcsCode->Text;
SendDataToComObject();
}
catch(Exception &e)
{
throw Exception(e.Message);
}
FRetState="OK";
}
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmBcsSub::btCancelClick(TObject *Sender)
{
FRetState="Cancel";
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmBcsSub::FormShow(TObject *Sender)
{
if(FCurState==caNormal || FCurState==caEditDetail)
{
if(FCurState==caEditDetail && FBcsVeriry==0)
{
fpBcsSub->Enabled=true;
scBcsFmonth->Enabled=false;
bbnAddBcsCode->Enabled=false;//EDit时不能新增
}
else //browse state or verify=1
{
fpBcsSub->Enabled=false;
}
GetDataFromComObject();
}
if(FCurState==caAddDetail)
{
ClearControl();
seBcsLine->Text=FMaxBcsLine;
fpBcsSub->Enabled=true;
chkBcsVeriry->Enabled=true;
bbnAddBcsCode->Enabled=true;
}
seBcsCode->Text=FBcsCode;//主窗体传入的值
seBcsCode->Enabled=false;
//---------
if(Trim(FBcsCode).IsEmpty())//空单时,新增单头
{
seBcsCode->Enabled=true;
}
//----------
}
//---------------------------------------------------------------------------
void __fastcall TfrmBcsSub::seBcsCacButtonClick(TObject *Sender)
{
AnsiString SqlStr;
SqlStr="004[帐户代码][科目代码][科目名称][开户银行]";
SqlStr+="select CacCode,CacGlkm,GlkmName,CacBankName from sdCac,sdGlkm where CacGlkm=GlkmCode order by CacCode";
TfrmWnQuery *p;
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"出纳帐户资料查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
seBcsCac->LocateKey(p->ColData[1]);
}
delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBcsSub::bbnAddBcsCodeClick(TObject *Sender)
{
ClearControl();
//新增时enable control
seBcsCode->Enabled=true;
seBcsLine->Text="1";//新单的第一行
}
//---------------------------------------------------------------------------
void __fastcall TfrmBcsSub::seBcsZyButtonClick(TObject *Sender)
{
AnsiString SqlStr;
SqlStr="003[短语简码][所属模块][短语描述]";
SqlStr+="select NoteBookCode,NotebookClassName=NotebookClassID+' - '+(select ClassName from sdClass where ClassID=NotebookClassID),NoteBookText from sdNoteBook order by NoteBookCode";
TfrmWnQuery *p;
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"摘要查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
seBcsZy->LocateKey(Trim(p->ColData[1]));
}
delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBcsSub::FormClose(TObject *Sender,
TCloseAction &Action)
{
if(FCurState!=caNormal&&FRetState=="Cancel")
{
if(ShowMessageWindow("是否取消本次操作?",mwsConfirmation)==IDYES)
{ FRetState="Cancel";
TStdBaseForm::Close();
}
else
{
Action=caNone;
}
}
else
{
TStdBaseForm::Close();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmBcsSub::seBcsFbbNoButtonClick(TObject *Sender)
{
//从sdFbb.fbbno取数据,在当前的fmonth,fbbcac限定下
AnsiString SqlStr;
if(Trim(seBcsCac->Text).IsEmpty()||Trim(scBcsFmonth->Text).IsEmpty())//必要条件不能为空
{
ShowMessageWindow("财务月份和帐号不能为空",mwsConfirmation);
}
SqlStr="004[出纳帐号][财务月份][流水号][摘要]";
SqlStr+="select fbbcac,fbbfmonth,fbbno,fbbzymemo = (select NoteBookText from sdNotebook where NoteBookCode =fbbzy) from sdfbb where fbbcac = "+QuotedStr(seBcsCac->ItemData[1])+" and fbbfmonth = "+QuotedStr(scBcsFmonth->ItemData[0]);
TfrmWnQuery *p;
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"摘要查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
seBcsFbbNo->Text=(Trim(p->ColData[3]));
}
delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBcsSub::rbtBcsDir1Click(TObject *Sender)
{
lbBcsDir1->Font->Color=clRed;
lbBcsDir2->Font->Color=clWindowText;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBcsSub::rbtBcsDir2Click(TObject *Sender)
{
lbBcsDir2->Font->Color=clRed;
lbBcsDir1->Font->Color=clWindowText;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?