📄 forecasth.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "ForeCasth.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"
TfrmForeCasth *frmForeCasth;
//---------------------------------------------------------------------------
__fastcall TfrmForeCasth::TfrmForeCasth(TComponent* Owner)
: TBillBaseForm(Owner,euSdForeCasth,"")
{
AutoCtl=seForeCasthCode;
}
//---------------------------------------------------------------------------
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(scForeCasthPlanner,"SELECT PlannerCode,UserName FROM sdPlanner,sdUser where PlannerCode=UserCode order by PlannerCode",
"UserName","PlannerCode");
//ForeCastd
FillComboBox(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(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(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)
{
seForeCastdLine->Text =AnsiString(comServer->ItemCount+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(fiForeCasthCode);
deForeCasthDate->Text = GetHeadValue(fiForeCasthDate);
scForeCasthPlanner->LocateKey(GetHeadValue(fiForeCasthPlanner));
cheCheck->Checked = GetHeadValue(fiForeCasthCheck)=="1";
if(cheCheck->Checked)
SetCheckToolbarStatus(true);
else
SetCheckToolbarStatus(false);
labCheckDate->Caption = GetHeadValue(fiForeCasthCheckDate);
labChecker->Caption = GetHeadValue(fiForeCasthChecker);
LabSysDate->Caption = GetHeadValue(fiForeCasthSysDate);
memForeCasthDesc->Text = GetHeadValue(fiForeCasthDesc);
}
else
{
seForeCastdLine->Text = GetDetailValue(fiForeCastdLine);
AnsiString FTstr=GetDetailValue(fiForeCastdGoods);
seForeCastdGoods->Text = FTstr;
g_sdRsGoods->LocateByKey(WideString(FTstr));
seForeCastdGoodsName->Text=GetGoodsValue("GoodsName");
scForeCastdUnit->LocateKey(GetGoodsValue("GoodsUnitCode"));
scForeCastdType->ItemIndex=StrToInt(GetGoodsValue("GoodsType"))-1;
scForeCastdFrom->ItemIndex=StrToInt(GetGoodsValue("GoodsFrom"))-1;
seForeCastdEoq->Text=GetGoodsValue("GoodsEoq");
seForeCastdEoi->Text=GetGoodsValue("GoodsEoi");
seForeCastdSafeQty->Text=GetGoodsValue("GoodsSafeQty");
seForeCastdQty->Text = GetDetailValue(fiForeCastdQty);
deForeCastdDate->Text= GetDetailValue(fiForeCastdDate);
seForeCastdGQty->Text= GetDetailValue(fiForeCastdGQty);
memForeCastdDesc->Text = GetDetailValue(fiForeCastdDesc);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmForeCasth::SendDataToComObject(int Section)
{
if(Section==1)
{
SetHeadValue(fiForeCasthCode,seForeCasthCode->Text);
SetHeadValue(fiForeCasthDate,deForeCasthDate->Text);
SetHeadValue(fiForeCasthPlanner,scForeCasthPlanner->ItemData[1]);
SetHeadValue(fiForeCasthDesc,memForeCasthDesc->Text);
}
else
{
SetDetailValue(fiForeCastdCode,seForeCasthCode->Text);
SetDetailValue(fiForeCastdLine,seForeCastdLine->Text);
SetDetailValue(fiForeCastdGoods,seForeCastdGoods->Text);
SetDetailValue(fiForeCastdQty,seForeCastdQty->Text);
SetDetailValue(fiForeCastdDate,deForeCastdDate->Text);
SetDetailValue(fiForeCastdDesc,memForeCastdDesc->Text);
}
}
//---------------------------------------------------------------------------
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(fiForeCastdGoods);
g_sdRsGoods->LocateByKey(WideString(KeyStr));
ItemStr=GetDetailValue(fiForeCastdLine)+
"\t" + KeyStr +
"\t" + GetGoodsValue("GoodsName")+
"\t" + GetGoodsValue("GoodsUnitCode")+
"\t" + GetDetailValue(fiForeCastdQty)+
"\t" + GetDetailValue(fiForeCastdDate);
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -