📄 sanew.pas
字号:
unit SaNew;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DBCtrls, ComCtrls, Mask;
type
TFrm_SaNew = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
DBText1: TDBText;
DBText2: TDBText;
DBNo: TDBEdit;
DBName: TDBEdit;
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;
SpeedButton1: TSpeedButton;
procedure BtpostClick(Sender: TObject);
procedure BitBtn2Click(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_SaNew: TFrm_SaNew;
implementation
uses DMXS, DMKC, DMCG, sale, DMType, DType;
{$R *.dfm}
procedure TFrm_SaNew.BtpostClick(Sender: TObject);
var
S:Integer;
Item: TListItem;
begin
DMX.XSTable1.Post;
DMK.KCTable1.locate('编码',DMX.XSTable1.Fieldbyname('编号').Asstring,[]);
{减少现有库存数}
if DMK.KCTable1.FieldByName('编码').AsString=DMX.XSTable1.FieldByName('编号').AsString then
begin
S:=DMK.KCTable1.FieldValues['数量']-DMX.XSTable1.FieldValues['数量'];
with DMK.KCQuery1 do
begin
close;
sql.Clear;
SQL.Clear;
SQL.Add('Update KC');
//SQL.Add('Update KC set 数量=a.数量-b.数量 FROM KC a,XS b where a.编号=b.编号 and a.品名=b.品名');
SQL.Add('Set 数量=' +inttostr(S));
SQL.Add(format('Where 品名=''%s''',[DMX.XSTable1.FieldByName('品名').asstring]));
ExecSQL;
end;
end
else
showmessage('没有此商品');
Frm_Sale.ListView1.Items.Clear;
with DMX.XSQuery1 do
begin
close;
sql.Clear;
sql.Add('select b.购货单位,b.编号,b.品名,b.规格,b.单位,b.数量,b.单价,b.金额,b.生产企业,b.批号,b.有效期,b.备注 from XS b');
sql.Add('where b.单号 = '+DMX.XSATable1.fieldbyname('单号').Asstring);
ExecSQL;
first;
while not Eof do
begin
Item := Frm_Sale.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_SaNew.BitBtn2Click(Sender: TObject);
begin
DMX.XSATable1.Cancel;
Close;
end;
procedure TFrm_SaNew.DBNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
Begin
DMDrugs.DrugsTable1.Locate('编号',DBNo.Text,[]);
DMX.XSTable1.Fieldbyname('编号').Asstring:=DMDrugs.DrugsTable1.FieldByName('编号').Asstring;
DMX.XSTable1.Fieldbyname('品名').Asstring:=DMDrugs.DrugsTable1.FieldByName('品名').Asstring;
DBName.SetFocus;
end;
end;
procedure TFrm_SaNew.DBNameKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
DBSpecification.SetFocus;
end;
procedure TFrm_SaNew.DBSpecificationKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
DBUnit.SetFocus;
end;
procedure TFrm_SaNew.DBUnitKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
DBMagnitude.SetFocus;
end;
procedure TFrm_SaNew.DBMagnitudeKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
DBprice.SetFocus;
end;
procedure TFrm_SaNew.DBpriceKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
DBproposition.SetFocus;
end;
procedure TFrm_SaNew.DBFigureKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
DBproposition.SetFocus;
end;
procedure TFrm_SaNew.DBpropositionKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
DMX.XSTable1.FieldValues['金额']:=DMX.XSTable1.FieldValues['数量']*DMX.XSTable1.FieldValues['单价'];
DBnumber.SetFocus;
end;
end;
procedure TFrm_SaNew.DBnumberKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
DBdate.SetFocus;
end;
procedure TFrm_SaNew.DBdateKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
DBmemo.SetFocus;
end;
procedure TFrm_SaNew.DBmemoKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
DBTotal.SetFocus;
end;
procedure TFrm_SaNew.DBTotalKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
Btpost.SetFocus;
end;
procedure TFrm_SaNew.SpeedButton1Click(Sender: TObject);
begin
Form2.SpeedButton3.Caption:='确定';
Form2.SpeedButton3.Top:=23;
Form2.SpeedButton3.Left:=328;
Form2.SpeedButton2.Visible:=False;
Form2.ShowModal;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -