pzhpost.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 210 行
CPP
210 行
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Pzh.h"
#include "PzhPost.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "DateEdit"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"
TfrmPzh *Pzhfrm;
TfrmPzhPost *frmPzhPost;
//---------------------------------------------------------------------------
__fastcall TfrmPzhPost::TfrmPzhPost(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TListBaseForm(Owner,chWnd,MidCode,WhereStr)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhPost::InitEditControl()
{
FillComboBox(Handle,scPzhFmonth,"select FcMonth from sdFc order by FcMonth","FcMonth");
FillComboBox(Handle,scPzhFvct,"select FvctName,FvctCode from sdFvct order by FvctCode","FvctName","FvctCode");
scPzhFvct->AddItems("全部...","All");
FillComboBox(Handle,scPzhUser,"select UserName,UserCode from sdUser order by UserCode","UserName","UserCode");
scPzhUser->AddItems("全部...","All");
scPzhFmonth->LocateKey(g_sdFMonth);
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhPost::ClearControl(bool BringToNext)
{
if(!BringToNext)
{
dePzhDateF->Text="";
dePzhDateT->Text=dePzhDateT->InitDate;
scPzhFvct->ItemIndex=scPzhFvct->Items->Count-1;
sePzhCodeF->Text="";
sePzhCodeT->Text="";
scPzhUser->ItemIndex=scPzhUser->Items->Count-1;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhPost::ChangeToBrowseState(bool agree)
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhPost::FillGridWithData()
{
AnsiString ItemStr;
sgPzhPost->RowCount=1;
if(comServer->RecordCount>0)
{
for(int i=0;i<comServer->RecordCount;i++)
{
comServer->LocateByIndex(i);
ItemStr=AnsiString(" ")+"\t"+
GetHeadValue("PzhDate")+"\t"+
GetHeadValue("PzhFvct")+"\t"+
GetHeadValue("PzhCode")+"\t"+
GetHeadValue("PzhUser")+"\t"+
GetHeadValue("PzhChecker")+"\t"+
GetHeadValue("PzhCheckDate");
sgPzhPost->AddItem(ItemStr);
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhPost::btQueryClick(TObject *Sender)
{
comServer->FilterString=GetQueryFilterStr();
comServer->Query();
FillGridWithData();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmPzhPost::GetQueryFilterStr()
{
AnsiString CreatSQLFilStr="";
CreatSQLFilStr="PzhCheck=1 and PzhPost=0 and PzhFmonth='"+scPzhFmonth->Text+"' and ";
if(Trim(dePzhDateF->Text) != "")
CreatSQLFilStr =CreatSQLFilStr+"PzhDate>='" + FormatDateTime("yyyy-mm-dd",dePzhDateF->Date) + "' and ";
if(Trim(dePzhDateT->Text) != "")
CreatSQLFilStr = CreatSQLFilStr + "PzhDate<='" + FormatDateTime("yyyy-mm-dd",dePzhDateT->Date) + "' and ";
if(Trim(scPzhFvct->Text) != "全部...")
CreatSQLFilStr = CreatSQLFilStr + "PzhFvct='" + Trim(scPzhFvct->ItemData[1]) + "' and ";
if(Trim(sePzhCodeF->Text) != "")
CreatSQLFilStr = CreatSQLFilStr + "PzhCode>='" + Trim(sePzhCodeF->Text) + "' and ";
if(Trim(sePzhCodeT->Text) != "")
CreatSQLFilStr = CreatSQLFilStr + "PzhCode<='" + Trim(sePzhCodeT->Text) + "' and ";
if(Trim(scPzhUser->Text) != "全部...")
CreatSQLFilStr = CreatSQLFilStr + "PzhUser='" + Trim(scPzhUser->ItemData[1]) + "' and ";
if(CreatSQLFilStr.Length()>5)
CreatSQLFilStr = CreatSQLFilStr.SubString(1,CreatSQLFilStr.Length()-5);
else
CreatSQLFilStr="";
return (CreatSQLFilStr);
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhPost::btPostClick(TObject *Sender)
{
int iCount;
iCount=0;
if(sgPzhPost->RowCount==1)
{
ShowMessageWindow("当前没有凭证登帐!",mwsInformation);
return;
}
if(ShowMessageWindow("确认要登帐当前选中的凭证吗?",mwsConfirmation)==IDNO)
{
return;
}
for(int i=sgPzhPost->RowCount-1;i>0;i--)
{
if(sgPzhPost->Cells[0][i]=="√")
{
comServer->LocateByKey(sgPzhPost->Cells[3][i]);
try
{
Query->Close();
Query->Execute("Exec sdPzh_Post '"+sgPzhPost->Cells[3][i]+"',"+"1,'"+g_sdUserCode+"','"+g_sdCurDate+"'");
iCount++;
}
catch(Exception &e)
{
ShowMessageWindow("已经成功的登帐 '"+AnsiString(iCount)+"' 张凭证",mwsInformation);
throw Exception(e.Message);
}
sgPzhPost->RemoveItem(i);
}
}
ShowMessageWindow("已经成功的登帐' "+AnsiString(iCount)+"' 张凭证",mwsInformation);
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhPost::sgPzhPostDblClick(TObject *Sender)
{
int tRow,tCol;
tRow=sgPzhPost->Row;
tCol=sgPzhPost->Col;
if(tRow==0)
return;
switch(tCol)
{
case 3:
if(comServer->LocateByKey(sgPzhPost->Cells[3][tRow]))//定位成功后返回为false!!
{
StartWaitForm("请稍候,正在调阅凭证......");
Pzhfrm=new TfrmPzh(this,g_ClientHandle,"1100302","");
Pzhfrm->comServer->FilterString="PzhCode='"+sgPzhPost->Cells[3][tRow]+"'";
Pzhfrm->comServer->Query();
Pzhfrm->Transfered=1;
EndWaitForm();
Pzhfrm->ShowModal();
delete Pzhfrm;
}
break;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhPost::FormShow(TObject *Sender)
{
sgPzhPost->RowCount=1;
InitEditControl();
ClearControl(false);
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhPost::sgPzhPostClick(TObject *Sender)
{
int iRow,iCol;
iRow=sgPzhPost->Row;
iCol=sgPzhPost->Col;
if(iRow==0)
return;
switch(iCol)
{
case 0:
if(sgPzhPost->Cells[0][iRow]=="")
sgPzhPost->Cells[0][iRow]="√";
else
sgPzhPost->Cells[0][iRow]="";
break;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhPost::btCancelClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhPost::BitBtn1Click(TObject *Sender)
{
for (int i=1;i<sgPzhPost->RowCount;i++)
{
sgPzhPost->Cells[0][i]="√";
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?