📄 shnew.pas
字号:
unit ShNew;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DBCtrls, ComCtrls, Mask;
type
TFrm_New = class(TForm)
Label1: TLabel;
Label2: TLabel;
DBNo: TDBEdit;
DBName: TDBEdit;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
DBSpecification: TDBEdit;
DBFigure: TDBEdit;
DBMagnitude: TDBEdit;
DBprice: TDBEdit;
DBproposition: TDBEdit;
DBnumber: TDBEdit;
DBmemo: TDBEdit;
DBTotal: TDBEdit;
DateTimeyxq: TDateTimePicker;
DBdate: TDBEdit;
DBUnit: TDBComboBox;
Btpost: TBitBtn;
BitBtn2: TBitBtn;
Label13: TLabel;
Label14: TLabel;
DBText1: TDBText;
DBText2: TDBText;
SpeedButton1: TSpeedButton;
procedure DateTimeyxqCloseUp(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BtpostClick(Sender: TObject);
procedure DBNoKeyPress(Sender: TObject; var Key: Char);
procedure DBNameKeyPress(Sender: TObject; var Key: Char);
procedure DBSpecificationKeyPress(Sender: TObject; var Key: Char);
procedure DBUnitKeyPress(Sender: TObject; var Key: Char);
procedure DBMagnitudeKeyPress(Sender: TObject; var Key: Char);
procedure DBpriceKeyPress(Sender: TObject; var Key: Char);
procedure DBFigureKeyPress(Sender: TObject; var Key: Char);
procedure DBpropositionKeyPress(Sender: TObject; var Key: Char);
procedure DBnumberKeyPress(Sender: TObject; var Key: Char);
procedure DBdateKeyPress(Sender: TObject; var Key: Char);
procedure DBmemoKeyPress(Sender: TObject; var Key: Char);
procedure DBTotalKeyPress(Sender: TObject; var Key: Char);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Frm_New: TFrm_New;
implementation
uses DMCG, DMKC, Shopping, DMType, DType;
{$R *.dfm}
procedure TFrm_New.DateTimeyxqCloseUp(Sender: TObject);
begin
DMC.CGTable1.Edit;
DMC.CGTable1.fieldbyname('有效期').Asstring:=FormatDateTime('yyyy-MM-DD',DateTimeyxq.date);
end;
procedure TFrm_New.BitBtn2Click(Sender: TObject);
begin
DMC.CGTable1.Cancel;
Close;
end;
procedure TFrm_New.BtpostClick(Sender: TObject);
var
S:Integer;
Item: TListItem;
begin
DMC.CGTable1.Post;
DMK.KCTable1.locate('编码',DMC.CGTable1.Fieldbyname('编号').Asstring,[]);
if DMK.KCTable1.FieldByName('编码').AsString=DMC.CGTable1.FieldByName('编号').AsString then
begin
{累加现有库存数}
S:=DMK.KCTable1.FieldValues['数量']+DMC.CGTable1.FieldValues['数量'];
with DMK.KCQuery1 do
begin
close;
sql.Clear;
SQL.Clear;
SQL.Add('Update KC');
SQL.Add('Set 数量=' +inttostr(S));
SQL.Add(format('Where 品名=''%s''',[DMC.CGTable1.FieldByName('品名').asstring]));
ExecSQL;
end;
end
else
begin
{进货时同时新增库存数}
DMK.KCTable1.Append;
DMK.KCTable1.Edit;
DMK.KCTable1.FieldByName('编码').AsString := DMC.CGTable1.FieldByName('编号').AsString;
DMK.KCTable1.FieldByName('品名').AsString := DMC.CGTable1.FieldByName('品名').AsString;
DMK.KCTable1.FieldByName('数量').AsInteger := DMC.CGTable1.FieldByName('数量').AsInteger;
DMK.KCTable1.Post;
end;
Frm_Shopping.ListView1.Items.Clear;
with DMC.CGQuery1 do
begin
close;
sql.Clear;
sql.Add('select b.购货单位,b.编号,b.品名,b.规格,b.单位,b.数量,b.单价,b.金额,b.生产企业,b.批号,b.有效期,b.备注 from CG b');
sql.Add('where b.单号 = '+DMC.CGATable1.fieldbyname('单号').Asstring);
// open;
ExecSQL;
first;
while not Eof do
begin
// ListView1.Items.Clear;
Item := Frm_Shopping.ListView1.Items.Add;
Item.Caption := FieldByName('编号').AsString;
Item.SubItems.Add(FieldByName('品名').AsString);
Item.SubItems.Add(FieldByName('规格').AsString);
Item.SubItems.Add(FieldByName('单位').AsString);
Item.SubItems.Add(inttostr(FieldByName('数量').AsInteger));
Item.SubItems.Add(inttostr(FieldByName('单价').AsInteger));
Item.SubItems.Add(inttostr(FieldByName('金额').AsInteger));
Item.SubItems.Add(FieldByName('生产企业').AsString);
Item.SubItems.Add(FieldByName('批号').AsString);
Item.SubItems.Add(FieldByName('有效期').AsString);
Item.SubItems.Add(FieldByName('备注').AsString);
Next;
end;
end;
Close;
end;
procedure TFrm_New.DBNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
Begin
DMDrugs.DrugsTable1.Locate('编号',DBNo.Text,[]);
DMC.CGTable1.Fieldbyname('编号').Asstring:=DMDrugs.DrugsTable1.FieldByName('编号').Asstring;
DMC.CGTable1.Fieldbyname('品名').Asstring:=DMDrugs.DrugsTable1.FieldByName('品名').Asstring;
DBName.SetFocus;
end;
end;
procedure TFrm_New.DBNameKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
DBSpecification.SetFocus;
end;
procedure TFrm_New.DBSpecificationKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
DBUnit.SetFocus;
end;
procedure TFrm_New.DBUnitKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
DBMagnitude.SetFocus;
end;
procedure TFrm_New.DBMagnitudeKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
DBprice.SetFocus;
end;
procedure TFrm_New.DBpriceKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
DBproposition.SetFocus;
end;
procedure TFrm_New.DBFigureKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
DBproposition.SetFocus;
end;
procedure TFrm_New.DBpropositionKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
DMC.CGTable1.FieldValues['金额']:=DMC.CGTable1.FieldValues['数量']*DMC.CGTable1.FieldValues['单价'];
DBnumber.SetFocus;
end;
end;
procedure TFrm_New.DBnumberKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
DBdate.SetFocus;
end;
procedure TFrm_New.DBdateKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
DBmemo.SetFocus;
end;
procedure TFrm_New.DBmemoKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
DBTotal.SetFocus;
end;
procedure TFrm_New.DBTotalKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
Btpost.SetFocus;
end;
procedure TFrm_New.SpeedButton1Click(Sender: TObject);
begin
Form2.SpeedButton2.Caption:='确定';
Form2.SpeedButton2.Top:=23;
Form2.SpeedButton2.Left:=328;
Form2.SpeedButton3.Visible:=False;
Form2.ShowModal;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -