Prvotni verze pro Giteu
This commit is contained in:
162
frmZamena.pas
Normal file
162
frmZamena.pas
Normal file
@ -0,0 +1,162 @@
|
||||
unit frmZamena;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
||||
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons, Vcl.NumberBox, ddPlugin_TLB;
|
||||
|
||||
type
|
||||
TformZamena = class(TForm)
|
||||
Label1: TLabel;
|
||||
edtKod: TEdit;
|
||||
btnHledat: TBitBtn;
|
||||
Label2: TLabel;
|
||||
lblNazev: TLabel;
|
||||
Label3: TLabel;
|
||||
Label4: TLabel;
|
||||
Label5: TLabel;
|
||||
edtNakup: TNumberBox;
|
||||
edtMnoz: TNumberBox;
|
||||
btnOK: TButton;
|
||||
btnStorno: TButton;
|
||||
lblStav: TLabel;
|
||||
procedure btnHledatClick(Sender: TObject);
|
||||
procedure edtNakupExit(Sender: TObject);
|
||||
procedure btnOKClick(Sender: TObject);
|
||||
procedure btnStornoClick(Sender: TObject);
|
||||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||||
procedure edtKodExit(Sender: TObject);
|
||||
private
|
||||
public
|
||||
Helios: IHelios;
|
||||
jeTest: boolean;
|
||||
end;
|
||||
|
||||
var
|
||||
formZamena: TformZamena;
|
||||
idKZ, idSS: integer;
|
||||
mj: string;
|
||||
stav: Extended;
|
||||
|
||||
implementation
|
||||
uses helUtils;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
|
||||
|
||||
procedure TformZamena.btnHledatClick(Sender: TObject);
|
||||
var lSQL: string;
|
||||
begin
|
||||
edtKod.Text:= edtKod.Text.Trim;
|
||||
if (edtKod.Text<>'') then
|
||||
begin
|
||||
try
|
||||
with Helios.OpenSQL('SELECT ID FROM ' + tblKZ + ' WHERE RegCis=N' + edtKod.Text.QuotedString) do
|
||||
if (RecordCount=1) then
|
||||
begin
|
||||
idKZ:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT ID FROM ' + tblKZ + ' WHERE RegCis=N' + edtKod.Text.QuotedString);
|
||||
lblNazev.Caption:= helUtils.getHeliosStrVal(Helios, '', 'SELECT Nazev1 FROM ' + tblKZ + ' WHERE ID=' + idKZ.ToString);
|
||||
mj:= helUtils.getHeliosStrVal(Helios, '', 'SELECT MJEvidence FROM ' + tblKZ + ' WHERE ID=' + idKZ.ToString);
|
||||
stav:= helUtils.getHeliosFloatVal(Helios, 0, 'SELECT Mnozstvi FROM ' + tblSS + ' WHERE IDSklad=N' + Helios.Sklad.QuotedString + ' AND IDKmenZbozi=' + idKZ.toString);
|
||||
lblStav.Caption:= Trim(stav.ToString + ' ' + mj);
|
||||
lSQL:= 'CASE Mnozstvi WHEN 0 THEN 0 ELSE StavSkladuSouvis/Mnozstvi END';
|
||||
edtNakup.Value:= helUtils.getHeliosFloatVal(Helios, 0, 'SELECT ' + lSQL + ' FROM ' + tblSS + ' WHERE IDSklad=N' + Helios.Sklad.QuotedString + ' AND IDKmenZbozi=' + idKZ.toString);
|
||||
end
|
||||
else
|
||||
begin
|
||||
stav:= 0;
|
||||
lblStav.Caption:= '';
|
||||
lblNazev.Caption:= '';
|
||||
idKZ:= 0;
|
||||
if (RecordCount=0) then
|
||||
Helios.Error(#1'Nebyla nalezena žádná karta'#1)
|
||||
else
|
||||
Helios.Error(#1'Zadanému kódu odpovídá víc než 1 karta'#1);
|
||||
if (edtKod.CanFocus) then
|
||||
edtKod.SetFocus;
|
||||
end;
|
||||
except
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformZamena.btnOKClick(Sender: TObject);
|
||||
var lSQL: string;
|
||||
begin
|
||||
if (edtMnoz.Value<(-1.0*stav)) then
|
||||
begin
|
||||
Helios.Error(#1'!! Nelze vydat víc než máte skladem !!'#1);
|
||||
if (edtMnoz.CanFocus) then
|
||||
begin
|
||||
edtMnoz.SetFocus;
|
||||
Exit;
|
||||
end;
|
||||
end;
|
||||
|
||||
if (edtMnoz.Value=0) then
|
||||
Helios.Error(#1'Zadejte množství'#1)
|
||||
else
|
||||
if (idKZ=0) then
|
||||
Helios.Error(#1'Není specifikována karta zboží'#1)
|
||||
else
|
||||
begin
|
||||
lSQL:= 'IF OBJECT_ID(N''tempdb..#TabAppZamena'') IS NOT NULL DROP TABLE #TabAppZamena' + CRLF;
|
||||
lSQL:= lSQL + 'CREATE TABLE #TabAppZamena (IDKmenZbozi INT, IDSklad NVARCHAR(30) NOT NULL, Mnozstvi NUMERIC(19,6) NOT NULL DEFAULT 0.0';
|
||||
lSQL:= lSQL + ', NakupniCena NUMERIC(19,6) NOT NULL DEFAULT 0.0, UserID INT NOT NULL)' + CRLF;
|
||||
lSQL:= lSQL + 'INSERT #TabAppZamena (IDKmenZbozi, IDSklad, Mnozstvi, NakupniCena, UserID) SELECT ' + idKZ.ToString + ', N' + Helios.Sklad.QuotedString;
|
||||
lSQL:= lSQL + ', ' + edtMnoz.Value.ToString.Replace(',', '.') + ', ' + edtNakup.Value.ToString.Replace(',', '.') + ', ' + Helios.UserId.ToString + CRLF;
|
||||
lSQL:= lSQL + 'IF OBJECT_ID(N''dbo.ep_HDC_App_Zamena'') IS NOT NULL EXEC dbo.ep_HDC_App_Zamena';
|
||||
try
|
||||
helUtils.waitStart(nil, 'Generuji doklad...', 0, 255);
|
||||
Helios.ExecSQL(lSQL);
|
||||
helUtils.waitEnd;
|
||||
except on E:Exception do
|
||||
Helios.Error('Chyba: ' + E.Message);
|
||||
end;
|
||||
Close;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformZamena.btnStornoClick(Sender: TObject);
|
||||
begin
|
||||
Close;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformZamena.edtKodExit(Sender: TObject);
|
||||
begin
|
||||
btnHledatClick(Sender);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformZamena.edtNakupExit(Sender: TObject);
|
||||
begin
|
||||
if (edtNakup.Value<=0) then
|
||||
begin
|
||||
Helios.Error(#1'!! Nákupní cena musí být větší než 0 !!'#1);
|
||||
if (edtNakup.CanFocus) then
|
||||
edtNakup.SetFocus;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformZamena.FormClose(Sender: TObject; var Action: TCloseAction);
|
||||
begin
|
||||
Action:= caFree;
|
||||
end;
|
||||
|
||||
end.
|
||||
Reference in New Issue
Block a user