📄 basevoucheredita.pas
字号:
unit BaseVoucherEditA;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, WSVoucherEditSY, Menus, ActnList, DB, QLDBLkp, ComCtrls, StdCtrls,
Mask, DBCtrls, ExtCtrls, ToolWin, Grids, DBGrids, QLDBGrid, QuickRpt,
WSVoucherEdit;
type
TBaseVoucherEditAForm = class(TWSVoucherEditSYForm)
CheckAction: TAction;
RedWordAction: TAction;
C2: TMenuItem;
R1: TMenuItem;
N7: TMenuItem;
ActualStock: TAction;
A4: TMenuItem;
StockChange: TAction;
PCOrderTrail: TAction;
SLOrderTrail: TAction;
SLsaleLeger: TAction;
SLClearLeger: TAction;
SLActualPrice: TAction;
SLCredit: TAction;
SalePrice: TAction;
SLContractPrice: TAction;
PCPurchaseLeger: TAction;
PCClearLeger: TAction;
PCActualPrice: TAction;
PCCredit: TAction;
PurchasePrice: TAction;
PCContractPrice: TAction;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
N21: TMenuItem;
N22: TMenuItem;
N23: TMenuItem;
N24: TMenuItem;
N25: TMenuItem;
N26: TMenuItem;
N27: TMenuItem;
N28: TMenuItem;
N29: TMenuItem;
SubmitCNLAction: TAction;
N30: TMenuItem;
StockConsign: TAction;
CashBalance: TAction;
N32: TMenuItem;
N34: TMenuItem;
N35: TMenuItem;
CashFlow: TAction;
EmployeeLend: TAction;
N36: TMenuItem;
N37: TMenuItem;
ReceiptPayable: TAction;
N38: TMenuItem;
FNExpenseReport: TAction;
N39: TMenuItem;
N40: TMenuItem;
N13: TMenuItem;
N31: TMenuItem;
YDPurchasePlan: TAction;
N48: TMenuItem;
procedure SLActualPriceExecute(Sender: TObject);
procedure RedWordActionExecute(Sender: TObject);
procedure CheckActionExecute(Sender: TObject);
procedure SLOrderTrailExecute(Sender: TObject);
procedure StockChangeExecute(Sender: TObject);
procedure SLsaleLegerExecute(Sender: TObject);
procedure SLClearLegerExecute(Sender: TObject);
procedure SLCreditExecute(Sender: TObject);
procedure PCCreditExecute(Sender: TObject);
procedure SalePriceExecute(Sender: TObject);
procedure PurchasePriceExecute(Sender: TObject);
procedure SLContractPriceExecute(Sender: TObject);
procedure PCContractPriceExecute(Sender: TObject);
procedure PCOrderTrailExecute(Sender: TObject);
procedure PCActualPriceExecute(Sender: TObject);
procedure PCClearLegerExecute(Sender: TObject);
procedure CashBalanceExecute(Sender: TObject);
procedure PCPurchaseLegerExecute(Sender: TObject);
procedure ActualStockExecute(Sender: TObject);
procedure ReceiptPayableExecute(Sender: TObject);
procedure EmployeeLendExecute(Sender: TObject);
procedure StockConsignExecute(Sender: TObject);
procedure UpdateDBGrid;
procedure FormShow(Sender: TObject);
procedure YDPurchasePlanExecute(Sender: TObject);
private
{ Private declarations }
protected
function CreateReport: TQuickRep; override;
public
{ Public declarations }
end;
implementation
uses VoucherQuery, BaseVoucherRpt;
{$R *.dfm}
procedure TBaseVoucherEditAForm.SLActualPriceExecute(Sender: TObject);
begin
inherited;
ShowQueryForm(SLActualPrice.Caption,SLActualPrice.Hint,' select a.Code as [编号],a.Date as [日期], '
+' a.BillMode [业务类别], '
+' a.Deliver [交货方式], c.name as [客户名称] ,'
+' E.name as [商品名称],f.name as [包装单位],'
+' b.Quantity as [商品数量],g.name as [标准单位],'
+' b.PriceBase as [单价], '
+' d.name as [经手人] '
+' from SLSaleDetail b '
+' left outer join SLSaleMaster a on a.id=b.masterID '
+' left outer join DAClient c on c. ID=a.ClientID '
+' left outer join MSEmployee d on d.id=a.EmployeeID '
+' left outer join DAGoods e on e.id=b.GoodsID '
+' left outer join MSunit f on f.id=b.PackUnitID '
+' left outer join MSunit g on g.id=b.GoalUnitID '
+' WHERE A.RECORDSTATE<>'+Quotedstr('删除')
+' order by a.Date Desc ');
end;
procedure TBaseVoucherEditAForm.RedWordActionExecute(Sender: TObject);
var
Field: TField;
begin
inherited;
with MasterDataSet do
begin
Edit;
Field := FindField('ModeC');
if Field <> nil then
if Field.AsInteger=-1 then exit
else Field.AsInteger :=-1;
Field := FindField('BillMode');
if Field <> nil then
begin
Field.ReadOnly :=False;
Field.AsString := Field.AsString + '[红字]';
Field.ReadOnly :=True;
end;
end;
end;
procedure TBaseVoucherEditAForm.CheckActionExecute(Sender: TObject);
begin
inherited;
with MasterDataSet do
begin
Edit;
FieldByName('RecordState').AsString := '复核';
ShowMessage('单据已经复核,在未提交之前仍可修改');
end;
end;
procedure TBaseVoucherEditAForm.SLOrderTrailExecute(Sender: TObject);
begin
inherited;
ShowQueryForm(SLOrderTrail.Caption,SLOrderTrail.Hint,' select * from ( '
+' select a.Code as [编号],a.Date [日期], '
+' a.BillMode [业务类别], '
+' a.ClearDate [交货日期], '
+' a.Deliver [交货方式], c.name as [客户名称] , '
+' E.name as [商品名称],f.name as [包装单位], '
+' b.Quantity*Isnull(a.ModeDC,1)*Isnull(a.ModeC,1) as [数量], '
+' g.name as [标准单位], '
+' b.GoalQuantity*Isnull(a.ModeDC,1)*Isnull(a.ModeC,1) as [标准数量], '
+' b.PriceBase as [单价], '
+' b.Amount*Isnull(a.ModeDC,1)*Isnull(a.ModeC,1) as [商品金额] , '
+' b.TaxAmount*Isnull(a.ModeDC,1)*Isnull(a.ModeC,1) as [税金] , '
+' b.SundryFee*Isnull(a.ModeDC,1)*Isnull(a.ModeC,1) as [附加费用], '
+' b.Discount*Isnull(a.ModeDC,1)*Isnull(a.ModeC,1) as [折扣金额], '
+' d.name as [经手人], '
+' a.RecordState as [凭单状态] '
+' from SLOrderDetail b '
+' left outer join SLOrderMaster a on a.id=b.masterID '
+' left outer join DAClient c on c. ID=a.ClientID '
+' left outer join MSEmployee d on d.id=a.EmployeeID '
+' left outer join DAGoods e on e.id=b.GoodsID '
+' left outer join MSunit f on f.id=b.PackUnitID '
+' left outer join MSunit g on g.id=b.GoalUnitID'
+' WHERE A.RECORDSTATE<>'+Quotedstr('删除')
+' and b.GoodsID<>0 and b.GoalQuantity<>0'
+' UNION ALL '
+' select a.Code as [编号],a.Date [日期], '
+' a.BillMode [业务类别], '
+' a.ClearDate [交货日期], '
+' a.Deliver [交货方式], c.name as [客户名称] , '
+' E.name as [商品名称],f.name as [包装单位], '
+' b.Quantity*Isnull(a.ModeDC,1)*Isnull(a.ModeC,1)*(-1) as [数量],'
+' g.name as [标准单位], '
+' b.GoalQuantity*Isnull(a.ModeDC,1)*Isnull(a.ModeC,1)*(-1) as [标准数量], '
+' b.PriceBase as [单价], '
+' b.Amount*Isnull(a.ModeDC,1)*Isnull(a.ModeC,1) as [商品金额] , '
+' b.TaxAmount*Isnull(a.ModeDC,1)*Isnull(a.ModeC,1)*(-1) as [税金] , '
+' b.SundryFee*Isnull(a.ModeDC,1)*Isnull(a.ModeC,1)*(-1) as [附加费用], '
+' b.Discount*Isnull(a.ModeDC,1)*Isnull(a.ModeC,1)*(-1) as [折扣金额], '
+' d.name as [经手人], '
+' a.RecordState as [凭单状态] '
+' from SLsaleDetail b '
+' left outer join SLsaleMaster a on a.id=b.masterID '
+' left outer join DAClient c on c. ID=a.ClientID '
+' left outer join MSEmployee d on d.id=a.EmployeeID '
+' left outer join DAGoods e on e.id=b.GoodsID '
+' left outer join MSunit f on f.id=b.PackUnitID '
+' left outer join MSunit g on g.id=b.GoalUnitID'
+' WHERE A.RECORDSTATE<>'+Quotedstr('删除')
+' and b.GoodsID<>0 and b.GoalQuantity<>0'
+' and a.ClientID in (select Distinct ClientID from SLOrderMaster) '
+' ) as a order by [日期] DESC');
end;
procedure TBaseVoucherEditAForm.StockChangeExecute(Sender: TObject);
begin
inherited;
ShowQueryForm(StockChange.Caption,StockChange.Hint,
' select a.Code as [编号],a.Date [日期], '
+' a.BillMode [业务类别], '
+' w.name as [仓库名称] , '
+' E.name as [商品名称],f.name as [包装单位], '
+' b.Quantity*Isnull(a.ModeDC,1)*Isnull(a.ModeC,1)*(-1) as [数量], '
+' g.name as [标准单位], '
+' b.GoalQuantity*Isnull(a.ModeDC,1)*Isnull(a.ModeC,1)*(-1) as [标准数量], '
+' a.Deliver [提货/交货方式], c.name as [提货人/交货人] , '
+' d.name as [经手人], '
+' a.RecordState as [凭单状态] '
+' from SLGoodsOutDetail b '
+' left outer join SLGoodsOutMaster a on a.id=b.masterID '
+' left outer join DAClient c on c. ID=a.ClientID '
+' left outer join MSEmployee d on d.id=a.EmployeeID '
+' left outer join DAGoods e on e.id=b.GoodsID '
+' left outer join MSunit f on f.id=b.PackUnitID '
+' left outer join MSunit g on g.id=b.GoalUnitID '
+' left outer join STWarehouse w on w.id=a.WarehouseID '
+' WHERE A.RECORDSTATE<>'+Quotedstr('删除')
+' UNION ALL '
+' select a.Code as [编号],a.Date [日期], '
+' a.BillMode [业务类别], '
+' w.name as [仓库名称] , '
+' E.name as [商品名称],f.name as [包装单位], '
+' b.Quantity*Isnull(a.ModeDC,1)*Isnull(a.ModeC,1) as [数量], '
+' g.name as [标准单位], '
+' b.GoalQuantity*Isnull(a.ModeDC,1)*Isnull(a.ModeC,1) as [标准数量], '
+' a.Deliver [提货/交货方式], c.name as [提货人/交货人] , '
+' d.name as [经手人], '
+' a.RecordState as [凭单状态] '
+' from PCGoodsInDetail b '
+' left outer join PCGoodsInMaster a on a.id=b.masterID '
+' left outer join DAClient c on c. ID=a.ClientID '
+' left outer join MSEmployee d on d.id=a.EmployeeID '
+' left outer join DAGoods e on e.id=b.GoodsID '
+' left outer join MSunit f on f.id=b.PackUnitID '
+' left outer join MSunit g on g.id=b.GoalUnitID '
+' left outer join STWarehouse w on w.id=a.WarehouseID '
+' WHERE A.RECORDSTATE<>'+Quotedstr('删除')+' ' );
end;
procedure TBaseVoucherEditAForm.SLsaleLegerExecute(Sender: TObject);
begin
inherited;
ShowQueryForm(SLsaleLeger.Caption,SLsaleLeger.Hint,
' select a.Code as [编号],a.Date as [日期], '
+' a.BillMode [业务类别], '
+' a.ClearDate [交货日期], '
+' a.Deliver [交货方式], c.name as [客户名称] , '
+' E.name as [商品名称],f.name as [包装单位], '
+' b.Quantity*Isnull(a.ModeDC,1)*Isnull(a.ModeC,1) as [数量],'
+' g.name as [标准单位], '
+' b.GoalQuantity*Isnull(a.ModeDC,1)*Isnull(a.ModeC,1) as [标准数量], '
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -