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

📄 fbb.cpp

📁 速达开源ERP系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Fbb.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"
TfrmFbb *frmFbb;
//---------------------------------------------------------------------------
__fastcall TfrmFbb::TfrmFbb(TComponent* Owner)
        : TRecBaseForm(Owner,euSdFbb,"")
{
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmFbb::GetFieldValue(int iFieldIndex)
{
        AnsiString S;
        S=ReadFieldValue(comServer,iFieldIndex);
        return S;

}
AnsiString __fastcall TfrmFbb::GetDataToGrid()
{
     AnsiString s;
     scFbbType->ItemIndex=StrToInt(GetFieldValue(fiFbbType))-1;
        s   =   "\t" +GetFieldValue(fiFbbNo)+
               "\t" +GetFieldValue(fiFbbDate)+
               "\t" +(GetFieldValue(fiFbbDir)=="1"?"收入":"支出")+
               "\t" +GetFieldValue(fiFbbAmt);
     return (s);
}
//------------------------------------------------------------------------------
void __fastcall TfrmFbb::InitEditControl()
{
     ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
     ClientGroup->AddComponent(2,false,false,false, seFbbNo,seFbbNo->Name);
     ClientGroup->AddComponent(2,true,true,false, sgFbb,sgFbb->Name);
     ClientGroup->AddComponent(2,true,true,false, FloatPanel2,FloatPanel2->Name);
     ClientGroup->AddComponent(2,true,true,true, chkFbbVerify,chkFbbVerify->Name);
     ClientGroup->AddComponent(2,true,true,true, scFbbUser,scFbbUser->Name);
     FillComboBox(scFbbFMonth,"select fcmonth from sdfc order by fcmonth desc","fcmonth");
     FillComboBox(scFbbCac,"select caccode,cacBankname,cactype,currencycode,currencyname from sdcac,sdcurrency where caccurrency=currencycode order by caccode",
                           "caccode","cacbankname","cactype","currencycode","currencyname");
     FillComboBox(scFbbSettleMode,"select settlemodename memo,settlemodecode from sdsettlemode order by settlemodecode","memo","settlemodecode");
     FillComboBox(scFbbUser,"select username memo,usercode from sduser,sdcashier where cashiercode=usercode order by usercode","memo","usercode");
     FillComboBox(scFbbExpense,"select expensename memo,expensecode from sdexpense order by expensecode","memo","expensecode");
     FillComboBox(scFbbCc,"select ccname memo,cccode from sdcc where CCCANCEL=0  order  by cccode","memo","cccode");
     FillComboBox(scFbbDept,"select deptname memo,deptcode from sddept where deptend=1 order by deptcode","memo","deptcode");
     FillComboBox(scFbbClient,"select clientname memo,clientcode from sdclient order by clientcode","memo","clientcode");
     FillComboBox(scFbbSupply,"select supplyname memo,supplycode from sdsupply where supplycancel=0 order by supplycode",
                              "memo","supplycode");
     FillComboBox(scFbbEmployee,"select employeename memo,employeecode from sdemployee where  EmployeeState=0 order by employeecode",
                                "memo","employeecode");

}
//------------------------------------------------------------------------------
void __fastcall TfrmFbb::ClearControl(bool BringToNext)
{
  if (!BringToNext)
  {
   seFbbNo->Text=GetNextNo();        //流水号
   deFbbDate->Text=g_sdCurDate;      //日期
   scFbbType->ItemIndex=0;           //出纳帐类型
   scFbbTypeClick(NULL);
   rbtFbbDir1->Checked=true;         //收入支出标志
   rbtFbbDir2->Checked=false;        //收入支出标志
   seFbbCurrency->Text=scFbbCac->ItemData[4];//币种
   seFbbAmt->Text="0";               //金额
   scFbbSettleMode->ItemIndex=-1;    //结算方式
   scFbbSettleMode->Text="";
   seFbbSettleNo->Text="";           //结算号
   memFbbZy->Text="";                //摘要
   scFbbExpense->ItemIndex=-1;       //费用代码
   scFbbExpense->Text="";
   scFbbCc->ItemIndex=-1;            //成本中心
   scFbbCc->Text="";
   scFbbClient->ItemIndex=-1;        //客户
   scFbbClient->Text="";
   scFbbSupply->ItemIndex=-1;        //供应商
   scFbbSupply->Text="";
   scFbbDept->ItemIndex=-1;          //部门
   scFbbDept->Text="";
   scFbbEmployee->ItemIndex=-1;      //员工
   scFbbEmployee->Text="";
   scFbbFromCac1->ItemIndex=-1;      //转出帐户
   scFbbFromCac1->Text="";
   seFbbFromCurrency1->Text="";      //转出货币
   scFbbFromCac2->ItemIndex=-1;      //转出帐户
   scFbbFromCac2->Text="";
   seFbbFromCurrency2->Text="";      //转出货币
   seFbbFromRate->Text="1";          //汇率
   seFbbFromAmt->Text="0";           //转出金额
   scFbbUser->LocateKey(g_sdUserCode);//操作员
   chkFbbVerify->Checked=false;
   //新增,工具栏使能
   SetCheckToolbarStatus(false);
  }
}
//------------------------------------------------------------------------------
void __fastcall TfrmFbb::WaitUserInput()
{

   deFbbDate->SetFocus();

}

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

{
   seFbbNo->Text=GetFieldValue(fiFbbNo);                          //流水号
   sgFbb->LocateGrid(1,GetFieldValue(fiFbbNo));
   deFbbDate->Text=GetFieldValue(fiFbbDate);                      //日期
   scFbbType->ItemIndex=GetFieldValue(fiFbbType)-1;                //出纳帐类型
   scFbbTypeClick(NULL);
   if(GetFieldValue(fiFbbDir)=="1")
    rbtFbbDir1->Checked=true;                                     //收入支出标志
   else
    rbtFbbDir2->Checked=true;                                     //收入支出标志
   seFbbCurrency->Text=scFbbCac->ItemData[4];                     //币种
   seFbbAmt->Text=GetFieldValue(fiFbbAmt);                        //金额
   scFbbSettleMode->LocateKey(GetFieldValue(fiFbbSettleMode));    //结算方式
   seFbbSettleNo->Text=GetFieldValue(fiFbbSettleNo);               //结算号
   memFbbZy->Text=GetFieldValue(fiFbbZy);                         //摘要
   scFbbExpense->LocateKey(GetFieldValue(fiFbbExpense));          //费用代码
   scFbbCc->LocateKey(GetFieldValue(fiFbbCc));                    //成本中心
   scFbbClient->LocateKey(GetFieldValue(fiFbbClient));            //客户
   scFbbSupply->LocateKey(GetFieldValue(fiFbbSupply));            //供应商
   scFbbDept->LocateKey(GetFieldValue(fiFbbDept));                //部门
   scFbbEmployee->LocateKey(GetFieldValue(fiFbbEmployee));        //员工
   scFbbFromCac1->LocateKey(GetFieldValue(fiFbbFromCac));         //转出帐户
   seFbbFromCurrency1->Text=scFbbFromCac1->ItemData[3];
   scFbbFromCac2->LocateKey(GetFieldValue(fiFbbFromCac));         //转出帐户
   seFbbFromCurrency2->Text=scFbbFromCac2->ItemData[3];
   seFbbFromRate->Text=GetFieldValue(fiFbbFromRate);              //汇率
   seFbbFromAmt->Text=GetFieldValue(fiFbbFromAmt);                //转出金额
   scFbbUser->LocateKey(GetFieldValue(fiFbbUser));                //操作员
   chkFbbVerify->Checked=GetFieldValue(fiFbbVerify)=="1";
   //根据审核、取消状态,设置工具栏
   if(GetFieldValue(fiFbbVerify)=="1")
     SetCheckToolbarStatus(true);
   else
     SetCheckToolbarStatus(false);

}

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

   WriteFieldValue(comServer,fiFbbCac,scFbbCac->Text);                         //出纳帐号
   WriteFieldValue(comServer,fiFbbFMonth,scFbbFMonth->Text);                   //财务月份
   WriteFieldValue(comServer,fiFbbNo,seFbbNo->Text);                           //流水号
   WriteFieldValue(comServer,fiFbbDate,deFbbDate->Text);                       //日期
   WriteFieldValue(comServer,fiFbbType,AnsiString(scFbbType->ItemIndex+1));    //出纳帐类型
   WriteFieldValue(comServer,fiFbbDir,rbtFbbDir1->Checked?"1":"2");                                   //收入支出标志
   WriteFieldValue(comServer,fiFbbCurrency,scFbbCac->ItemData[3]);             //币种
   WriteFieldValue(comServer,fiFbbAmt,seFbbAmt->Text);                         //金额
   WriteFieldValue(comServer,fiFbbSettleMode,scFbbSettleMode->ItemData[1]);    //结算方式
   WriteFieldValue(comServer,fiFbbSettleNo,seFbbSettleNo->Text);               //结算号
   WriteFieldValue(comServer,fiFbbZy,memFbbZy->Text);                          //摘要
   WriteFieldValue(comServer,fiFbbExpense,scFbbExpense->ItemData[1]);          //费用代码
   WriteFieldValue(comServer,fiFbbCc,scFbbCc->ItemData[1]);                    //成本中心
   WriteFieldValue(comServer,fiFbbClient,scFbbClient->ItemData[1]);            //客户
   WriteFieldValue(comServer,fiFbbSupply,scFbbSupply->ItemData[1]);            //供应商
   WriteFieldValue(comServer,fiFbbDept,scFbbDept->ItemData[1]);                //部门
   WriteFieldValue(comServer,fiFbbEmployee,scFbbEmployee->ItemData[1]);        //员工
   if(scFbbType->ItemIndex == 5)
   {
    WriteFieldValue(comServer,fiFbbFromCac,scFbbFromCac1->ItemData[1]);        //转出帐户
    WriteFieldValue(comServer,fiFbbFromCurrency,scFbbFromCac1->ItemData[2]);   //转出货币
   }
   if(scFbbType->ItemIndex == 6)
   {
    WriteFieldValue(comServer,fiFbbFromCac,scFbbFromCac2->ItemData[1]);        //转出帐户
    WriteFieldValue(comServer,fiFbbFromCurrency,scFbbFromCac2->ItemData[2]);   //转出货币
    WriteFieldValue(comServer,fiFbbFromRate,seFbbFromRate->Text);              //汇率
    WriteFieldValue(comServer,fiFbbFromAmt,seFbbFromAmt->Text);                //转出金额
   }
   WriteFieldValue(comServer,fiFbbUser,scFbbUser->ItemData[1]);                //操作员
}

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

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


void __fastcall TfrmFbb::FormShow(TObject *Sender)
{

    LastStr="";
    LastType=-1;
    ClearControl(false);
    FillGridWithData();
    scFbbFMonth->Text=g_sdFMonth;
    if(scFbbCac->Items->Count > 0)
     scFbbCac->ItemIndex=0;
    scFbbFMonthClick(Sender);
}
//---------------------------------------------------------------------------

void __fastcall TfrmFbb::scFbbFMonthClick(TObject *Sender)
{
    AnsiString s;

⌨️ 快捷键说明

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