亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sledsalebills.pas

?? 詳細的ERP設計資料
?? PAS
字號:
unit SLEdSaleBillS;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BaseVoucherEdit, Menus, ActnList, DB, ComCtrls, StdCtrls, Mask,
  DBCtrls, ExtCtrls, ToolWin, Grids, DBGrids, QLDBGrid, ADODB, GEdit,
  QLDBLkp;

type
  TSLEdSaleBillSForm = class(TBaseVoucherEditForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    ClientName: TADODataSet;
    EmployeeName: TADODataSet;
    Label4: TLabel;
    DBEdit2: TDBEdit;
    GoodName: TADODataSet;
    Label5: TLabel;
    GEdit1: TGEdit;
    MSUnit: TADODataSet;
    DSMSUnit: TDataSource;
    DSClientName: TDataSource;
    DSEmployeeName: TDataSource;
    ClientQLDBLookup: TQLDBLookupComboBox;
    QLDBLookupEmployee: TQLDBLookupComboBox;
    DBEdit1: TDBEdit;
    DBEdit4: TDBEdit;
    DBComboBox1: TDBComboBox;
    Label6: TLabel;
    MSGoalUnit: TADODataSet;
    dsMSGoalUnit: TDataSource;
    DBComboBox3: TDBComboBox;
    DBComboBox4: TDBComboBox;
    Label7: TLabel;
    QLDBLookuppACKUNIT: TQLDBLookupComboBox;
    TempAds: TADODataSet;
    adsSalesMaster: TADODataSet;
    adsSalesDetail: TADODataSet;
    adsSalesDetailID: TAutoIncField;
    adsSalesDetailMasterID: TIntegerField;
    adsSalesDetailGoodsID: TIntegerField;
    adsSalesDetailQuantity: TBCDField;
    adsSalesDetailQuantityPcs: TBCDField;
    adsSalesDetailPackUnitID: TIntegerField;
    adsSalesDetailPriceBase: TBCDField;
    adsSalesDetailAmount: TBCDField;
    adsSalesDetailDiscountRate: TBCDField;
    adsSalesDetailDiscount: TBCDField;
    adsSalesDetailNetAmount: TBCDField;
    adsSalesDetailTaxAmount: TBCDField;
    adsSalesDetailSalesMode: TStringField;
    adsSalesDetailGoalQuantity: TBCDField;
    adsSalesDetailSundryFee: TBCDField;
    adsSalesDetailGoalUnitID: TIntegerField;
    adsSalesMasterID: TAutoIncField;
    adsSalesMasterCreateDate: TDateTimeField;
    adsSalesMasterCreateUserID: TIntegerField;
    adsSalesMasterRecordState: TStringField;
    adsSalesMasterDate: TDateTimeField;
    adsSalesMasterCode: TStringField;
    adsSalesMasterClientID: TIntegerField;
    adsSalesMasterEmployeID: TIntegerField;
    adsSalesMasterDiscountRate: TBCDField;
    adsSalesMasterTaxRate: TBCDField;
    adsSalesMasterBillMode: TStringField;
    adsSalesMasterBillModeDC: TIntegerField;
    adsSalesMasterOriginBillID: TIntegerField;
    adsSalesMasterOriginBillTypeID: TIntegerField;
    adsSalesMasterPeriodID: TIntegerField;
    adsSalesMasterClearDate: TDateTimeField;
    adsSalesMasterMemo: TStringField;
    adsSalesMasterSundryFee: TBCDField;
    adsSalesMasterIsApportion: TStringField;
    Label8: TLabel;
    DBEdit5: TDBEdit;
    adsSalesMasterClientName: TStringField;
    adsSalesMasterEmployeeName: TStringField;
    adsSalesDetailGoodsName: TStringField;
    adsSalesDetailPackUnit: TStringField;
    adsSalesDetailGoallUnit: TStringField;
    N7: TMenuItem;
    N13: TMenuItem;
    LastPrice: TAction;
    DiscountMode: TAction;
    adsSalesMasterIsDeliver: TStringField;
    adsSalesMasterIsTax: TStringField;
    adsSalesDetailTaxrate: TBCDField;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure DBComboBox3Change(Sender: TObject);
    procedure GoodsIDChange;
    procedure QuantityChange;
    procedure adsSalesDetailPackUnitIDChange(Sender: TField);
    procedure adsSalesDetailQuantityChange(Sender: TField);
    procedure adsSalesDetailGoodsIDChange(Sender: TField);
    procedure SaveActionExecute(Sender: TObject);
    procedure ImportActionExecute(Sender: TObject);
    procedure LastPriceExecute(Sender: TObject);
    procedure DiscountModeExecute(Sender: TObject);
    procedure ClientQLDBLookupEnter(Sender: TObject);
    procedure ClientQLDBLookupExit(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure Open(VoucherID: Integer); override;
    procedure New; override;
  end;

var
  SLEdSaleBillSForm: TSLEdSaleBillSForm;

implementation

uses CommonDM, WSUtils, WSSecurity,PkVoucher, SLPriceSearch,SLDiscountMode,
  SLPricequery;

{$R *.dfm}
procedure TSLEdSaleBillSForm.New;
begin
  inherited;
  ClientName.Open;
  EmployeeName.Open;
  GoodName.Open;
  MSUnit.Open;
  MSGoalUnit.Open;
  adsSalesMaster.FieldByName('Date').Value:=date;
  adsSalesMaster.FieldByName('Code').AsString:=GetMaxCode('Code','SLSaleMaster',number);
  adsSalesMaster.FieldByName('CreateUserID').Value:=Guarder.UserID;
  adsSalesMaster.FieldByName('BillMode').Value:='銷售開單';
  adsSalesMaster.FieldByName('BillModeDC').Value:=1;
  adsSalesMaster.FieldByName('IsTax').Value:='已含稅';
  adsSalesMaster.FieldByName('IsDeliver').Value:='不送貨';
  adsSalesMaster.FieldByName('IsApportion').Value:='不分攤';
end;

procedure TSLEdSaleBillSForm.Open(VoucherID: Integer);
begin
  inherited Open(VoucherID);
  ClientName.Open;
  EmployeeName.Open;
  GoodName.Open;
  MSUnit.Open;
  MSGoalUnit.Open;
end;


procedure TSLEdSaleBillSForm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  adsSalesMaster.Close;
  adsSalesDetail.Close;
  ClientName.Close;
  EmployeeName.Close;
  GoodName.Close;
  MSUnit.Close;
  MSGoalUnit.Close;
end;

procedure TSLEdSaleBillSForm.FormCreate(Sender: TObject);
begin
  inherited;
  VoucherTableName := 'SLSale';
end;

procedure TSLEdSaleBillSForm.FormShow(Sender: TObject);
begin
  inherited;
  ClientQLDBLookup.SetFocus;
end;



procedure TSLEdSaleBillSForm.DBComboBox3Change(Sender: TObject);
begin
  inherited;
  if DBComboBox3.Text ='不含稅' then DBEdit4.Enabled :=true
    else DBEdit4.Enabled :=False;
end;



procedure TSLEdSaleBillSForm.GoodsIDChange;
begin
  TempAds.Close;   //取標準單位
  TempAds.CommandText :='select UnitID from DAGoods where Id='
      + QuotedStr(adsSalesDetail.fieldbyname('GoodsID').AsString);
  TempAds.Open;
  TempAds.First;
  adsSalesDetail.FieldByName('GoalUnitID').ReadOnly :=False;
  adsSalesDetail.FieldByName('GoalUnitID').AsInteger :=TempAds.fieldbyname('UnitID').AsInteger;
  adsSalesDetail.FieldByName('GoalUnitID').ReadOnly :=True;
                //取包裝單位
  MSUnit.Close;
  MSUnit.CommandText :='select * from MSUnit where GoalUnitID= '
      +' ( select GoalUnitID from msunit where id = '
      +' (select top 1 UnitID from dagoods where id='
       + QuotedStr(adsSalesDetail.fieldbyname('GoodsID').AsString)+ ' ) )';
  MSUnit.Open;
end;


procedure TSLEdSaleBillSForm.QuantityChange;
begin
  adsSalesDetail.FieldByName('Amount').ReadOnly :=False;
  adsSalesDetail.FieldByName('Amount').AsFloat :=
       adsSalesDetail.fieldbyname('Quantity').asfloat
         *adsSalesDetail.fieldbyname('PriceBase').asfloat;
//       (adsSalesDetail.fieldbyname('QuantityPcs').asfloat*adsSalesDetail.fieldbyname('PriceBase').asfloat) ;
  adsSalesDetail.FieldByName('Amount').ReadOnly :=True;

  adsSalesDetail.FieldByName('GoalQuantity').ReadOnly :=False;
  adsSalesDetail.FieldByName('GoalQuantity').AsFloat :=
       adsSalesDetail.fieldbyname('Quantity').AsFloat
         *MSUnit.fieldbyname('ExchangeRate').AsFloat+
           adsSalesDetail.FieldByName('QuantityPcs').AsFloat;
  adsSalesDetail.FieldByName('GoalQuantity').ReadOnly :=True;


  adsSalesDetail.FieldByName('NetAmount').ReadOnly :=False;
  adsSalesDetail.FieldByName('NetAmount').AsFloat :=
       adsSalesDetail.fieldbyname('Amount').AsFloat-
         adsSalesDetail.fieldbyname('Discount').AsFloat;
  adsSalesDetail.FieldByName('NetAmount').ReadOnly :=True;
end;

procedure TSLEdSaleBillSForm.adsSalesDetailPackUnitIDChange(Sender: TField);
begin
  inherited;
  adsSalesDetail.FieldByName('GoalQuantity').ReadOnly :=False;
  adsSalesDetail.FieldByName('GoalQuantity').AsFloat :=
       adsSalesDetail.fieldbyname('Quantity').AsFloat
       *MSUnit.fieldbyname('ExchangeRate').AsFloat+
       adsSalesDetail.FieldByName('QuantityPcs').AsFloat;
  adsSalesDetail.FieldByName('GoalQuantity').ReadOnly :=True;

  adsSalesDetail.FieldByName('PriceBase').ReadOnly :=False;
  adsSalesDetail.FieldByName('PriceBase').AsFloat :=
       GoodName.fieldbyname('PriceSales').AsFloat;
  adsSalesDetail.FieldByName('PriceBase').ReadOnly :=True;
end;

procedure TSLEdSaleBillSForm.adsSalesDetailQuantityChange(Sender: TField);
begin
  inherited;
  QuantityChange;
end;

procedure TSLEdSaleBillSForm.adsSalesDetailGoodsIDChange(Sender: TField);
begin
  inherited;
  GoodsIDChange;
end;

procedure TSLEdSaleBillSForm.SaveActionExecute(Sender: TObject);
var adoTemp: TADOQuery;
    code:string;
begin
  inherited;
  adoTemp := TADOQuery.Create(nil);
  adoTemp.Connection := CommonData.acnConnection;
  with adoTemp do
  begin
    close;
    sql.Text :='select top 1 code from SLClearBillMaster order by id desc';
    open;
    if adoTemp.IsEmpty then code :='00000001'
      else code :=fieldbyname('Code').AsString;
//    close;
    sql.Text := 'insert into SLClearBillMaster '
        +' (CreateUserID ,Date,Code, BillMode, BillModeDC,ClientID,EmployeID,'
        +'    OriginBillID,PeriodID,SaleAmount,Memo)  '
        +' select a.CreateUserID ,a.Date,'+QuotedStr(code)+', a.BillMode, a.BillModeDC ,a.ClientID,a.EmployeID, '
        +' a.ID,PeriodID,  b.AcceptAmount*a.BillModeDC, A.Memo from SLSaleMaster a inner join  '
        +' ( select masterID,sum(isnull(Amount,0)) as  AcceptAmount from   SLSaleDetail Group by masterID  ) as b '
        +' on b.masterID=a.ID '
        +' where not ( a.ID in (select OriginBillID from SLClearBillMaster) '
        +'      and a.BillMode in (select BillMode from SLClearBillMaster) ) ';
    ExecSQL;
    close;
    sql.Text := 'update SLClearBillMaster set AmountBalance= (SaleAmount'
        +' -AcceptAmount )  where AmountBalance=0 or AmountBalance is null';
    ExecSQL;
  end;
end;

procedure TSLEdSaleBillSForm.ImportActionExecute(Sender: TObject);
begin
  inherited;
  Application.CreateForm(TVoucherPickForm, VoucherPickForm);
  VoucherPickForm.ShowModal;
  VoucherPickForm.Free;
end;

procedure TSLEdSaleBillSForm.LastPriceExecute(Sender: TObject);
begin
  inherited;
  if (not adsSalesMaster.FieldByName('ClientID').IsNull) and (not adsSalesDetail.FieldByName('GoodsID').IsNull)
    then begin
    SLPricequeryForm:= TSLPricequeryForm.Create(self);
    with SLPricequeryForm do
    begin
      AdsPricequery.Close;
      AdsPricequery.CommandText := 'select top 100 '
            +' M.code,m.date, D.PriceBase,d.Amount,d.GoalQuantity ,  '
            +' f.name as goodsname,xs.name as ClientName  from SLSaleDetail D '
            +' inner join DAGoods  f on d.goodsID=f.id   '
            +' inner join SLSaleMaster M on D.MasterID=M.ID inner join  DAClient  '
            +' xs on xs.id=m.ClientID  '
            + '  where M.CLientID=:CLientID '
            + '  order by M.id DESC';
//            + '  and D.GoodsID=:GoodsID order by M.id DESC';
      AdsPricequery.Parameters.ParamByName('ClientID').Value
                         := adsSalesMaster.FieldByName('ClientID').Value;
//      AdsPricequery.Parameters.ParamByName('GoodsID').Value
//                         := adsSalesDetail.FieldByName('GoodsID').Value;
      AdsPricequery.Open;
      SLPricequeryForm.Show;
    end;
  end;
end;

procedure TSLEdSaleBillSForm.DiscountModeExecute(Sender: TObject);
begin
  inherited;
  Application.CreateForm(TSLDiscountModeForm, SLDiscountModeForm);
  SLDiscountModeForm.ShowModal;
  SLDiscountModeForm.Free;
end;


procedure TSLEdSaleBillSForm.ClientQLDBLookupEnter(Sender: TObject);
begin
  inherited;
  GEdit1.Enabled :=true;
  GEdit1.Text :='0';
  GEdit1.Enabled :=false;
end;

procedure TSLEdSaleBillSForm.ClientQLDBLookupExit(Sender: TObject);
var  adoTemp: TADOQuery;
begin
  inherited;
  adoTemp := TADOQuery.Create(nil);
  adoTemp.Connection := CommonData.acnConnection;
  with adoTemp do
  begin
    close;
    sql.Text := 'select sum(isnull(AmountBalance,0)) as Balance from '
        + 'SLClearBillMaster where RecordState<>' + QuotedStr('刪除')
        + ' and ClientID='+ClientName.fieldbyname('ID').AsString;
    open;
    GEdit1.Enabled :=true;
    if  adoTemp.IsEmpty then     GEdit1.Text :='0'
      else   GEdit1.Text :=fieldbyname('Balance').asstring;
    GEdit1.Enabled :=False;
  end;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
人人精品人人爱| 欧美在线一二三| 欧美三级视频在线| 国产午夜精品福利| 婷婷中文字幕综合| 波多野结衣一区二区三区| 日韩免费观看高清完整版| 亚洲国产精品久久久久秋霞影院 | 性久久久久久久久| 成人黄色综合网站| 久久综合九色综合97婷婷女人| 五月综合激情婷婷六月色窝| 在线一区二区三区做爰视频网站| 国产精品私人影院| 国产福利一区在线| 日韩欧美国产系列| 日本中文字幕一区| 欧美精品少妇一区二区三区| 亚洲在线免费播放| 色8久久人人97超碰香蕉987| 17c精品麻豆一区二区免费| 国产jizzjizz一区二区| 国产亚洲欧美一级| 久久 天天综合| 精品国产乱码久久| 麻豆国产欧美日韩综合精品二区| 91精品国产一区二区三区香蕉| 图片区小说区区亚洲影院| 色婷婷国产精品综合在线观看| 日韩理论电影院| 色综合久久久久久久久久久| 亚洲黄色片在线观看| 91免费版在线| 亚洲主播在线观看| 欧美精品久久一区二区三区| 首页欧美精品中文字幕| 欧美日韩国产影片| 国产成人av福利| 国产成人精品免费视频网站| 精品盗摄一区二区三区| 麻豆精品一区二区| 欧美一区永久视频免费观看| 久草热8精品视频在线观看| 2023国产精品| 裸体歌舞表演一区二区| 欧美一区二区三区精品| 国产原创一区二区| 中文在线资源观看网站视频免费不卡| 免费欧美高清视频| 精品电影一区二区| k8久久久一区二区三区 | jlzzjlzz亚洲日本少妇| 日韩久久一区二区| 欧美色爱综合网| 麻豆精品一区二区av白丝在线| 久久久久久亚洲综合影院红桃| 成人小视频免费在线观看| 亚洲精品国产第一综合99久久| 欧美日韩你懂得| 国产精品综合在线视频| 亚洲另类色综合网站| 91麻豆精品国产自产在线观看一区| 久久成人精品无人区| 亚洲天堂2014| 日韩视频免费直播| 97久久超碰精品国产| 偷拍日韩校园综合在线| 欧美激情中文字幕一区二区| 欧美日韩成人综合| 成人一级片在线观看| 午夜精品成人在线视频| 国产精品青草久久| 91精品国产麻豆国产自产在线 | 91亚洲男人天堂| 免费观看日韩av| 亚洲欧美另类图片小说| 亚洲精品一区二区三区香蕉| 欧美影院精品一区| 国产成人精品免费一区二区| 午夜久久久久久久久久一区二区| 欧美国产一区在线| 日韩一区二区视频在线观看| 成人永久免费视频| 蜜桃精品视频在线| 一区二区三区在线播| 国产日韩欧美综合在线| 日韩一级免费一区| 欧美日韩一区成人| 色噜噜狠狠色综合中国| 国产a视频精品免费观看| 日韩成人av影视| 亚洲综合自拍偷拍| 久久综合精品国产一区二区三区| 精品视频一区三区九区| 91视频.com| 成人a区在线观看| 国内外成人在线视频| 日韩精品久久久久久| 亚洲精品综合在线| 国产精品日产欧美久久久久| 国产亚洲一本大道中文在线| 欧美一区二区三区成人| 欧美视频日韩视频| 色婷婷久久久综合中文字幕| 成人永久aaa| 成人av影视在线观看| 国产精品99久| 激情小说亚洲一区| 国产在线一区二区综合免费视频| 蜜臀av一区二区在线观看| 麻豆国产精品官网| 捆绑调教美女网站视频一区| 香蕉久久夜色精品国产使用方法 | 国产精品欧美久久久久无广告| 久久先锋影音av| 欧美一级午夜免费电影| 欧美日韩成人在线一区| 制服丝袜成人动漫| 日韩欧美成人午夜| 精品美女在线观看| 26uuu亚洲综合色| 国产欧美一区二区在线| 国产精品少妇自拍| 亚洲欧美激情插| 亚洲精品国产精华液| 亚洲国产视频一区二区| 免费在线看成人av| 韩国欧美一区二区| www.欧美亚洲| 欧美中文字幕一区二区三区亚洲| 欧美日韩免费电影| 欧美videossexotv100| 久久欧美中文字幕| 国产精品第13页| 一区二区三区久久| 蜜桃av一区二区三区电影| 黄页网站大全一区二区| 成人动漫av在线| 欧美精品精品一区| 久久久久久久综合色一本| 亚洲色图丝袜美腿| 日日嗨av一区二区三区四区| 美女精品自拍一二三四| 成人一区二区三区中文字幕| 一本久久综合亚洲鲁鲁五月天 | 亚洲天堂精品在线观看| 午夜在线电影亚洲一区| 琪琪久久久久日韩精品| 蜜桃一区二区三区四区| 成人高清免费在线播放| 欧美日韩国产一二三| 欧美极品xxx| 午夜天堂影视香蕉久久| 国内精品国产三级国产a久久| 9色porny自拍视频一区二区| 日韩亚洲国产中文字幕欧美| 国产精品成人免费在线| 亚洲成人自拍一区| 国产一区二区免费看| 色成人在线视频| 欧美激情一区二区三区全黄 | 一区二区三区精密机械公司| 麻豆一区二区三区| 在线视频你懂得一区| 久久精子c满五个校花| 亚洲v中文字幕| proumb性欧美在线观看| 日韩精品中文字幕一区| 中文字幕中文在线不卡住| 麻豆国产精品777777在线| 日本二三区不卡| 国产精品久久久久影视| 麻豆成人在线观看| 欧美精品 国产精品| 亚洲伦理在线免费看| 国产精品99久久久久久有的能看| 91麻豆精品国产自产在线观看一区| 亚洲日本一区二区| 国产成人亚洲综合a∨婷婷| 欧美一区二区视频免费观看| 亚洲黄色录像片| 97超碰欧美中文字幕| 久久精品日产第一区二区三区高清版| 日韩av电影天堂| 欧美日韩成人在线一区| 亚洲一二三区不卡| 色88888久久久久久影院按摩| 国产精品网站在线| 国产成人精品一区二区三区四区 | 久久色.com| 国内久久精品视频| 精品99999| 天天射综合影视| 欧美夫妻性生活| 青青青爽久久午夜综合久久午夜| 91精品国产一区二区三区香蕉| 婷婷中文字幕综合| 日韩一区二区麻豆国产| 亚洲综合男人的天堂| 欧美在线999|