prepbgen.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 207 行
CPP
207 行
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "PrePbGen.h"
#include "PrePb.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "StdBaseForm"
#pragma link "fpanel"
#pragma link "SDGrid"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma resource "*.dfm"
TfrmPrePbGen *frmPrePbGen;
//---------------------------------------------------------------------------
__fastcall TfrmPrePbGen::TfrmPrePbGen(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TStdBaseForm(Owner,chWnd,MidCode,WhereStr)
{
InitControlGroup();
}
//---------------------------------------------------------------------------
void __fastcall TfrmPrePbGen::InitControlGroup()
{
sgPrePb->RowCount = 1;
btnOK->Enabled=false;
FillComboBox(Handle,scPrePbFmonth,"SELECT Fcmonth FROM sdFc","Fcmonth");
scPrePbFmonth->Text=g_sdFMonth;
sePrePbFbbSupply->Text="";
}
//---------------------------------------------------------------------------
void __fastcall TfrmPrePbGen::GetComObject(TComServer *comServerPtr)
{
comServer=comServerPtr;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPrePbGen::sgPrePbDblClick(TObject *Sender)
{
AnsiString SqlStr;
int ARow=sgPrePb->Row;
if (ARow >0)
{
if(sgPrePb->Col==1)
{
if (sgPrePb->Cells[1][ARow] == "√")
{
sgPrePb->Cells[1][ARow] = "";
for (int i=1;i<sgPrePb->RowCount;i++)
{
if(sgPrePb->Cells[1][i]=="√")
{
btnOK->Enabled=true;
break;
}
else
btnOK->Enabled=false;
}
}
else
{
sgPrePb->Cells[1][ARow] = "√";
btnOK->Enabled=true;
}
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmPrePbGen::bbSelAllClick(TObject *Sender)
{
if(sgPrePb->RowCount <=1)
return;
for(int i=1;i<sgPrePb->RowCount;i++)
sgPrePb->Cells[1][i] = "√";
btnOK->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPrePbGen::bbSelNoneClick(TObject *Sender)
{
for(int i=1;i<sgPrePb->RowCount;i++)
sgPrePb->Cells[1][i] = "";
btnOK->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPrePbGen::btnCancelClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmPrePbGen::btnOKClick(TObject *Sender)
{
int ErrNum;
try
{
StartWaitForm("正在生成工单,请稍候...");
if(sgPrePb->RowCount>1)
{
try
{
for(int i=1;i<sgPrePb->RowCount;i++)
{
if(sgPrePb->Cells[1][i]=="√")
{
comServer->AddNew();
SetHeadValue("PrePbCode","$frmPrePb");
SetHeadValue("PrePbFmonth",g_sdFMonth);
SetHeadValue("PrePbDate",g_sdCurDate);
SetHeadValue("PrePbSupply",sgPrePb->Cells[4][i]);
SetHeadValue("PrePbCurrency",sgPrePb->Cells[5][i]);
frmPrePb->scPrePbCurrency->LocateKey(sgPrePb->Cells[5][i]);
SetHeadValue("PrePbEnrate",frmPrePb->scPrePbCurrency->ItemData[2]);
SetHeadValue("PrePbAmt",sgPrePb->Cells[8][i]);
SetHeadValue("PrePbFrom","2");
SetHeadValue("PrePbSettleMode",sgPrePb->Cells[6][i]);
SetHeadValue("PrePbSettleCode",sgPrePb->Cells[7][i]);
SetHeadValue("PrePbDesc",sgPrePb->Cells[9][i]);
SetHeadValue("PrePbCAmt","0");
SetHeadValue("PrePbFbbCac",sgPrePb->Cells[3][i]);
SetHeadValue("PrePbFbbNo",sgPrePb->Cells[2][i]);
SetHeadValue("PrePbState","1");
SetHeadValue("PrePbUser",g_sdUserCode);
comServer->Post();
frmPrePb->RefreshGridData(0);
}
}
}
catch(Exception &e)
{
comServer->Cancel();
this->ModalResult=0;
throw Exception(e.Message);
}
}
}
__finally
{
EndWaitForm();
}
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmPrePbGen::bbQueryClick(TObject *Sender)
{
AnsiString ItemStr,SqlStr;
TComResultSet *RsPrePb;
SqlStr="Select FbbNo,FbbCac,FbbSupply,FbbCurrency,FbbSettleMode,FbbSettleNo,FbbAmt ";
SqlStr+=" from sdfbb where FbbFmonth='"+scPrePbFmonth->Text+"' and FbbSupply='"+sePrePbFbbSupply->Text+"'";
SqlStr+=" and FbbCancel =0 and FbbDir=-1 and FbbType=3 order by fbbNo ";
try
{
StartWaitForm("正在查询数据,请稍候......");
RsPrePb=new TComResultSet(Handle,g_ClientHandle);
RsPrePb->Open(SqlStr,"");
sgPrePb->RowCount=1;
while(RsPrePb->Eof == 0)
{
ItemStr= "\t"+AnsiString("") +
"\t"+RsPrePb->FieldByName("FbbNo")+
"\t"+RsPrePb->FieldByName("FbbCac")+
"\t"+RsPrePb->FieldByName("FbbSupply")+
"\t"+RsPrePb->FieldByName("FbbCurrency")+
"\t"+RsPrePb->FieldByName("FbbSettleMode")+
"\t"+RsPrePb->FieldByName("FbbSettleNo")+
"\t"+RsPrePb->FieldByName("FbbAmt");
sgPrePb->AddItem(ItemStr);
RsPrePb->MoveNext();
}
RsPrePb->Close();
}
__finally
{
delete RsPrePb;
EndWaitForm();
}
if(sgPrePb->RowCount>1)
btnOK->Enabled=true;
else
btnOK->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPrePbGen::sePrePbFbbSupplyButtonClick(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)
{
sePrePbFbbSupply->Text=p->ColData[1];
}
delete p;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?