appbgen.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 229 行
CPP
229 行
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Appb.h"
#include "AppbGen.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "StdBaseForm"
#pragma link "fpanel"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "SDComboBox"
#pragma resource "*.dfm"
TfrmAppbGen *frmAppbGen;
//---------------------------------------------------------------------------
__fastcall TfrmAppbGen::TfrmAppbGen(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TStdBaseForm(Owner,chWnd,MidCode,WhereStr)
{
InitControlGroup();
}
//---------------------------------------------------------------------------
void __fastcall TfrmAppbGen::InitControlGroup()
{
sgAppb->RowCount = 1;
btnOK->Enabled=false;
FillComboBox(Handle,scAppbFmonth,"SELECT Fcmonth FROM sdFc","Fcmonth");
scAppbFmonth->Text=g_sdFMonth;
seAppbFbbSupply->Text="";
}
//---------------------------------------------------------------------------
void __fastcall TfrmAppbGen::GetComObject(TComServer *comServerPtr)
{
comServer=comServerPtr;
}
//---------------------------------------------------------------------------
void __fastcall TfrmAppbGen::sgAppbDblClick(TObject *Sender)
{
AnsiString SqlStr;
int ARow=sgAppb->Row;
if (ARow >0)
{
if(sgAppb->Col==1)
{
if (sgAppb->Cells[1][ARow] == "√")
{
sgAppb->Cells[1][ARow] = "";
for (int i=1;i<sgAppb->RowCount;i++)
{
if(sgAppb->Cells[1][i]=="√")
{
btnOK->Enabled=true;
break;
}
else
btnOK->Enabled=false;
}
}
else
{
sgAppb->Cells[1][ARow] = "√";
btnOK->Enabled=true;
}
}
else if(sgAppb->Col==2 && sgAppb->Cells[1][ARow] == "√")
{
SqlStr="002[付款类型编码][付款类型名称]select Pbtcode,Pbtname from sdPbt order by Pbtcode";
TfrmWnQuery *p;
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"付款类型查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
sgAppb->Cells[2][ARow]=p->ColData[1];
}
delete p;
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmAppbGen::bbSelAllClick(TObject *Sender)
{
if(sgAppb->RowCount <=1)
return;
for(int i=1;i<sgAppb->RowCount;i++)
sgAppb->Cells[1][i] = "√";
btnOK->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmAppbGen::bbSelNoneClick(TObject *Sender)
{
for(int i=1;i<sgAppb->RowCount;i++)
sgAppb->Cells[1][i] = "";
btnOK->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmAppbGen::btnOKClick(TObject *Sender)
{
int ErrNum;
try
{
StartWaitForm("正在生成工单,请稍候...");
if(sgAppb->RowCount>1)
{
try
{
for(int i=1;i<sgAppb->RowCount;i++)
{
if(sgAppb->Cells[1][i]=="√")
{
comServer->AddNew();
SetHeadValue("AppbCode","$frmAppb");
SetHeadValue("AppbFmonth",g_sdFMonth);
SetHeadValue("AppbDate",g_sdCurDate);
SetHeadValue("AppbSupply",sgAppb->Cells[5][i]);
SetHeadValue("AppbCurrency",sgAppb->Cells[6][i]);
frmAppb->scAppbCurrency->LocateKey(sgAppb->Cells[6][i]);
SetHeadValue("AppbEnrate",frmAppb->scAppbCurrency->ItemData[2]);
SetHeadValue("AppbAmt",sgAppb->Cells[9][i]);
SetHeadValue("AppbFrom","2");
SetHeadValue("AppbSettleMode",sgAppb->Cells[7][i]);
SetHeadValue("AppbSettleCode",sgAppb->Cells[8][i]);
SetHeadValue("AppbType",sgAppb->Cells[2][i]);
SetHeadValue("AppbDesc",sgAppb->Cells[10][i]);
SetHeadValue("AppbCAmt","0");
SetHeadValue("AppbFbbCac",sgAppb->Cells[4][i]);
SetHeadValue("AppbFbbNo",sgAppb->Cells[3][i]);
SetHeadValue("AppbState","1");
SetHeadValue("AppbUser",g_sdUserCode);
comServer->Post();
frmAppb->RefreshGridData(0);
}
}
}
catch(Exception &e)
{
comServer->Cancel();
this->ModalResult=0;
throw Exception(e.Message);
}
}
}
__finally
{
EndWaitForm();
}
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmAppbGen::btnCancelClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmAppbGen::seAppbFbbSupplyButtonClick(TObject *Sender)
{
AnsiString SqlStr;
TfrmWnQuery *p;
try
{
StartWaitForm("正在查询,请稍候...");
SqlStr="002[供应商代码][供应商名称]";
SqlStr+=" select distinct Supplycode,SupplyName from sdfbb,sdsupply ";
SqlStr+=" where Supplycode=FbbSupply and FbbCancel =0 and FbbDir=-1 and FbbType=3 order by Supplycode";
p=new TfrmWnQuery(this,"供应商查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
seAppbFbbSupply->Text=p->ColData[1];
}
delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmAppbGen::bbQueryClick(TObject *Sender)
{
AnsiString ItemStr,SqlStr;
TComResultSet *RsAppb;
SqlStr="Select FbbNo,FbbCac,FbbSupply,FbbCurrency,FbbSettleMode,FbbSettleNo,FbbAmt ";
SqlStr+=" from sdfbb where FbbFmonth='"+scAppbFmonth->Text+"' and FbbSupply='"+seAppbFbbSupply->Text+"'";
SqlStr+=" and FbbCancel =0 and FbbDir=-1 and FbbType=3 order by fbbNo ";
try
{
StartWaitForm("正在查询数据,请稍候......");
RsAppb=new TComResultSet(Handle,g_ClientHandle);
RsAppb->Open(SqlStr,"");
sgAppb->RowCount=1;
while(RsAppb->Eof == 0)
{
ItemStr= "\t"+AnsiString("") +
"\t"+" "+
"\t"+RsAppb->FieldByName("FbbNo")+
"\t"+RsAppb->FieldByName("FbbCac")+
"\t"+RsAppb->FieldByName("FbbSupply")+
"\t"+RsAppb->FieldByName("FbbCurrency")+
"\t"+RsAppb->FieldByName("FbbSettleMode")+
"\t"+RsAppb->FieldByName("FbbSettleNo")+
"\t"+RsAppb->FieldByName("FbbAmt");
sgAppb->AddItem(ItemStr);
RsAppb->MoveNext();
}
RsAppb->Close();
}
__finally
{
delete RsAppb;
EndWaitForm();
}
if(sgAppb->RowCount>1)
btnOK->Enabled=true;
else
btnOK->Enabled=false;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?