Files
LOVATO-plugin/frmKanbanObj.pas
2026-04-07 18:23:56 +02:00

591 lines
21 KiB
ObjectPascal

unit frmKanbanObj;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Data.DB, 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;
const
KLF_ACTIVATE = $00000001;
KLF_SETFORPROCESS = $00000100;
CRLF = #13#10;
type
TformKanbanObj = class(TForm)
Label1: TLabel;
lblPocetPol: TLabel;
Label2: TLabel;
lblDodavatel: TLabel;
ds: TDataSource;
vTable: TFDMemTable;
vTableIdPohybu: TIntegerField;
vTableIdKanbanBox: TIntegerField;
vTableNazev: TStringField;
vTableMnozstvi: TSmallintField;
btnStorno: TButton;
btnOK: TButton;
btnGenObj: TButton;
btnGenKoopOrVPr: TButton; // pøidáno 18.3.2021
vTableRegCis: TStringField;
mLog: TMemo;
Label3: TLabel;
edtBox: TEdit;
lblWork: TLabel;
grdPolozky: TJvDBGrid;
procedure FormShow (Sender: TObject);
procedure edtBoxKeyUp (Sender: TObject; var Key: Word; Shift: TShiftState);
procedure btnStornoClick (Sender: TObject);
procedure FormClose (Sender: TObject; var Action: TCloseAction);
procedure btnGenObjClick (Sender: TObject);
procedure btnGenKoopOrVPrClick(Sender: TObject); // pøidáno 18.3.2021
procedure btnOKClick (Sender: TObject);
procedure grdPolozkyKeyUp (Sender: TObject; var Key: Word; Shift: TShiftState);
private
function IDPol2Str: string;
public
Helios: IHelios;
idObj: integer;
btnGenVPrOrKoopText: string; // pøidáno 18.3.2021
PoslatEmail: integer; // pøidáno 10.6.2022
TypKooObj: boolean; // pøidáno 10.6.2022
NadpisTypuKoopObj: String; // pøidáno 10.6.2022
Zarovnani: string; // pøidáno 10.6.2022
Cesta: string; // pøidáno 10.6.2022
Nazev: string // pøidáno 10.6.2022
end;
var
formKanbanObj: TformKanbanObj;
cOrg: integer;
jeGenVydej, jeKoopObj, primaObj: Boolean;
layName: array[0..KL_NAMELENGTH+1] of Char;
jsouGenVPr: Boolean; // pøidáno 18.3.2021
implementation
uses
System.StrUtils,
Globalni;
{$R *.dfm}
function TformKanbanObj.IDPol2Str: string;
var tmp: string;
x: integer;
begin
x:= vTable.RecNo;
grdPolozky.LockDrawing;
vTable.First;
tmp:= '';
while not(vTable.Eof) do
begin
if (vTable.Fields.FieldByName('IdPohybu').AsString<>'') then
tmp:= tmp + vTable.Fields.FieldByName('IdPohybu').AsString + ',';
vTable.Next;
end;
if (RightStr(tmp,1)=',') then
SetLength(tmp, Length(tmp)-1);
vTable.RecNo:= x;
grdPolozky.UnlockDrawing;
result:= tmp;
end;
procedure TformKanbanObj.grdPolozkyKeyUp (Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if (jeGenVydej) then
Helios.Error(#1'Z objednávky byla vytvoøena výdejka obalù, záznamy nelze mazat.'#1)
else
begin
// pøidáno 18.3.2021
if (jsouGenVPr) then
Helios.Error(#1'Z objednávky byly vygenerovány výrobní pøíkazy nebo kooperaèní objednávka, záznamy nelze mazat.'#1)
else
begin
// konec pøidáno 18.3.2021
if (Key=VK_DELETE) and (vTable.RecordCount>0) then
if Helios.YesNo('Opravdu chcete z objednávky smazat tento box ?',false) then
begin
vTable.Delete;
lblPocetPol.Caption:= IntToStr(StrToInt(lblPocetPol.Caption)-1);
grdPolozky.Refresh;
edtBox.SetFocus;
end;
end;
end; // pøidáno 18.3.2021
end;
procedure TformKanbanObj.btnStornoClick(Sender: TObject);
begin
Close;
end;
procedure TformKanbanObj.btnOKClick(Sender: TObject);
var lSQL, idcka, idKZobal: string;
x: integer;
begin
lblWork.Visible:= true;
lblWork.Caption:= 'Ukládám položky...';
lSQL:= 'DECLARE @i INT; SELECT @i=ISNULL(MAX(id),0) FROM dbo._TabKanbanPohyby;DBCC CHECKIDENT(_TabKanbanPohyby,reseed,@i);';
Helios.ExecSQL(lSQL);
idcka:= IDPol2Str;
if (idObj>0) then
begin
Helios.ExecSQL('DELETE FROM dbo._TabKanbanPohyby WHERE IdKanbanObj=' + IntToStr(idObj) + ' AND Id NOT IN (' + IfThen(idcka='','0',idcka) + ')');
x:= vTable.RecNo;
grdPolozky.BeginUpdate;
vTable.First;
while not(vTable.Eof) do
begin
if (vTable.Fields.FieldByName('IdPohybu').AsString='') then
begin
idKZobal:= '';
lSQL:= 'SELECT kzO.Id FROM dbo._TabKanbanBox b INNER JOIN dbo.TabKmenZbozi kz ON (kz.Id=b.IdKmenZbozi)';
lSQL:= lSQL + ' LEFT JOIN dbo.TabKmenZbozi_EXT kze ON (kze.Id=kz.Id) LEFT JOIN dbo.TabKmenZbozi kzO ON';
lSQL:= lSQL + ' (kzO.CisloZbozi=kze._KanbanObal) WHERE b.Id=' + vTable.Fields.FieldByName('IdKanbanBox').AsString;
with Helios.OpenSQL(lSQL) do
if (RecordCount=1) then
if not VarIsNull(FieldValues(0)) then
idKZobal:= VarToStr(FieldValues(0));
lSQL:= 'INSERT dbo._TabKanbanPohyby (IDKanbanObj, IDKanbanBox, IdKmenZboziObal) VALUES (';
lSQL:= lSQL + IntToStr(idObj) + ',' + vTable.Fields.FieldByName('IdKanbanBox').AsString + ',';
lSQL:= lSQL + IfThen(idKZobal='','null',idKZobal) + ')';
Helios.ExecSQL(lSQL);
end;
vTable.Next;
end;
vTable.RecNo:= x;
grdPolozky.EndUpdate;
Close;
end
else
begin
if (cOrg >=0) then
begin // pøidáno 18.3.2021
lSQL:= 'DECLARE @i INT; SELECT @i=ISNULL(MAX(id),0) FROM dbo._TabKanbanObj; DBCC CHECKIDENT(_TabKanbanObj,reseed,@i);';
Helios.ExecSQL(lSQL);
lSQL:= 'INSERT dbo._TabKanbanObj (CisloOrgKoop) VALUES (' + IntToStr(cOrg) + '); SELECT SCOPE_IDENTITY()';
with Helios.OpenSQL(lSQL) do
if (RecordCount=1) then
begin
idObj:= StrToInt(VarToStr(FieldValues(0)));
x:= vTable.RecNo;
grdPolozky.BeginUpdate;
vTable.First;
while not(vTable.Eof) do
begin
idKZobal:= '';
lSQL:= 'SELECT kzO.Id FROM dbo._TabKanbanBox b INNER JOIN dbo.TabKmenZbozi kz ON (kz.Id=b.IdKmenZbozi)';
lSQL:= lSQL + ' LEFT JOIN dbo.TabKmenZbozi_EXT kze ON (kze.Id=kz.Id) LEFT JOIN dbo.TabKmenZbozi kzO ON';
lSQL:= lSQL + ' (kzO.CisloZbozi=kze._KanbanObal) WHERE b.Id=' + vTable.Fields.FieldByName('IdKanbanBox').AsString;
with Helios.OpenSQL(lSQL) do
if (RecordCount=1) then
if not VarIsNull(FieldValues(0)) then
idKZobal:= VarToStr(FieldValues(0));
lSQL:= 'INSERT dbo._TabKanbanPohyby (IDKanbanObj, IDKanbanBox, IdKmenZboziObal) VALUES (';
lSQL:= lSQL + IntToStr(idObj) + ',' + vTable.Fields.FieldByName('IdKanbanBox').AsString + ',';
lSQL:= lSQL + IfThen(idKZobal='','null',idKZobal) + ')';
Helios.ExecSQL(lSQL);
vTable.Next;
end;
vTable.RecNo:= x;
grdPolozky.EndUpdate;
Close;
end;
end
else
begin
Close;
end; // pøidáno 18.3.2021
end;
lblWork.Visible:= false;
end;
procedure TformKanbanObj.btnGenObjClick (Sender: TObject);
begin
btnGenObj.Caption:= 'Probíhá generování...';
if (primaObj) then
btnOKClick(Sender);
try
Helios.ExecSQL('EXEC dbo.ep_KanbanGenVydejObalu @idKanObj=' + IntToStr(idObj));
btnGenObj.Caption:= 'Generuj výdejku obalù';
with Helios.OpenSQL('SELECT IdVydejObalu FROM dbo._TabKanbanObj WHERE Id=' + IntToStr(idObj)) do
if (RecordCount=1) then
if not VarIsNull(FieldValues(0)) then
Helios.PrintForm3(18, 2, 'TabDokladyZbozi.Id=' + VarToStr(FieldValues(0)));
Close;
except on E:Exception do
Helios.Error(#1'Chyba pøi generování výdejky kanban boxù'#1#13#10 + E.Message);
end;
end;
// pøidáno 18.3.2021
procedure TformKanbanObj.btnGenKoopOrVPrClick (Sender: TObject);
var
IDKoopObj, JeGenKoop : integer;
Sql : string;
JmenoSouboruVyg: String;
begin
//if (primaObj) then
btnOKClick (Sender);
with Helios.OpenSQL('SELECT CASE WHEN EXISTS (SELECT 1 FROM dbo._TabKanbanPohyby WHERE IdKanbanObj = ' + IntToStr(idObj) + ' AND IDPrikaz IS NULL) OR NOT EXISTS (SELECT 1 FROM dbo._TabKanbanPohyby WHERE IdKanbanObj = ' + IntToStr(idObj) + ') THEN 1 ELSE 0 END' ) do
begin
if VarIsNull(FieldValues(0)) or (VarToStr(FieldValues(0))='0') or (VarToStr(FieldValues(0))='') then begin
Helios.Error('Výrobní pøíkazy již byly vygenerovány. Nelze je vygenerovat znovu');
exit;
end;
end;
with Helios.OpenSQL('SELECT CASE WHEN EXISTS (SELECT 1 FROM dbo._TabKanbanPohyby WHERE IdKanbanObj = ' + IntToStr(idObj) + ') THEN 1 ELSE 0 END' ) do
begin
if VarIsNull(FieldValues(0)) or (VarToStr(FieldValues(0))='0') or (VarToStr(FieldValues(0))='') then begin
Helios.Error('Nejsou zadány žádné položky');
exit;
end;
end;
btnGenKoopOrVPr.Caption:= 'Probíhá generování...';
try
//Helios.ExecSQL('EXEC dbo.hpx_NTS_Kanban_GenerujKoopObjNeboVPr @idKanObj=' + IntToStr(idObj)); // zakomentováno 10.6.2022
// pøidáno 10.6.2022
Sql := 'DECLARE @IDKoopObj INT, @VzniklaKoopObj INT; ';
Sql := Sql + ' EXEC dbo.hpx_NTS_Kanban_GenerujKoopObjNeboVPr_Plugin @idKanObj=' + IntToStr(idObj) + ', @IDKoopObj = @IDKoopObj OUT, @VzniklaKoopObj = @VzniklaKoopObj OUT;';
Sql := Sql + ' SELECT @IDKoopObj AS IDKoopObj, @VzniklaKoopObj AS VzniklaKoopObj';
with Helios.OpenSQL(Sql) do
begin
if not VarIsNull(FieldValues(0)) then IDKoopObj := FieldValues(0) else IDKoopObj := -99;
if not VarIsNull(FieldValues(1)) then JeGenKoop := FieldValues(1) else JeGenKoop := 0;
end;
// konec pøidání 10.6.2022
btnGenKoopOrVPr.Caption:= btnGenVPrOrKoopText;
//Close; // zakomentováno 10.6.2022
except on E:Exception do begin
Helios.Error(#1'Chyba pøi generování kooperaèní objednávky nebo VPø'#1#13#10 + E.Message);
btnGenKoopOrVPr.Caption:= btnGenVPrOrKoopText; // pøidáno 10.6.2022
exit; // pøidáno 10.6.2022
end;
end;
// pøidáno 10.6.2022
if (PoslatEmail = 1) and (IDKoopObj > 0) and (JeGenKoop > 0) then begin
btnGenKoopOrVPr.Caption:= 'Export do xls...';
// export do xls
with Helios.OpenSQL('SELECT id FROM dbo.TabKoopObj WHERE realizovano=0 AND id=' + IntToStr(IDKoopObj)) do begin
if (RecordCount=0) then begin
JmenoSouboruVyg:= ExportKoopObjXls (Helios, IDKoopObj, TypKooObj, NadpisTypuKoopObj, Zarovnani, Cesta, Nazev, 0) ;
end else begin
Helios.Error(#1'Kooperaèní objednávka není realizována, nelze exportovat.'#1 + CRLF + 'Realizujte jí a zkuste to znovu.');
end;
end;
// zavolání procedury na poslání e-mailu
btnGenKoopOrVPr.Caption:= 'Generování e-mailu...';
Sql := 'DECLARE @IDExtKom INT = ' + IntToStr(Helios.ExtKomID) + ', @Soubor NVARCHAR(255) = N''' + JmenoSouboruVyg + ''', @Cesta NVARCHAR(255) = N''' + Cesta + ''', @Chyba NVARCHAR(500);';
Sql := Sql + ' EXEC dbo.hpx_OdeslatKooperacniObjednavkuEmailem_Plugin @IDExtKom , @Soubor = @Soubor, @Cesta = @Cesta, @Chyba = @Chyba OUT, @IDKoopObj = ' + IntToStr(IDKoopObj) + ';' ;
Sql := Sql + ' SELECT @Chyba; ' ;
// Helios.Info(sql);
with Helios.OpenSQL(Sql) do
begin
if (Not VarIsNull(FieldValues(0))) and (trim(VarToStr(FieldValues(0)))<>'') then begin
Helios.Error(VarToStr(FieldValues(0)));
end;
end;
btnGenKoopOrVPr.Caption:= btnGenVPrOrKoopText;
end;
Close;
// konec pøidání 10.6.2022
end;
// konec pøidání 18.3.2021
procedure TformKanbanObj.edtBoxKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
var lSQL: string;
idx, idKZ: Integer;
PridatPolozku: boolean; // pøidáno 18.3.2021
begin
edtBox.Text:= Trim(edtBox.Text);
if (jeKoopObj) then
begin
Helios.Error(#1'Byla vytvoøena Kooperaèní objednávka, položky nelze pøidávat.'#1);
Exit;
end;
// pøidáno 18.3.2021
if (jsouGenVPr) then
begin
Helios.Error(#1'Byly vytvoøeny výrobní pøíkazy, položky nelze pøidávat.'#1);
Exit;
end;
// konec pøidání 18.3.2021
if (jeGenVydej) then
begin
Helios.Error(#1'Byla vytvoøena výdejka na obaly, položky nelze pøidávat.'#1);
Exit;
end;
if ((Key=VK_TAB) or (Key=VK_RETURN)) and (edtBox.Text<>'') then
begin
idx:= vTable.RecNo;
if not(vTable.Locate('IdKanbanBox', VarArrayOf([edtBox.Text]),[loCaseInsensitive])) then
begin
PridatPolozku := true; //pøidáno 18.3.2021
vTable.RecNo:= idx;
with Helios.OpenSQL('SELECT id FROM dbo._TabKanbanBox WHERE Id=' + edtBox.Text) do
if (RecordCount=1) then
begin
lSQL:= 'SELECT kz.RegCis, kz.Nazev1, kze._KanbanMnozstvi, kz.Id FROM dbo._TabKanbanBox b';
lSQL:= lSQL + ' INNER JOIN dbo.TabKmenZbozi kz ON (kz.Id=b.IdKmenZbozi)';
lSQL:= lSQL + ' LEFT JOIN dbo.TabKmenZbozi_EXT kze ON (kze.Id=kz.Id) WHERE b.Id=' + edtBox.Text;
with Helios.OpenSQL(lSQL) do
begin
if (cOrg=-99) then // upraveno 18.3.2021
begin
idKZ:= StrToInt(VarToStr(FieldValues(3)));
lSQL:= 'SELECT se._CisloOrg, co.Nazev FROM dbo.TabKmenZbozi kz INNER JOIN dbo.TabStrom s ON (s.Cislo=kz.KmenoveStredisko)';
lSQL:= lSQL + ' INNER JOIN dbo.TabStrom_EXT se ON (se.Id=s.Id) INNER JOIN dbo.TabCisOrg co ON (co.CisloOrg=se._CisloOrg)';
lSQL:= lSQL + ' WHERE kz.Id=' + IntToStr(idKZ);
with Helios.OpenSQL(lSQL) do
if (RecordCount=1) then
begin
cOrg:= StrToInt(VarToStr(FieldValues(0)));
lblDodavatel.Caption:= VarToStr(FieldValues(1));
end;
// pøidáno 18.3.2021
end else begin
idKZ:= StrToInt(VarToStr(FieldValues(3)));
lSQL:= 'SELECT se._CisloOrg, co.Nazev FROM dbo.TabKmenZbozi kz INNER JOIN dbo.TabStrom s ON (s.Cislo=kz.KmenoveStredisko)';
lSQL:= lSQL + ' INNER JOIN dbo.TabStrom_EXT se ON (se.Id=s.Id) INNER JOIN dbo.TabCisOrg co ON (co.CisloOrg=se._CisloOrg)';
lSQL:= lSQL + ' WHERE kz.Id=' + IntToStr(idKZ);
with Helios.OpenSQL(lSQL) do
if (RecordCount=1) then
begin
if (cOrg <> StrToInt(VarToStr(FieldValues(0)))) then begin
PridatPolozku := false;
Helios.Error('Tento kanbanbox patøí jiné organizaci. Nelze pøidat na objednávku.') ;
if (mLog.Lines.Count=0) then
mLog.Lines.Append('Kanbanbox patøí jiné organizaci: ' + edtBox.Text)
else
mLog.Lines.Insert(0, 'Kanbanbox patøí jiné organizaci: ' + edtBox.Text);
end;
end;
// konec pøidáno 18.3.2021
end;
if (PridatPolozku) then begin // pøidáno 18.3.2021
vTable.Append;
vTable.Fields.FieldByName('IdKanbanBox').AsString:= edtBox.Text;
vTable.Fields.FieldByName('RegCis').AsString:= VarToStr(FieldValues(0));
vTable.Fields.FieldByName('Nazev').AsString:= VarToStr(FieldValues(1));
vTable.Fields.FieldByName('Mnozstvi').AsInteger:= StrToInt(VarToStr(FieldValues(2)));
vTable.Post;
lblPocetPol.Caption:= IntToStr(1 + StrToInt(lblPocetPol.Caption));
end; // pøidáno 18.3.2021
end;
end
else
begin
if (mLog.Lines.Count=0) then
mLog.Lines.Append('Nebyl nalezen kanban box: ' + edtBox.Text)
else
mLog.Lines.Insert(0, 'Nebyl nalezen kanban box: ' + edtBox.Text);
end;
end
else
if (mLog.Lines.Count=0) then
mLog.Lines.Append('Kanban box je již zadán: ' + edtBox.Text)
else
mLog.Lines.Insert(0, 'Kanban box je již zadán: ' + edtBox.Text);
edtBox.Text:= '';
edtBox.SetFocus;
end;
end;
procedure TformKanbanObj.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if (layName[0]<>'') then
LoadKeyboardLayout(@layName, KLF_ACTIVATE or KLF_SETFORPROCESS);
if (vTable.Active) then
vTable.Close;
Action:= caFree;
end;
procedure TformKanbanObj.FormShow(Sender: TObject);
var lSQL: string;
begin
if GetKeyboardLayoutName(@layName) then
LoadKeyboardLayout('00020409', KLF_ACTIVATE or KLF_SETFORPROCESS);
lblWork.Visible:= false;
cOrg:= -99; // upraveno 18.3.2021
jeGenVydej:= false;
jeKoopObj:= false;
jsouGenVPr := false; // pøidáno 18.3.2021
primaObj:= true;
if not(vTable.Active) then
vTable.Open;
vTable.EmptyDataSet;
Self.Caption:= 'Kanban objednávka';
edtBox.SetFocus;
edtBox.Color:= clWindow;
btnGenObj.Enabled:= true;
btnGenKoopOrVPr.Enabled:= true; // pøidáno 18.3.2021
//pøidáno 18.3.2021
with Helios.OpenSQL('EXEC dbo.hpx_NTS_Kanban_TextButonuGenVPrNeboKoop') do
begin
btnGenVPrOrKoopText:=VarToStr(FieldValues(0));
btnGenKoopOrVPr.Width := StrToInt(VarToStr(FieldValues(1))) ;
btnGenKoopOrVPr.Height := StrToInt(VarToStr(FieldValues(2))) ;
btnGenKoopOrVPr.Top := StrToInt(VarToStr(FieldValues(3))) ;
btnGenKoopOrVPr.Left := StrToInt(VarToStr(FieldValues(4))) ;
btnGenKoopOrVPr.Font.Height := StrToInt(VarToStr(FieldValues(5))) ;
end;
btnGenKoopOrVPr.Caption := btnGenVPrOrKoopText;
// konec pøidání 18.3.2021
if (idObj>0) then
begin
primaObj:= false;
with Helios.OpenSQL('SELECT CisloOrgKoop, IdVydejObalu, IdKoopObj FROM dbo._TabKanbanObj WHERE Id=' + IntToStr(idObj)) do
begin
cOrg:= StrToInt(VarToStr(FieldValues(0)));
if not VarIsNull(FieldValues(1)) and (VarToStr(FieldValues(1))<>'0') and (VarToStr(FieldValues(1))<>'') then
jeGenVydej:= true;
if not VarIsNull(FieldValues(2)) and (VarToStr(FieldValues(2))<>'0') and (VarToStr(FieldValues(2))<>'') then
jeKoopObj:= true;
end;
// pøidáno 18.3.2021
with Helios.OpenSQL('SELECT COUNT(1) FROM dbo._TabKanbanPohyby WHERE IdKanbanObj = ' + IntToStr(idObj) + ' AND IDPrikaz IS NOT NULL' ) do
begin
if not VarIsNull(FieldValues(0)) and (VarToStr(FieldValues(0))<>'0') and (VarToStr(FieldValues(0))<>'') then
jsouGenVPr:= true else jsouGenVPr := false;
end;
// konec pøidání 18.3.2021
if (jeKoopObj) or (jeGenVydej) or (jsouGenVPr) then // upraveno 18.3.2021
begin
btnGenObj.Enabled:= false;
edtBox.Enabled:= false;
edtBox.Color:= clBtnFace;
btnStorno.SetFocus;
if ((jeKoopObj) or (jeGenVydej)) then btnGenKoopOrVPr.Enabled := false;
end;
if (jeKoopObj) then
begin
Self.Caption:= Self.Caption + ' (odeslána)';
mLog.Lines.Insert(0, 'Objednávka byla již odeslána...');
end
else
begin
if (jeGenVydej) then
begin
Self.Caption:= Self.Caption + ' (výdejka obalù)';
mLog.Lines.Insert(0, 'Byla již vygenerována výdejka obalù...');
end
else
begin
// pøidáno 18.3.2021
if (jsouGenVPr) then
begin
Self.Caption:= Self.Caption + ' (výrobní pøíkaz)';
mLog.Lines.Insert(0, 'Byl již vygenerován výrobní pøíkaz...');
end;
// konec pøidání 18.3.2021
end;
end;
with Helios.OpenSQL('SELECT Nazev FROM dbo.TabCisOrg WHERE CisloOrg=' + IntToStr(cOrg)) do
lblDodavatel.Caption:= VarToStr(FieldValues(0));
lSQL:= 'SELECT p.Id, b.Id, kz.RegCis, kz.Nazev1, kze._KanbanMnozstvi FROM dbo._TabKanbanPohyby p';
lSQL:= lSQL + ' INNER JOIN dbo._TabKanbanBox b ON (p.IdKanbanBox=b.Id)';
lSQL:= lSQL + ' INNER JOIN dbo.TabKmenZbozi kz ON (kz.Id=b.IdKmenZbozi)';
lSQL:= lSQL + ' INNER JOIN dbo.TabKmenZbozi_EXT kze ON (kze.Id=kz.Id)';
lSQL:= lSQL + ' WHERE p.IdKanbanObj=' + IntToStr(idObj) + ' ORDER BY p.Id';
with Helios.OpenSQL(lSQL) do
begin
lblPocetPol.Caption:= IntToStr(RecordCount);
grdPolozky.BeginUpdate;
First;
while not(EOF) do
begin
vTable.Append;
vTable.Fields.FieldByName('IdPohybu').AsString:= VarToStr(FieldValues(0));
vTable.Fields.FieldByName('IdKanbanBox').AsString:= VarToStr(FieldValues(1));
vTable.Fields.FieldByName('RegCis').AsString:= VarToStr(FieldValues(2));
vTable.Fields.FieldByName('Nazev').AsString:= VarToStr(FieldValues(3));
vTable.Fields.FieldByName('Mnozstvi').AsInteger:= StrToInt(VarToStr(FieldValues(4)));
vTable.Post;
Next;
end;
grdPolozky.EndUpdate;
end;
end;
end;
end.