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 + -
显示快捷键?