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

📄 basevoucheredita.pas

📁 企业ERP管理系统
💻 PAS
📖 第 1 页 / 共 3 页
字号:
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 + -