rmbh.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 559 行 · 第 1/2 页
CPP
559 行
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Rmbh.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#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"
TfrmRmbh *frmRmbh;
//---------------------------------------------------------------------------
__fastcall TfrmRmbh::TfrmRmbh(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TBillBaseForm(Owner,chWnd,MidCode,WhereStr)
{
// AutoCtl=seRmbhCode;
SetAutoCodeString(seRmbhCode,"ACM-032");
// InitRsGoods();
}
//---------------------------------------------------------------------------
void __fastcall TfrmRmbh::InitEditControl()
{
ClientGroup->AddComponent(1,false,false,true,fpRmbh,fpRmbh->Name);
ClientGroup->AddComponent(1,false,true,false,seRmbhCode,seRmbhCode->Name);
ClientGroup->AddComponent(1,false,true,true,seRmbhWo,seRmbhWo->Name);
ClientGroup->AddComponent(1,true,true,true,chkRmbhCheck,chkRmbhCheck->Name);
ClientGroup->AddComponent(1,true,true,true,scRmbhFmonth,scRmbhFmonth->Name);
ClientGroup->AddComponent(2,false,false,true,fpRmbd,fpRmbd->Name);
ClientGroup->AddComponent(2,false,false,false,btnCancel,btnCancel->Name);
ClientGroup->AddComponent(2,false,true,true,btnOK,btnOK->Name);
ClientGroup->AddComponent(2,true,true,true,plRmbdGoods,plRmbdGoods->Name);
ClientGroup->AddComponent(2,false,true,true,seRmbdProcess,seRmbdProcess->Name);
ClientGroup->AddComponent(2,true,true,true,seRmbdRLoc,seRmbdRLoc->Name);
ClientGroup->AddComponent(2,false,true,true,seRmbdLine,seRmbdLine->Name);
//Rmbh
FillComboBox(Handle,scRmbhFmonth,"SELECT FcMonth FROM sdFc order by FcMonth","FcMonth");
FillComboBox(Handle,scRmbhPosType,"SELECT PosTypeCode,PosTypeName FROM sdPosType where PosTypeFlg=3 order by PosTypeCode","PosTypeName","PosTypeCode");
//Rmbd
FillComboBox(Handle,scRmbdUnit,"SELECT UnitName,UnitCode from sdUnit order by UnitCode","UnitName","UnitCode");
FillEdit(Handle,seRmbdRLoc,"SELECT LocName,LocCode from sdLoc where LocType=2 order by LocCode","LocName","LocCode");
FillEdit(Handle,seRmbdLoc,"SELECT LocName,LocCode from sdLoc where LocType=1 order by LocCode","LocName","LocCode");
FillEdit(Handle,seRmbdProcess,"SELECT ProcessName,ProcessCode from sdProcess order by ProcessCode","ProcessName","ProcessCode");
}
//---------------------------------------------------------------------------
void __fastcall TfrmRmbh::RefreshUpdateData(int MsgSrc,int MsgType)
{
/*
try
{
switch (MsgSrc)
{
case euSdFc:
if(ShowUpdateMessage(MsgSrc,MsgType)){
StartWaitForm("正在刷新引用数据!");
FillComboBox(Handle,scRmbhFmonth,"SELECT FcMonth FROM sdFc order by FcMonth","FcMonth");
EndWaitForm();
break;
}
case euSdPosType:
if(ShowUpdateMessage(MsgSrc,MsgType)){
StartWaitForm("正在刷新引用数据!");
FillComboBox(Handle,scRmbhPosType,"SELECT PosTypeCode,PosTypeName FROM sdPosType order by PosTypeCode","PosTypeName","PosTypeCode");
EndWaitForm();
break;
}
case euSdUnit:
if(ShowUpdateMessage(MsgSrc,MsgType)){
StartWaitForm("正在刷新引用数据!");
FillComboBox(Handle,scRmbdUnit,"SELECT UnitName,UnitCode from sdUnit order by UnitCode","UnitName","UnitCode");
EndWaitForm();
break;
}
case euSdLoc:
if(ShowUpdateMessage(MsgSrc,MsgType)){
StartWaitForm("正在刷新引用数据!");
FillEdit(Handle,seRmbdRLoc,"SELECT LocName,LocCode from sdLoc where LocType=2 order by LocCode","LocName","LocCode");
FillEdit(Handle,seRmbdLoc,"SELECT LocName,LocCode from sdLoc where LocType=1 order by LocCode","LocName","LocCode");
EndWaitForm();
break;
}
case euSdProcess:
if(ShowUpdateMessage(MsgSrc,MsgType)){
StartWaitForm("正在刷新引用数据!");
FillEdit(Handle,seRmbdProcess,"SELECT ProcessName,ProcessCode from sdProcess order by ProcessCode","ProcessName","ProcessCode");
EndWaitForm();
break;
}
default:
break;
}
}
__finally
{
//AddCode
}
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmRmbh::ClearControl(int Section,bool BringToNext)
{
if(Section == 1)
{
if(!BringToNext)
{
seRmbhCode->Text="";
deRmbhDate->Text=g_sdCurDate;
scRmbhFmonth->LocateKey(g_sdMMonth);
scRmbhPosType->ItemIndex=-1;
seRmbhWo->Text="";
labUser->Caption=g_sdUserCode;
chkRmbhCheck->Checked=false;
labChecker->Caption="";
labCheckDate->Caption="";
memRmbhDesc->Text="";
}
sgRmbh->RowCount=1;
}
else
{
if(!BringToNext)
{
seRmbdLine->Text=AnsiString(comServer->ItemCount+1);
seRmbdGoods->Text="";
seRmbdGoodsName->Text="";
scRmbdUnit->ItemIndex=-1;
scRmbdGoodsType->ItemIndex=-1;
scRmbdGoodsFrom->ItemIndex=-1;
seRmbdGoodsOoq->Text="";
seRmbdQty->Text="0.00";
seRmbdProcess->ItemIndex=-1;
seRmbdRLoc->Text="";//ItemIndex=-1;
seRmbdLoc->ItemIndex=-1;
memRmbdDesc->Text="";
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmRmbh::GetDataFromComObject(int Section)
{
if(Section==1)
{
seRmbhCode->Text=GetHeadValue("RmbhCode");
deRmbhDate->Text=GetHeadValue("RmbhDate");
scRmbhFmonth->LocateKey(GetHeadValue("RmbhFmonth"));
scRmbhPosType->LocateKey(GetHeadValue("RmbhPosType"));
seRmbhWo->Text=GetHeadValue("RmbhWoCode");
memRmbhDesc->Text=GetHeadValue("RmbhDesc");
chkRmbhCheck->Checked=GetHeadValue("RmbhCheck")=="1";
if(chkRmbhCheck->Checked)
SetCheckToolbarStatus(true);
else
SetCheckToolbarStatus(false);
labChecker->Caption=GetHeadValue("RmbhChecker");
labCheckDate->Caption=GetHeadValue("RmbhCheckDate");
labUser->Caption=GetHeadValue("RmbhUser");
}
else
{
seRmbdLine->Text=GetDetailValue("RmbdLine");
seRmbdGoods->Text=GetDetailValue("RmbdGoods");
InitRsGoods(seRmbdGoods->Text);
// l_RsGoods->LocateByKey(WideString(GetDetailValue("RmbdGoods")));
seRmbdGoodsName->Text=GetGoodsValue(gtInitRs,"GoodsName");
scRmbdUnit->LocateKey(GetGoodsValue(gtInitRs,"GoodsUnitCode"));
if(GetGoodsValue(gtInitRs,"GoodsType")!="")
scRmbdGoodsType->ItemIndex=StrToInt(GetGoodsValue(gtInitRs,"GoodsType"))-1;
else
scRmbdGoodsType->ItemIndex=-1;
if(GetGoodsValue(gtInitRs,"GoodsFrom")!="")
scRmbdGoodsFrom->ItemIndex=StrToInt(GetGoodsValue(gtInitRs,"GoodsFrom"))-1;
else
scRmbdGoodsFrom->ItemIndex=-1;
seRmbdGoodsOoq->Text=GetGoodsValue(gtInitRs,"GoodsOoq");
seRmbdQty->Text=GetDetailValue("RmbdQty");
seRmbdProcess->LocateKey(GetDetailValue("RmbdProcess"));
seRmbdRLoc->Text=GetDetailValue("RmbdRLoc");//LocateKey(GetDetailValue("RmbdRLoc"));
seRmbdLoc->LocateKey(GetDetailValue("RmbdLoc"));
memRmbdDesc->Text=GetDetailValue("RmbdDesc");
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmRmbh::SendDataToComObject(int Section)
{
if(Section==1)
{
SetHeadValue("RmbhCode",seRmbhCode->Text);
SetHeadValue("RmbhDate",deRmbhDate->Text);
SetHeadValue("RmbhFmonth",scRmbhFmonth->Text);
SetHeadValue("RmbhPosType",scRmbhPosType->ItemData[1]);
SetHeadValue("RmbhWoCode",seRmbhWo->Text);
SetHeadValue("RmbhUser",labUser->Caption);
SetHeadValue("RmbhDesc",memRmbhDesc->Text);
}
else
{
SetDetailValue("RmbdCode",seRmbhCode->Text);
SetDetailValue("RmbdLine",seRmbdLine->Text);
SetDetailValue("RmbdProcess",seRmbdProcess->ItemData[1]);
SetDetailValue("RmbdRLoc",seRmbdRLoc->Text);//ItemData[1]);
SetDetailValue("RmbdGoods",seRmbdGoods->Text);
SetDetailValue("RmbdGoodsName",seRmbdGoodsName->Text);
SetDetailValue("RmbdUnit",scRmbdUnit->Text);
SetDetailValue("RmbdLoc",seRmbdLoc->ItemData[1]);
SetDetailValue("RmbdQty",seRmbdQty->Text);
SetDetailValue("RmbdDesc",memRmbdDesc->Text);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmRmbh::WaitUserInput(int Section)
{
if(Section ==1){
if(seRmbhCode->Enabled)
seRmbhCode->SetFocus();
else
deRmbhDate->SetFocus();
}
else
{
ChangeToBrowseState(false);
if(seRmbdLine->Enabled)
seRmbdLine->SetFocus();
}
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmRmbh::GetDataToGrid()
{
AnsiString ItemStr;
ItemStr=GetDetailValue("RmbdLine")+
"\t"+GetDetailValue("RmbdGoods")+
"\t"+GetDetailValue("RmbdGoodsName")+
"\t"+GetDetailValue("RmbdGoodsSpec")+
"\t"+GetDetailValue("RmbdUnit")+
"\t"+GetDetailValue("RmbdQty")+
"\t"+GetDetailValue("RmbdProcess")+
"\t"+GetDetailValue("RmbdRLoc")+
"\t"+GetDetailValue("RmbdLoc");
return ItemStr;
}
//---------------------------------------------------------------------------
void __fastcall TfrmRmbh::RefreshGridData(int mAction)
{
int i;
AnsiString ItemStr=GetDataToGrid();
switch(mAction)
{
case 0: //Add
sgRmbh->AddItem(ItemStr);
sgRmbh->Row=sgRmbh->RowCount-1;
break;
case 1: //Edit
sgRmbh->ChangeItem(ItemStr,sgRmbh->Row);
break;
case 2: //Delete
sgRmbh->RemoveItem(sgRmbh->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmRmbh::FillGridWithData()
{
int i;
AnsiString ItemStr;
sgRmbh->RowCount=1;
if(comServer->RecordCount > 0)
{
for(i=0;i<comServer->ItemCount;i++)
{
comServer->LocateItemByIndex(i);
RefreshGridData(0);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?