sodt.cpp
来自「科思ERP部分源码及控件」· C++ 代码 · 共 272 行
CPP
272 行
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Sodt.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "fpanel"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"
TfrmSodt *frmSodt;
//---------------------------------------------------------------------------
__fastcall TfrmSodt::TfrmSodt(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
}
//---------------------------------------------------------------------------
__fastcall TfrmSodt::TfrmSodt(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr,AnsiString LocCode,AnsiString GoodsCode)
: TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
ClearControl(false);
FLocCode=LocCode;
FGoodsCode=GoodsCode;
sgSodt->RowCount=1;
LabCurFmonth->Caption=g_sdIMonth;
LabSodtGoods->Caption=FGoodsCode;
if(g_sdRsGoods->LocateByKey(WideString(FGoodsCode))==0)
LabSodtGoodsName->Caption=GetGoodsValue(gtInitRs,"GoodsName");
scSodtLoc->LocateKey(FLocCode);
AnsiString FilStr="sodtFmonth='"+g_sdIMonth+"' and sodtGoods='"+FGoodsCode+"' and sodtLoc='"+FLocCode+"'";
comServer->FilterString=WideString(FilStr);
comServer->Query();
if(comServer->RecordCount>0)
{
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSodt::ClearControl(bool BringToNext)
{
if(!BringToNext)
{
scSodtSoCode->ItemIndex = -1;
seSodtBoyQty->Text = "0";
seSodtBopQty->Text = "0";
seSodtIopQty->Text = "0";
seSodtOopQty->Text = "0";
seSodtIoyQty->Text = "0";
seSodtOoyQty->Text = "0";
seSodtAoyQty->Text = "0";
cheSodtClose->Checked=false;
cheSodtInit->Checked=false;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSodt::GetDataFromComObject()
{
// scSodtLoc->LocateKey(GetFieldValue("SodtLoc"));
scSodtSoCode->Text = GetFieldValue("SodtSoCode");
seSodtBoyQty->Text = GetFieldValue("SodtBoyQty");
seSodtBopQty->Text = GetFieldValue("SodtBopQty");
seSodtIopQty->Text = GetFieldValue("SodtIopQty");
seSodtOopQty->Text = GetFieldValue("SodtOopQty");
seSodtIoyQty->Text = GetFieldValue("SodtIoyQty");
seSodtOoyQty->Text = GetFieldValue("SodtOoyQty");
seSodtAoyQty->Text = GetFieldValue("SodtAoyQty");
cheSodtInit->Checked=GetFieldValue("SodtInit")=="1";
if(cheSodtInit->Checked)
{
tbEditHead->Enabled=false;
tbDeleteHead->Enabled=false;
}
else
{
tbEditHead->Enabled=true;
tbDeleteHead->Enabled=true;
}
cheSodtClose->Checked=GetFieldValue("SodtClose")=="1";
}
//---------------------------------------------------------------------------
void __fastcall TfrmSodt::SendDataToComObject()
{
SetFieldValue("SodtFmonth",g_sdIMonth);
SetFieldValue("SodtGoods",FGoodsCode);
SetFieldValue("SodtLoc",FLocCode);
SetFieldValue("SodtSoCode",scSodtSoCode->Text);
SetFieldValue("SodtBoyQty",seSodtBoyQty->Text);
SetFieldValue("SodtBopQty",seSodtBopQty->Text);
SetFieldValue("SodtIoyQty",seSodtIoyQty->Text);
SetFieldValue("SodtOopQty",seSodtOopQty->Text);
SetFieldValue("SodtInit",cheSodtInit->Checked?"1":"0");
}
//---------------------------------------------------------------------------
void __fastcall TfrmSodt::WaitUserInput()
{
scSodtSoCode->SetFocus();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmSodt::GetDataToGrid()
{
AnsiString tempS;
tempS = GetFieldValue("SodtSoCode")+
"\t" + GetFieldValue("SodtBoyQty")+
"\t" + GetFieldValue("SodtBopQty");
return(tempS);
}
//---------------------------------------------------------------------------
void __fastcall TfrmSodt::RefreshGridData(int mAction)
{
AnsiString ItemStr;
ItemStr = GetDataToGrid();
GetDataFromComObject();
if(mAction == 0)
{
sgSodt->AddItem(ItemStr);
sgSodt->Row=sgSodt->RowCount-1;
}
else if(mAction == 1)
{
sgSodt->ChangeItem(ItemStr,sgSodt->Row);
}
else if(mAction == 2)
{
sgSodt->RemoveItem(sgSodt->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSodt::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgSodt->RowCount = 1;
while(comServer->Eof == 0)
{
ItemStr = GetDataToGrid();
sgSodt->AddItem(ItemStr);
comServer->MoveNext();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSodt::InitEditControl()
{
ClientGroup->AddComponent(2,false,false,true,fpSodt,fpSodt->Name);
ClientGroup->AddComponent(2,true,true,true,fpSodt1,fpSodt1->Name);
ClientGroup->AddComponent(2,true,true,true, scSodtLoc,scSodtLoc->Name);
ClientGroup->AddComponent(2,true,true,true, seSodtIopQty,seSodtIopQty->Name);
ClientGroup->AddComponent(2,true,true,true, seSodtOopQty,seSodtOopQty->Name);
ClientGroup->AddComponent(2,true,true,true, seSodtAoyQty,seSodtAoyQty->Name);
ClientGroup->AddComponent(2,true,true,true, cheSodtClose,cheSodtClose->Name);
ClientGroup->AddComponent(2,false,false,true, cheSodtInit,cheSodtInit->Name);
ClientGroup->AddComponent(2,true,true,false, sgSodt,sgSodt->Name);
FillComboBox(Handle,scSodtLoc,"select LocCode,memo=LocCode+space(1)+LocName from sdLoc where LocType=1 order by LocCode","memo","LocCode");
FillComboBox(Handle,scSodtSoCode,"select SohCode from sdSoh where SohCheck=1 and SohClose=0 order by SohCode","SohCode");
}
//---------------------------------------------------------------------------
void __fastcall TfrmSodt::RefreshUpdateData(int MsgSrc,int MsgType)
{
/*
try
{
switch (MsgSrc)
{
case euSdLoc:
if(ShowUpdateMessage(MsgSrc,MsgType)){
StartWaitForm("正在刷新引用数据!");
FillComboBox(Handle,scSodtLoc,"select LocCode,memo=LocCode+space(1)+LocName from sdLoc where LocType=1 order by LocCode","memo","LocCode");
EndWaitForm();
break;
}
case euSdSoh:
if(ShowUpdateMessage(MsgSrc,MsgType)){
StartWaitForm("正在刷新引用数据!");
FillComboBox(Handle,scSodtSoCode,"select BatchCode,memo=BatchCode+space(1)+BatchDesc from sdBatch order by BatchCode","memo","BatchCode");
EndWaitForm();
break;
}
default:
break;
}
}
__finally
{
//AddCode;
}
*/
}
//---------------------------------------------------------
void __fastcall TfrmSodt::FormClose(TObject *Sender, TCloseAction &Action)
{
TRecBaseForm::FormClose(Sender,Action);
/*
AnsiString FormIniFile = "D:\Test.Ini";
WriteGridWidth(Name,sgPg,FormIniFile);
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmSodt::FormCreate(TObject *Sender)
{
/*
AnsiString FormIniFile="D:\Test.Ini";
SetGridWidth(Name,sgPg,FormIniFile);
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmSodt::sgSodtClick(TObject *Sender)
{
int ARow;
ARow=sgSodt->Row;
if(ARow > 0)
{
AnsiString KeyStr=sgSodt->Cells[0][ARow]+LabCurFmonth->Caption
+FLocCode+LabSodtGoods->Caption;
comServer->LocateByKey(WideString(KeyStr));
}
if(!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmSodt::muFirstClick(TObject *Sender)
{
if(sgSodt->RowCount > 1)
{
sgSodt->Row=1;
sgSodtClick(NULL);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSodt::muPreviousClick(TObject *Sender)
{
if(sgSodt->RowCount > 1 && sgSodt->Row > 1)
{
sgSodt->Row=sgSodt->Row-1;
sgSodtClick(NULL);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSodt::muNextClick(TObject *Sender)
{
if(sgSodt->RowCount > 1 && sgSodt->Row < sgSodt->RowCount-1)
{
sgSodt->Row=sgSodt->Row+1;
sgSodtClick(NULL);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSodt::muLastClick(TObject *Sender)
{
if(sgSodt->RowCount > 1)
{
sgSodt->Row=sgSodt->RowCount-1;
sgSodtClick(NULL);
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?