📄 bcs.cpp
字号:
#include <vcl.h>
#pragma hdrstop
#include "Bcs.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "fpanel"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "DateEdit"
#pragma link "SDComboBox"
#pragma resource "*.dfm"
TfrmBcs *frmBcs;
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
__fastcall TfrmBcs::TfrmBcs(TComponent* Owner)
: TRecBaseForm(Owner,euSdBcs,"")
{
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmBcs::GetFieldValue(int iFieldIndex)
{
AnsiString S;
S=ReadFieldValue(comServer,iFieldIndex);
return S;
}
AnsiString __fastcall TfrmBcs::GetDataToGrid()
{
AnsiString s;
scBcsSettleMode->LocateKey(GetFieldValue(fiBcsSettleMode));
s = "\t" +GetFieldValue(fiBcsCode)+"-"+GetFieldValue(fiBcsLine)+
"\t" +GetFieldValue(fiBcsCac)+
"\t" +scBcsSettleMode->ItemData[0]+
"\t" +GetFieldValue(fiBcsSettleNo);
return (s);
}
//------------------------------------------------------------------------------
void __fastcall TfrmBcs::InitEditControl()
{
ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
ClientGroup->AddComponent(2,true,true,false, sgBcs,sgBcs->Name);
ClientGroup->AddComponent(2,true,true,true, chkBcsVeriry,chkBcsVeriry->Name);
FillComboBox(scBcsCac,"select cacbankname+'('+caccode+')' memo,caccode from sdcac order by memo","memo","caccode");
FillComboBox(scBcsSettleMode,"select settlemodename memo,settlemodecode from sdsettlemode order by settlemodecode","memo","settlemodecode");
FillComboBox(scBcsUser,"select username memo,usercode from sduser,sdcashier where cashiercode=usercode order by usercode","memo","usercode");
}
//------------------------------------------------------------------------------
void __fastcall TfrmBcs::ClearControl(bool BringToNext)
{
if (!BringToNext)
{
seBcsCode->Text=""; //银行对帐单号
seBcsLine->Text=""; //银行对帐单行号
deBcsDate->Text=g_sdCurDate; //日期
scBcsSettleMode->ItemIndex=-1; //结算方式
seBcsSettleNo->Text=""; //结算号
scBcsDir->ItemIndex=0; //方向
seBcsAmt->Text="0"; //金额
memBcsZy->Text=""; //摘要
scBcsCac->ItemIndex=-1; //帐号
scBcsUser->LocateKey(g_sdUserCode);//操作员
chkBcsVeriry->Checked=false;
//新增,工具栏使能
SetCheckToolbarStatus(false);
}
}
//------------------------------------------------------------------------------
void __fastcall TfrmBcs::WaitUserInput()
{
seBcsCode->SetFocus();
}
//------------------------------------------------------------------------------
void __fastcall TfrmBcs::GetDataFromComObject()
{
seBcsCode->Text=GetFieldValue(fiBcsCode); //银行对帐单号
seBcsLine->Text=GetFieldValue(fiBcsLine); //银行对帐单行号
sgBcs->LocateGrid(1,GetFieldValue(fiBcsCode)+"-"+GetFieldValue(fiBcsLine));
deBcsDate->Text=GetFieldValue(fiBcsDate); //日期
scBcsSettleMode->LocateKey(GetFieldValue(fiBcsSettleMode)); //结算方式
seBcsSettleNo->Text=GetFieldValue(fiBcsSettleNo); //结算号
scBcsDir->ItemIndex=StrToInt(GetFieldValue(fiBcsDir))-1; //方向
seBcsAmt->Text=GetFieldValue(fiBcsAmt); //金额
memBcsZy->Text=GetFieldValue(fiBcsZy); //摘要
scBcsCac->LocateKey(GetFieldValue(fiBcsCac)); //帐号
scBcsUser->LocateKey(GetFieldValue(fiBcsUser)); //操作员
chkBcsVeriry->Checked=GetFieldValue(fiBcsVeriry)=="1"; //银行对帐标志
//根据审核、取消状态,设置工具栏
if(GetFieldValue(fiBcsVeriry)=="1")
SetCheckToolbarStatus(true);
else
SetCheckToolbarStatus(false);
}
//------------------------------------------------------------------------------
void __fastcall TfrmBcs::SendDataToComObject()
{
WriteFieldValue(comServer,fiBcsCode,seBcsCode->Text); //银行对帐单号
WriteFieldValue(comServer,fiBcsLine,seBcsLine->Text); //银行对帐单行号
WriteFieldValue(comServer,fiBcsDate,deBcsDate->Text); //日期
WriteFieldValue(comServer,fiBcsSettleMode,scBcsSettleMode->ItemData[1]);//结算方式
WriteFieldValue(comServer,fiBcsSettleNo,seBcsSettleNo->Text); //结算号
WriteFieldValue(comServer,fiBcsDir,AnsiString(scBcsDir->ItemIndex+1));//方向
WriteFieldValue(comServer,fiBcsAmt,seBcsAmt->Text); //金额
WriteFieldValue(comServer,fiBcsZy,memBcsZy->Text); //摘要
WriteFieldValue(comServer,fiBcsCac,scBcsCac->ItemData[1]); //帐号
WriteFieldValue(comServer,fiBcsUser,scBcsUser->ItemData[1]); //操作员
}
//------------------------------------------------------------------------------
void __fastcall TfrmBcs::RefreshGridData(int mAction)
{
AnsiString sGridItem;
sGridItem=GetDataToGrid();
int i;
switch(mAction)
{
case 0: //新增
sgBcs->AddItem(sGridItem);
break;
case 1: //修改
i = sgBcs->Row;
sgBcs->ChangeItem(sGridItem,i);
break;
case 2: //删除
sgBcs->RemoveItem(sgBcs->Row);
} ;
}
//-------------------------------------------------------
void __fastcall TfrmBcs::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgBcs->RowCount = 1;
while (comServer->Eof == 0)
{
ItemStr = GetDataToGrid();
sgBcs->AddItem(ItemStr);
comServer->MoveNext();
}
}
void __fastcall TfrmBcs::FormShow(TObject *Sender)
{
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmBcs::RefreshUpdateData(int MsgSrc,int MsgType)
{
switch(MsgSrc)
{
case euSdCac:
if(ShowUpdateMessage(MsgSrc,MsgType))
{
FillComboBox(scBcsCac,"select cacbankname+'('+caccode+')' memo,caccode from sdcac order by memo","memo","caccode");
}
break;
case euSdSettleMode:
if(ShowUpdateMessage(MsgSrc,MsgType))
{
FillComboBox(scBcsSettleMode,"select settlemodename memo,settlemodecode from sdsettlemode order by settlemodecode","memo","settlemodecode");
}
break;
case euSdUser:
if(ShowUpdateMessage(MsgSrc,MsgType))
{
FillComboBox(scBcsUser,"select username memo,usercode from sduser,sdcashier where cashiercode=usercode order by usercode","memo","usercode");
}
break;
default:
break;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmBcs::sgBcsClick(TObject *Sender)
{
int ARow=sgBcs->Row;
if(ARow>0)
comServer->LocateByKey(sgBcs->TextMatrix[ARow][1]);
if(!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -