📄 ustockopt.pas
字号:
end;
end;
procedure TfrmStockOpt.cxDBTextEdit2KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
inherited;
case key of
vk_return: cxDBTextEdit1.SetFocus;
end;
end;
procedure TfrmStockOpt.cxDBTextEdit1KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
inherited;
case key of
vk_return: cxDBDateEdit1.SetFocus;
end;
end;
procedure TfrmStockOpt.cxDBDateEdit1KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
inherited;
case key of
vk_return: cxGrid4.SetFocus;
end;
end;
procedure TfrmStockOpt.cxComboBox1KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
inherited;
case key of
vk_return : if not cxComboBox1.DroppedDown then
cxDBButtonEdit2.SetFocus;
end;
end;
procedure TfrmStockOpt.cxDBCalcEdit1KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
inherited;
case key of
vk_return : IF cxDBTextEdit2.CanFocus then cxDBTextEdit2.SetFocus
Else IF cxDBDateEdit2.CanFocus then cxDBDateEdit2.SetFocus
end;
end;
function TfrmStockOpt.CheckOperation(sender: Tobject): integer;
begin
Result := 0;
IF (TcomboBox(sender).Text = '21') OR
(TcomboBox(sender).Text = '材料进仓') THEN Begin
TcomboBox(sender).Text := '材料进仓';
Label1.Caption := '收货人:';
cxDBTextEdit2.Visible := true;
cxDBDateEdit2.Visible := FALSE;
Label4.Caption := '客商编号:';
Label5.Caption := '客商名称:';
Label8.Caption := '材料进仓单';
result := 21;
End;
IF (TcomboBox(sender).Text = '22') OR
(TcomboBox(sender).Text = '染料收货') THEN Begin
TcomboBox(sender).Text := '染料收货';
Label1.Caption := '收货人:';
cxDBTextEdit2.Visible := true;
cxDBDateEdit2.Visible := FALSE;
Label4.Caption := '染料厂号:';
Label5.Caption := '染料厂名:';
Label8.Caption := '染料收货单';
result := 22;
End;
IF (TcomboBox(sender).Text = '-21') OR
(TcomboBox(sender).Text = '材料出仓') THEN Begin
TcomboBox(sender).Text := '材料出仓';
Label1.Caption := '领料人:';
cxDBTextEdit2.Visible := TRUE;
cxDBDateEdit2.Visible := FALSE;
Label4.Caption := '部门编号:';
Label5.Caption := '部门名称:';
Label8.Caption := '材料出仓单';
result := -21;
End;
IF (TcomboBox(sender).Text = '-22') OR
(TcomboBox(sender).Text = '发外染料') THEN Begin
TcomboBox(sender).Text := '发外染料';
Label1.Caption := '交货日期:';
cxDBTextEdit2.Visible := FALSE;
cxDBDateEdit2.Visible := TRUE;
Label4.Caption := '染料厂号:';
Label5.Caption := '染料厂名:';
Label8.Caption := '外发染料单';
result := -22;
End;
//lbLittle.Caption := TcomboBox(sender).Text;
IF Result = 0 then BEGIN
TcomboBox(sender).SetFocus;
Label8.Caption := '';
infoWnd('提示:请确定业务类别!');
END;
end;
procedure TfrmStockOpt.cxComboBox1Exit(Sender: TObject);
begin
inherited;
IF CheckOperation(sender) = 21 THEN
ToolButton1.Enabled := true
Else
ToolButton1.Enabled := false;
end;
procedure TfrmStockOpt.FormShow(Sender: TObject);
begin
inherited;
cxComboBox1.Text := intTostr(tag);
CheckOperation(cxComboBox1);
end;
procedure TfrmStockOpt.colCodePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
inherited;
SetGritItemFocused(GetCpData);
end;
procedure TfrmStockOpt.cdMasterNewRecord(DataSet: TDataSet);
begin
inherited;
cdMaster.FieldByName('ddatePZ').AsDateTime := date;
cdMaster.FieldByName('ddateJh').AsDateTime := date + 1;
cdMaster.FieldByName('cuser').AsString := user;
end;
function TfrmStockOpt.CheckBeforePost(iOpt: integer): boolean;
var fsl: real;
begin
result := false;
if iOpt = 0 then exit;
with frmMain.cdPub do begin
close;
commandText := 'execute CheckBfrPostStock @ccode ='+#13+
quotedStr(trim(cdItem.fieldByname('ccode').AsString))+
',@fhd = ' + quotedStr(cdItem.fieldByname('fhd').AsString)+
',@fkd = ' + quotedStr(cdItem.fieldByname('fkd').AsString)+
',@ccolor = ' + quotedStr(trim(cdItem.fieldByname('ccolor').AsString));
open;
fsl := fieldbyname('fsl').AsFloat;
statusBar1.Panels[1].Text := '数量 ['+fieldbyname('fsl').AsString + '] '+
'重量 ['+fieldbyname('fzl').AsString + ']';
//fzl := fieldbyname('fzl').AsFloat;
if fsl = -1 then begin
colCode.Focused := true;
result := true;
infoWnd('提示:没有该编码的材料,请检查!');
abort;
end;
if (fsl < cdItem.fieldbyname('fsl').AsFloat) and (iOpt < 0) then begin
colSl.Focused := true;
result := true;
infoWnd('提示:库存量不足,请检查!');
abort;
end;
statusBar1.Panels[1].Text := '';
end;
end;
procedure TfrmStockOpt.cdItemBeforePost(DataSet: TDataSet);
begin
inherited;
CheckBeforePost(CheckOperation(cxComboBox1));
end;
procedure TfrmStockOpt.documentPrint;
var fje: real;
iOpt: integer;
begin
iOpt := CheckOperation(cxComboBox1);
if iOpt >= 0 then exit;
IF not queryWnd('保存成功,打印单据吗?') Then exit;
fje := cdMaster.fieldbyname('Fje').asfloat;
UpperCasePrint(fje);
frVariables['VcodeClient'] := cdMaster.fieldbyname('ccodeClient').asstring;
frVariables['VnameClient'] := cdMaster.fieldbyname('cNameClient').asstring;
frVariables['VdateJH'] := cdMaster.fieldbyname('DDateJh').asdateTime;
frVariables['Vdh'] := cdMaster.fieldbyname('cdh').asstring;
frVariables['VdatePZ'] := cdMaster.fieldbyname('DDatePz').asdatetime;
frVariables['Vje'] := fje;
frVariables['Vdress'] := cdMaster.fieldbyname('cPostDz').asstring;
frVariables['Vtel'] := cdMaster.fieldbyname('cTel').asstring;
if iOpt = -21 then
frmReport.ReportS(28, 0, '', cdItem.Data);
if iOpt = -22 then
frmReport.ReportS(29, 0, '', cdItem.Data);
end;
procedure TfrmStockOpt.ToolButton1Click(Sender: TObject);
begin
inherited;
frmGetStockPlan := TfrmGetStockPlan.Create(nil);
try
IF frmGetStockPlan.ShowModal = mrOk Then Begin
GetFromStockPlan(frmGetStockPlan.cdStockPlan.fieldbyname('cdh').AsString);
cxDBTextEdit1.SetFocus;
end;
finally
frmGetStockPlan.free;
frmGetStockPlan := nil;
end;
end;
procedure TfrmStockOpt.GetFromStockPlan(cdh: string);
var iKey: integer;
begin
with frmMain.cdPub do begin
close;
commandText := 'SELECT m.iKey,k.iKey iKeyClient,k.ccode,k.cName,k.cPost_dz,k.cTel, m.fje '+
'FROM T_StockPlanMasterZB m'+#13+
'left join T_PubClient k on(m.iKeyClient = K.iKEY)'+#13+
'WHERE m.cdh = '''+cdh+'''';
open;
cdTem.Data := data;
iKey := cdTem.fieldbyname('Ikey').AsInteger;
cdMaster.Edit;
cdMaster.FieldByName('iKeyClient').AsInteger := cdTem.fieldbyname('iKeyClient').AsInteger;
cdMaster.FieldByName('cCodeClient').AsString := cdTem.fieldbyname('cCode').AsString;
cdMaster.FieldByName('cNameClient').AsString := cdTem.fieldbyname('cName').AsString;
cdMaster.FieldByName('iKeyForm').AsInteger := iKey;
cdMaster.FieldByName('cPostdz').AsString := cdTem.fieldbyname('cPost_Dz').AsString;
cdMaster.FieldByName('cTel').AsString := cdTem.fieldbyname('cTel').AsString;
close;
commandText := 'SELECT I.FSL,I.FZL,G.iKey,G.ccode,g.cName,g.fhd,g.fkd,g.ccolor,g.cdw '+#13+
'FROM T_StockPlanItemZB I INNER JOIN T_Stock g on(I.IKeySTK = G.IKey)'+#13+
'WHERE I.IKeyM = '''+intTOstr(iKey)+'''';
open;
cdTem.Data := data;
close;
cdItem.EmptyDataSet;
While not cdTem.Eof do Begin
cdItem.Append;
cdItem.FieldByName('IkeyCp').Value := cdTem.fieldbyname('IKey').Value;
cdItem.FieldByName('CCode').Value := cdTem.fieldbyname('CCODE').Value;
cdItem.FieldByName('CName').Value := cdTem.fieldbyname('CName').Value;
cdItem.FieldByName('Fhd').Value := cdTem.fieldbyname('FHD').Value;
cdItem.FieldByName('FKD').Value := cdTem.fieldbyname('FKD').Value;
cdItem.FieldByName('Ccolor').Value := cdTem.fieldbyname('Ccolor').Value;
cdItem.FieldByName('Cdw').Value := cdTem.fieldbyname('cdw').Value;
cdItem.FieldByName('fsl').Value := cdTem.fieldbyname('fsl').Value;
cdItem.FieldByName('fzl').Value := cdTem.fieldbyname('fzl').Value;
cdItem.Post;
cdTem.Next;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -