bkpb.cpp

来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 354 行

CPP
354
字号
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include "Bkpb.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "DateEdit"
#pragma link "fpanel"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"
TfrmBkpb *frmBkpb;
//---------------------------------------------------------------------------
__fastcall TfrmBkpb::TfrmBkpb(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
        : TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
   SetAutoCodeString(seBkpbCode,"Acm-59");
   IsUserCheck=true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::ClearControl(bool BringToNext)
{
    if(!BringToNext)
    {
      seBkpbCode->Text         ="Acm-59";  //退款单号
      scBkpbFmonth->Text       =g_sdFMonth;  //月份
      deBkpbDate->Text         =g_sdCurDate;  //日期
      scBkpbSupply->ItemIndex  =-1;  //供应商
      scBkpbCurrency->ItemIndex=-1;  //币种
      seBkpbEnrate->Text       ="";  //汇率
      seBkpbAmt->Text          ="";  //金额
      scBkpbSettleMode->ItemIndex =-1;  //结算方式
      seBkpbSettleCode->Text   ="";  //结算号
      scBkpbBpr->ItemIndex    =-1;  //付款类型
      memBkpbDesc->Text        ="";  //备注
      seBkpbAppb->Text         ="";  //退款原因
      seBkpbFbbNo->Text        ="";  //出纳号
      scBkpbFbbCac->ItemIndex  =-1;  //帐号
      scBkpbFrom->ItemIndex    =0;  //来源
      scBkpbState->ItemIndex   =0;  //状态
      lbBkpbUser->Caption      =g_sdUserCode;  //操作员
      chkBkpbCheck->Checked    =false;  //审核标志
      lbBkpbChecker->Caption   ="";  //审核员
      lbBkpbCheckDate->Caption ="";  //审核日期
      lbBkpbSysDate->Caption   ="";  //系统日期
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::InitEditControl()
{
    ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
    ClientGroup->AddComponent(2,true,true,false, sgBkpb,sgBkpb->Name);
    ClientGroup->AddComponent(2,false,false,false, seBkpbCode,seBkpbCode->Name);
    ClientGroup->AddComponent(2,true,true,true, scBkpbFmonth,scBkpbFmonth->Name);
    ClientGroup->AddComponent(2,true,true,true, scBkpbSupply,scBkpbSupply->Name);
    ClientGroup->AddComponent(2,true,true,true, scBkpbCurrency,scBkpbCurrency->Name);
    ClientGroup->AddComponent(2,true,true,true, seBkpbEnrate,seBkpbEnrate->Name);

    FillComboBox(Handle,scBkpbFmonth,"SELECT Fcmonth FROM sdFc","Fcmonth");
    FillComboBox(Handle,scBkpbSupply,"SELECT SupplyCode,SupplyName FROM sdSupply  where supplycancel=0  order by SupplyCode","SupplyName","SupplyCode");
    FillComboBox(Handle,scBkpbFbbCac,"SELECT CACBANKNAME,CACCODE FROM sdCac  where CACCANCEL=0  order by CACCODE","CACBANKNAME","CACCODE");
    AnsiString sSql;
    sSql =AnsiString("select currencycode,currencyname,currencyrate=coalesce(rateratio,1),currencylocal from sdcurrency,sdrate");
    sSql+=" where currencycode*=ratecurrency and ";
    sSql+=" ratefmonth='"+g_sdPMonth+"'";
    FillComboBox(Handle,scBkpbCurrency,sSql,"CurrencyName","CurrencyCode","currencyrate","currencylocal");
    FillComboBox(Handle,scBkpbBpr,"select BPRDESC,Bprcode from sdBpr","BPRDESC","Bprcode");
    FillComboBox(Handle,scBkpbSettleMode,"select SettleModename,SettleModecode from sdSettleMode","SettleModename","SettleModecode");
    scBkpbState->AddItems("状态一","1");
    scBkpbState->AddItems("状态二","2");

    scBkpbFrom->AddItems("手 工","1");
    scBkpbFrom->AddItems("生 成","2");
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::GetDataFromComObject()
{
      seBkpbCode->Text   =GetFieldValue("BkpbCode");
      sgBkpb->LocateGrid(1,seBkpbCode->Text);
      scBkpbFmonth->Text  = GetFieldValue("BkpbFmonth");
      deBkpbDate->Text   =GetFieldValue("BkpbDate");
      scBkpbSupply->LocateKey(GetFieldValue("BkpbSupply"));
      scBkpbSupply->Text  = scBkpbSupply->ItemData[0];
      scBkpbCurrency->LocateKey(GetFieldValue("BkpbCurrency"));
      scBkpbCurrency->Text  = scBkpbCurrency->ItemData[0];
      seBkpbEnrate->Text   =GetFieldValue("BkpbEnrate");
      seBkpbAmt->Text   =GetFieldValue("BkpbAmt");
      scBkpbSettleMode->LocateKey(GetFieldValue("BkpbSettleMode"));
      scBkpbSettleMode->Text  = scBkpbSettleMode->ItemData[0];
      seBkpbSettleCode->Text   =GetFieldValue("BkpbSettleCode");
      scBkpbBpr->LocateKey(GetFieldValue("BkpbBpr"));
      scBkpbBpr->Text  = scBkpbBpr->ItemData[0];
      memBkpbDesc->Text   =GetFieldValue("BkpbDesc");
      seBkpbAppb->Text   =GetFieldValue("BkpbAppb");
      seBkpbFbbNo->Text   =GetFieldValue("BkpbFbbNo");
      scBkpbFbbCac->LocateKey(GetFieldValue("BkpbFbbCac"));
      scBkpbFbbCac->Text   =scBkpbFbbCac->ItemData[0];
      scBkpbFrom->LocateKey(GetFieldValue("BkpbFrom"));
      scBkpbFrom->Text   =scBkpbFrom->ItemData[0];
      scBkpbState->LocateKey(GetFieldValue("BkpbState"));
      scBkpbState->Text =scBkpbState->ItemData[0];
      lbBkpbUser->Caption = GetFieldValue("BkpbUser");
      chkBkpbCheck->Checked=(GetFieldValue("BkpbCheck")=="1"?true:false);
      if(chkBkpbCheck->Checked)
        SetCheckToolbarStatus(true);
      else
        SetCheckToolbarStatus(false);
      lbBkpbChecker->Caption   =GetFieldValue("BkpbChecker");
      lbBkpbCheckDate->Caption   =GetFieldValue("BkpbCheckDate");
      lbBkpbSysDate->Caption   =GetFieldValue("BkpbSysDate");
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::SendDataToComObject()
{
      SetFieldValue("BkpbCode",seBkpbCode->Text);
      SetFieldValue("BkpbFmonth",scBkpbFmonth->Text);
      SetFieldValue("BkpbDate",deBkpbDate->Text);
      SetFieldValue("BkpbSupply",scBkpbSupply->ItemData[1]);
      SetFieldValue("BkpbCurrency",scBkpbCurrency->ItemData[1]);
      SetFieldValue("BkpbEnrate",seBkpbEnrate->Text);
      SetFieldValue("BkpbAmt",seBkpbAmt->Text);
      SetFieldValue("BkpbFrom",scBkpbFrom->ItemData[1]);
      SetFieldValue("BkpbSettleMode",scBkpbSettleMode->ItemData[1]);
      SetFieldValue("BkpbSettleCode",seBkpbSettleCode->Text);
      SetFieldValue("BkpbBpr",scBkpbBpr->ItemData[1]);
      SetFieldValue("BkpbDesc",memBkpbDesc->Text);
      SetFieldValue("BkpbAppb",seBkpbAppb->Text);
      SetFieldValue("BkpbFbbCac",scBkpbFbbCac->ItemData[1]);
      SetFieldValue("BkpbFbbNo",seBkpbFbbNo->Text);
      SetFieldValue("BkpbState",scBkpbState->ItemData[1]);
      SetFieldValue("BkpbUser",lbBkpbUser->Caption);
      SetFieldValue("BkpbCheck",(chkBkpbCheck->Checked==true?"1":"0"));
      SetFieldValue("BkpbChecker",lbBkpbChecker->Caption);
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::WaitUserInput()
{
      seBkpbCode->SetFocus();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmBkpb::GetDataToGrid()
{
      AnsiString  s;
      s = "\t" + GetFieldValue("BkpbCode")    +
          "\t" + GetFieldValue("BkpbDate")    +
          "\t" + GetFieldValue("BkpbAmt")   +
          "\t" + GetFieldValue("BkpbAppb")   ;
      return s;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::RefreshGridData(int mAction)
{
      AnsiString ItemStr;
      ItemStr = GetDataToGrid();
      if (mAction ==  0)   //Add
      {
          sgBkpb->AddItem(ItemStr);
      }
      else if(mAction ==  1)   //Modify
      {
          sgBkpb->ChangeItem(ItemStr,sgBkpb->Row);
      }
      else if(mAction ==  2)      //Delete
      {
          sgBkpb->RemoveItem(sgBkpb->Row);
      }
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::FillGridWithData()
{
      AnsiString ItemStr;
      comServer->MoveFirst();
      sgBkpb->RowCount    =   1;
      while (comServer->Eof   ==  0)
      {
         ItemStr =  GetDataToGrid();
         sgBkpb->AddItem(ItemStr);
         comServer->MoveNext();
      }
     comServer->MoveFirst();
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::FormShow(TObject *Sender)
{
      FillGridWithData();
      comServer->MoveFirst();
      GetDataFromComObject();
}
//---------------------------------------------------------------------------

void __fastcall TfrmBkpb::seBkpbCodeKeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
      if(Key==13 && CurrentState==caNormal)
      {
       comServer->LocateByKey(WideString(seBkpbCode->Text));
       GetDataFromComObject();
      }
        
}
//---------------------------------------------------------------------------

void __fastcall TfrmBkpb::sgBkpbClick(TObject *Sender)
{
      if (sgBkpb->Row > 0)
          comServer->LocateByKey(WideString(sgBkpb->TextMatrix[sgBkpb->Row][1]));
      if (!comServer->Eof)
       GetDataFromComObject();

}
//---------------------------------------------------------------------------

void __fastcall TfrmBkpb::RefreshUpdateData(int MsgSrc,int MsgType)
{
/*
   switch(MsgSrc)
   {
     case euSdFc:
     if(ShowUpdateMessage(MsgSrc,MsgType))
       FillComboBox(Handle,scBkpbFmonth,"SELECT Fcmonth FROM sdFc","Fcmonth");
     break;
     case euSdSupply:
     if(ShowUpdateMessage(MsgSrc,MsgType))
       FillComboBox(Handle,scBkpbSupply,"SELECT SupplyCode,SupplyName FROM sdSupply  where supplycancel=0  order by SupplyCode","SupplyName","SupplyCode");
     break;
     case euSdCurrency:
     if(ShowUpdateMessage(MsgSrc,MsgType))
     {
       AnsiString sSql;
       sSql =AnsiString("select currencycode,currencyname,currencyrate=coalesce(rateratio,1),currencylocal from sdcurrency,sdrate");
       sSql+=" where currencycode*=ratecurrency and ";
       sSql+=" ratefmonth='"+g_sdPMonth+"'";
       FillComboBox(Handle,scBkpbCurrency,sSql,"CurrencyName","CurrencyCode","currencyrate","currencylocal");
     }
     break;
     case euSdBpr:
     if(ShowUpdateMessage(MsgSrc,MsgType))
       FillComboBox(Handle,scBkpbBpr,"select Bprname,Bprcode from sdBpr","Bprname","Bprcode");
     break;
     case euSdSettleMode:
     if(ShowUpdateMessage(MsgSrc,MsgType))
       FillComboBox(Handle,scBkpbSettleMode,"select SettleModename,SettleModecode from sdSettleMode","SettleModename","SettleModecode");
     break;
     default:
     break;

   }
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::scBkpbCurrencyClick(TObject *Sender)
{
   seBkpbEnrate->Text=scBkpbCurrency->ItemData[2];
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::seBkpbAppbButtonClick(TObject *Sender)
{
    AnsiString SqlStr;
    TfrmWnQuery *p;
    try
    {
        StartWaitForm("正在查询,请稍候...");
        SqlStr="005[付款单号][供应商][币种][汇率][金额]";
        SqlStr+="Select APPBCODE,APPBSUPPLY,APPBCURRENCY,APPBENRATE, APPBAMT ";
        SqlStr+=" from sdAppb where APPBCHECK=1 order by APPBCODE ";
        p=new TfrmWnQuery(this,"付款单查询",SqlStr);

     }
     __finally
     {
       EndWaitForm();
     }
     if(p->ShowModal()==mrOk)
     {
      seBkpbAppb->Text=p->ColData[1];
      scBkpbSupply->LocateKey(p->ColData[2]);
      scBkpbSupply->Text=scBkpbSupply->ItemData[0];
      scBkpbCurrency->LocateKey(p->ColData[3]);
      scBkpbCurrency->Text=scBkpbCurrency->ItemData[0];
      seBkpbEnrate->Text=p->ColData[4];
     }
     delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::scBkpbFromClick(TObject *Sender)
{
  if(scBkpbFrom->ItemData[1]=="1")
   seBkpbFbbNo->ButtonVisible=false;
  else
   seBkpbFbbNo->ButtonVisible=true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBkpb::seBkpbFbbNoButtonClick(TObject *Sender)
{
    AnsiString SqlStr;
    TfrmWnQuery *p;
    try
    {
        StartWaitForm("正在查询,请稍候...");
        SqlStr="005[出纳号][银行帐号][结算方式][结算号][金额]";
        SqlStr+="Select FbbNo,FbbCac,FbbSettleMode,FbbSettleNo,FbbAmt ";
        SqlStr+=" from sdfbb  where FbbCancel =0 and FbbDir=1 ";
        SqlStr+=" and FbbSupply='"+scBkpbSupply->ItemData[1]+"' and FbbCurrency= '"+scBkpbCurrency->ItemData[1]+"'   order by fbbNo ";
        p=new TfrmWnQuery(this,"出纳帐查询",SqlStr);

     }
     __finally
     {
       EndWaitForm();
     }
     if(p->ShowModal()==mrOk)
     {
      seBkpbFbbNo->Text=p->ColData[1];
      scBkpbFbbCac->LocateKey(p->ColData[2]);
      scBkpbFbbCac->Text=scBkpbFbbCac->ItemData[0];
      scBkpbSettleMode->LocateKey(p->ColData[3]);
      scBkpbSettleMode->Text=scBkpbSettleMode->ItemData[0];
      seBkpbSettleCode->Text=p->ColData[4];
      seBkpbAmt->Text=p->ColData[5];
     }
     delete p;
}
//---------------------------------------------------------------------------
bool __fastcall TfrmBkpb::BeforeCheck()
{
  SetFieldValue("BkpbCheck",1);
  SetFieldValue("BkpbChecker",g_sdUserCode);
  SetFieldValue("BkpbCheckDate",g_sdCurDate);
  return true;
}
//---------------------------------------------------------------------------
bool __fastcall TfrmBkpb::BeforeUnCheck()
{
  SetFieldValue("BkpbCheck",0);
  SetFieldValue("BkpbChecker","");
  SetFieldValue("BkpbCheckDate",NULL);
  return true;
}
//---------------------------------------------------------------------------


void __fastcall TfrmBkpb::SupplyCodeButtonButtonClick(TObject *Sender)
{
if(OpenSupplyForm("")==true)
    {
     scBkpbSupply->LocateKey(GetSupplyValue(gtOpenForm,"SupplyCode"));
    }
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?