bkpb.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 354 行
CPP
354 行
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Bkpb.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "DateEdit"
#pragma link "fpanel"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"
TfrmBkpb *frmBkpb;
//---------------------------------------------------------------------------
__fastcall TfrmBkpb::TfrmBkpb(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
SetAutoCodeString(seBkpbCode,"Acm-59");
IsUserCheck=true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::ClearControl(bool BringToNext)
{
if(!BringToNext)
{
seBkpbCode->Text ="Acm-59"; //退款单号
scBkpbFmonth->Text =g_sdFMonth; //月份
deBkpbDate->Text =g_sdCurDate; //日期
scBkpbSupply->ItemIndex =-1; //供应商
scBkpbCurrency->ItemIndex=-1; //币种
seBkpbEnrate->Text =""; //汇率
seBkpbAmt->Text =""; //金额
scBkpbSettleMode->ItemIndex =-1; //结算方式
seBkpbSettleCode->Text =""; //结算号
scBkpbBpr->ItemIndex =-1; //付款类型
memBkpbDesc->Text =""; //备注
seBkpbAppb->Text =""; //退款原因
seBkpbFbbNo->Text =""; //出纳号
scBkpbFbbCac->ItemIndex =-1; //帐号
scBkpbFrom->ItemIndex =0; //来源
scBkpbState->ItemIndex =0; //状态
lbBkpbUser->Caption =g_sdUserCode; //操作员
chkBkpbCheck->Checked =false; //审核标志
lbBkpbChecker->Caption =""; //审核员
lbBkpbCheckDate->Caption =""; //审核日期
lbBkpbSysDate->Caption =""; //系统日期
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::InitEditControl()
{
ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
ClientGroup->AddComponent(2,true,true,false, sgBkpb,sgBkpb->Name);
ClientGroup->AddComponent(2,false,false,false, seBkpbCode,seBkpbCode->Name);
ClientGroup->AddComponent(2,true,true,true, scBkpbFmonth,scBkpbFmonth->Name);
ClientGroup->AddComponent(2,true,true,true, scBkpbSupply,scBkpbSupply->Name);
ClientGroup->AddComponent(2,true,true,true, scBkpbCurrency,scBkpbCurrency->Name);
ClientGroup->AddComponent(2,true,true,true, seBkpbEnrate,seBkpbEnrate->Name);
FillComboBox(Handle,scBkpbFmonth,"SELECT Fcmonth FROM sdFc","Fcmonth");
FillComboBox(Handle,scBkpbSupply,"SELECT SupplyCode,SupplyName FROM sdSupply where supplycancel=0 order by SupplyCode","SupplyName","SupplyCode");
FillComboBox(Handle,scBkpbFbbCac,"SELECT CACBANKNAME,CACCODE FROM sdCac where CACCANCEL=0 order by CACCODE","CACBANKNAME","CACCODE");
AnsiString sSql;
sSql =AnsiString("select currencycode,currencyname,currencyrate=coalesce(rateratio,1),currencylocal from sdcurrency,sdrate");
sSql+=" where currencycode*=ratecurrency and ";
sSql+=" ratefmonth='"+g_sdPMonth+"'";
FillComboBox(Handle,scBkpbCurrency,sSql,"CurrencyName","CurrencyCode","currencyrate","currencylocal");
FillComboBox(Handle,scBkpbBpr,"select BPRDESC,Bprcode from sdBpr","BPRDESC","Bprcode");
FillComboBox(Handle,scBkpbSettleMode,"select SettleModename,SettleModecode from sdSettleMode","SettleModename","SettleModecode");
scBkpbState->AddItems("状态一","1");
scBkpbState->AddItems("状态二","2");
scBkpbFrom->AddItems("手 工","1");
scBkpbFrom->AddItems("生 成","2");
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::GetDataFromComObject()
{
seBkpbCode->Text =GetFieldValue("BkpbCode");
sgBkpb->LocateGrid(1,seBkpbCode->Text);
scBkpbFmonth->Text = GetFieldValue("BkpbFmonth");
deBkpbDate->Text =GetFieldValue("BkpbDate");
scBkpbSupply->LocateKey(GetFieldValue("BkpbSupply"));
scBkpbSupply->Text = scBkpbSupply->ItemData[0];
scBkpbCurrency->LocateKey(GetFieldValue("BkpbCurrency"));
scBkpbCurrency->Text = scBkpbCurrency->ItemData[0];
seBkpbEnrate->Text =GetFieldValue("BkpbEnrate");
seBkpbAmt->Text =GetFieldValue("BkpbAmt");
scBkpbSettleMode->LocateKey(GetFieldValue("BkpbSettleMode"));
scBkpbSettleMode->Text = scBkpbSettleMode->ItemData[0];
seBkpbSettleCode->Text =GetFieldValue("BkpbSettleCode");
scBkpbBpr->LocateKey(GetFieldValue("BkpbBpr"));
scBkpbBpr->Text = scBkpbBpr->ItemData[0];
memBkpbDesc->Text =GetFieldValue("BkpbDesc");
seBkpbAppb->Text =GetFieldValue("BkpbAppb");
seBkpbFbbNo->Text =GetFieldValue("BkpbFbbNo");
scBkpbFbbCac->LocateKey(GetFieldValue("BkpbFbbCac"));
scBkpbFbbCac->Text =scBkpbFbbCac->ItemData[0];
scBkpbFrom->LocateKey(GetFieldValue("BkpbFrom"));
scBkpbFrom->Text =scBkpbFrom->ItemData[0];
scBkpbState->LocateKey(GetFieldValue("BkpbState"));
scBkpbState->Text =scBkpbState->ItemData[0];
lbBkpbUser->Caption = GetFieldValue("BkpbUser");
chkBkpbCheck->Checked=(GetFieldValue("BkpbCheck")=="1"?true:false);
if(chkBkpbCheck->Checked)
SetCheckToolbarStatus(true);
else
SetCheckToolbarStatus(false);
lbBkpbChecker->Caption =GetFieldValue("BkpbChecker");
lbBkpbCheckDate->Caption =GetFieldValue("BkpbCheckDate");
lbBkpbSysDate->Caption =GetFieldValue("BkpbSysDate");
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::SendDataToComObject()
{
SetFieldValue("BkpbCode",seBkpbCode->Text);
SetFieldValue("BkpbFmonth",scBkpbFmonth->Text);
SetFieldValue("BkpbDate",deBkpbDate->Text);
SetFieldValue("BkpbSupply",scBkpbSupply->ItemData[1]);
SetFieldValue("BkpbCurrency",scBkpbCurrency->ItemData[1]);
SetFieldValue("BkpbEnrate",seBkpbEnrate->Text);
SetFieldValue("BkpbAmt",seBkpbAmt->Text);
SetFieldValue("BkpbFrom",scBkpbFrom->ItemData[1]);
SetFieldValue("BkpbSettleMode",scBkpbSettleMode->ItemData[1]);
SetFieldValue("BkpbSettleCode",seBkpbSettleCode->Text);
SetFieldValue("BkpbBpr",scBkpbBpr->ItemData[1]);
SetFieldValue("BkpbDesc",memBkpbDesc->Text);
SetFieldValue("BkpbAppb",seBkpbAppb->Text);
SetFieldValue("BkpbFbbCac",scBkpbFbbCac->ItemData[1]);
SetFieldValue("BkpbFbbNo",seBkpbFbbNo->Text);
SetFieldValue("BkpbState",scBkpbState->ItemData[1]);
SetFieldValue("BkpbUser",lbBkpbUser->Caption);
SetFieldValue("BkpbCheck",(chkBkpbCheck->Checked==true?"1":"0"));
SetFieldValue("BkpbChecker",lbBkpbChecker->Caption);
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::WaitUserInput()
{
seBkpbCode->SetFocus();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmBkpb::GetDataToGrid()
{
AnsiString s;
s = "\t" + GetFieldValue("BkpbCode") +
"\t" + GetFieldValue("BkpbDate") +
"\t" + GetFieldValue("BkpbAmt") +
"\t" + GetFieldValue("BkpbAppb") ;
return s;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::RefreshGridData(int mAction)
{
AnsiString ItemStr;
ItemStr = GetDataToGrid();
if (mAction == 0) //Add
{
sgBkpb->AddItem(ItemStr);
}
else if(mAction == 1) //Modify
{
sgBkpb->ChangeItem(ItemStr,sgBkpb->Row);
}
else if(mAction == 2) //Delete
{
sgBkpb->RemoveItem(sgBkpb->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgBkpb->RowCount = 1;
while (comServer->Eof == 0)
{
ItemStr = GetDataToGrid();
sgBkpb->AddItem(ItemStr);
comServer->MoveNext();
}
comServer->MoveFirst();
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::FormShow(TObject *Sender)
{
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::seBkpbCodeKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Key==13 && CurrentState==caNormal)
{
comServer->LocateByKey(WideString(seBkpbCode->Text));
GetDataFromComObject();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::sgBkpbClick(TObject *Sender)
{
if (sgBkpb->Row > 0)
comServer->LocateByKey(WideString(sgBkpb->TextMatrix[sgBkpb->Row][1]));
if (!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::RefreshUpdateData(int MsgSrc,int MsgType)
{
/*
switch(MsgSrc)
{
case euSdFc:
if(ShowUpdateMessage(MsgSrc,MsgType))
FillComboBox(Handle,scBkpbFmonth,"SELECT Fcmonth FROM sdFc","Fcmonth");
break;
case euSdSupply:
if(ShowUpdateMessage(MsgSrc,MsgType))
FillComboBox(Handle,scBkpbSupply,"SELECT SupplyCode,SupplyName FROM sdSupply where supplycancel=0 order by SupplyCode","SupplyName","SupplyCode");
break;
case euSdCurrency:
if(ShowUpdateMessage(MsgSrc,MsgType))
{
AnsiString sSql;
sSql =AnsiString("select currencycode,currencyname,currencyrate=coalesce(rateratio,1),currencylocal from sdcurrency,sdrate");
sSql+=" where currencycode*=ratecurrency and ";
sSql+=" ratefmonth='"+g_sdPMonth+"'";
FillComboBox(Handle,scBkpbCurrency,sSql,"CurrencyName","CurrencyCode","currencyrate","currencylocal");
}
break;
case euSdBpr:
if(ShowUpdateMessage(MsgSrc,MsgType))
FillComboBox(Handle,scBkpbBpr,"select Bprname,Bprcode from sdBpr","Bprname","Bprcode");
break;
case euSdSettleMode:
if(ShowUpdateMessage(MsgSrc,MsgType))
FillComboBox(Handle,scBkpbSettleMode,"select SettleModename,SettleModecode from sdSettleMode","SettleModename","SettleModecode");
break;
default:
break;
}
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::scBkpbCurrencyClick(TObject *Sender)
{
seBkpbEnrate->Text=scBkpbCurrency->ItemData[2];
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::seBkpbAppbButtonClick(TObject *Sender)
{
AnsiString SqlStr;
TfrmWnQuery *p;
try
{
StartWaitForm("正在查询,请稍候...");
SqlStr="005[付款单号][供应商][币种][汇率][金额]";
SqlStr+="Select APPBCODE,APPBSUPPLY,APPBCURRENCY,APPBENRATE, APPBAMT ";
SqlStr+=" from sdAppb where APPBCHECK=1 order by APPBCODE ";
p=new TfrmWnQuery(this,"付款单查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
seBkpbAppb->Text=p->ColData[1];
scBkpbSupply->LocateKey(p->ColData[2]);
scBkpbSupply->Text=scBkpbSupply->ItemData[0];
scBkpbCurrency->LocateKey(p->ColData[3]);
scBkpbCurrency->Text=scBkpbCurrency->ItemData[0];
seBkpbEnrate->Text=p->ColData[4];
}
delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::scBkpbFromClick(TObject *Sender)
{
if(scBkpbFrom->ItemData[1]=="1")
seBkpbFbbNo->ButtonVisible=false;
else
seBkpbFbbNo->ButtonVisible=true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::seBkpbFbbNoButtonClick(TObject *Sender)
{
AnsiString SqlStr;
TfrmWnQuery *p;
try
{
StartWaitForm("正在查询,请稍候...");
SqlStr="005[出纳号][银行帐号][结算方式][结算号][金额]";
SqlStr+="Select FbbNo,FbbCac,FbbSettleMode,FbbSettleNo,FbbAmt ";
SqlStr+=" from sdfbb where FbbCancel =0 and FbbDir=1 ";
SqlStr+=" and FbbSupply='"+scBkpbSupply->ItemData[1]+"' and FbbCurrency= '"+scBkpbCurrency->ItemData[1]+"' order by fbbNo ";
p=new TfrmWnQuery(this,"出纳帐查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
seBkpbFbbNo->Text=p->ColData[1];
scBkpbFbbCac->LocateKey(p->ColData[2]);
scBkpbFbbCac->Text=scBkpbFbbCac->ItemData[0];
scBkpbSettleMode->LocateKey(p->ColData[3]);
scBkpbSettleMode->Text=scBkpbSettleMode->ItemData[0];
seBkpbSettleCode->Text=p->ColData[4];
seBkpbAmt->Text=p->ColData[5];
}
delete p;
}
//---------------------------------------------------------------------------
bool __fastcall TfrmBkpb::BeforeCheck()
{
SetFieldValue("BkpbCheck",1);
SetFieldValue("BkpbChecker",g_sdUserCode);
SetFieldValue("BkpbCheckDate",g_sdCurDate);
return true;
}
//---------------------------------------------------------------------------
bool __fastcall TfrmBkpb::BeforeUnCheck()
{
SetFieldValue("BkpbCheck",0);
SetFieldValue("BkpbChecker","");
SetFieldValue("BkpbCheckDate",NULL);
return true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::SupplyCodeButtonButtonClick(TObject *Sender)
{
if(OpenSupplyForm("")==true)
{
scBkpbSupply->LocateKey(GetSupplyValue(gtOpenForm,"SupplyCode"));
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?