📄 fadc.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "FaDc.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "fpanel"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"
TfrmFaDc *frmFaDc;
//---------------------------------------------------------------------------
__fastcall TfrmFaDc::TfrmFaDc(TComponent* Owner)
: TRecBaseForm(Owner,euSdFaDc,"")
{
ResultSet=NewResultSet();
WorkResultSet=NewResultSet();
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDc::InitEditControl()
{
AnsiString SQL="select fadncode,fadnname,fadnfadm,fadnOval,fadneval from sdfadn ,sdfause where FAUSEDEPRE='1' and FADNFAUSE=fausecode order By fadncode";
FillComboBox(scFaDcFadm,"select fadmcode,fadmname from sdfadm order By fadmcode","fadmName","fadmCode");
FillComboBox(scFaDcFadn,SQL,"fadncode","fadnName","fadnfadm","fadnOval","fadneval");
FillComboBox(scFaDcFMonth,"select FcMonth from sdFc order By FcMonth","FcMonth");
FillComboBox(scFaDcUser,"select UserCode,UserName from sdUser order By UserCode","UserName","UserCode");
ClientGroup->AddComponent(2,false,false,true,FloatPanel1,FloatPanel1->Name);
ClientGroup->AddComponent(2,true,true,false, sgFaDc,sgFaDc->Name);
ClientGroup->AddComponent(2,true,true,false,scFaDcFMonth,scFaDcFMonth->Name);
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmFaDc::GetFieldValue(int FieldIndex)
{
WideString S;
S = ReadFieldValue(comServer,FieldIndex);
return(S);
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDc::ClearControl(bool BringToNext)
{
if(!BringToNext)
{
scFaDcFadn->Text =""; //设备编码
seFaDcFadnName->Text =""; //设备名称
scFaDcFMonth->Text =g_sdEMonth; //财务月份
scFaDcFadm->Text =""; //折旧方法
seFaDcOVal->Text ="0"; //原值
seFaDcDVal->Text ="0"; //累计折旧
seFaDcEVal->Text ="0"; //预计净残值
seFaDcTWork->Text ="0"; //总工作量
seFaDcAWork->Text ="0"; //累计工作量
seFaDcPeriod->Text ="0"; //使用期限
seFaDcAPeriod->Text ="0"; //累计使用期限
seFaDcVal->Text ="0"; //本期折旧额
scFaDcUser->LocateKey(g_sdUserCode); //操作员
chkFaDcPost->Checked =false; //制凭证标志
seFaDcPzCode->Text =""; //凭证号
seFaDcPzCode->Enabled =false;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDc::GetDataFromComObject()
{
scFaDcFadn->LocateKey(GetFieldValue(fiFaDcFadn));
scFaDcFadn->Text=scFaDcFadn->ItemData[0];
seFaDcFadnName->Text=scFaDcFadn->ItemData[1];
sgFaDc->LocateGrid(1,scFaDcFadn->Text);
scFaDcFadm->LocateKey(GetFieldValue(fiFaDcFadm));
scFaDcFadm->Text=scFaDcFadm->ItemData[0];
if(scFaDcFadm->Text=="工作量法")
Panel1->Visible=true;
else
Panel1->Visible=false;
seFaDcOVal->Text=GetFieldValue(fiFaDcOVal);
seFaDcDVal->Text=GetFieldValue(fiFaDcDVal);
seFaDcEVal->Text=GetFieldValue(fiFaDcEVal);
seFaDcTWork->Text=GetFieldValue(fiFaDcTWork);
seFaDcAWork->Text=GetFieldValue(fiFaDcAWork);
seFaDcPeriod->Text=GetFieldValue(fiFaDcPeriod);
seFaDcAPeriod->Text=GetFieldValue(fiFaDcAPeriod);
seFaDcVal->Text=GetFieldValue(fiFaDcVal);
scFaDcUser->LocateKey(GetFieldValue(fiFaDcUser));
scFaDcUser->Text=scFaDcUser->ItemData[0];
chkFaDcPost->Checked=GetFieldValue(fiFaDcPost)=="1";
seFaDcPzCode->Text=GetFieldValue(fiFaDcPzCode);
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDc::SendDataToComObject()
{
//
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDc::WaitUserInput()
{
scFaDcFadn->SetFocus();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmFaDc::GetDataToGrid()
{
AnsiString s;
scFaDcFadm->LocateKey(GetFieldValue(fiFaDcFadm));
s = "\t" +GetFieldValue(fiFaDcFadn)+
"\t" +GetFieldValue(fiFaDcVal)+
"\t" +GetFieldValue(fiFaDcDVal);
return(s);
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDc::RefreshGridData(int mAction)
{
AnsiString ItemStr;
ItemStr = GetDataToGrid();
if (mAction == 0) //Add
{
sgFaDc->AddItem(ItemStr);
}
else if(mAction == 1) //Modify
{
int i = sgFaDc->Row;
sgFaDc->RemoveItem(i);
sgFaDc->AddItem(ItemStr,i);
}
else if(mAction == 2) //Delete
{
sgFaDc->RemoveItem(sgFaDc->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDc::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgFaDc->RowCount = 1;
while (comServer->Eof == 0)
{
ItemStr = GetDataToGrid();
sgFaDc->AddItem(ItemStr);
comServer->MoveNext();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDc::scFaDcFMonthClick(TObject *Sender)
{
AnsiString s;
s = scFaDcFMonth->Text;
if(s.IsEmpty())
return;
if(LastFaDcFMonth==s)
return;
LastFaDcFMonth=s;
if(scFaDcFMonth->ItemIndex==-1)
{
MessageDlg("财务月份不存在",mtWarning,TMsgDlgButtons()<<mbOK,0);
scFaDcFMonth->LocateKey(LastFaDcFMonth);
}
else
{
s = " FaDcFMonth = '" + s + "'";
comServer->FilterString = s;
comServer->Query();
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDc::chkFaDcPostClick(TObject *Sender)
{
if(chkFaDcPost->Checked)
seFaDcPzCode->Enabled=true;
else
seFaDcPzCode->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDc::RefreshUpdateData(int MsgSrc,int MsgType)
{
switch(MsgSrc)
{
case euSdFadm:
if(ShowUpdateMessage(MsgSrc,MsgType))
FillComboBox(scFaDcFadm,"select fadmcode,fadmname from sdfadm order By fadmcode","fadmName","fadmCode");
break;
case euSdUser:
if(ShowUpdateMessage(MsgSrc,MsgType))
FillComboBox(scFaDcUser,"select UserCode,UserName from sdUser order By UserCode","UserName","UserCode");
break;
case euSdFadn:
if(ShowUpdateMessage(MsgSrc,MsgType))
FillComboBox(scFaDcFadn,"select fadncode,fadnname,fadnfadm,fadnpval,fadneval from sdfadn order By fadncode","fadncode","fadnName","fadnfadm","fadnpval","fadneval");
break;
case euSdFc:
if(ShowUpdateMessage(MsgSrc,MsgType))
FillComboBox(scFaDcFMonth,"select FcMonth from sdFc order By FcMonth","FcMonth");
break;
default:
break;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDc::scFaDcFadnKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -