📄 fadec.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "FaDec.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "fpanel"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "DateEdit"
#pragma link "SDComboBox"
#pragma resource "*.dfm"
TfrmFaDec *frmFaDec;
//---------------------------------------------------------------------------
__fastcall TfrmFaDec::TfrmFaDec(TComponent* Owner)
: TRecBaseForm(Owner,euSdFaDec,"")
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDec::InitEditControl()
{
FillComboBox(scFaDecFmonth,"select Fcmonth from sdfc order By fcmonth","fcmonth");
FillEdit(seFaDecFadn,"select fadncode,fadnname from sdfadn order By fadncode","fadncode","fadnname");
FillComboBox(scFaDecFav,"select favcode ,favname from sdfav where favtype='2' order By favcode","favName","favcode");
ClientGroup->AddComponent(2,false,false,true,FloatPanel1,FloatPanel1->Name);
ClientGroup->AddComponent(2,true,true,false, sgFaDec,sgFaDec->Name);
ClientGroup->AddComponent(2,true,false,true, seFaDecPzCode, seFaDecPzCode->Name);
ClientGroup->AddComponent(2,false,false,false,seFaDecCode,seFaDecCode->Name);
ClientGroup->AddComponent(2,true,true,true,scFaDecFmonth,scFaDecFmonth->Name);
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmFaDec::GetFieldValue(int FieldIndex)
{
WideString S;
S = ReadFieldValue(comServer,FieldIndex);
return(S);
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDec::ClearControl(bool BringToNext)
{
if(!BringToNext)
{
seFaDecCode->Text =""; //减少单号
sdFaDecDate->Text =g_sdCurDate; //减少日期
scFaDecFmonth->Text =g_sdEMonth;//财务月份
seFaDecFadn->Text =""; //设备编码
seFaDecFadnName->Text =""; //设备名称
scFaDecFav->ItemIndex =-1; //减少类型
seFaDecDesc->Text =""; //减少原因
labFaDecUser->Caption =g_sdUserCode;//操作员
chkFaDecCheck->Checked =false; //审核标志
labFaDecChecker->Caption=""; //审核人
labFaDecCheckDate->Caption=""; //审核日期
seFaDecOGlkm->Text =""; //对方科目
chkFaDecPost->Checked =false; //制凭证标志
seFaDecPzCode->Text =""; //凭证号
labFaDecSysDate->Caption=""; //系统日期
seFaDecPzCode->Enabled =false;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDec::GetDataFromComObject()
{
seFaDecCode->Text=GetFieldValue(fiFaDecCode);
sgFaDec->LocateGrid(1,seFaDecCode->Text);
sdFaDecDate->Text=GetFieldValue(fiFaDecDate);
scFaDecFmonth->Text=GetFieldValue(fiFaDecFmonth);
seFaDecFadn->LocateKey(GetFieldValue(fiFaDecFadn));
seFaDecFadn->Text=seFaDecFadn->ItemData[0];
seFaDecFadnName->Text=seFaDecFadn->ItemData[1];
scFaDecFav->LocateKey(GetFieldValue(fiFaDecFav));
scFaDecFav->Text=scFaDecFav->ItemData[0];
seFaDecDesc->Text=GetFieldValue(fiFaDecDesc);
chkFaDecCheck->Checked=(GetFieldValue(fiFaDecCheck)==1)? true: false;
if(chkFaDecCheck->Checked)
SetCheckToolbarStatus(true);
else
SetCheckToolbarStatus(false);
labFaDecChecker->Caption=GetFieldValue(fiFaDecChecker);
labFaDecCheckDate->Caption=GetFieldValue(fiFaDecCheckDate);
seFaDecOGlkm->Text=GetFieldValue(fiFaDecOGlkm);
if(GetFieldValue(fiFaDecPost)=="1")
chkFaDecPost->Checked=true;
else
chkFaDecPost->Checked=false;
seFaDecPzCode->Text=GetFieldValue(fiFaDecPzCode);
labFaDecSysDate->Caption=GetFieldValue(fiFaDecSysDate);
labFaDecUser->Caption =GetFieldValue(fiFaDecUser);
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDec::SendDataToComObject()
{
WriteFieldValue(comServer,fiFaDecCode,seFaDecCode->Text);
WriteFieldValue(comServer,fiFaDecDate,sdFaDecDate->Text);
WriteFieldValue(comServer,fiFaDecFmonth,scFaDecFmonth->Text);
WriteFieldValue(comServer,fiFaDecFadn,seFaDecFadn->Text);
WriteFieldValue(comServer,fiFaDecFav,scFaDecFav->ItemData[1]);
WriteFieldValue(comServer,fiFaDecDesc,seFaDecDesc->Text);
WriteFieldValue(comServer,fiFaDecOGlkm,seFaDecOGlkm->Text);
WriteFieldValue(comServer,fiFaDecPost,chkFaDecPost->Checked ? "1":"0");
WriteFieldValue(comServer,fiFaDecPzCode,seFaDecPzCode->Text);
WriteFieldValue(comServer,fiFaDecUser,labFaDecUser->Caption);
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDec::WaitUserInput()
{
seFaDecCode->SetFocus();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmFaDec::GetDataToGrid()
{
AnsiString s;
seFaDecFadn->LocateKey(GetFieldValue(fiFaDecFadn));
s = "\t" +GetFieldValue(fiFaDecCode)+
"\t" +GetFieldValue(fiFaDecFadn)+
"\t" +seFaDecFadn->ItemData[1]+
"\t" +GetFieldValue(fiFaDecDate);
return(s);
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDec::RefreshGridData(int mAction)
{
AnsiString ItemStr;
ItemStr = GetDataToGrid();
if (mAction == 0) //Add
{
sgFaDec->AddItem(ItemStr);
}
else if(mAction == 1) //Modify
{
int i = sgFaDec->Row;
sgFaDec->RemoveItem(i);
sgFaDec->AddItem(ItemStr,i);
}
else if(mAction == 2) //Delete
{
sgFaDec->RemoveItem(sgFaDec->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDec::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgFaDec->RowCount = 1;
while (comServer->Eof == 0)
{
ItemStr = GetDataToGrid();
sgFaDec->AddItem(ItemStr);
comServer->MoveNext();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDec::FormShow(TObject *Sender)
{
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDec::chkFaDecPostClick(TObject *Sender)
{
if(chkFaDecPost->Checked)
seFaDecPzCode->Enabled=true;
else
seFaDecPzCode->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDec::seFaDecOGlkmButtonClick(TObject *Sender)
{
OpenGlkmQuery();
if(QueryStatus==1)
seFaDecOGlkm->Text=GetGlkmValue("GLKMCODE");
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDec::muEditDetailClick(TObject *Sender)
{
TRecBaseForm::muEditDetailClick(Sender);
if(chkFaDecPost->Checked)
seFaDecPzCode->Enabled=true;
else
seFaDecPzCode->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDec::RefreshUpdateData(int MsgSrc,int MsgType)
{
switch(MsgSrc)
{
case euSdFc:
if(ShowUpdateMessage(MsgSrc,MsgType))
FillComboBox(scFaDecFmonth,"select Fcmonth from sdfc order By fcmonth","fcmonth");
break;
case euSdFadn:
if(ShowUpdateMessage(MsgSrc,MsgType))
FillEdit(seFaDecFadn,"select fadncode,fadnname from sdfadn order By fadncode","fadncode","fadnname");
break;
case euSdFav:
if(ShowUpdateMessage(MsgSrc,MsgType))
FillComboBox(scFaDecFav,"select favcode ,favname from sdfav where favtype='2' order By favcode","favName","favcode");
break;
default:
break;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDec::seFaDecCodeKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Key==13 && CurrentState==caNormal)
{
comServer->LocateByKey(seFaDecCode->Text);
GetDataFromComObject();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDec::sgFaDecClick(TObject *Sender)
{
if (sgFaDec->Row > 0)
comServer->LocateByKey(sgFaDec->TextMatrix[sgFaDec->Row][1]);
if (!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDec::seFaDecFadnButtonClick(TObject *Sender)
{
AnsiString SqlStr;
TfrmWnQuery *p;
SqlStr="002[设备编码][设备名称]select fadncode, fadnname from sdfadn where (fadnDiscard=0 and fadndec=0) order by fadncode ";
try{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"设备查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
seFaDecFadn->Text=p->ColData[1];
seFaDecFadnName->Text=p->ColData[2];
}
delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDec::seFaDecFadnKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Key==13)
{
TComResultSet *TResultSet=NewResultSet();
AnsiString SQL="select fadncode, fadnname from sdfadn ";
SQL+=" where where (fadndiscard=0 and fadnDec=0) and fadncode='"+seFaDecFadn->Text+"'order by fadncode ";
try
{
TResultSet->Close();
TResultSet->Open(SQL,"");
if(TResultSet->RecordCount<1)
throw Exception("设备编码"+seFaDecFadn->Text+"'不存在或已报废、减少");
seFaDecFadnName->Text=TResultSet->FieldByName("fadnname");
TResultSet->Close();
}
__finally
{
delete TResultSet;
}
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -