pivoh.cpp

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

CPP
918
字号
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma link "BillBaseForm"
#pragma hdrstop
#include "Pivoh.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "SDGrid"
#pragma link "DateEdit"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma resource "*.dfm"
TfrmPivoh *frmPivoh;

//---------------------------------------------------------------------------
__fastcall TfrmPivoh::TfrmPivoh(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
        : TBillBaseForm(Owner,chWnd,MidCode,WhereStr)
{
}
//---------------------------------------------------------------------------

void __fastcall TfrmPivoh::InitEditControl()
{
    ClientGroup->AddComponent(1,false,false,true,FloatPanel1,FloatPanel1->Name);
    ClientGroup->AddComponent(1,false,true,false,sePivohCode,sePivohCode->Name);
    ClientGroup->AddComponent(1,false,true,true,scPivohType,scPivohType->Name);
    ClientGroup->AddComponent(1,false,true,true,sePivohPoCode,sePivohPoCode->Name);
    ClientGroup->AddComponent(1,false,true,true,scPivohTaxCode,scPivohTaxCode->Name);
    ClientGroup->AddComponent(1,true,true,true,sePivohTaxNo,sePivohTaxNo->Name);
    ClientGroup->AddComponent(1,true,true,true,scPivohCurrency,scPivohCurrency->Name);
    ClientGroup->AddComponent(1,false,true,true,sePivohBankName,sePivohBankName->Name);
    ClientGroup->AddComponent(1,false,true,true,sePivohBankNo,sePivohBankNo->Name);

    ClientGroup->AddComponent(1,false,true,true,sePivohSupply,sePivohSupply->Name);
    ClientGroup->AddComponent(1,true,true,true,sePivohTaxNo,sePivohTaxNo->Name);
    ClientGroup->AddComponent(1,true,true,true,sePivohTaxRate,sePivohTaxRate->Name);
    ClientGroup->AddComponent(1,true,true,true,scPivohFmonth,scPivohFmonth->Name);
    ClientGroup->AddComponent(1,true,true,true,scPivohBuyer,scPivohBuyer->Name);
    ClientGroup->AddComponent(1,true,true,true,sePivohTel,sePivohTel->Name);

    ClientGroup->AddComponent(2,false,false,true,FloatPanel2,FloatPanel2->Name);
    ClientGroup->AddComponent(2,false,true,true,btnOK,btnOK->Name);
    ClientGroup->AddComponent(2,false,false,false,btnCancel,btnCancel->Name);

    ClientGroup->AddComponent(2,false,true,true,sePivodGoods,sePivodGoods->Name);
    ClientGroup->AddComponent(2,true,true,true,sePivodGoodsName,sePivodGoodsName->Name);
    ClientGroup->AddComponent(2,true,true,true,sePivodUnit,sePivodUnit->Name);
    ClientGroup->AddComponent(2,true,true,true,sePivodAmt,sePivodAmt->Name);
    ClientGroup->AddComponent(2,true,true,true,sePivodSumAmt,sePivodSumAmt->Name);
    AnsiString sSQL;
    FillEdit(Handle,sePivohSupply,"SELECT SupplyCode,SupplyName,SupplyTaxCode,SupplyTaxNo,supplyaddr FROM sdSupply  where supplycancel=0  order by SupplyCode",
                 "SupplyName","SupplyCode","SupplyTaxCode","SupplyTaxNo","supplyaddr");
     FillComboBox(Handle,scPivohCurrency,"SELECT currencyname memo,currencycode FROM sdCurrency order by currencycode","memo","CurrencyCode");
     FillComboBox(Handle,scPivohTaxCode,"SELECT taxname memo,TaxCode,taxrate FROM sdTax order by taxcode","memo","TaxCode","taxrate");
     FillComboBox(Handle,scPivohSettleMode,"SELECT SettleModeName memo,SettleModeCode FROM sdSettleMode order by settlemodename","memo","SettleModeCode");
     FillComboBox(Handle,scPivohDept,"SELECT DeptName memo,DeptCode FROM sdDept where deptend=1 order by deptcode","memo","DeptCode");
     FillComboBox(Handle,scPivohBuyer,"SELECT BuyerName memo,BuyerCode,BuyerTel FROM sdBuyer order by buyercode","memo","BuyerCode","BuyerTel");
     FillComboBox(Handle,scPivohCacCode,"SELECT CacbankName memo,CacCode FROM sdCac order by caccode","memo","CacCode");

    scPivohType->ClearAll();
    scPivohType->AddItems("1-普通发票","1");
    scPivohType->AddItems("2-增值税发票","2");
}
//---------------------------------------------------------------------------

void __fastcall TfrmPivoh::ClearControl(int Section,bool BringToNext)
{
    if (Section == 1)
    {
       if (! BringToNext)
       {
          sePivohCode->Text = "";
          scPivohFmonth->Text =g_sdPMonth;
          dePivohDate->Text = g_sdCurDate;
          scPivohType->ItemIndex=1;
          sePivohPoCode->Text="";
          sePivohSupply->Text = "";
          sePivohSupply->ItemIndex=-1;
          sePivohAddr->Text = "";
          sePivohContract->Text = "";
          sePivohBankName->Text = "";
          sePivohBankNo->Text = "";
          scPivohCurrency->Text = "";
          scPivohCurrency->ItemIndex=-1;
          sePivohEnrate->Text = "1";
          scPivohTaxCode->Text = "";
          scPivohTaxCode->ItemIndex=-1;
          sePivohTaxRate->Text = "0";
          scPivohSettleMode->Text = "";
          scPivohSettleMode->ItemIndex=-1;
          dePivohApDate->Text = g_sdCurDate;
          sePivohTaxNo->Text = "";
          sePivohAmt->Text = "0";
          sePivohTaxAmt->Text = "0";
          sePivohSumAmt->Text = "0";
          sePivohZkAmt->Text = "0";
          chkPivohRed->Checked = false;
          scPivohDept->Text = "";
          scPivohDept->ItemIndex=-1;
          scPivohBuyer->Text = "";
          scPivohBuyer->LocateKey(g_sdUserCode);
          sePivohTel->Text=scPivohBuyer->ItemData[2];
          scPivohCacCode->Text = "";
          chkPivohCheck->Checked = false;
          chkPivohCancel->Checked = false;
          memPivohDesc->Text = "";

          labSystemDate->Caption  = "";
          labUserCode->Caption = g_sdUserCode;
          labChecker->Caption = "";
          //新增,工具栏使能
          SetCheckToolbarStatus(false);
       }
       sgPivoh->RowCount=1;
    }
    else if (Section==2)
    {
        if (!BringToNext)
        {
            sePivodLine->Text = AnsiString(comServer->ItemCount+1);
            scPivodPodLine->Text = "";
            scPivodPodLine->ItemIndex=-1;
            sePivodGoods->Text = "";
            sePivodGoodsName->Text = "";
            sePivodUnit->Text = "";
            sePivodQty->Text = "0.0";
            sePivodPrice->Text = "0.0";
            sePivodAmt->Text = "0.0";
            sePivodTaxAmt->Text = "0.0";
            sePivodTaxPrice->Text = "0.0";
            sePivodSumAmt->Text = "0.0";
            sePivodZkAmt->Text = "0.0";
            memPivodDesc->Text = "";
        }
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmPivoh::GetDataFromComObject(int Section)
{

    if (Section==1)
    {
        sePivohCode->Text=GetHeadValue("PivohCode");
        dePivohDate->Text=GetHeadValue("PivohDate");
        scPivohType->LocateKey(GetHeadValue("PivohType"));
//        scPivohTypeClick(NULL);
        sePivohPoCode->Text=GetHeadValue("PivohPoCode");
        sePivohContract->Text=GetHeadValue("PivohContract");
        sePivohSupply->LocateKey(GetHeadValue("PivohSupply"));
        sePivohAddr->Text=GetHeadValue("PivohAddr");
        sePivohBankName->Text=GetHeadValue("PivohBankName");
        sePivohBankNo->Text=GetHeadValue("PivohBankNo");
        scPivohDept->LocateKey(GetHeadValue("PivohDept"));
        scPivohDept->Text=scPivohDept->ItemData[0];
        scPivohBuyer->LocateKey(GetHeadValue("PivohBuyer"));
        scPivohBuyer->Text=scPivohBuyer->ItemData[0];
        scPivohCurrency->LocateKey(GetHeadValue("PivohCurrency"));
        scPivohCurrency->Text=scPivohCurrency->ItemData[0];
        sePivohEnrate->Text=GetHeadValue("PivohEnrate");
        scPivohTaxCode->LocateKey(GetHeadValue("PivohTaxCode"));
        scPivohTaxCode->Text=scPivohTaxCode->ItemData[0];
        sePivohTaxRate->Text=GetHeadValue("PivohTaxRate");
        memPivohDesc->Text=GetHeadValue("PivohDesc");
        scPivohSettleMode->LocateKey(GetHeadValue("PivohSettleMode"));
        scPivohSettleMode->Text=scPivohSettleMode->ItemData[0];
        dePivohApDate->Text=GetHeadValue("PivohApDate");
        scPivohFmonth->Text=GetHeadValue("PivohFmonth");
        chkPivohRed->Checked=GetHeadValue("PivohRed")=="1";
        sePivohTaxNo->Text=GetHeadValue("PivohTaxNo");
        sePivohTel->Text=GetHeadValue("PivohTel");
        scPivohCacCode->LocateKey(GetHeadValue("PivohCacCode"));
        scPivohCacCode->Text=scPivohCacCode->ItemData[0];
        sePivohAmt->Text=GetHeadValue("PivohAmt");
        sePivohTaxAmt->Text=GetHeadValue("PivohTaxAmt");
        sePivohSumAmt->Text=GetHeadValue("PivohSumAmt");
        sePivohZkAmt->Text=GetHeadValue("PivohZkAmt");
        labUserCode->Caption=GetHeadValue("PivohUser");
        chkPivohCheck->Checked=GetHeadValue("PivohCheck")=="1";
        labChecker->Caption=GetHeadValue("PivohChecker");
        chkPivohCancel->Checked=GetHeadValue("PivohCancel")=="1";
        labSystemDate->Caption=GetHeadValue("PivohSysDate");
        //根据采购单,填充采购单行号
        FillPodLine();
        //根据审核、取消状态,设置工具栏
        if(GetHeadValue("PivohCheck")=="1")
         SetCheckToolbarStatus(true);
        else
         SetCheckToolbarStatus(false);
        if(GetHeadValue("PivohCancel")=="1")
         SetCancelToolbarStatus(true);
        else
         SetCancelToolbarStatus(false);
    }
    else {
        sePivodLine->Text=GetDetailValue("PivodLine");
        scPivodPodLine->LocateKey(GetDetailValue("PivodPodLine"));
        scPivodPodLine->Text=scPivodPodLine->ItemData[0];

        if(GetDetailValue("PivodGoods") != "")
        {
           l_Query->LocateByKey(GetDetailValue("PivodGoods"));
           sePivodGoods->Text =  l_Query->FieldByName("GoodsCode");
           sePivodGoodsName->Text =  l_Query->FieldByName("GoodsName");
           sePivodUnit->Text= l_Query->FieldByName("GoodsUnitCode");
        }

        sePivodQty->Text=GetDetailValue("PivodQty");
        sePivodPrice->Text=GetDetailValue("PivodPrice");
        sePivodTaxPrice->Text=GetDetailValue("PivodTaxPrice");
        sePivodAmt->Text=GetDetailValue("PivodAmt");
        sePivodTaxAmt->Text=GetDetailValue("PivodTaxAmt");
        sePivodSumAmt->Text=GetDetailValue("PivodSumAmt");
        sePivodZkAmt->Text=GetDetailValue("PivodZkAmt");
        memPivodDesc->Text=GetDetailValue("PivodDesc");
    }

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

void __fastcall TfrmPivoh::SendDataToComObject(int Section)
{
    if (Section==1)  //保存抬头
    {
        SetHeadValue("PivohCode",sePivohCode->Text);
        SetHeadValue("PivohDate",dePivohDate->Text);
        SetHeadValue("PivohType",scPivohType->ItemData[1]);
        SetHeadValue("PivohPoCode",sePivohPoCode->Text);
        SetHeadValue("PivohContract",sePivohContract->Text);
        SetHeadValue("PivohSupply",sePivohSupply->ItemData[1]);
        SetHeadValue("PivohAddr",sePivohAddr->Text);
        SetHeadValue("PivohBankName",sePivohBankName->Text);
        SetHeadValue("PivohBankNo",sePivohBankNo->Text);
        SetHeadValue("PivohDept",scPivohDept->ItemData[1]);
        SetHeadValue("PivohBuyer",scPivohBuyer->ItemData[1]);
        SetHeadValue("PivohCurrency",scPivohCurrency->ItemData[1]);
        if(sePivohEnrate->Text == "")
         throw Exception("请输入货币的汇率");
        SetHeadValue("PivohEnrate",sePivohEnrate->Text);
        SetHeadValue("PivohTaxCode",scPivohTaxCode->ItemData[1]);
        if(sePivohTaxRate->Text == "")
         throw Exception("请输入税率");
        SetHeadValue("PivohTaxRate",sePivohTaxRate->Text);
        SetHeadValue("PivohDesc",memPivohDesc->Text);
        SetHeadValue("PivohSettleMode",scPivohSettleMode->ItemData[1]);
        SetHeadValue("PivohApDate",dePivohApDate->Text);
        SetHeadValue("PivohFmonth",scPivohFmonth->Text);
        SetHeadValue("PivohRed",chkPivohRed->Checked ? "1":"0");
        SetHeadValue("PivohTaxNo",sePivohTaxNo->Text);
        SetHeadValue("PivohTel",sePivohTel->Text);
        SetHeadValue("PivohCacCode",scPivohCacCode->ItemData[1]);
        if(sePivohAmt->Text == "")
         sePivohAmt->Text="0";
        SetHeadValue("PivohAmt",sePivohAmt->Text);
        if(sePivohTaxAmt->Text == "")
         sePivohTaxAmt->Text="0";
        SetHeadValue("PivohTaxAmt",sePivohTaxAmt->Text);
        if(sePivohSumAmt->Text == "")
         sePivohSumAmt->Text="0";
        SetHeadValue("PivohSumAmt",sePivohSumAmt->Text);
        if(sePivohZkAmt->Text == "")
         sePivohZkAmt->Text="0";
        SetHeadValue("PivohZkAmt",sePivohZkAmt->Text);
        SetHeadValue("PivohUser",labUserCode->Caption);
        //根据采购单,填充采购单行号
        FillPodLine();
    }
    else   //保存细表记录
    {
        //自动计算合计金额
        AutoCalculate();

        SetDetailValue("PivodCode",sePivohCode->Text);
        if(sePivodLine->Text == "")
         throw Exception("请输入发票行号");
        SetDetailValue("PivodLine",sePivodLine->Text);
        SetDetailValue("PivodPoCode",sePivohPoCode->Text);
        if(scPivodPodLine->ItemIndex > -1)
         SetDetailValue("PivodPodLine",scPivodPodLine->ItemData[1]);
        else
         SetDetailValue("PivodPodLine","0");
        SetDetailValue("PivodGoods",sePivodGoods->Text);
        SetDetailValue("PivodUnit",sePivodUnit->Text);
        if(sePivodQty->Text == "")
         throw Exception("请输入发票数量");
        SetDetailValue("PivodQty",sePivodQty->Text);
        if(sePivodPrice->Text == "")
         sePivodPrice->Text="0";
        SetDetailValue("PivodPrice",sePivodPrice->Text);
        if(sePivodTaxPrice->Text == "")
         throw Exception("请输入含税价");
        SetDetailValue("PivodTaxPrice",sePivodTaxPrice->Text);
        if(sePivodAmt->Text == "")
         sePivodAmt->Text="0";
        SetDetailValue("PivodAmt",sePivodAmt->Text);
        if(sePivodTaxAmt->Text == "")
         sePivodTaxAmt->Text="0";
        SetDetailValue("PivodTaxAmt",sePivodTaxAmt->Text);
        if(sePivodSumAmt->Text == "")
         sePivodSumAmt->Text="0";
        SetDetailValue("PivodSumAmt",sePivodSumAmt->Text);
        if(sePivodZkAmt->Text == "")
         sePivodZkAmt->Text="0";
        SetDetailValue("PivodZkAmt",sePivodZkAmt->Text);
        SetDetailValue("PivodDesc",memPivodDesc->Text);
    }

⌨️ 快捷键说明

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