⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bcs.cpp

📁 速达开源ERP系统
💻 CPP
字号:

#include <vcl.h>
#pragma hdrstop

#include "Bcs.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "fpanel"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "DateEdit"
#pragma link "SDComboBox"
#pragma resource "*.dfm"
TfrmBcs *frmBcs;
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
__fastcall TfrmBcs::TfrmBcs(TComponent* Owner)
        : TRecBaseForm(Owner,euSdBcs,"")
{
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmBcs::GetFieldValue(int iFieldIndex)
{
        AnsiString S;
        S=ReadFieldValue(comServer,iFieldIndex);
        return S;

}
AnsiString __fastcall TfrmBcs::GetDataToGrid()
{
     AnsiString s;
     scBcsSettleMode->LocateKey(GetFieldValue(fiBcsSettleMode));
       s   =   "\t" +GetFieldValue(fiBcsCode)+"-"+GetFieldValue(fiBcsLine)+
               "\t" +GetFieldValue(fiBcsCac)+
               "\t" +scBcsSettleMode->ItemData[0]+
               "\t" +GetFieldValue(fiBcsSettleNo);
     return (s);
}
//------------------------------------------------------------------------------
void __fastcall TfrmBcs::InitEditControl()
{
     ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
     ClientGroup->AddComponent(2,true,true,false, sgBcs,sgBcs->Name);
     ClientGroup->AddComponent(2,true,true,true, chkBcsVeriry,chkBcsVeriry->Name);
     FillComboBox(scBcsCac,"select cacbankname+'('+caccode+')' memo,caccode from sdcac order by memo","memo","caccode");
     FillComboBox(scBcsSettleMode,"select settlemodename memo,settlemodecode from sdsettlemode order by settlemodecode","memo","settlemodecode");
     FillComboBox(scBcsUser,"select username memo,usercode from sduser,sdcashier where cashiercode=usercode order by usercode","memo","usercode");
}
//------------------------------------------------------------------------------
void __fastcall TfrmBcs::ClearControl(bool BringToNext)
{
  if (!BringToNext)
  {
   seBcsCode->Text="";             //银行对帐单号
   seBcsLine->Text="";             //银行对帐单行号
   deBcsDate->Text=g_sdCurDate;    //日期
   scBcsSettleMode->ItemIndex=-1;  //结算方式
   seBcsSettleNo->Text="";         //结算号
   scBcsDir->ItemIndex=0;          //方向
   seBcsAmt->Text="0";              //金额
   memBcsZy->Text="";              //摘要
   scBcsCac->ItemIndex=-1;         //帐号
   scBcsUser->LocateKey(g_sdUserCode);//操作员
   chkBcsVeriry->Checked=false;
   //新增,工具栏使能
   SetCheckToolbarStatus(false);
  }
}
//------------------------------------------------------------------------------
void __fastcall TfrmBcs::WaitUserInput()
{

   seBcsCode->SetFocus();

}

//------------------------------------------------------------------------------
void __fastcall TfrmBcs::GetDataFromComObject()

{

   seBcsCode->Text=GetFieldValue(fiBcsCode);                      //银行对帐单号
   seBcsLine->Text=GetFieldValue(fiBcsLine);                      //银行对帐单行号
   sgBcs->LocateGrid(1,GetFieldValue(fiBcsCode)+"-"+GetFieldValue(fiBcsLine));
   deBcsDate->Text=GetFieldValue(fiBcsDate);                      //日期
   scBcsSettleMode->LocateKey(GetFieldValue(fiBcsSettleMode));    //结算方式
   seBcsSettleNo->Text=GetFieldValue(fiBcsSettleNo);              //结算号
   scBcsDir->ItemIndex=StrToInt(GetFieldValue(fiBcsDir))-1;       //方向
   seBcsAmt->Text=GetFieldValue(fiBcsAmt);                        //金额
   memBcsZy->Text=GetFieldValue(fiBcsZy);                         //摘要
   scBcsCac->LocateKey(GetFieldValue(fiBcsCac));                  //帐号
   scBcsUser->LocateKey(GetFieldValue(fiBcsUser));                //操作员
   chkBcsVeriry->Checked=GetFieldValue(fiBcsVeriry)=="1";         //银行对帐标志
   //根据审核、取消状态,设置工具栏
   if(GetFieldValue(fiBcsVeriry)=="1")
     SetCheckToolbarStatus(true);
   else
     SetCheckToolbarStatus(false);

}

//------------------------------------------------------------------------------
void __fastcall TfrmBcs::SendDataToComObject()
{

   WriteFieldValue(comServer,fiBcsCode,seBcsCode->Text);                //银行对帐单号
   WriteFieldValue(comServer,fiBcsLine,seBcsLine->Text);                //银行对帐单行号
   WriteFieldValue(comServer,fiBcsDate,deBcsDate->Text);                //日期
   WriteFieldValue(comServer,fiBcsSettleMode,scBcsSettleMode->ItemData[1]);//结算方式
   WriteFieldValue(comServer,fiBcsSettleNo,seBcsSettleNo->Text);        //结算号
   WriteFieldValue(comServer,fiBcsDir,AnsiString(scBcsDir->ItemIndex+1));//方向
   WriteFieldValue(comServer,fiBcsAmt,seBcsAmt->Text);                  //金额
   WriteFieldValue(comServer,fiBcsZy,memBcsZy->Text);                   //摘要
   WriteFieldValue(comServer,fiBcsCac,scBcsCac->ItemData[1]);           //帐号
   WriteFieldValue(comServer,fiBcsUser,scBcsUser->ItemData[1]);         //操作员

}

//------------------------------------------------------------------------------
void __fastcall TfrmBcs::RefreshGridData(int mAction)
{

       AnsiString sGridItem;
       sGridItem=GetDataToGrid();
      int i;
      switch(mAction)
      {
        case 0:     //新增
           sgBcs->AddItem(sGridItem);
           break;
        case 1:  //修改
            i   =   sgBcs->Row;
            sgBcs->ChangeItem(sGridItem,i);
            break;
        case 2:  //删除
           sgBcs->RemoveItem(sgBcs->Row);
      } ;
}
//-------------------------------------------------------
void __fastcall TfrmBcs::FillGridWithData()
{
     AnsiString ItemStr;
     comServer->MoveFirst();
     sgBcs->RowCount    =   1;
     while (comServer->Eof   ==  0)
    {
        ItemStr = GetDataToGrid();
        sgBcs->AddItem(ItemStr);
        comServer->MoveNext();
    }


}


void __fastcall TfrmBcs::FormShow(TObject *Sender)
{
           FillGridWithData();
          comServer->MoveFirst();
          GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmBcs::RefreshUpdateData(int MsgSrc,int MsgType)
{
  switch(MsgSrc)
  {
   case euSdCac:
    if(ShowUpdateMessage(MsgSrc,MsgType))
    {
     FillComboBox(scBcsCac,"select cacbankname+'('+caccode+')' memo,caccode from sdcac order by memo","memo","caccode");
    }
    break;
   case euSdSettleMode:
    if(ShowUpdateMessage(MsgSrc,MsgType))
    {
     FillComboBox(scBcsSettleMode,"select settlemodename memo,settlemodecode from sdsettlemode order by settlemodecode","memo","settlemodecode");
    }
    break;
   case euSdUser:
    if(ShowUpdateMessage(MsgSrc,MsgType))
    {
     FillComboBox(scBcsUser,"select username memo,usercode from sduser,sdcashier where cashiercode=usercode order by usercode","memo","usercode");
    }
    break;
   default:
    break;
  }
}
//---------------------------------------------------------------------------

void __fastcall TfrmBcs::sgBcsClick(TObject *Sender)
{
   int ARow=sgBcs->Row;
   if(ARow>0)
     comServer->LocateByKey(sgBcs->TextMatrix[ARow][1]);
   if(!comServer->Eof)
     GetDataFromComObject();
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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