glb.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 468 行 · 第 1/2 页
CPP
468 行
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Glb.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "fpanel"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "SDComboBox"
#pragma resource "*.dfm"
TfrmGlb *frmGlb;
//---------------------------------------------------------------------------
__fastcall TfrmGlb::TfrmGlb(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
m_Balance="";
m_GlbBegined="N";
m_GlbInitialize="N";
sgGlb->RowCount = 1;
IsUserGernerate=true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::ClearControl(bool BringToNext)
{
//AddCode
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::GetDataFromComObject()
{
//AddCode
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::SendDataToComObject()
{
//AddCode
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::WaitUserInput()
{
//AddCode
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::RefreshGridData(int mAction)
{
//AddCode
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::FillGridWithData()
{
AnsiString strSQL,ItemStr;
strSQL="select GlbGlkm,GlkmName,GlbMx,GlbDir,CurrencyName=isnull(CurrencyName,''),UnitName=isnull(UnitName,''),";
strSQL=strSQL+"GlbBopQty,GlbBopAmt,GlbBopWbAmt,GlbBoyQty,GlbBoyAmt,GlbBoyWbAmt,GlbLevel ";
strSQL=strSQL+"from sdGlb,sdGlkm,sdCurrency,sdUnit ";
strSQL=strSQL+"where GlbGlkm=GlkmCode and GlbCurrency*=CurrencyCode and GlbUnit*=UnitCode ";
strSQL=strSQL+"order by GlbGlkm";
TComResultSet *RsGlb=new TComResultSet(Handle,g_ClientHandle);
RsGlb->Open(strSQL,"GlbGlkm");
sgGlb->RowCount=1;
RsGlb->MoveFirst();
while(!RsGlb->Eof)
{
AnsiString vSpace;
vSpace=GetSpace(RsGlb->FieldByName("GlbLevel").ToInt());
ItemStr=vSpace+RsGlb->FieldByName("GlbGlkm")+
"\t"+vSpace+RsGlb->FieldByName("GlkmName")+
"\t"+RsGlb->FieldByName("GlbMx")+
"\t"+(RsGlb->FieldByName("GlbDir")=="1" ? "借":"贷")+
"\t"+RsGlb->FieldByName("CurrencyName")+
"\t"+RsGlb->FieldByName("UnitName")+
"\t"+RsGlb->FieldByName("GlbBopQty")+
"\t"+RsGlb->FieldByName("GlbBopAmt")+
"\t"+RsGlb->FieldByName("GlbBopWbAmt")+
"\t"+RsGlb->FieldByName("GlbBoyQty")+
"\t"+RsGlb->FieldByName("GlbBoyAmt")+
"\t"+RsGlb->FieldByName("GlbBoyWbAmt");
sgGlb->AddItem(ItemStr);
RsGlb->MoveNext();
}
RsGlb->Close();
delete RsGlb;
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmGlb::GetSpace(int iNum)
{
AnsiString strSpace;
for(int i=1;i<iNum;i++)
strSpace=strSpace+AnsiString(" ");
return strSpace;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::FillGridWithGlKm()
{
AnsiString strSQL,ItemStr;
TComResultSet *RsGlkm;
strSQL="select GlkmCode,GlkmName,GlkmMx,GlkmDir,CurrencyName=isnull(CurrencyName,''),UnitName=isnull(UnitName,''),";
strSQL=strSQL+"GlkmMx,GlkmSl,GlkmWb,GlkmLevel ";
strSQL=strSQL+"from sdGlkm,sdCurrency,sdUnit ";
strSQL=strSQL+"where GlkmCurrency*=CurrencyCode and GlkmUnit*=UnitCode ";
strSQL=strSQL+"order by GlkmCode";
RsGlkm=new TComResultSet(Handle,g_ClientHandle);
RsGlkm->Open(strSQL,"GlkmCode");
sgGlb->RowCount=1;
RsGlkm->MoveFirst();
while(!RsGlkm->Eof)
{
AnsiString tSpace;
tSpace=GetSpace(RsGlkm->FieldByName("GlkmLevel").ToInt());
ItemStr=tSpace+RsGlkm->FieldByName("GlkmCode")+
"\t"+tSpace+RsGlkm->FieldByName("GlkmName")+
"\t"+RsGlkm->FieldByName("GlkmMx")+
"\t"+(RsGlkm->FieldByName("GlkmDir")=="1" ? "借":"贷")+
"\t"+RsGlkm->FieldByName("CurrencyName")+
"\t"+RsGlkm->FieldByName("UnitName")+
"\t"+"0"+
"\t"+"0"+
"\t"+"0"+
"\t"+"0"+
"\t"+"0"+
"\t"+"0";
sgGlb->AddItem(ItemStr);
RsGlkm->MoveNext();
}
RsGlkm->Close();
delete RsGlkm;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::GetParamValueWithGlbBegined()
{
AnsiString strSQL;
TComResultSet *RsParamGlbBegined=new TComResultSet(Handle,g_ClientHandle);
strSQL="select ParameterValue from sdParameter where ParameterCode='10702'";
RsParamGlbBegined->Open(strSQL,"");
RsParamGlbBegined->MoveFirst();
if(!RsParamGlbBegined->Eof)
m_GlbBegined=RsParamGlbBegined->FieldByName("ParameterValue");
else
throw Exception("财务总帐已启用的标志参数被破坏");
RsParamGlbBegined->Close();
delete RsParamGlbBegined;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::GetParamValueWithGlbInitialize()
{
AnsiString strSQL;
TComResultSet *RsParamGlbInitialize=new TComResultSet(Handle,g_ClientHandle);
strSQL="select ParameterValue from sdParameter where ParameterCode='10704'";
RsParamGlbInitialize->Open(strSQL,"");
RsParamGlbInitialize->MoveFirst();
if(!RsParamGlbInitialize->Eof)
m_GlbInitialize=RsParamGlbInitialize->FieldByName("ParameterValue");
else
throw Exception("财务总帐初始化的标志参数被破坏");
RsParamGlbInitialize->Close();
delete RsParamGlbInitialize;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::InitEditControl()
{
ClientGroup->AddComponent(2,false,false,false,sgGlb,sgGlb->Name);
labpJfAmtCount->Caption="0.00";
labpDfAmtCount->Caption="0.00";
labyJfAmtCount->Caption="0.00";
labyDfAmtCount->Caption="0.00";
sgGlb->RowCount=2;
sgGlb->ReadOnly=true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::FormShow(TObject *Sender)
{
InitEditControl();
GetParamValueWithGlbBegined();
GetParamValueWithGlbInitialize();
if(m_GlbBegined=="Y")
{
tbAddHead->Visible=false;
tbEditHead->Visible=false;
tbDeleteHead->Visible=false;
tbCancel->Visible=false;
tbGenrate->Enabled=false;
tbCheck->Enabled=false;
tbClose->Enabled=false;
FillGridWithData();
GetPBJfAmtCount();
GetPBDfAmtCount();
GetYBJfAmtCount();
GetYBDfAmtCount();
}
else
{
if(m_GlbInitialize=="Y")
{
tbAddHead->Visible=false;
tbDeleteHead->Visible=false;
FillGridWithData();
GetPBJfAmtCount();
GetPBDfAmtCount();
GetYBJfAmtCount();
GetYBDfAmtCount();
}
else
{
tbGenrate->Visible=false;
tbCheck->Visible=false;
tbEditHead->Visible=false;
FillGridWithGlKm();
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::GetPBJfAmtCount()
{
double pJfAmt=0;
for(int i=1;i<sgGlb->RowCount;i++)
{
if(sgGlb->Cells[2][i]=="1" && sgGlb->Cells[3][i]=="借")
pJfAmt=pJfAmt+sgGlb->Cells[7][i].ToDouble();
}
labpJfAmtCount->Caption=FormatFloat("#,##0.00",pJfAmt);
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::GetPBDfAmtCount()
{
double pDfAmt=0;
for(int i=1;i<sgGlb->RowCount;i++)
{
if(sgGlb->Cells[2][i]=="1" && sgGlb->Cells[3][i]=="贷")
pDfAmt=pDfAmt+sgGlb->Cells[7][i].ToDouble();
}
labpDfAmtCount->Caption=FormatFloat("#,##0.00",pDfAmt);
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?