📄 macc.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Macc.h"
#include "func.h"
#include "Pptt.h"
#include "Dtht.h"
#include "Btht.h"
#include "Sugt.h"
#include "Sodt.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "fpanel"
#pragma link "SDEdit"
#pragma link "SDComboBox"
#pragma link "SDGrid"
#pragma resource "*.dfm"
TfrmMacc *frmMacc;
//---------------------------------------------------------------------------
__fastcall TfrmMacc::TfrmMacc(TComponent* Owner)
: TRecBaseForm(Owner,euSdMacc,"")
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmMacc::ClearControl(bool BringToNext)
{
if(!BringToNext)
{
Flag=false;
seMaccFmonth->Text =g_sdFMonth;
seMaccBoyQty->Text="0";
seMaccBopQty->Text="0";
seMaccIoyQty->Text="0";
seMaccSoyQty->Text="0";
scMaccChk->Checked=true;
}
}
//------------------------------------------------------------------------
void __fastcall TfrmMacc::InitEditControl()
{
ClientGroup->AddComponent(2,true,true,false,sgMacc,sgMacc->Name);
ClientGroup->AddComponent(2,true,true,false,fpMacc2,fpMacc2->Name);
ClientGroup->AddComponent(2,true,false,true,fpMacc1,fpMacc1->Name);
ClientGroup->AddComponent(2,true,false,true,scMaccChk,scMaccChk->Name);
ClientGroup->AddComponent(2,true,true,true,seMaccFmonth,seMaccFmonth->Name);
FillComboBox(scMaccLocCode,"select LocCode,LocName from sdLoc order by LocCode",
"LocName","LocCode");
ClearControl(false);
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmMacc::GetFieldValue(int iFieldIndex)
{
AnsiString S;
S=ReadFieldValue(comServer,iFieldIndex);
return S;
}
//----------------------------------------------------------------------------
void __fastcall TfrmMacc::SetFieldValue(int iFieldIndex,AnsiString iFieldValue)
{
WriteFieldValue(comServer,iFieldIndex,iFieldValue);
}
//----------------------------------------------------------------------------
void __fastcall TfrmMacc::WaitUserInput()
{
if(g_sdGoodsPpt == 0)
sbPptt->Enabled=false;
seMaccBoyQty->SetFocus();
}
//----------------------------------------------------------------------------
void __fastcall TfrmMacc::GetDataFromComObject()
{
seMaccBoyQty->Text = GetFieldValue(fiMaccBoyQty);
seMaccBopQty->Text = GetFieldValue(fiMaccBopQty);
seMaccIoyQty->Text = GetFieldValue(fiMaccIoyQty);
seMaccSoyQty->Text = GetFieldValue(fiMaccSoyQty);
if(GetFieldValue(fiMaccInitFlg) == "1")
{
scMaccChk->Checked=true;
tbEditHead->Enabled=false;
if(g_sdGoodsPpt == 0)
sbPptt->Enabled=false;
sbBatch->Enabled=true;
sbDept->Enabled=true;
sbSod->Enabled=true;
sbSug->Enabled=true;
}
else
{
scMaccChk->Checked=false;
tbEditHead->Enabled=true;
sbPptt->Enabled=false;
sbBatch->Enabled=false;
sbDept->Enabled=false;
sbSod->Enabled=false;
sbSug->Enabled=false;
}
}
//------------------------------------------------------------------------
void __fastcall TfrmMacc::SendDataToComObject()
{
if(seMaccBoyQty->Text == "")
seMaccBoyQty->Text="0";
SetFieldValue(fiMaccBoyQty,seMaccBoyQty->Text);
if(seMaccBopQty->Text == "")
seMaccBopQty->Text="0";
SetFieldValue(fiMaccBopQty,seMaccBopQty->Text);
SetFieldValue(fiMaccIoyQty,seMaccIoyQty->Text);
SetFieldValue(fiMaccSoyQty,seMaccSoyQty->Text);
SetFieldValue(fiMaccInitFlg,scMaccChk->Checked ? "1":"0");
tbEditHead->Enabled=!scMaccChk->Checked;
tbDeleteHead->Enabled=!scMaccChk->Checked;
}
//------------------------------------------------------------------------
AnsiString __fastcall TfrmMacc::GetDataToGrid()
{
AnsiString ItemStr;
ItemStr=GetFieldValue(fiMaccGoods)+
"\t" +GetFieldValue(fiMaccBoyQty)+
"\t" +GetFieldValue(fiMaccBopQty)+
"\t" +GetFieldValue(fiMaccIoyQty)+
"\t" +GetFieldValue(fiMaccSoyQty);
return (ItemStr);
}
//------------------------------------------------------------------------
void __fastcall TfrmMacc::RefreshGridData(int mAction)
{
AnsiString sGridItem;
sGridItem=GetDataToGrid();
int i;
switch(mAction)
{
case 0: //新增
sgMacc->AddItem(sGridItem);
sgMacc->Row=sgMacc->RowCount-1;
break;
case 1: //修改
i = sgMacc->Row;
sgMacc->ChangeItem(sGridItem,i);
break;
};
}
//------------------------------------------------------------------------
void __fastcall TfrmMacc::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgMacc->RowCount = 1;
while(comServer->Eof == 0)
{
ItemStr = GetDataToGrid();
sgMacc->AddItem(ItemStr);
comServer->MoveNext();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMacc::scMaccLocCodeClick(TObject *Sender)
{
AnsiString s;
s = Trim(scMaccLocCode->ItemData[1]);
s = " MaccLoc = '" + s + "' and MaccFmonth='"+seMaccFmonth->Text+"' ";
comServer->FilterString = WideString(s);
comServer->Query();
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
Flag=true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMacc::FormClose(TObject *Sender, TCloseAction &Action)
{
TRecBaseForm::FormClose(Sender,Action);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMacc::FormShow(TObject *Sender)
{
tbAddHead->Visible=false;
tbDeleteHead->Visible=false;
ClearControl(false);
if(scMaccLocCode->Items->Count > 0)
{
scMaccLocCode->ItemIndex=0;
scMaccLocCodeClick(NULL);
}
sgMacc->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMacc::sgMaccClick(TObject *Sender)
{
int ARow=sgMacc->Row;
if (ARow > 0)
comServer->LocateByKey(WideString(seMaccFmonth->Text+scMaccLocCode->ItemData[1]+sgMacc->TextMatrix[ARow][0]));
if (!comServer->Eof && Flag==true)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMacc::muFirstClick(TObject *Sender)
{
if(sgMacc->RowCount > 1)
{
sgMacc->Row=1;
sgMaccClick(NULL);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMacc::muPreviousClick(TObject *Sender)
{
if(sgMacc->RowCount > 1 && sgMacc->Row > 1)
{
sgMacc->Row=sgMacc->Row-1;
sgMaccClick(NULL);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMacc::muNextClick(TObject *Sender)
{
if(sgMacc->RowCount > 1 && sgMacc->Row < sgMacc->RowCount-1)
{
sgMacc->Row=sgMacc->Row+1;
sgMaccClick(NULL);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMacc::muLastClick(TObject *Sender)
{
if(sgMacc->RowCount > 1)
{
sgMacc->Row=sgMacc->RowCount-1;
sgMaccClick(NULL);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMacc::sbPpttClick(TObject *Sender)
{
TfrmPptt *Pptt;
try
{
StartWaitForm("正在启动状态帐");
Pptt=new TfrmPptt(this,GetFieldValue(fiMaccLoc),GetFieldValue(fiMaccGoods));
EndWaitForm();
Pptt->ShowModal();
}
__finally
{
delete Pptt;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMacc::sbDeptClick(TObject *Sender)
{
TfrmDtht *Dept;
try
{
StartWaitForm("正在启动部门帐");
Dept=new TfrmDtht(this,GetFieldValue(fiMaccLoc),GetFieldValue(fiMaccGoods));
EndWaitForm();
Dept->ShowModal();
}
__finally
{
delete Dept;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMacc::sbBatchClick(TObject *Sender)
{
TfrmBtht *Batch;
try
{
StartWaitForm("正在启动批次帐");
Batch=new TfrmBtht(this,GetFieldValue(fiMaccLoc),GetFieldValue(fiMaccGoods));
EndWaitForm();
Batch->ShowModal();
}
__finally
{
delete Batch;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMacc::sbSodClick(TObject *Sender)
{
TfrmSodt *Sod;
try
{
StartWaitForm("正在启动订单跟踪帐");
Sod=new TfrmSodt(this,GetFieldValue(fiMaccLoc),GetFieldValue(fiMaccGoods));
EndWaitForm();
Sod->ShowModal();
}
__finally
{
delete Sod;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMacc::sbSugClick(TObject *Sender)
{
TfrmSugt *Sugt;
try
{
StartWaitForm("正在启动备货帐");
Sugt=new TfrmSugt(this,GetFieldValue(fiMaccLoc),GetFieldValue(fiMaccGoods));
EndWaitForm();
Sugt->ShowModal();
}
__finally
{
delete Sugt;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMacc::muSaveClick(TObject *Sender)
{
TRecBaseForm::SaveRecord();
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMacc::muCancelClick(TObject *Sender)
{
TRecBaseForm::muCancelClick(Sender);
Flag=true;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -