forecasth.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 496 行 · 第 1/2 页
CPP
496 行
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "ForeCasth.h"
//---------------------------------------------------------------------------
#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"
TfrmForeCasth *frmForeCasth;
//---------------------------------------------------------------------------
__fastcall TfrmForeCasth::TfrmForeCasth(TComponent* Owner, HWND chWnd, AnsiString ClassCode,AnsiString WhereStr)
: TBillBaseForm(Owner,chWnd,ClassCode,WhereStr)
{
//AutoCtl=seForeCasthCode;
SetAutoCodeString(seForeCasthCode,"ACM-034");
//InitRsGoods();
}
//---------------------------------------------------------------------------
void __fastcall TfrmForeCasth::InitEditControl()
{
ClientGroup->AddComponent(1,false,false,true,fpForeCastHead,fpForeCastHead->Name);
ClientGroup->AddComponent(1,false,true,false,seForeCasthCode,seForeCasthCode->Name);
ClientGroup->AddComponent(2,false,false,true,ftForeCastDetail,ftForeCastDetail->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,seForeCastdGoodsName,seForeCastdGoodsName->Name);
ClientGroup->AddComponent(2,true,true,true,scForeCastdUnit,scForeCastdUnit->Name);
ClientGroup->AddComponent(2,true,true,true,scForeCastdType,scForeCastdType->Name);
ClientGroup->AddComponent(2,true,true,true,scForeCastdFrom,scForeCastdFrom->Name);
ClientGroup->AddComponent(2,true,true,true,seForeCastdEoq,seForeCastdEoq->Name);
ClientGroup->AddComponent(2,true,true,true,seForeCastdEoi,seForeCastdEoi->Name);
ClientGroup->AddComponent(2,true,true,true,seForeCastdSafeQty,seForeCastdSafeQty->Name);
ClientGroup->AddComponent(2,true,true,true,seForeCastdGQty,seForeCastdGQty->Name );
//ForeCasth
FillComboBox(Handle,scForeCasthPlanner,"SELECT PlannerCode,UserName FROM sdPlanner,sdUser where PlannerCode=UserCode order by PlannerCode",
"UserName","PlannerCode");
//ForeCastd
FillComboBox(Handle,scForeCastdUnit,"select UnitName,UnitCode from sdUnit order by UnitCode","UnitName","UnitCode");
}
//---------------------------------------------------------------------------
void __fastcall TfrmForeCasth::RefreshUpdateData(int MsgSrc,int MsgType)
{
/* try
{
switch(MsgSrc)
{
case euSdPlanner:
if(ShowUpdateMessage(MsgSrc,MsgType)){
StartWaitForm("正在刷新引用数据!");
FillComboBox(Handle,scForeCasthPlanner,"SELECT PlannerCode,UserName FROM sdPlanner,sdUser where PlannerCode=UserCode order by PlannerCode",
"UserName","PlannerCode");
EndWaitForm();
break;
}
case euSdUnit:
if(ShowUpdateMessage(MsgSrc,MsgType)){
StartWaitForm("正在刷新引用数据!");
FillComboBox(Handle,scForeCastdUnit,"select UnitName,UnitCode from sdUnit order by UnitCode","UnitName","UnitCode");
EndWaitForm();
break;
}
default:
break;
}
}
__finally
{
//AddCode;
} */
}
//---------------------------------------------------------------------------
void __fastcall TfrmForeCasth::ClearControl(int Section,bool BringToNext)
{
if(Section == 1)
{
if(!BringToNext)
{
seForeCasthCode->Text = "";
deForeCasthDate->Text = g_sdCurDate;
scForeCasthPlanner->ItemIndex = -1;
LabSysDate->Caption = "";
memForeCasthDesc->Text = "";
cheCheck->Checked = false;
labCheckDate->Caption = "";
labChecker->Caption = "";
}
sgForeCasth->RowCount=1;
}
else if(Section==2)
{
if(!BringToNext)
{
if(comServer->ItemCount > 0)
seForeCastdLine->Text =AnsiString(comServer->ItemCount+1);
else
seForeCastdLine->Text ="1";
seForeCastdGoods->Text="";
seForeCastdGoodsName->Text="";
scForeCastdUnit->ItemIndex=-1;
scForeCastdType->ItemIndex=-1;
scForeCastdFrom->ItemIndex=-1;
seForeCastdEoq->Text="0";
seForeCastdEoi->Text="0";
seForeCastdSafeQty->Text="0";
seForeCastdQty->Text ="0";
deForeCastdDate->Text="";
seForeCastdGQty->Text="0";
memForeCastdDesc->Text ="";
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmForeCasth::GetDataFromComObject(int Section)
{
if(Section==1)
{
seForeCasthCode->Text = GetHeadValue("ForeCasthCode");
deForeCasthDate->Text = GetHeadValue("ForeCasthDate");
scForeCasthPlanner->LocateKey(GetHeadValue("ForeCasthPlanner"));
cheCheck->Checked = GetHeadValue("ForeCasthCheck")=="1";
if(cheCheck->Checked)
SetCheckToolbarStatus(true);
else
SetCheckToolbarStatus(false);
labCheckDate->Caption = GetHeadValue("ForeCasthCheckDate");
labChecker->Caption = GetHeadValue("ForeCasthChecker");
LabSysDate->Caption = GetHeadValue("ForeCasthSysDate");
memForeCasthDesc->Text = GetHeadValue("ForeCasthDesc");
}
else
{
seForeCastdLine->Text = GetDetailValue("ForeCastdLine");
AnsiString FTstr=GetDetailValue("ForeCastdGoods");
seForeCastdGoods->Text = FTstr;
InitRsGoods(FTstr);
l_Query->LocateByKey(WideString(FTstr));
seForeCastdGoodsName->Text=GetGoodsValue(gtInitRs,"GoodsName");
scForeCastdUnit->LocateKey(GetGoodsValue(gtInitRs,"GoodsUnitCode"));
scForeCastdType->ItemIndex=StrToInt(GetGoodsValue(gtInitRs,"GoodsType"))-1;
scForeCastdFrom->ItemIndex=StrToInt(GetGoodsValue(gtInitRs,"GoodsFrom"))-1;
seForeCastdEoq->Text=GetGoodsValue(gtInitRs,"GoodsEoq");
seForeCastdEoi->Text=GetGoodsValue(gtInitRs,"GoodsEoi");
seForeCastdSafeQty->Text=GetGoodsValue(gtInitRs,"GoodsSafeQty");
seForeCastdQty->Text = GetDetailValue("ForeCastdQty");
deForeCastdDate->Text= GetDetailValue("ForeCastdDate");
seForeCastdGQty->Text= GetDetailValue("ForeCastdGQty");
memForeCastdDesc->Text = GetDetailValue("ForeCastdDesc");
seForeCastdGoodsSpce->Text = GetDetailValue("GoodsSpec");
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmForeCasth::SendDataToComObject(int Section)
{
if(Section==1)
{
SetHeadValue("ForeCasthCode",seForeCasthCode->Text);
SetHeadValue("ForeCasthDate",deForeCasthDate->Text);
SetHeadValue("ForeCasthPlanner",scForeCasthPlanner->ItemData[1]);
SetHeadValue("ForeCasthDesc",memForeCasthDesc->Text);
}
else
{
SetDetailValue("ForeCastdCode",seForeCasthCode->Text);
SetDetailValue("ForeCastdLine",seForeCastdLine->Text);
SetDetailValue("ForeCastdGoods",seForeCastdGoods->Text);
SetDetailValue("ForeCastdQty",seForeCastdQty->Text);
SetDetailValue("ForeCastdDate",deForeCastdDate->Text);
SetDetailValue("ForeCastdDesc",memForeCastdDesc->Text);
SetDetailValue("GoodsName",seForeCastdGoodsName->Text);
AnsiString l_Spce=seForeCastdGoodsSpce->Text;
if (l_Spce.IsEmpty())
l_Spce=" ";
SetDetailValue("GoodsSpec",l_Spce); }
}
//---------------------------------------------------------------------------
void __fastcall TfrmForeCasth::WaitUserInput(int Section)
{
if(Section==1){
if(CurrentState==caAddHead)
seForeCasthCode->SetFocus();
else
deForeCasthDate->SetFocus();
}
else
{
ChangeToBrowseState(false);
if(seForeCastdLine->Enabled)
seForeCastdLine->SetFocus();
}
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmForeCasth::GetDataToGrid()
{
AnsiString ItemStr,KeyStr;
KeyStr=GetDetailValue("ForeCastdGoods");
InitRsGoods(KeyStr);
l_Query->LocateByKey(WideString(KeyStr));
// g_sdRsGoods->LocateByKey(GetDetailValue("ForeCastdGoods"));
ItemStr=GetDetailValue("ForeCastdLine")+
"\t" + KeyStr +
"\t" + GetGoodsValue(gtInitRs,"GoodsName")+
"\t" + GetGoodsValue(gtInitRs,"GoodsSpec")+
"\t" + GetGoodsValue(gtInitRs,"GoodsUnitCode")+
"\t" + GetDetailValue("ForeCastdQty")+
"\t" + GetDetailValue("ForeCastdDate");
return ItemStr;
}
//---------------------------------------------------------------------------
void __fastcall TfrmForeCasth::RefreshGridData(int mAction)
{
int i;
AnsiString ItemStr=GetDataToGrid();
switch(mAction)
{
case 0: // Append
sgForeCasth->AddItem(ItemStr);
// sgForeCasth->Row=sgForeCasth->RowCount-1;
break;
case 1: // Modify
sgForeCasth->ChangeItem(ItemStr,sgForeCasth->Row);
break;
case 2: // Delete
sgForeCasth->RemoveItem(sgForeCasth->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmForeCasth::FillGridWithData()
{
int i;
AnsiString ItemStr;
sgForeCasth->RowCount = 1;
if(comServer->RecordCount > 0)
{
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?