📄 sledsalebk.pas
字号:
unit SLEdSaleBK;
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
TSLEdSaleBKForm = class(TBaseVoucherEditForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
ClientName: TADODataSet;
EmployeeName: TADODataSet;
GoodName: TADODataSet;
Label5: TLabel;
PackUnit: TADODataSet;
dsPackUnit: TDataSource;
DSClientName: TDataSource;
DSEmployeeName: TDataSource;
ClientQLDBLookup: TQLDBLookupComboBox;
LookupEmployee: TQLDBLookupComboBox;
Label6: TLabel;
Label7: TLabel;
LookupPackUint: TQLDBLookupComboBox;
TempAds: TADODataSet;
adsMaster: TADODataSet;
adsDetail: TADODataSet;
adsDetailID: TAutoIncField;
adsDetailMasterID: TIntegerField;
adsDetailGoodsID: TIntegerField;
adsDetailQuantity: TBCDField;
adsDetailQuantityPcs: TBCDField;
adsDetailPackUnitID: TIntegerField;
adsDetailPriceBase: TBCDField;
adsDetailAmount: TBCDField;
adsDetailDiscount: TBCDField;
adsDetailGoalQuantity: TBCDField;
adsDetailSundryFee: TBCDField;
adsDetailGoalUnitID: TIntegerField;
adsMasterID: TAutoIncField;
adsMasterCreateDate: TDateTimeField;
adsMasterCreateUserID: TIntegerField;
adsMasterRecordState: TStringField;
adsMasterDate: TDateTimeField;
adsMasterCode: TStringField;
adsMasterClientID: TIntegerField;
adsMasterBillMode: TStringField;
adsMasterBillModeDC: TIntegerField;
adsMasterPeriodID: TIntegerField;
adsMasterClearDate: TDateTimeField;
adsMasterMemo: TStringField;
adsMasterSundryFee: TBCDField;
Label8: TLabel;
adsMasterClientName: TStringField;
adsDetailGoodsName: TStringField;
adsDetailPackUnit: TStringField;
N13: TMenuItem;
DiscountMode: TAction;
adsMasterEmployeeID: TIntegerField;
adsMasterApportion: TStringField;
adsMasterDeliver: TStringField;
adsMasterOriginID: TIntegerField;
adsMasterOriginTable: TStringField;
adsMasterBillAffix: TBytesField;
adsDetailMemo: TStringField;
adsMasterBrief: TStringField;
BriefComboBox: TDBComboBox;
Label9: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
Label10: TLabel;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
Label4: TLabel;
DBEdit5: TDBEdit;
GEdit1: TGEdit;
adsDetailTaxAmount: TBCDField;
adsDetailGoodsSpec: TStringField;
LookupGoodsSpec: TQLDBLookupComboBox;
adsGoodsSpec: TADODataSet;
dsGoodsSpec: TDataSource;
adsMasterEmployee: TStringField;
GoalUnit: TADODataSet;
dsGoalUnit: TDataSource;
adsDetailGoalUnit: TStringField;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure adsDetailPackUnitIDChange(Sender: TField);
procedure adsDetailQuantityChange(Sender: TField);
procedure adsDetailGoodsIDChange(Sender: TField);
procedure SaveActionExecute(Sender: TObject);
procedure ImportActionExecute(Sender: TObject);
procedure DiscountModeExecute(Sender: TObject);
procedure ClientQLDBLookupEnter(Sender: TObject);
procedure ClientQLDBLookupExit(Sender: TObject);
procedure SLPubQuerry;
private
{ Private declarations }
public
SLPubQuerrySql,SLPubQuerryCaption:string;
{ Public declarations }
procedure Open(VoucherID: Integer); override;
procedure New; override;
end;
var
SLEdSaleBKForm: TSLEdSaleBKForm;
implementation
uses CommonDM, WSUtils, WSSecurity,PkVoucher, SLDiscountMode;
//SLPubQuerry
{$R *.dfm}
procedure TSLEdSaleBKForm.New;
begin
inherited;
adsMaster.FieldByName('Date').Value:=date;
adsMaster.FieldByName('Code').AsString:=GetMaxCode('Code','SLSaleMaster',Number);
adsMaster.FieldByName('CreateUserID').Value:=Guarder.UserID;
adsMaster.FieldByName('BillMode').Value:='销售退货单';
adsMaster.FieldByName('BillModeDC').Value:=-1;
adsMaster.FieldByName('Deliver').Value:='不送货';
adsMaster.FieldByName('Apportion').Value:='不分摊';
// adsMaster.FieldByName('PeriodID').Value:=1;
end;
procedure TSLEdSaleBKForm.Open(VoucherID: Integer);
begin
inherited Open(VoucherID);
end;
procedure TSLEdSaleBKForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
adsMaster.Close;
adsDetail.Close;
ClientName.Close;
EmployeeName.Close;
GoodName.Close;
PackUnit.Close;
end;
procedure TSLEdSaleBKForm.FormCreate(Sender: TObject);
begin
inherited;
VoucherTableName := 'SLSale';
ClientName.Open;
EmployeeName.Open;
GoodName.Open;
PackUnit.Open;
TempAds.Close;
TempAds.CommandText :=' select Distinct brief from SLSaleMaster';
TempAds.Open;
TempAds.First;
while not TempAds.Eof do
begin
BriefComboBox.Items.Add(TempAds.FieldByName('brief').AsString);
TempAds.Next;
end;
end;
procedure TSLEdSaleBKForm.FormShow(Sender: TObject);
begin
inherited;
ClientQLDBLookup.SetFocus;
end;
procedure TSLEdSaleBKForm.adsDetailPackUnitIDChange(Sender: TField);
begin
inherited;
adsDetail.FieldByName('GoalQuantity').ReadOnly :=False;
adsDetail.FieldByName('GoalQuantity').AsFloat :=
adsDetail.fieldbyname('Quantity').AsFloat
*PackUnit.fieldbyname('ExchangeRate').AsFloat+
adsDetail.FieldByName('QuantityPcs').AsFloat;
adsDetail.FieldByName('GoalQuantity').ReadOnly :=True;
adsDetail.FieldByName('PriceBase').ReadOnly :=False;
adsDetail.FieldByName('PriceBase').AsFloat :=
GoodName.fieldbyname('PriceSales').AsFloat
*PackUnit.fieldbyname('ExchangeRate').AsFloat;
adsDetail.FieldByName('PriceBase').ReadOnly :=True;
end;
procedure TSLEdSaleBKForm.adsDetailQuantityChange(Sender: TField);
begin
inherited;
adsDetail.FieldByName('GoalQuantity').ReadOnly :=False;
adsDetail.FieldByName('GoalQuantity').AsFloat :=
adsDetail.fieldbyname('Quantity').AsFloat
*PackUnit.fieldbyname('ExchangeRate').AsFloat+
adsDetail.FieldByName('QuantityPcs').AsFloat;
adsDetail.FieldByName('GoalQuantity').ReadOnly :=True;
adsDetail.FieldByName('Amount').ReadOnly :=False;
adsDetail.FieldByName('Amount').AsFloat :=
adsDetail.fieldbyname('Quantity').asfloat
*adsDetail.fieldbyname('PriceBase').asfloat;
adsDetail.FieldByName('Amount').ReadOnly :=True;
end;
procedure TSLEdSaleBKForm.adsDetailGoodsIDChange(Sender: TField);
var
UnitID:integer;
begin
inherited;
TempAds.Close; //取标准单位和基本单价
TempAds.CommandText :='select top 1 UnitID,PriceSales from DAGoods where Id='
+ QuotedStr(adsDetail.fieldbyname('GoodsID').AsString);
TempAds.Open;
if TempAds.IsEmpty then UnitID :=0 else UnitID :=TempAds.fieldbyname('UnitID').AsInteger;
adsDetail.FieldByName('GoalUnitID').ReadOnly :=False;
adsDetail.FieldByName('GoalUnitID').AsInteger :=UnitID;
adsDetail.FieldByName('GoalUnitID').ReadOnly :=True;
adsDetail.FieldByName('PriceBase').ReadOnly :=False;
adsDetail.FieldByName('PriceBase').AsFloat :=TempAds.fieldbyname('PriceSales').AsFloat;
adsDetail.FieldByName('PriceBase').ReadOnly :=True;
//取该商品的其它包装单位
PackUnit.Close;
PackUnit.CommandText :='select id,name,ExchangeRate from MSUnit'
+' where GoalUnitID= '+ QuotedStr( inttostr(UnitID) );
PackUnit.Open;
end;
procedure TSLEdSaleBKForm.SaveActionExecute(Sender: TObject);
var adoTemp: TADOQuery;
code:string;
MasterID:Integer;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -