Prvni verze na Git
This commit is contained in:
185
frmUnit13.pas
Normal file
185
frmUnit13.pas
Normal file
@ -0,0 +1,185 @@
|
||||
unit frmUnit13;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
||||
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Vcl.StdCtrls, FireDAC.Comp.Client, ddPlugin_TLB,
|
||||
FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Param, FireDAC.Stan.Error, FireDAC.DatS,
|
||||
FireDAC.Phys.Intf, FireDAC.DApt.Intf, FireDAC.Comp.DataSet, Vcl.Grids, Vcl.DBGrids,
|
||||
JvExDBGrids, JvDBGrid;
|
||||
|
||||
type
|
||||
TformPrevPrij = class(TForm)
|
||||
vTab1: TFDMemTable;
|
||||
ds1: TDataSource;
|
||||
btnOK: TButton;
|
||||
btnCancel: TButton;
|
||||
vTab1idPZ: TIntegerField;
|
||||
vTab1SZ: TStringField;
|
||||
vTab1RegCis: TStringField;
|
||||
vTab1Nazev1: TStringField;
|
||||
vTab1Mnoz: TFloatField;
|
||||
vTab1idPZold: TIntegerField;
|
||||
grdPrijemky: TJvDBGrid;
|
||||
procedure FormShow (Sender: TObject);
|
||||
procedure btnCancelClick (Sender: TObject);
|
||||
procedure btnOKClick (Sender: TObject);
|
||||
procedure FormClose (Sender: TObject; var Action: TCloseAction);
|
||||
procedure grdPrijemkyDblClick (Sender: TObject);
|
||||
procedure grdPrijemkyDrawColumnCell (Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
|
||||
private
|
||||
procedure NactiPrijemku;
|
||||
public
|
||||
Helios: IHelios;
|
||||
idDZ: integer;
|
||||
idDZold: integer;
|
||||
end;
|
||||
|
||||
var
|
||||
formPrevPrij: TformPrevPrij;
|
||||
|
||||
implementation
|
||||
uses myUtils, helUtils;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
procedure TformPrevPrij.btnCancelClick (Sender: TObject);
|
||||
begin
|
||||
Close;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TformPrevPrij.NactiPrijemku;
|
||||
var sql: string;
|
||||
c: TCloseAction;
|
||||
begin
|
||||
if (idDZ>0) then
|
||||
begin
|
||||
with Helios.OpenSQL('SELECT RadaDokladu,CONVERT(nvarchar,PoradoveCislo) FROM ' + tblDZ + ' WHERE id=' + IntToStr(idDZ)) do
|
||||
begin
|
||||
sql:= ' Oprava P<>evodky/P<><50>jemky : ' + VarHodnota(FieldValues(0),'') + ' ';
|
||||
sql:= sql + VarHodnota(FieldValues(1),'');
|
||||
Self.Caption:= sql;
|
||||
end;
|
||||
|
||||
if not vTab1.Active then
|
||||
vTab1.Open;
|
||||
sql:= 'SELECT id,SkupZbo,RegCis,Nazev1,Mnozstvi,ISNULL(IdOldPolozka,0) FROM ' + tblPZ;
|
||||
sql:= sql + ' WHERE IdDoklad=' + IntToStr(idDZ) + ' ORDER BY DatPorizeni';
|
||||
with Helios.OpenSQL(sql) do
|
||||
begin
|
||||
First;
|
||||
while not(EOF) do
|
||||
begin
|
||||
vTab1.Append;
|
||||
vTab1.FieldByName('idPZ').AsInteger:= VarHodnota(FieldValues(0),0);
|
||||
vTab1.FieldByName('SZ').AsString:= VarHodnota(FieldValues(1),'');
|
||||
vTab1.FieldByName('RegCis').AsString:= VarHodnota(FieldValues(2),'');
|
||||
vTab1.FieldByName('Nazev1').AsString:= VarHodnota(FieldValues(3),'');
|
||||
vTab1.FieldByName('Mnoz').AsExtended:= VarHodnota(FieldValues(4),0.0);
|
||||
vTab1.FieldByName('idPZOld').AsInteger:= VarHodnota(FieldValues(5),0);
|
||||
vTab1.Post;
|
||||
Next;
|
||||
end;
|
||||
vTab1.RecNo:= 1;
|
||||
end;
|
||||
end
|
||||
else
|
||||
Helios.Error(#1'Nebyla vybr<62>na <20><>dn<64> p<><70>jemka.'#1);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TformPrevPrij.grdPrijemkyDblClick(Sender: TObject);
|
||||
var mn: Extended;
|
||||
begin
|
||||
if not(VarIsNull(vTab1.FieldByName('Mnoz').Value)) then
|
||||
mn:= vTab1.FieldByName('Mnoz').AsExtended
|
||||
else
|
||||
mn:= 0;
|
||||
if InputNumeric('Zadejte mno<6E>stv<74>','Nov<6F> mno<6E>stv<74>:',mn) then
|
||||
begin
|
||||
vTab1.Edit;
|
||||
vTab1.FieldByName('Mnoz').AsExtended:= mn;
|
||||
vTab1.Post;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TformPrevPrij.grdPrijemkyDrawColumnCell (Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
|
||||
begin
|
||||
if (gdSelected in State) then
|
||||
begin
|
||||
TJvDBGrid(Sender).Canvas.Font.Color:= clWhite;
|
||||
TJvDBGrid(Sender).Canvas.Brush.Color:= $00FF9933;
|
||||
end;
|
||||
TJvDBGrid(Sender).DefaultDrawColumnCell (Rect, DataCol, Column, State);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TformPrevPrij.btnOKClick (Sender: TObject);
|
||||
var idx: integer;
|
||||
sql: string;
|
||||
begin
|
||||
try
|
||||
if (vTab1.RecordCount>0) then
|
||||
begin
|
||||
idx:= 0;
|
||||
vTab1.First;
|
||||
while not(vTab1.Eof) do
|
||||
begin
|
||||
sql:= 'UPDATE ' + tblPZ + ' SET Mnozstvi=' + StringReplace(vTab1.FieldByName('Mnoz').AsString,'','',[rfReplaceAll]);
|
||||
sql:= sql + ' WHERE id=' + vTab1.FieldByName('idPZ').AsString;
|
||||
Helios.ExecSQL(sql);
|
||||
sql:= 'UPDATE ' + tblPZ + ' SET CCbezDaniKc=JcBezDaniKc*Mnozstvi,CCsDPHKc=JcBezDaniKc*Mnozstvi,CCbezDaniVal=JcBezDaniKc*Mnozstvi,';
|
||||
sql:= sql + 'CCsDPHVal=JcBezDaniKc*Mnozstvi,CCbezDaniKcPoS=JcBezDaniKc*Mnozstvi,CCsDPHKcPoS=JcBezDaniKc*Mnozstvi,';
|
||||
sql:= sql + 'CCbezDaniValPoS=JcBezDaniKc*Mnozstvi,CCsDPHValPoS=JcBezDaniKc*Mnozstvi,CCsSDKc=JcBezDaniKc*Mnozstvi,';
|
||||
sql:= sql + 'CCsSDVal=JcBezDaniKc*Mnozstvi,BlokovaniEditoru=NULL WHERE id=' + vTab1.FieldByName('idPZ').AsString;
|
||||
Helios.ExecSQL(sql);
|
||||
|
||||
sql:= 'UPDATE ' + tblPZ + ' SET Mnozstvi=' + StringReplace(vTab1.FieldByName('Mnoz').AsString,'','',[rfReplaceAll]);
|
||||
sql:= sql + ' WHERE id=' + vTab1.FieldByName('idPZold').AsString;
|
||||
Helios.ExecSQL(sql);
|
||||
sql:= 'UPDATE ' + tblPZ + ' SET CCbezDaniKc=JcBezDaniKc*Mnozstvi,CCsDPHKc=JcBezDaniKc*Mnozstvi,CCbezDaniVal=JcBezDaniKc*Mnozstvi,';
|
||||
sql:= sql + 'CCsDPHVal=JcBezDaniKc*Mnozstvi,CCbezDaniKcPoS=JcBezDaniKc*Mnozstvi,CCsDPHKcPoS=JcBezDaniKc*Mnozstvi,';
|
||||
sql:= sql + 'CCbezDaniValPoS=JcBezDaniKc*Mnozstvi,CCsDPHValPoS=JcBezDaniKc*Mnozstvi,CCsSDKc=JcBezDaniKc*Mnozstvi,';
|
||||
sql:= sql + 'CCsSDVal=JcBezDaniKc*Mnozstvi,BlokovaniEditoru=NULL WHERE id=' + vTab1.FieldByName('idPZold').AsString;
|
||||
Helios.ExecSQL(sql);
|
||||
vTab1.Next;
|
||||
end;
|
||||
Helios.ExecSQL('EXEC dbo.hp_VypCenOZPolozek_IDDokladu @IDDoklad=' + IntToStr(idDZ) + ',@AktualizaceSlev=1');
|
||||
Helios.ExecSQL('UPDATE ' + tblDZ + ' SET BlokovaniEditoru=NULL WHERE id=' + IntToStr(idDZ));
|
||||
Helios.ExecSQL('EXEC dbo.hp_VypCenOZPolozek_IDDokladu @IDDoklad=' + IntToStr(idDZold) + ',@AktualizaceSlev=1');
|
||||
Helios.ExecSQL('UPDATE ' + tblDZ + ' SET BlokovaniEditoru=NULL WHERE id=' + IntToStr(idDZold));
|
||||
end;
|
||||
Close;
|
||||
finally
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformPrevPrij.FormClose (Sender: TObject; var Action: TCloseAction);
|
||||
begin
|
||||
if (vTab1.Active) then
|
||||
vTab1.Close;
|
||||
Helios.Refresh (true);
|
||||
Action:= caFree;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TformPrevPrij.FormShow(Sender: TObject);
|
||||
begin
|
||||
grdPrijemky.Font.Size:= Helios.FontHeight;
|
||||
grdPrijemky.Font.Name:= Helios.Font;
|
||||
NactiPrijemku;
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
Reference in New Issue
Block a user