fadc.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 499 行 · 第 1/2 页
CPP
499 行
//---------------------------------------------------------------------------
#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, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
m_FiItem[0].Name="原值";
m_FiItem[1].Name="总工作量";
m_FiItem[2].Name="本期工作量";
m_FiItem[3].Name="使用期限";
m_FiItem[4].Name="累计使用期限";
m_FiItem[5].Name="预计净残值";
m_FiItem[6].Name="清理费用";
m_FiItem[7].Name="入帐前累计折旧";
m_FiItem[8].Name="入帐前累计工作量";
m_FiItem[9].Name="入帐前累计使用期限";
for(int i=0;i<=9;i++)
{
m_FiItem[i].Numb=0.00;
}
}
//---------------------------------------------------------------------------
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(Handle,scFaDcFadm,"select fadmcode,fadmname from sdfadm order By fadmcode","fadmName","fadmCode");
FillComboBox(Handle,scFaDcFadn,SQL,"fadncode","fadnName","fadnfadm","fadnOval","fadneval");
FillComboBox(Handle,scFaDcFMonth,"select FcMonth from sdFc order By FcMonth","FcMonth");
//FillComboBox(Handle,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);
}
//---------------------------------------------------------------------------
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); //操作员
scFaDcUser->Text=g_sdUserCode; //操作员
chkFaDcPost->Checked =false; //制凭证标志
seFaDcPzCode->Text =""; //凭证号
seFaDcPzCode->Enabled =false;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDc::GetDataFromComObject()
{
scFaDcFadn->LocateKey(GetFieldValue("FaDcFadn"));
scFaDcFadn->Text=scFaDcFadn->ItemData[0];
seFaDcFadnName->Text=scFaDcFadn->ItemData[1];
sgFaDc->LocateGrid(1,scFaDcFadn->Text);
scFaDcFadm->LocateKey(GetFieldValue("FaDcFadm"));
scFaDcFadm->Text=scFaDcFadm->ItemData[0];
seFaDcOVal->Text=GetFieldValue("FaDcOVal");
seFaDcDVal->Text=GetFieldValue("FaDcDVal");
seFaDcEVal->Text=GetFieldValue("FaDcEVal");
seFaDcTWork->Text=GetFieldValue("FaDcTWork");
seFaDcAWork->Text=GetFieldValue("FaDcAWork");
seFaDcPeriod->Text=GetFieldValue("FaDcPeriod");
seFaDcAPeriod->Text=GetFieldValue("FaDcAPeriod");
seFaDcVal->Text=GetFieldValue("FaDcVal");
scFaDcUser->LocateKey(GetFieldValue("FaDcUser"));
scFaDcUser->Text=scFaDcUser->ItemData[0];
chkFaDcPost->Checked=((GetFieldValue("FaDcPost")=="1")?true:false);
seFaDcPzCode->Text=GetFieldValue("FaDcPzCode");
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDc::SendDataToComObject()
{
//add 2003-02-21
SetFieldValue("FaDcFadn",scFaDcFadn->Text);
SetFieldValue("FaDcFMonth",scFaDcFMonth->Text);
AnsiString StrFadm = "Select FadmCode from sdFadm where FadmName='"+scFaDcFadm->Text+"'";
if(GetComboBox(StrFadm, StrFadm))
SetFieldValue("FaDcFadm",StrFadm);
else
SetFieldValue("FaDcFadm", "");
SetFieldValue("FaDcOVal",seFaDcOVal->Text);
SetFieldValue("FaDcEVal",seFaDcEVal->Text);
SetFieldValue("FaDcTWork",seFaDcTWork->Text);
SetFieldValue("FaDcAWork",seFaDcAWork->Text);
SetFieldValue("FaDcPeriod",seFaDcPeriod->Text);
SetFieldValue("FaDcAPeriod",seFaDcAPeriod->Text);
SetFieldValue("FaDcDVal",seFaDcDVal->Text);
SetFieldValue("FaDcVal",seFaDcVal->Text);
SetFieldValue("FaDcUser",scFaDcUser->Text);
SetFieldValue("FaDcPost",IntToStr(chkFaDcPost->Checked));
if(chkFaDcPost->Checked)
SetFieldValue("FaDcPzCode",seFaDcPzCode->Text);
//add 2003-02-21
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDc::WaitUserInput()
{
scFaDcFadn->SetFocus();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmFaDc::GetDataToGrid()
{
AnsiString s;
scFaDcFadm->LocateKey(GetFieldValue("FaDcFadm"));
s = "\t" +GetFieldValue("FaDcFadn")+
"\t" +scFaDcFadm->ItemData[0]+
"\t" +GetFieldValue("FaDcVal")+
"\t" +GetFieldValue("FaDcDVal");
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(Query,scFaDcFadm,"select fadmcode,fadmname from sdfadm order By fadmcode","fadmName","fadmCode");
break;
case euSdUser:
if(ShowUpdateMessage(MsgSrc,MsgType))
FillComboBox(Query,scFaDcUser,"select UserCode,UserName from sdUser order By UserCode","UserName","UserCode");
break;
case euSdFadn:
if(ShowUpdateMessage(MsgSrc,MsgType))
FillComboBox(Query,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(Query,scFaDcFMonth,"select FcMonth from sdFc order By FcMonth","FcMonth");
break;
default:
break;
}
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDc::scFaDcFadnKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Key==13 && CurrentState==caNormal)
{
comServer->LocateByKey(scFaDcFadn->Text+scFaDcFMonth->Text);
GetDataFromComObject();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDc::sgFaDcClick(TObject *Sender)
{
if (sgFaDc->Row > 0)
comServer->LocateByKey(sgFaDc->TextMatrix[sgFaDc->Row][1]+"\t"+scFaDcFMonth->Text+"\t");
if (!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmFaDc::muEditDetailClick(TObject *Sender) //符合计提条件计提折旧
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?