📄 wn.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Wn.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"
TfrmWn *frmWn;
//---------------------------------------------------------------------------
__fastcall TfrmWn::TfrmWn(TComponent* Owner,HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TRecBaseForm(Owner,chWnd,MidCode,"")
{
}
//---------------------------------------------------------------------------
__fastcall TfrmWn::TfrmWn(TComponent* Owner,HWND chWnd, AnsiString MidCode,AnsiString WhereStr,AnsiString ParamString)
: TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
int iPos;
iPos=ParamString.Pos("\t");
FWnWoCode=ParamString.SubString(1,iPos-1);
ParamString=ParamString.SubString(iPos+1,ParamString.Length());
iPos=ParamString.Pos("\t");
FWnWoCheck=StrToInt(ParamString.SubString(1,iPos-1));
FWnWoCancel=StrToInt(ParamString.SubString(iPos+1,ParamString.Length()));
SetCheckToolbarStatus(FWnWoCheck);
// InitRsGoods();
tbQuery->Visible=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::GenrateDoc()
{
AnsiString FParam;
int FErrNum;
if(comServer->RecordCount>0)
{
if(Application->MessageBox("是否重新生成工票?",NULL,MB_YESNO)==IDYES)
{
try
{
StartWaitForm("正在生成工票,请稍候...");
FParam=FWnWoCode;
comServer->Execute(FParam);
comServer->Query();
FillGridWithData();
}
catch(Exception &e)
{
EndWaitForm();
throw Exception(e.Message);
}
EndWaitForm();
}
}
else
{
FParam=FWnWoCode;
try
{
/*
StartWaitForm("正在生成工票,请稍候...");
comServer->Execute(FParam);
comServer->Query();
FillGridWithData();
*/
StartWaitForm("正在生成工票,请稍候...");
Query->Close();
Query->Execute("exec sdWn_Genrate '"+FParam+"'");
comServer->Query();
FillGridWithData();
GetDataFromComObject();
}
catch(Exception &e)
{
EndWaitForm();
throw Exception(e.Message);
}
EndWaitForm();
}
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmWn::GetDataToGrid()
{
AnsiString m_ItemStr;
m_ItemStr = GetFieldValue("WnCode")+
"\t" +GetFieldValue("WnRsDate")+
"\t" +GetFieldValue("WnPQty")+
"\t" +GetFieldValue("WnPwt");
return(m_ItemStr);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::InitEditControl()
{
ClientGroup->AddComponent(2,false,true,true, pgWn,pgWn->Name);
ClientGroup->AddComponent(2,true,true,false, sgWn,sgWn->Name);
ClientGroup->AddComponent(2,true,false,true, deWnPsDate,deWnPsDate->Name);
ClientGroup->AddComponent(2,true,false,true, deWnPeDate,deWnPeDate->Name);
ClientGroup->AddComponent(2,true,false,true, deWnRsDate,deWnRsDate->Name);
ClientGroup->AddComponent(2,true,false,true, deWnReDate,deWnReDate->Name);
ClientGroup->AddComponent(2,true,false,true, memWnDesc,memWnDesc->Name);
ClientGroup->AddComponent(2,true,false,true, seWnPwt,seWnPwt->Name);
ClientGroup->AddComponent(2,true,false,true, seWnPer,seWnPer->Name);
ClientGroup->AddComponent(2,true,false,true, seWnPeor,seWnPeor->Name);
ClientGroup->AddComponent(2,true,false,true, seWnPrate,seWnPrate->Name);
FillComboBox(Handle,scWnProcess,"Select ProcessCode,ProcessName FROM sdProcess order by ProcessCode",
"ProcessName","ProcessCode");
FillComboBox(Handle,scWnUnit,"Select UnitCode,UnitName FROM sdUnit order by UnitCode","UnitName","UnitCode");
FillComboBox(Handle,scWnLoc,"Select LocCode,LocName FROM sdLoc order by LocCode","LocName","LocCode");
FillComboBox(Handle,scWnBatch,"Select BatchCode,BatchDesc FROM sdBatch order by BatchCode","BatchDesc","BatchCode");
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::ClearControl(bool BringToNext)
{
if (!BringToNext)
{
seWnCode->Text="";
seWnWo->Text="";
deWnDate->Text=g_sdCurDate;
cbWnChkFlg->Checked=false;
cbWnWxFlg->Checked=false;
scWnProcess->ItemIndex=-1;
seWnGoods->Text="";
seWnGoodsName->Text="";
scWnUnit->ItemIndex=-1;
seWnPQty->Text="0.00";
seWnPwt->Text="0.00";
scWnLoc->ItemIndex=-1;
scWnBatch->ItemIndex=-1;
deWnPsDate->Text="";
deWnPeDate->Text="";
deWnRsDate->Text="";
deWnReDate->Text="";
seWnPer->Text="0.00";
seWnPrate->Text="0.00";
seWnPeor->Text="0.00";
seWnWxAmt->Text="0.00";
seWnFwt->Text="0.00";
seWnRwt->Text="0.00";
seWnDwt->Text="0.00";
seWnWwt->Text="0.00";
seWnSwt->Text="0.00";
seWnOwt->Text="0.00";
seWnCQty->Text="0";
seWnEQty->Text="0";
seWnWQty->Text="0";
seWnRQty->Text="0";
seWnSQty->Text="0";
chkWnFshFlg->Checked=false;
deWnFshDate->Text="";
memWnDesc->Text="";
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::GetDataFromComObject()
{
seWnCode->Text=GetFieldValue("WnCode");
sgWn->LocateGrid(0,GetFieldValue("WnCode"));
seWnWo->Text=GetFieldValue("WnWo");
deWnDate->Text=GetFieldValue("WnDate");
cbWnChkFlg->Checked=GetFieldValue("WnChkFlg")=="1";
cbWnWxFlg->Checked=GetFieldValue("WnWxFlg")=="1";
scWnProcess->LocateKey(GetFieldValue("WnProcess"));
seWnGoods->Text=GetFieldValue("WnGoods");
InitRsGoods(seWnGoods->Text);
if(l_Query->LocateByKey(WideString(GetFieldValue("WnGoods")))==0)
seWnGoodsName->Text=GetGoodsValue(gtInitRs,"GoodsName");
else
seWnGoodsName->Text="";
scWnUnit->LocateKey(GetFieldValue("WnUnit"));
seWnPQty->Text=GetFieldValue("WnPQty");
seWnPwt->Text=GetFieldValue("WnPwt");
scWnLoc->LocateKey(GetFieldValue("WnLoc"));
scWnBatch->LocateKey(GetFieldValue("WnBatch"));
deWnPsDate->Text=GetFieldValue("WnPsDate");
deWnPeDate->Text=GetFieldValue("WnPeDate");
deWnRsDate->Text=GetFieldValue("WnRsDate");
deWnReDate->Text=GetFieldValue("WnReDate");
seWnPer->Text=GetFieldValue("WnPer");
seWnPrate->Text=GetFieldValue("WnPrate");
seWnPeor->Text=GetFieldValue("WnPeor");
seWnWxAmt->Text=GetFieldValue("WnWxAmt");
seWnFwt->Text=GetFieldValue("WnFwt");
seWnRwt->Text=GetFieldValue("WnRwt");
seWnDwt->Text=GetFieldValue("WnDwt");
seWnWwt->Text=GetFieldValue("WnWwt");
seWnSwt->Text=GetFieldValue("WnSwt");
seWnOwt->Text=GetFieldValue("WnOwt");
seWnCQty->Text=GetFieldValue("WnCQty");
seWnEQty->Text=GetFieldValue("WnEQty");
seWnWQty->Text=GetFieldValue("WnWQty");
seWnRQty->Text=GetFieldValue("WnRQty");
seWnSQty->Text=GetFieldValue("WnSQty");
chkWnFshFlg->Checked=GetFieldValue("WnFshFlg")=="1";
deWnFshDate->Text=GetFieldValue("WnFshDate");
if(chkWnFshFlg->Checked)
SetCloseToolbarStatus(true);
else
SetCloseToolbarStatus(false);
memWnDesc->Text=GetFieldValue("WnDesc");
SetCheckToolbarStatus(FWnWoCheck);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::SendDataToComObject()
{
SetFieldValue("WnDesc",memWnDesc->Text);
SetFieldValue("WnPsDate",deWnPsDate->Text);
SetFieldValue("WnPeDate",deWnPeDate->Text);
SetFieldValue("WnRsDate",deWnRsDate->Text);
SetFieldValue("WnReDate",deWnReDate->Text);
SetFieldValue("WnPwt",seWnPwt->Text);
SetFieldValue("WnPer",seWnPer->Text);
SetFieldValue("WnPeor",seWnPeor->Text);
SetFieldValue("WnPrate",seWnPrate->Text);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::WaitUserInput()
{
pgWn->ActivePage=tsWnBase;
if(deWnRsDate->Enabled)
deWnRsDate->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::RefreshGridData(int mAction)
{
int i;
AnsiString m_ItemStr;
m_ItemStr=GetDataToGrid();
switch(mAction)
{
case 0: //Add
sgWn->AddItem(m_ItemStr);
sgWn->Row=sgWn->RowCount-1;
break;
case 1: //Edit
i = sgWn->Row;
sgWn->ChangeItem(m_ItemStr,i);
break;
case 2: //Del
sgWn->RemoveItem(sgWn->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::FillGridWithData()
{
AnsiString m_ItemStr;
comServer->MoveFirst();
sgWn->RowCount=1;
while(comServer->Eof == 0)
{
m_ItemStr =GetDataToGrid();
sgWn->AddItem(m_ItemStr);
comServer->MoveNext();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::FormShow(TObject *Sender)
{
tbControl->Enabled=false;
if(comServer->RecordCount>0){
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
}
else{
ClearControl(false);
sgWn->RowCount=1;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::FormClose(TObject *Sender, TCloseAction &Action)
{
TRecBaseForm::FormClose(Sender,Action);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::sgWnClick(TObject *Sender)
{
int ARow=sgWn->Row;
if(ARow > 0)
{
comServer->LocateByIndex(ARow);
// comServer->LocateByKey(WideString(sgWn->TextMatrix[ARow][0]));
GetDataFromComObject();
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -