Pridana funkcnost zmeny planovaneho ukonceni prikazu podle tabulky (comObject akce 36) + prvni verze generovani KoopObj dle stare HDC funkcnosti ctecky
This commit is contained in:
@@ -83,3 +83,4 @@ __recovery/
|
||||
*.7z
|
||||
bak/
|
||||
bak2/
|
||||
x/
|
||||
|
||||
+201
-146
@@ -85,7 +85,8 @@ uses System.Variants, Vcl.Controls, System.Generics.Collections, System.Generics
|
||||
{$IFDEF MadExcept}
|
||||
madExcept,
|
||||
{$ENDIF}
|
||||
frmHrOdvOper, frmSchvaleniZak, frmOOPPohyb;
|
||||
frmHrOdvOper, frmSchvaleniZak, frmOOPPohyb, frmVPrZmenaPlanuUkonceni, frmGenKoopObj,
|
||||
dataMod;
|
||||
|
||||
var oVar1, oVar2: OleVariant;
|
||||
LocalFormatSettings: TFormatSettings;
|
||||
@@ -336,43 +337,44 @@ var oVar1, oVar2: OleVariant;
|
||||
arrRadky: TArray<TArray<string>>;
|
||||
cont: Boolean;
|
||||
proc1, proc2: Double;
|
||||
wF: TForm;
|
||||
begin
|
||||
overRadek:= 0;
|
||||
posunSl:= 0;
|
||||
overRadek := 0;
|
||||
posunSl := 0;
|
||||
if (Clipboard.HasFormat(CF_TEXT)) then
|
||||
begin
|
||||
errMsg:= '';
|
||||
cont:= true;
|
||||
radky:= '';
|
||||
errMsg := '';
|
||||
cont := true;
|
||||
radky := '';
|
||||
try
|
||||
radky:= Clipboard.AsText;
|
||||
sl:= PosCount(#9, LeftStr(radky, Pos(#13, radky)-1)) + 1; // pocet sloupcu
|
||||
radky := Clipboard.AsText;
|
||||
sl := PosCount(#9, LeftStr(radky, Pos(#13, radky)-1)) + 1; // pocet sloupcu
|
||||
except on E:Exception do
|
||||
cont:= false;
|
||||
cont := false;
|
||||
end;
|
||||
if (radky<>'') and (cont) then
|
||||
begin
|
||||
cont:= true;
|
||||
cntIns:= 0;
|
||||
cntAkt:= 0;
|
||||
cnt:= Length(radky)-Length(StringReplace(radky, Chr(13),'',[rfReplaceAll]))+1;
|
||||
SetLength(arrRadky, cnt, 5); // index od 0, napevno 5 sloupcu, kdyby nepsali nadpis pro SZn a procentaN
|
||||
cont := true;
|
||||
cntIns := 0;
|
||||
cntAkt := 0;
|
||||
cnt := Length(radky)-Length(StringReplace(radky, Chr(13),'',[rfReplaceAll]))+1;
|
||||
SetLength (arrRadky, cnt, 5); // index od 0, napevno 5 sloupcu, kdyby nepsali nadpis pro SZn a procentaN
|
||||
if (Pos(#13, radky)>0) then
|
||||
zaznam:= LeftStr(radky, Pos(#13, radky)-1) // nazvy sloupcu
|
||||
zaznam := LeftStr(radky, Pos(#13, radky)-1) // nazvy sloupcu
|
||||
else
|
||||
zaznam:= radky;
|
||||
zaznam := radky;
|
||||
if Helios.YesNo('Má importovaná oblast hlavičku ?', false) then
|
||||
begin
|
||||
Delete(radky,1,Pos(#13,radky)+1); // smaze hlavicku
|
||||
SetLength(arrRadky,Length(arrRadky)-1);
|
||||
Delete (radky,1,Pos(#13,radky)+1); // smaze hlavicku
|
||||
SetLength (arrRadky,Length(arrRadky)-1);
|
||||
end;
|
||||
for idxR:=0 to High(arrRadky)-1 do
|
||||
begin
|
||||
if (Pos(#13,radky)>0) then
|
||||
zaznam:= LeftStr(radky,Pos(#13,radky)-1)
|
||||
zaznam := LeftStr(radky,Pos(#13,radky)-1)
|
||||
else
|
||||
zaznam:= radky;
|
||||
zaznam:= Trim(StringReplace(zaznam, #9#9, #9' '#9,[rfReplaceAll]));
|
||||
zaznam := radky;
|
||||
zaznam := Trim(StringReplace(zaznam, #9#9, #9' '#9,[rfReplaceAll]));
|
||||
if (zaznam<>'') then
|
||||
for idxS:=0 to sl-1 do
|
||||
begin
|
||||
@@ -380,13 +382,13 @@ var oVar1, oVar2: OleVariant;
|
||||
begin
|
||||
if (Pos(#9, zaznam)>0) then
|
||||
begin
|
||||
arrRadky[idxR,idxS]:= LeftStr(zaznam, Pos(#9, zaznam)-1);
|
||||
Delete(zaznam,1,Pos(#9, zaznam));
|
||||
arrRadky[idxR,idxS] := LeftStr(zaznam, Pos(#9, zaznam)-1);
|
||||
Delete (zaznam,1,Pos(#9, zaznam));
|
||||
end
|
||||
else
|
||||
begin
|
||||
arrRadky[idxR,idxS]:= zaznam;
|
||||
zaznam:= '';
|
||||
arrRadky[idxR,idxS] := zaznam;
|
||||
zaznam := '';
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@@ -399,7 +401,7 @@ var oVar1, oVar2: OleVariant;
|
||||
lSQL:= lSQL.Replace('#TabImp', 'dbo._TabImp');
|
||||
Helios.ExecSQL(lSQL);
|
||||
|
||||
waitStart(nil, 'Import procenta ztrát dílců', Length(arrRadky), clRed);
|
||||
wF := helUtils.waitStart (nil, 'Import procenta ztrát dílců', Length(arrRadky), clRed, true);
|
||||
for idxR:=0 to High(arrRadky)-1 do
|
||||
begin
|
||||
arrRadky[idxR, 0]:= helUtils.sqlSanitize(arrRadky[idxR, 0].Trim); // sz
|
||||
@@ -420,36 +422,38 @@ var oVar1, oVar2: OleVariant;
|
||||
begin
|
||||
try
|
||||
if (arrRadky[idxR, 2]='') then
|
||||
proc1:= 0
|
||||
proc1 := 0
|
||||
else
|
||||
if not(TryStrToFloat(arrRadky[idxR, 2].Replace(' ', '').Replace('.', ','), proc1)) then
|
||||
proc1:= 0;
|
||||
proc1 := 0;
|
||||
|
||||
if (arrRadky[idxR, 4]='') then
|
||||
proc2:= 0
|
||||
proc2 := 0
|
||||
else
|
||||
if not(TryStrToFloat(arrRadky[idxR, 4].Replace(' ', '').Replace('.', ','), proc2)) then
|
||||
proc2:= 0;
|
||||
proc2 := 0;
|
||||
|
||||
lSQL:= 'INSERT #TabImportProcentaZtrat (SkupZbo, RegCis, Procento, SkupZboNizsi, ProcentoNizsi) SELECT N' + arrRadky[idxR, 0].QuotedString;
|
||||
lSQL:= lSQL + ', N' + arrRadky[idxR, 1].QuotedString + ', ' + proc1.ToString.Replace(',', '.') + ', N' + arrRadky[idxR, 3].QuotedString + ', ' + proc2.ToString.Replace(',', '.');
|
||||
lSQL := 'INSERT #TabImportProcentaZtrat (SkupZbo, RegCis, Procento, SkupZboNizsi, ProcentoNizsi) SELECT N' + arrRadky[idxR, 0].QuotedString;
|
||||
lSQL := lSQL + ', N' + arrRadky[idxR, 1].QuotedString + ', ' + proc1.ToString.Replace(',', '.') + ', N' + arrRadky[idxR, 3].QuotedString + ', ' + proc2.ToString.Replace(',', '.');
|
||||
if (jeTest) then
|
||||
lSQL:= lSQL.Replace('#TabImp', 'dbo._TabImp');
|
||||
Helios.ExecSQL(lSQL);
|
||||
lSQL := lSQL.Replace ('#TabImp', 'dbo._TabImp');
|
||||
Helios.ExecSQL (lSQL);
|
||||
except on E:Exception do
|
||||
errMsg:= E.Message + CRLF + lSQL;
|
||||
errMsg := E.Message + CRLF + lSQL;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
waitEnd;
|
||||
|
||||
if Assigned(wF) then
|
||||
waitEnd (wF);
|
||||
|
||||
if not(jeTest) then
|
||||
Helios.ExecSQL('IF OBJECT_ID(N''dbo.ep_HDC_TPV_ImportProcentaZtrat'', N''P'') IS NOT NULL EXEC dbo.ep_HDC_TPV_ImportProcentaZtrat');
|
||||
Helios.ExecSQL ('IF OBJECT_ID(N''dbo.ep_HDC_TPV_ImportProcentaZtrat'', N''P'') IS NOT NULL EXEC dbo.ep_HDC_TPV_ImportProcentaZtrat');
|
||||
// Helios.ExecSQL('DROP TABLE IF EXISTS dbo._TabImportProcentaZtrat');
|
||||
Helios.ExecSQL('DROP TABLE IF EXISTS #TabImportProcentaZtrat');
|
||||
Helios.ExecSQL ('DROP TABLE IF EXISTS #TabImportProcentaZtrat');
|
||||
|
||||
|
||||
Helios.Refresh(false);
|
||||
Helios.Refresh (false);
|
||||
// Helios.Info(#1'Nových karet forem: ' + cntIns.ToString + CRLF + 'Upravených karet forem: ' + cntAkt.ToString + #1);
|
||||
end;
|
||||
end;
|
||||
@@ -465,6 +469,7 @@ var oVar1, oVar2: OleVariant;
|
||||
arrRadky: TArray<TArray<string>>;
|
||||
forma: TForma;
|
||||
cont: Boolean;
|
||||
wF: TForm;
|
||||
begin
|
||||
overRadek:= 0;
|
||||
posunSl:= 0;
|
||||
@@ -523,14 +528,14 @@ var oVar1, oVar2: OleVariant;
|
||||
Delete(radky,1,Pos(#13, radky)+1);
|
||||
end;
|
||||
|
||||
waitStart(nil, 'Import dat karet forem', Length(arrRadky), clRed);
|
||||
wF := helUtils.waitStart (nil, 'Import dat karet forem', Length(arrRadky), clRed, true);
|
||||
for idxR:=0 to High(arrRadky)-1 do
|
||||
begin
|
||||
if (idxR mod 10=0) then
|
||||
waitSetProgBar(idxR);
|
||||
helUtils.waitSetProgBar (idxR, wF);
|
||||
try
|
||||
idKZ:= 0;
|
||||
ClearForma(forma);
|
||||
ClearForma (forma);
|
||||
|
||||
forma.sz:= Trim(arrRadky[idxR, 0]);
|
||||
posunSl:= 0;
|
||||
@@ -549,13 +554,13 @@ var oVar1, oVar2: OleVariant;
|
||||
if (forma.regCis='') then
|
||||
continue;
|
||||
|
||||
forma.nazev1:= Trim(arrRadky[idxR, 1 + posunSl]);
|
||||
forma.vc:= Trim(arrRadky[idxR, 2 + posunSl]);
|
||||
forma.popisVc:= Trim(arrRadky[idxR, 3 + posunSl]);
|
||||
forma.skutPopVc:= Trim(arrRadky[idxR, 4 + posunSl]);
|
||||
forma.vykres:= Trim(arrRadky[idxR, 5 + posunSl]);
|
||||
forma.cilSklad:= Trim(arrRadky[idxR, 7 + posunSl]);
|
||||
forma.jcena:= 0;
|
||||
forma.nazev1 := Trim(arrRadky[idxR, 1 + posunSl]);
|
||||
forma.vc := Trim(arrRadky[idxR, 2 + posunSl]);
|
||||
forma.popisVc := Trim(arrRadky[idxR, 3 + posunSl]);
|
||||
forma.skutPopVc := Trim(arrRadky[idxR, 4 + posunSl]);
|
||||
forma.vykres := Trim(arrRadky[idxR, 5 + posunSl]);
|
||||
forma.cilSklad := Trim(arrRadky[idxR, 7 + posunSl]);
|
||||
forma.jcena := 0;
|
||||
|
||||
with Helios.OpenSQL('SELECT ID FROM ' + tblKZ + ' WHERE SkupZbo=N' + QuotedStr(forma.sz) + ' AND RegCis=N' + QuotedStr(forma.regCis)) do
|
||||
if (RecordCount=1) then
|
||||
@@ -573,11 +578,11 @@ var oVar1, oVar2: OleVariant;
|
||||
// lSQL:= lSQL + 'SELECT SCOPE_IDENTITY()';
|
||||
try
|
||||
with Helios.OpenSQL(lSQL) do
|
||||
idKZ:= StrToInt(VarToStr(FieldValues(0)));
|
||||
Inc(cntIns);
|
||||
idKZ := StrToInt(VarToStr(FieldValues(0)));
|
||||
Inc (cntIns);
|
||||
except on E:Exception do
|
||||
begin
|
||||
Helios.Error(#1'Chyba INS: ' + e.Message +#1);
|
||||
Helios.Error (#1'Chyba INS: ' + e.Message +#1);
|
||||
idKZ:= 0;
|
||||
end;
|
||||
end;
|
||||
@@ -592,9 +597,9 @@ var oVar1, oVar2: OleVariant;
|
||||
lSQL:= lSQL + forma.cilSklad.QuotedString + ', @IDZboSklad=@idSS OUT' + CRLF + 'SELECT @idSS';
|
||||
try
|
||||
with Helios.OpenSQL(lSQL) do
|
||||
idSS:= StrToInt(VarToStr(FieldValues(0)));
|
||||
idSS := StrToInt(VarToStr(FieldValues(0)));
|
||||
except
|
||||
idSS:= 0;
|
||||
idSS := 0;
|
||||
end;
|
||||
if (idSS>0) and (forma.vc<>'') then
|
||||
begin
|
||||
@@ -604,8 +609,8 @@ var oVar1, oVar2: OleVariant;
|
||||
lSQL:= lSQL + 'IF (@idVC IS NULL)' + CRLF + ' EXEC dbo.hp_OZInsertVyrCS @IDVyrCS=@idVC OUT, @IDVyrCK=@idVCK OUT, @IDZboSklad=' + idSS.ToString;
|
||||
lSQL:= lSQL + ', @Nazev1=N' + forma.vc.QuotedString + CRLF + 'SELECT @idVC';
|
||||
try
|
||||
with Helios.OpenSQL(lSQL) do
|
||||
idVC:= StrToInt(VarToStr(FieldValues(0)));
|
||||
with Helios.OpenSQL (lSQL) do
|
||||
idVC:= StrToInt (VarToStr(FieldValues(0)));
|
||||
except
|
||||
idVC:= 0;
|
||||
end;
|
||||
@@ -613,7 +618,7 @@ var oVar1, oVar2: OleVariant;
|
||||
begin
|
||||
lSQL:= 'UPDATE ' + tblVyrCSE + ' SET _SkutecnyPopis=N' + forma.skutPopVc.QuotedString + ' WHERE ID=' + idVC.ToString + CRLF + 'IF (@@ROWCOUNT=0)' + CRLF;
|
||||
lSQL:= lSQL + ' INSERT ' + tblVyrCSE + ' (ID, _SkutecnyPopis) SELECT ' + idVC.ToString + ', N' + forma.skutPopVc.QuotedString;
|
||||
Helios.ExecSQL(lSQL);
|
||||
Helios.ExecSQL (lSQL);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@@ -623,10 +628,11 @@ var oVar1, oVar2: OleVariant;
|
||||
errMsg:= E.Message + CRLF + lSQL;
|
||||
end;
|
||||
end;
|
||||
waitEnd;
|
||||
if Assigned(wF) then
|
||||
waitEnd (wF);
|
||||
|
||||
Helios.Refresh(true);
|
||||
Helios.Info(#1'Nových karet forem: ' + cntIns.ToString + CRLF + 'Upravených karet forem: ' + cntAkt.ToString + #1);
|
||||
Helios.Refresh (true);
|
||||
Helios.Info (#1'Nových karet forem: ' + cntIns.ToString + CRLF + 'Upravených karet forem: ' + cntAkt.ToString + #1);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@@ -641,6 +647,7 @@ var oVar1, oVar2: OleVariant;
|
||||
arrRadky: TArray<TArray<string>>;
|
||||
forma: TForma;
|
||||
cont: Boolean;
|
||||
wF: TForm;
|
||||
begin
|
||||
overRadek:= 0;
|
||||
posunSl:= 0;
|
||||
@@ -662,7 +669,7 @@ var oVar1, oVar2: OleVariant;
|
||||
cntIns:= 0;
|
||||
cntAkt:= 0;
|
||||
cnt:= Length(radky)-Length(StringReplace(radky, Chr(13),'',[rfReplaceAll]))+1;
|
||||
SetLength(arrRadky, cnt, sl); // index od 0
|
||||
SetLength (arrRadky, cnt, sl); // index od 0
|
||||
if (Pos(#13, radky)>0) then
|
||||
zaznam:= LeftStr(radky, Pos(#13, radky)-1) // nazvy sloupcu
|
||||
else
|
||||
@@ -699,14 +706,14 @@ var oVar1, oVar2: OleVariant;
|
||||
Delete(radky,1,Pos(#13, radky)+1);
|
||||
end;
|
||||
|
||||
waitStart(nil, 'Import dat karet forem', Length(arrRadky), clRed);
|
||||
wF := helUtils.waitStart (nil, 'Import dat karet forem', Length(arrRadky), clRed, true);
|
||||
for idxR:=0 to High(arrRadky)-1 do
|
||||
begin
|
||||
if (idxR mod 10=0) then
|
||||
waitSetProgBar(idxR);
|
||||
helUtils.waitSetProgBar (idxR, wF);
|
||||
try
|
||||
idKZ:= 0;
|
||||
ClearForma(forma);
|
||||
idKZ := 0;
|
||||
ClearForma (forma);
|
||||
|
||||
forma.sz:= Trim(arrRadky[idxR, 0]);
|
||||
posunSl:= 0;
|
||||
@@ -744,11 +751,11 @@ var oVar1, oVar2: OleVariant;
|
||||
lSQL:= lSQL + 'SELECT SCOPE_IDENTITY()';
|
||||
try
|
||||
with Helios.OpenSQL(lSQL) do
|
||||
idKZ:= StrToInt(VarToStr(FieldValues(0)));
|
||||
idKZ:= StrToInt (VarToStr(FieldValues(0)));
|
||||
Inc(cntIns);
|
||||
except on E:Exception do
|
||||
begin
|
||||
Helios.Error(#1'Chyba INS: ' + e.Message +#1);
|
||||
Helios.Error (#1'Chyba INS: ' + e.Message +#1);
|
||||
idKZ:= 0;
|
||||
end;
|
||||
end;
|
||||
@@ -790,19 +797,21 @@ var oVar1, oVar2: OleVariant;
|
||||
idVC:= 0;
|
||||
end;
|
||||
if (idVC>0) then
|
||||
Helios.ExecSQL('UPDATE ' + tblVyrCSE + ' SET _SkutecnyPopis=N' + IfThen(forma.skutPopVc='', 'ULL', QuotedStr(forma.skutPopVc)) + ' WHERE ID=' + idVC.ToString);
|
||||
Helios.ExecSQL ('UPDATE ' + tblVyrCSE + ' SET _SkutecnyPopis=N' + IfThen(forma.skutPopVc='', 'ULL', QuotedStr(forma.skutPopVc)) + ' WHERE ID=' + idVC.ToString);
|
||||
end;
|
||||
end;
|
||||
|
||||
end;
|
||||
except on E:Exception do
|
||||
errMsg:= E.Message + CRLF + lSQL;
|
||||
errMsg := E.Message + CRLF + lSQL;
|
||||
end;
|
||||
end;
|
||||
waitEnd;
|
||||
|
||||
Helios.Refresh(true);
|
||||
Helios.Info(#1'Nových karet forem: ' + cntIns.ToString + CRLF + 'Upravených karet forem: ' + cntAkt.ToString + #1);
|
||||
if Assigned(wF) then
|
||||
waitEnd (wF);
|
||||
|
||||
Helios.Refresh (true);
|
||||
Helios.Info (#1'Nových karet forem: ' + cntIns.ToString + CRLF + 'Upravených karet forem: ' + cntAkt.ToString + #1);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@@ -817,6 +826,7 @@ var oVar1, oVar2: OleVariant;
|
||||
arrRadky: TArray<TArray<string>>;
|
||||
forma: TForma;
|
||||
cont, jsemNew: Boolean;
|
||||
wF: Tform;
|
||||
begin
|
||||
overRadek:= 0;
|
||||
posunSl:= 0;
|
||||
@@ -875,11 +885,11 @@ var oVar1, oVar2: OleVariant;
|
||||
Delete(radky,1,Pos(#13, radky)+1);
|
||||
end;
|
||||
|
||||
waitStart(nil, 'Import dat karet forem', Length(arrRadky), clRed);
|
||||
wF := helUtils.waitStart (nil, 'Import dat karet forem', Length(arrRadky), clRed, true);
|
||||
for idxR:=0 to High(arrRadky)-1 do
|
||||
begin
|
||||
if (idxR mod 10=0) then
|
||||
waitSetProgBar(idxR);
|
||||
helUtils.waitSetProgBar (idxR, wF);
|
||||
try
|
||||
idKZ:= 0;
|
||||
jsemNew:= false;
|
||||
@@ -962,10 +972,12 @@ var oVar1, oVar2: OleVariant;
|
||||
errMsg:= E.Message + CRLF + lSQL;
|
||||
end;
|
||||
end;
|
||||
waitEnd;
|
||||
|
||||
Helios.Refresh(true);
|
||||
Helios.Info(#1'Import ' + cntIns.ToString + ' nových karet' + CRLF + 'Aktualizací karet: ' + cntAkt.ToString + #1);
|
||||
if Assigned(wF) then
|
||||
waitEnd (wF);
|
||||
|
||||
Helios.Refresh (true);
|
||||
Helios.Info (#1'Import ' + cntIns.ToString + ' nových karet' + CRLF + 'Aktualizací karet: ' + cntAkt.ToString + #1);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@@ -979,6 +991,7 @@ var oVar1, oVar2: OleVariant;
|
||||
arrRadky: TArray<TArray<string>>;
|
||||
kmen: TKmen;
|
||||
cont: Boolean;
|
||||
wF: TForm;
|
||||
begin
|
||||
posunSl:= 0;
|
||||
|
||||
@@ -1039,14 +1052,14 @@ var oVar1, oVar2: OleVariant;
|
||||
Delete(radky,1,Pos(#13, radky)+1);
|
||||
end;
|
||||
|
||||
waitStart(nil, 'Import dat karet nářadí', Length(arrRadky), clRed);
|
||||
wF := helUtils.waitStart (nil, 'Import dat karet nářadí', Length(arrRadky), clRed, true);
|
||||
for idxR:=0 to High(arrRadky)-1 do
|
||||
begin
|
||||
if (idxR mod 10=0) then
|
||||
waitSetProgBar(idxR);
|
||||
helUtils.waitSetProgBar (idxR, wF);
|
||||
try
|
||||
idKZ:= 0;
|
||||
clearKmen(kmen);
|
||||
clearKmen (kmen);
|
||||
{
|
||||
if Trim(arrRadky[idxR, 0])<>Trim(arrRadky[idxR, 1]) then
|
||||
kmen.sz:= Trim(arrRadky[idxR, 0]);
|
||||
@@ -1243,10 +1256,12 @@ var oVar1, oVar2: OleVariant;
|
||||
errMsg:= E.Message + CRLF + lSQL;
|
||||
end;
|
||||
end;
|
||||
waitEnd;
|
||||
|
||||
Helios.Refresh(true);
|
||||
Helios.Info(#1'Nových karet: ' + cntIns.ToString + CRLF + 'Upravených karet: ' + cntAkt.ToString + #1);
|
||||
if Assigned(wF) then
|
||||
waitEnd (wF);
|
||||
|
||||
Helios.Refresh (true);
|
||||
Helios.Info (#1'Nových karet: ' + cntIns.ToString + CRLF + 'Upravených karet: ' + cntAkt.ToString + #1);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@@ -1264,6 +1279,7 @@ var oVar1, oVar2: OleVariant;
|
||||
supps: TArray<string>;
|
||||
fndIdx: integer;
|
||||
doplnNulu: boolean;
|
||||
wF: TForm;
|
||||
begin
|
||||
xls:= TXLSWorkbook.Create;
|
||||
try
|
||||
@@ -1301,7 +1317,7 @@ var oVar1, oVar2: OleVariant;
|
||||
lSQL:= 'IF OBJECT_ID(N''tempdb..#TabMatrixSupps'', N''U'') IS NOT NULL DROP TABLE #TabMatrixSupps' + CRLF
|
||||
+ 'CREATE TABLE #TabMatrixSupps (CisloOrg INT, Suffix NVARCHAR(5) DEFAULT N'''' NOT NULL, Nazev NVARCHAR(100)'
|
||||
+ ', Mena NVARCHAR(50), Doprava NVARCHAR(100), KplCisloOrg AS (CONVERT(nvarchar, CisloOrg) + IIF(Suffix<>N'''', N''/''+ Suffix, N'''')) )' + CRLF;
|
||||
Helios.ExecSQL(lSQL);
|
||||
Helios.ExecSQL (lSQL);
|
||||
|
||||
shSupp:= xls.Sheets.Add;
|
||||
shSupp.Name:= 'Suppliers';
|
||||
@@ -1456,14 +1472,14 @@ var oVar1, oVar2: OleVariant;
|
||||
with Helios.OpenSQL(lSQL) do
|
||||
begin
|
||||
i:=RecordCount;
|
||||
waitStart(nil, 'Export položek', i, clRed);
|
||||
wF := helUtils.waitStart (nil, 'Export položek', i, clRed, true);
|
||||
First;
|
||||
i:= 1;
|
||||
while not(EOF) do
|
||||
begin
|
||||
|
||||
if (i mod 10=0) then
|
||||
waitSetProgBar(i);
|
||||
helUtils.waitSetProgBar (i, wF);
|
||||
|
||||
idKZ:= StrToInt(VarToStr(FieldValues(8)));
|
||||
sTypPol:= 'E';
|
||||
@@ -1569,7 +1585,8 @@ var oVar1, oVar2: OleVariant;
|
||||
Next;
|
||||
end;
|
||||
|
||||
waitEnd;
|
||||
if Assigned(wF) then
|
||||
waitEnd (wF);
|
||||
end;
|
||||
|
||||
|
||||
@@ -1616,6 +1633,7 @@ var oVar1, oVar2: OleVariant;
|
||||
arrRadky: TArray<TArray<string>>;
|
||||
kmen: TKmen;
|
||||
cont: Boolean;
|
||||
wF: TForm;
|
||||
begin
|
||||
posunSl:= 2;
|
||||
|
||||
@@ -1674,11 +1692,11 @@ var oVar1, oVar2: OleVariant;
|
||||
Delete(radky,1,Pos(#13, radky)+1);
|
||||
end;
|
||||
|
||||
waitStart(nil, 'Import dat karet měřidel', Length(arrRadky), clRed);
|
||||
wF := helUtils.waitStart (nil, 'Import dat karet měřidel', Length(arrRadky), clRed, true);
|
||||
for idxR:=0 to High(arrRadky)-1 do
|
||||
begin
|
||||
if (idxR mod 10=0) then
|
||||
waitSetProgBar(idxR);
|
||||
helUtils.waitSetProgBar (idxR, wF);
|
||||
try
|
||||
idKZ:= 0;
|
||||
clearKmen(kmen);
|
||||
@@ -1820,10 +1838,12 @@ var oVar1, oVar2: OleVariant;
|
||||
errMsg:= E.Message + CRLF + lSQL;
|
||||
end;
|
||||
end;
|
||||
waitEnd;
|
||||
|
||||
Helios.Refresh(true);
|
||||
Helios.Info(#1'Nových karet: ' + cntIns.ToString + CRLF + 'Upravených karet: ' + cntAkt.ToString + #1);
|
||||
if Assigned(wF) then
|
||||
helUtils.waitEnd (wF);
|
||||
|
||||
Helios.Refresh (true);
|
||||
Helios.Info (#1'Nových karet: ' + cntIns.ToString + CRLF + 'Upravených karet: ' + cntAkt.ToString + #1);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@@ -1838,6 +1858,7 @@ var oVar1, oVar2: OleVariant;
|
||||
arrRadky: TArray<TArray<string>>;
|
||||
kmen: TKmen;
|
||||
cont, prvniPrazdne: Boolean;
|
||||
wF: TForm;
|
||||
begin
|
||||
|
||||
overRadek:= 0;
|
||||
@@ -1901,11 +1922,12 @@ var oVar1, oVar2: OleVariant;
|
||||
posunSl:= 0;
|
||||
if (prvniPrazdne) then
|
||||
posunSl:= -1;
|
||||
waitStart(nil, 'Import dat karet výrobních čísel měřidel', Length(arrRadky), clRed);
|
||||
|
||||
wF := helUtils.waitStart (nil, 'Import dat karet výrobních čísel měřidel', Length(arrRadky), clRed, true);
|
||||
for idxR:=0 to High(arrRadky)-1 do
|
||||
begin
|
||||
if (idxR mod 10=0) then
|
||||
waitSetProgBar(idxR);
|
||||
helUtils.waitSetProgBar (idxR, wF);
|
||||
try
|
||||
idKZ:= 0;
|
||||
idVC:= 0;
|
||||
@@ -1990,16 +2012,20 @@ var oVar1, oVar2: OleVariant;
|
||||
errMsg:= E.Message + CRLF + lSQL;
|
||||
end;
|
||||
end;
|
||||
waitEnd;
|
||||
|
||||
Helios.Refresh(true);
|
||||
Helios.Info(#1'Nových karet VČ: ' + cntIns.ToString + CRLF + 'Upravených karet VČ: ' + cntAkt.ToString + #1);
|
||||
if Assigned(wF) then
|
||||
helUtils.waitEnd (wF);
|
||||
|
||||
Helios.Refresh (true);
|
||||
Helios.Info (#1'Nových karet VČ: ' + cntIns.ToString + CRLF + 'Upravených karet VČ: ' + cntAkt.ToString + #1);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure TplgKdynium.ZakazkaZobrazAtestyTaveb(const Helios: IHelios; ids: TArray<System.Integer>);
|
||||
|
||||
|
||||
procedure TplgKdynium.ZakazkaZobrazAtestyTaveb (const Helios: IHelios; ids: TArray<System.Integer>);
|
||||
var lSQL, idsX: string;
|
||||
bidRozbory, i: integer;
|
||||
begin
|
||||
@@ -2237,12 +2263,13 @@ var oVar1, oVar2: OleVariant;
|
||||
|
||||
|
||||
|
||||
procedure TplgKdynium.RozpRezii_PseudoAutomat(const Helios: IHelios; const arrID: TArray<integer>);
|
||||
procedure TplgKdynium.RozpRezii_PseudoAutomat (const Helios: IHelios; const arrID: TArray<integer>);
|
||||
var lSQL, nazRozp, vstStr, denikIDs, utvarVst, cisStredOper: string;
|
||||
idPreuct, idx, rozpNr, idRozpRez, idObd, mObd, rObd: integer;
|
||||
ctiZak, ctiUtvar: Boolean;
|
||||
celkemHod, zakazkaHod: extended;
|
||||
arrVstStr: TArray<string>;
|
||||
wF: TForm;
|
||||
begin
|
||||
if (Length(arrID)>0) then
|
||||
begin
|
||||
@@ -2298,7 +2325,7 @@ var oVar1, oVar2: OleVariant;
|
||||
if (idObd>0) then
|
||||
begin
|
||||
|
||||
waitStart(nil, 'Zjišťuji podíly evidovaných hodin práce' + IfThen(cisStredOper='', '', ' pracovišť střediska ' + cisStredOper), 1, clRed);
|
||||
wF := helUtils.waitStart (nil, 'Zjišťuji podíly evidovaných hodin práce' + IfThen(cisStredOper='', '', ' pracovišť střediska ' + cisStredOper), 1, clRed, true);
|
||||
|
||||
lSQL:= 'SELECT ISNULL(SUM(pmz.Nor_cas_H), 0) FROM ' + tblPMZ + ' pmz INNER JOIN ' + tblPrikaz + 'p ON (p.ID=pmz.IDPrikaz) INNER JOIN ' + tblZak;
|
||||
lSQL:= lSQL + ' z ON (p.IDZakazka=z.ID) INNER JOIN ' + tblPrPost + ' pp ON (pp.IDPrikaz=pmz.IDPrikaz AND pp.Doklad=pmz.DokladPrPostup AND pp.Alt=pmz.AltPrPostup';
|
||||
@@ -2316,7 +2343,8 @@ var oVar1, oVar2: OleVariant;
|
||||
helUtils.ReseedTable(Helios, tblRozpRezDet);
|
||||
Helios.ExecSQL('INSERT ' + tblRozpRezDet + ' (CisloZakazky, IdFIARozpusteniRezii, Podil) ' + lSQL);
|
||||
|
||||
waitEnd;
|
||||
if Assigned(wF) then
|
||||
helUtils.waitEnd (wF);
|
||||
|
||||
{
|
||||
with Helios.OpenSQL(lSQL) do
|
||||
@@ -2331,7 +2359,7 @@ var oVar1, oVar2: OleVariant;
|
||||
end; // idRozpRez>0
|
||||
end; // for rozpNr
|
||||
end;
|
||||
Helios.Refresh(true);
|
||||
Helios.Refresh (true);
|
||||
end;
|
||||
|
||||
|
||||
@@ -2341,9 +2369,9 @@ var oVar1, oVar2: OleVariant;
|
||||
procedure TplgKdynium.VytvorTempExtKomPar (const Helios: IHelios; id: integer);
|
||||
var lSQL: string;
|
||||
begin
|
||||
lSQL:= 'IF OBJECT_ID(N''tempdb..#TabExtKomPar'', ''U'') IS NULL CREATE TABLE #TabExtKomPar (Popis NVARCHAR(10) NULL, Cislo NUMERIC(19,6) NULL)' + CRLF;
|
||||
lSQL:= lSQL + 'DELETE FROM #TabExtKomPar' + CRLF + 'INSERT #TabExtKomPar (Popis, Cislo) SELECT N''STVlastID'', ' + id.ToString;
|
||||
Helios.ExecSQL(lSQL);
|
||||
lSQL := 'IF OBJECT_ID(N''tempdb..#TabExtKomPar'', ''U'') IS NULL CREATE TABLE #TabExtKomPar (Popis NVARCHAR(10) NULL, Cislo NUMERIC(19,6) NULL)' + CRLF;
|
||||
lSQL := lSQL + 'DELETE FROM #TabExtKomPar' + CRLF + 'INSERT #TabExtKomPar (Popis, Cislo) SELECT N''STVlastID'', ' + id.ToString;
|
||||
Helios.ExecSQL (lSQL);
|
||||
end;
|
||||
|
||||
|
||||
@@ -2351,7 +2379,7 @@ var oVar1, oVar2: OleVariant;
|
||||
|
||||
|
||||
procedure TplgKdynium.Run (const Helios: IHelios);
|
||||
const MinVerzeHelios = $030020250106;
|
||||
const MinVerzeHelios = $030020260114;
|
||||
var typAkce: byte;
|
||||
browID, cRec, cntID, l_loop, idDZ, dpz, cOrg, newBid: integer;
|
||||
lSQL, autor, radDokl, IDcka, params, paramsBak, vlastPar, vlastPar2, contInfo, sz, podm, sTemp: string;
|
||||
@@ -2368,6 +2396,8 @@ var oVar1, oVar2: OleVariant;
|
||||
fHrOdvOp: TformHrOdvOper;
|
||||
fSchvalZak: TformSchvaleniZak;
|
||||
fOOPPohyb: TformOOPPohyb;
|
||||
fVPrZmenaUkonceni: TformVPrZmenaPlanuUkonceni;
|
||||
fGenKObj: TformGenKoopObj;
|
||||
term, canCont, plusJeden: boolean;
|
||||
begin
|
||||
|
||||
@@ -2384,6 +2414,9 @@ var oVar1, oVar2: OleVariant;
|
||||
raise Exception.Create('Plugin vyžaduje min verzi Heliosu ' + IntToHex(MinVerzeHelios, 12))
|
||||
else
|
||||
begin
|
||||
if (dataMod.dm=nil) then
|
||||
dataMod.dm := Tdm.Create (nil);
|
||||
|
||||
|
||||
with Helios.OpenSQL('SELECT CONVERT(nvarchar(128),CONTEXT_INFO(),2)') do
|
||||
if VarIsNull(FieldValues(0)) then
|
||||
@@ -2879,20 +2912,20 @@ var oVar1, oVar2: OleVariant;
|
||||
end;
|
||||
end;
|
||||
|
||||
26: ImportKmenMeridla(Helios);
|
||||
27: ImportKmenMeridlaVC(Helios);
|
||||
28: ZakazkaZobrazTavby(Helios, arrID);
|
||||
29: ZakazkaZobrazAtestyTaveb(Helios, arrID);
|
||||
26: ImportKmenMeridla (Helios);
|
||||
27: ImportKmenMeridlaVC (Helios);
|
||||
28: ZakazkaZobrazTavby (Helios, arrID);
|
||||
29: ZakazkaZobrazAtestyTaveb (Helios, arrID);
|
||||
|
||||
30: begin
|
||||
fSchvalZak:= TformSchvaleniZak.Create(nil);
|
||||
fSchvalZak := TformSchvaleniZak.Create(nil);
|
||||
try
|
||||
fSchvalZak.Helios:= Helios;
|
||||
fSchvalZak.id:= 0;
|
||||
fSchvalZak.Helios := Helios;
|
||||
fSchvalZak.id := 0;
|
||||
if (Length(arrId)>1) then
|
||||
fSchvalZak.arrID:= arrId
|
||||
fSchvalZak.arrID := arrId
|
||||
else
|
||||
fSchvalZak.id:= cRec;
|
||||
fSchvalZak.id := cRec;
|
||||
fSchvalZak.ShowModal;
|
||||
finally
|
||||
fSchvalZak.Free;
|
||||
@@ -2901,30 +2934,30 @@ var oVar1, oVar2: OleVariant;
|
||||
|
||||
31: ImportProcentaZtrat(Helios);
|
||||
32: begin
|
||||
iTemp:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT DPBID FROM ' + tblObecPrehled + ' WHERE NazevSys=N''hvw_ObdobiStavu''');
|
||||
iTemp := helUtils.getHeliosIntVal(Helios, 0, 'SELECT DPBID FROM ' + tblObecPrehled + ' WHERE NazevSys=N''hvw_ObdobiStavu''');
|
||||
if (iTemp>0) then
|
||||
begin
|
||||
podm:= 'DATEDIFF(year, hvw_ObdobiStavu.DatumOd, GETDATE()) BETWEEN 0 AND 1';
|
||||
podm := 'DATEDIFF(year, hvw_ObdobiStavu.DatumOd, GETDATE()) BETWEEN 0 AND 1';
|
||||
if (Length(arrID)=1) then
|
||||
begin
|
||||
iTemp2:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT o.DatumOd_Y FROM ' + tblObd + ' o INNER JOIN ' + tblRozpRez + ' r ON (r.IDObdobi=o.ID) WHERE r.ID=' + cRec.ToString);
|
||||
iTemp2 := helUtils.getHeliosIntVal(Helios, 0, 'SELECT o.DatumOd_Y FROM ' + tblObd + ' o INNER JOIN ' + tblRozpRez + ' r ON (r.IDObdobi=o.ID) WHERE r.ID=' + cRec.ToString);
|
||||
if (iTemp2>0) then
|
||||
podm:= podm + ' AND hvw_ObdobiStavu.DatumOd_Y=' + iTemp2.ToString;
|
||||
podm := podm + ' AND hvw_ObdobiStavu.DatumOd_Y=' + iTemp2.ToString;
|
||||
end;
|
||||
if Helios.Prenos(iTemp, 'hvw_ObdobiStavu.ID', oVar, podm, 'Vyberte období ' + IfThen(iTemp2>0, ' roku ' + iTemp2.ToString, ' (M/R)'), true) then
|
||||
begin
|
||||
Helios.ExecSQL('DROP TABLE IF EXISTS #TabObdobiRozpRez' + CRLF + 'CREATE TABLE #TabObdobiRozpRez (IdObd INT)' + CRLF + 'INSERT #TabObdobiRozpRez (IdObd) SELECT ' + VarToStr(oVar));
|
||||
RozpRezii_PseudoAutomat(Helios, arrID);
|
||||
Helios.ExecSQL ('DROP TABLE IF EXISTS #TabObdobiRozpRez' + CRLF + 'CREATE TABLE #TabObdobiRozpRez (IdObd INT)' + CRLF + 'INSERT #TabObdobiRozpRez (IdObd) SELECT ' + VarToStr(oVar));
|
||||
RozpRezii_PseudoAutomat (Helios, arrID);
|
||||
end;
|
||||
end;
|
||||
Helios.ExecSQL('DROP TABLE IF EXISTS #TabObdobiRozpRez');
|
||||
Helios.ExecSQL ('DROP TABLE IF EXISTS #TabObdobiRozpRez');
|
||||
end;
|
||||
|
||||
33: begin // OOP zadani pohybu
|
||||
fOOPPohyb:= TformOOPPohyb.Create(nil);
|
||||
fOOPPohyb := TformOOPPohyb.Create(nil);
|
||||
try
|
||||
fOOPPohyb.Helios:= Helios;
|
||||
fOOPPohyb.jeTest:= jeTest;
|
||||
fOOPPohyb.Helios := Helios;
|
||||
fOOPPohyb.jeTest := jeTest;
|
||||
fOOPPohyb.ShowModal;
|
||||
finally
|
||||
fOOPPohyb.Free;
|
||||
@@ -2932,34 +2965,34 @@ var oVar1, oVar2: OleVariant;
|
||||
end;
|
||||
|
||||
34: begin
|
||||
iTemp:= StrToInt (VarToStr(Helios.HeliosVlastnik.QueryBrowse.FieldByNameValues('ID'))); // radek vydejky
|
||||
iTemp2:= StrToInt (VarToStr(Helios.HeliosVlastnik.QueryBrowse.FieldByNameValues('IDZboSklad'))); // idZboSklad
|
||||
nTemp:= StrToFloat (VarToStr(Helios.HeliosVlastnik.QueryBrowse.FieldByNameValues('Mnozstvi'))); // mnozstvi radku
|
||||
iTemp := StrToInt (VarToStr(Helios.HeliosVlastnik.QueryBrowse.FieldByNameValues('ID'))); // radek vydejky
|
||||
iTemp2 := StrToInt (VarToStr(Helios.HeliosVlastnik.QueryBrowse.FieldByNameValues('IDZboSklad'))); // idZboSklad
|
||||
nTemp := StrToFloat (VarToStr(Helios.HeliosVlastnik.QueryBrowse.FieldByNameValues('Mnozstvi'))); // mnozstvi radku
|
||||
|
||||
nTemp4:= helUtils.getHeliosFloatVal (Helios, 0, 'SELECT Mnozstvi FROM ' + tblSS + ' WHERE ID=' + iTemp2.ToString);
|
||||
nTemp3:= 0;
|
||||
nTemp4 := helUtils.getHeliosFloatVal (Helios, 0, 'SELECT Mnozstvi FROM ' + tblSS + ' WHERE ID=' + iTemp2.ToString);
|
||||
nTemp3 := 0;
|
||||
|
||||
VytvorTempExtKomPar (Helios, iTemp);
|
||||
lSQL:= 'DROP TABLE IF EXISTS #TabRadkyProVyber' + CRLF + 'CREATE TABLE #TabRadkyProVyber (IDX INT IDENTITY(1,1) NOT NULL, ID INT NOT NULL)';
|
||||
Helios.ExecSQL(lSQL);
|
||||
lSQL := 'DROP TABLE IF EXISTS #TabRadkyProVyber' + CRLF + 'CREATE TABLE #TabRadkyProVyber (IDX INT IDENTITY(1,1) NOT NULL, ID INT NOT NULL)';
|
||||
Helios.ExecSQL (lSQL);
|
||||
|
||||
lSQL:= 'SELECT p.ID, p.Mnozstvi FROM ' + tblPZ + ' p INNER JOIN ' + tblDZ + ' d ON (d.ID=p.IDDoklad) WHERE p.DruhPohybuZbo=0 AND p.IDZboSklad=' + iTemp2.ToString;
|
||||
lSQL:= lSQL + ' AND p.ID NOT IN (SELECT ID FROM ' + tblPZe + ' WHERE ISNULL(_Expedice_VazbaPrijemVydejNenabizet, 0)=1)';
|
||||
lSQL:= lSQL + ' AND EXISTS(SELECT 1 FROM ' + tblDDZ + ' dd INNER JOIN ' + tblDDZe + ' dde ON (dde.ID=dd.ID) WHERE dd.RadaDokladu=d.RadaDokladu AND dd.DruhPohybuZbo=d.DruhPohybuZbo';
|
||||
lSQL:= lSQL + ' AND ISNULL(dde._Expedice_VazbaPrijemVydejNabizet,0)=1)';
|
||||
lSQL:= lSQL + ' AND p.ID>=ISNULL( (SELECT ID FROM ' + tblPZe + ' WHERE ISNULL(_Expedice_VazbaPrijemVydejHranice,0)=1), 0)';
|
||||
lSQL:= lSQL + ' ORDER BY p.DatPorizeni DESC';
|
||||
lSQL := 'SELECT p.ID, p.Mnozstvi FROM ' + tblPZ + ' p INNER JOIN ' + tblDZ + ' d ON (d.ID=p.IDDoklad) WHERE p.DruhPohybuZbo=0 AND p.IDZboSklad=' + iTemp2.ToString;
|
||||
lSQL := lSQL + ' AND p.ID NOT IN (SELECT ID FROM ' + tblPZe + ' WHERE ISNULL(_Expedice_VazbaPrijemVydejNenabizet, 0)=1)';
|
||||
lSQL := lSQL + ' AND EXISTS(SELECT 1 FROM ' + tblDDZ + ' dd INNER JOIN ' + tblDDZe + ' dde ON (dde.ID=dd.ID) WHERE dd.RadaDokladu=d.RadaDokladu AND dd.DruhPohybuZbo=d.DruhPohybuZbo';
|
||||
lSQL := lSQL + ' AND ISNULL(dde._Expedice_VazbaPrijemVydejNabizet,0)=1)';
|
||||
lSQL := lSQL + ' AND p.ID>=ISNULL( (SELECT ID FROM ' + tblPZe + ' WHERE ISNULL(_Expedice_VazbaPrijemVydejHranice,0)=1), 0)';
|
||||
lSQL := lSQL + ' ORDER BY p.DatPorizeni DESC';
|
||||
with Helios.OpenSQL(lSQL) do
|
||||
if (RecordCount>0) then
|
||||
begin
|
||||
canCont:= true;
|
||||
plusJeden:= false;
|
||||
canCont := true;
|
||||
plusJeden := false;
|
||||
First;
|
||||
while not(EOF) and (canCont) do
|
||||
begin
|
||||
iTemp3:= StrToInt (VarToStr(FieldByNameValues('ID')));
|
||||
nTemp2:= StrToFloat (VarToStr(FieldByNameValues('Mnozstvi')));
|
||||
nTemp3:= nTemp3 + nTemp2;
|
||||
iTemp3 := StrToInt (VarToStr(FieldByNameValues('ID')));
|
||||
nTemp2 := StrToFloat (VarToStr(FieldByNameValues('Mnozstvi')));
|
||||
nTemp3 := nTemp3 + nTemp2;
|
||||
|
||||
if (nTemp3<nTemp4) then
|
||||
Helios.ExecSQL ('INSERT #TabRadkyProVyber (ID) SELECT ' + iTemp3.ToString)
|
||||
@@ -2967,7 +3000,7 @@ var oVar1, oVar2: OleVariant;
|
||||
begin
|
||||
if (nTemp3-nTemp4<nTemp2) then
|
||||
Helios.ExecSQL ('INSERT #TabRadkyProVyber (ID) SELECT ' + iTemp3.ToString);
|
||||
canCont:= false;
|
||||
canCont := false;
|
||||
end;
|
||||
|
||||
Next;
|
||||
@@ -2978,13 +3011,35 @@ var oVar1, oVar2: OleVariant;
|
||||
|
||||
35: ImportObedy (Helios);
|
||||
|
||||
36: begin
|
||||
fVPrZmenaUkonceni := TformVPrZmenaPlanuUkonceni.Create (nil);
|
||||
try
|
||||
fVPrZmenaUkonceni.Helios := Helios;
|
||||
fVPrZmenaUkonceni.idVPr := cRec;
|
||||
fVPrZmenaUkonceni.ShowModal;
|
||||
finally
|
||||
FreeAndNil (fVPrZmenaUkonceni);
|
||||
end;
|
||||
end;
|
||||
|
||||
37: begin
|
||||
fGenKObj := TformGenKoopObj.Create (nil);
|
||||
try
|
||||
fGenKObj.typObj := 1;
|
||||
fGenKObj.Helios := Helios;
|
||||
fGenKObj.ShowModal;
|
||||
finally
|
||||
FreeAndNil (fGenKObj);
|
||||
end;
|
||||
end;
|
||||
|
||||
end; // case
|
||||
|
||||
Helios.Refresh(true);
|
||||
if (contInfo='NULL') then
|
||||
Helios.ExecSQL('SET CONTEXT_INFO 0x')
|
||||
Helios.ExecSQL ('SET CONTEXT_INFO 0x')
|
||||
else
|
||||
Helios.ExecSQL('SET CONTEXT_INFO 0x' + contInfo);
|
||||
Helios.ExecSQL ('SET CONTEXT_INFO 0x' + contInfo);
|
||||
|
||||
if not(term) then
|
||||
if helUtils.HeliosExistsTest(Helios, '#TabExtKom', '') then
|
||||
|
||||
+209
-1
@@ -1,5 +1,213 @@
|
||||
object dm: Tdm
|
||||
Height = 480
|
||||
Width = 640
|
||||
PixelsPerInch = 96
|
||||
object tblKoopObjH: TFDMemTable
|
||||
FieldDefs = <>
|
||||
IndexDefs = <>
|
||||
FetchOptions.AssignedValues = [evMode]
|
||||
FetchOptions.Mode = fmAll
|
||||
ResourceOptions.AssignedValues = [rvSilentMode]
|
||||
ResourceOptions.SilentMode = True
|
||||
UpdateOptions.AssignedValues = [uvCheckRequired, uvAutoCommitUpdates]
|
||||
UpdateOptions.CheckRequired = False
|
||||
UpdateOptions.AutoCommitUpdates = True
|
||||
StoreDefs = True
|
||||
Left = 48
|
||||
Top = 60
|
||||
object tblKoopObjHID: TAutoIncField
|
||||
FieldName = 'ID'
|
||||
Visible = False
|
||||
end
|
||||
object tblKoopObjHIDKoopObjH: TIntegerField
|
||||
FieldName = 'IDKoopObjH'
|
||||
Visible = False
|
||||
end
|
||||
object tblKoopObjHOznaceni: TStringField
|
||||
FieldName = 'Oznaceni'
|
||||
Size = 30
|
||||
end
|
||||
object tblKoopObjHPozadDodani: TDateField
|
||||
FieldName = 'PozadDodani'
|
||||
end
|
||||
object tblKoopObjHDatVytvoreni: TDateTimeField
|
||||
FieldName = 'DatVytvoreni'
|
||||
end
|
||||
object tblKoopObjHJePrijem: TBooleanField
|
||||
FieldName = 'JePrijem'
|
||||
end
|
||||
end
|
||||
object dsKoopObjH: TDataSource
|
||||
DataSet = tblKoopObjH
|
||||
Left = 46
|
||||
Top = 126
|
||||
end
|
||||
object dsKoopObjR: TDataSource
|
||||
DataSet = tblKoopObjR
|
||||
Left = 154
|
||||
Top = 128
|
||||
end
|
||||
object tblKoopObjR: TFDMemTable
|
||||
FieldDefs = <>
|
||||
IndexDefs = <>
|
||||
FetchOptions.AssignedValues = [evMode]
|
||||
FetchOptions.Mode = fmAll
|
||||
ResourceOptions.AssignedValues = [rvSilentMode]
|
||||
ResourceOptions.SilentMode = True
|
||||
UpdateOptions.AssignedValues = [uvCheckRequired, uvAutoCommitUpdates]
|
||||
UpdateOptions.CheckRequired = False
|
||||
UpdateOptions.AutoCommitUpdates = True
|
||||
StoreDefs = True
|
||||
Left = 148
|
||||
Top = 60
|
||||
object tblKoopObjRID: TAutoIncField
|
||||
FieldName = 'ID'
|
||||
end
|
||||
object tblKoopObjRIDPolKoopObj: TIntegerField
|
||||
FieldName = 'IDPolKoopObj'
|
||||
end
|
||||
object tblKoopObjRIDVPr: TIntegerField
|
||||
FieldName = 'IDVPr'
|
||||
end
|
||||
object tblKoopObjRIDPrPostup: TIntegerField
|
||||
FieldName = 'IDPrPostup'
|
||||
end
|
||||
object tblKoopObjRDoklad: TIntegerField
|
||||
FieldName = 'Doklad'
|
||||
end
|
||||
object tblKoopObjRAlt: TStringField
|
||||
FieldName = 'Alt'
|
||||
Size = 1
|
||||
end
|
||||
object tblKoopObjRIDDavka: TIntegerField
|
||||
FieldName = 'IDDavka'
|
||||
end
|
||||
object tblKoopObjRMnozstvi: TFloatField
|
||||
DefaultExpression = '0'
|
||||
FieldName = 'Mnozstvi'
|
||||
end
|
||||
object tblKoopObjRKsNaStr: TSmallintField
|
||||
FieldName = 'KsNaStr'
|
||||
end
|
||||
object tblKoopObjRIDKooperace: TIntegerField
|
||||
FieldName = 'IDKooperace'
|
||||
end
|
||||
object tblKoopObjRPocetPalet: TSmallintField
|
||||
FieldName = 'PocetPalet'
|
||||
end
|
||||
object tblKoopObjRPocetBeden: TSmallintField
|
||||
DefaultExpression = '0'
|
||||
FieldName = 'PocetBeden'
|
||||
end
|
||||
end
|
||||
object tblInsOperace: TFDMemTable
|
||||
FieldDefs = <>
|
||||
IndexDefs = <>
|
||||
FetchOptions.AssignedValues = [evMode]
|
||||
FetchOptions.Mode = fmAll
|
||||
ResourceOptions.AssignedValues = [rvSilentMode]
|
||||
ResourceOptions.SilentMode = True
|
||||
UpdateOptions.AssignedValues = [uvCheckRequired, uvAutoCommitUpdates]
|
||||
UpdateOptions.CheckRequired = False
|
||||
UpdateOptions.AutoCommitUpdates = True
|
||||
StoreDefs = True
|
||||
Left = 258
|
||||
Top = 62
|
||||
object tblInsOperaceID: TAutoIncField
|
||||
FieldName = 'ID'
|
||||
end
|
||||
object tblInsOperaceIdPrPostup: TIntegerField
|
||||
FieldName = 'IdPrPostup'
|
||||
end
|
||||
object tblInsOperaceRegCis: TStringField
|
||||
FieldName = 'RegCis'
|
||||
Size = 30
|
||||
end
|
||||
object tblInsOperaceRadaPrikaz: TStringField
|
||||
FieldName = 'RadaPrikaz'
|
||||
Size = 30
|
||||
end
|
||||
object tblInsOperaceIDVPr: TIntegerField
|
||||
FieldName = 'IDVPr'
|
||||
end
|
||||
object tblInsOperaceIdVPrVyssi: TIntegerField
|
||||
FieldName = 'IdVPrVyssi'
|
||||
end
|
||||
object tblInsOperaceIDDavka: TIntegerField
|
||||
FieldName = 'IDDavka'
|
||||
end
|
||||
object tblInsOperaceIDDavkaRodic: TIntegerField
|
||||
FieldName = 'IDDavkaRodic'
|
||||
end
|
||||
object tblInsOperaceDoklad: TIntegerField
|
||||
FieldName = 'Doklad'
|
||||
end
|
||||
object tblInsOperaceAlt: TStringField
|
||||
FieldName = 'Alt'
|
||||
Size = 1
|
||||
end
|
||||
object tblInsOperaceKusy: TIntegerField
|
||||
FieldName = 'Kusy'
|
||||
end
|
||||
object tblInsOperaceKoef: TFloatField
|
||||
FieldName = 'Koef'
|
||||
end
|
||||
object tblInsOperaceOperace: TStringField
|
||||
FieldName = 'Operace'
|
||||
Size = 100
|
||||
end
|
||||
object tblInsOperaceIDKooperace: TIntegerField
|
||||
FieldName = 'IDKooperace'
|
||||
end
|
||||
object tblInsOperaceKsNaStr: TSmallintField
|
||||
FieldName = 'KsNaStr'
|
||||
end
|
||||
object tblInsOperaceIDRadkuHDCPol: TIntegerField
|
||||
FieldName = 'IDRadkuHDCPol'
|
||||
end
|
||||
object tblInsOperaceKodKoop: TStringField
|
||||
FieldName = 'KodKoop'
|
||||
end
|
||||
end
|
||||
object tblRadekDavky: TFDMemTable
|
||||
FieldDefs = <>
|
||||
IndexDefs = <>
|
||||
FetchOptions.AssignedValues = [evMode]
|
||||
FetchOptions.Mode = fmAll
|
||||
ResourceOptions.AssignedValues = [rvSilentMode]
|
||||
ResourceOptions.SilentMode = True
|
||||
UpdateOptions.AssignedValues = [uvCheckRequired, uvAutoCommitUpdates]
|
||||
UpdateOptions.CheckRequired = False
|
||||
UpdateOptions.AutoCommitUpdates = True
|
||||
StoreDefs = True
|
||||
Left = 356
|
||||
Top = 62
|
||||
object tblRadekDavkyID: TAutoIncField
|
||||
FieldName = 'ID'
|
||||
end
|
||||
object tblRadekDavkyIDDavka: TIntegerField
|
||||
FieldName = 'IDDavka'
|
||||
end
|
||||
object tblRadekDavkyIDDavkaRodic: TIntegerField
|
||||
FieldName = 'IDDavkaRodic'
|
||||
end
|
||||
object tblRadekDavkyIDVPr: TIntegerField
|
||||
FieldName = 'IDVPr'
|
||||
end
|
||||
object tblRadekDavkyIdPostup: TIntegerField
|
||||
FieldName = 'IdPostup'
|
||||
end
|
||||
object tblRadekDavkyMnozstvi: TFloatField
|
||||
FieldName = 'Mnozstvi'
|
||||
end
|
||||
end
|
||||
object dsInsOperace: TDataSource
|
||||
DataSet = tblInsOperace
|
||||
Left = 252
|
||||
Top = 138
|
||||
end
|
||||
object dsRadekDavky: TDataSource
|
||||
DataSet = tblRadekDavky
|
||||
Left = 346
|
||||
Top = 134
|
||||
end
|
||||
end
|
||||
|
||||
+94
-1
@@ -3,10 +3,92 @@
|
||||
interface
|
||||
|
||||
uses
|
||||
System.SysUtils, System.Classes;
|
||||
System.SysUtils, System.Classes, FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Param,
|
||||
FireDAC.Stan.Error, FireDAC.DatS, FireDAC.Phys.Intf, FireDAC.DApt.Intf, Data.DB,
|
||||
FireDAC.Comp.DataSet, FireDAC.Comp.Client,
|
||||
ddPlugin_TLB;
|
||||
|
||||
const
|
||||
tblKonfigZarizeni = 'dbo._HDCserver_zarizeni';
|
||||
tblHDCKooperanti = 'dbo._HDCserver_kooperanti';
|
||||
|
||||
tblDavky = 'dbo._hdc_TabDavky';
|
||||
|
||||
tblHDCSDDokl = 'dbo._HDCserver_doklady';
|
||||
tblHDCSDPol = 'dbo._HDCserver_dokladyPol';
|
||||
tblHDCSDHeODokl = 'dbo._HDCserver_doklady_heoDokl';
|
||||
tblHDCSDPolKoopObj = 'dbo._HDCserver_dokladyPol_KoopObjPol';
|
||||
|
||||
tblKoopH = 'dbo._hdc_TabKooperaceH'; // hlavicka objednavky ze ctecky
|
||||
tblKoopR = 'dbo._hdc_TabKooperaceR'; // polozka
|
||||
tblKoopD = 'dbo._hdc_TabKooperaceD'; // davka
|
||||
tblKoopVPr = 'dbo._hdc_TabKooperaceVPr'; // prikazy
|
||||
|
||||
|
||||
type
|
||||
TKooperant = class
|
||||
strict private
|
||||
FNazev: string;
|
||||
FCisloOrg: integer;
|
||||
FIDOrg: integer;
|
||||
FHelios: IHelios;
|
||||
public
|
||||
constructor Create (const Nazev: string; const cisloOrg: integer; const Helios: IHelios);
|
||||
property Nazev: string read FNazev write FNazev;
|
||||
property CisloOrg: integer read FCisloOrg write FCisloOrg;
|
||||
property IDOrg: integer read FIDOrg;
|
||||
end;
|
||||
|
||||
Tdm = class(TDataModule)
|
||||
tblKoopObjH: TFDMemTable;
|
||||
dsKoopObjH: TDataSource;
|
||||
dsKoopObjR: TDataSource;
|
||||
tblKoopObjR: TFDMemTable;
|
||||
tblKoopObjHID: TAutoIncField;
|
||||
tblKoopObjHIDKoopObjH: TIntegerField;
|
||||
tblKoopObjRID: TAutoIncField;
|
||||
tblKoopObjRIDPolKoopObj: TIntegerField;
|
||||
tblKoopObjRIDVPr: TIntegerField;
|
||||
tblKoopObjRIDPrPostup: TIntegerField;
|
||||
tblKoopObjRDoklad: TIntegerField;
|
||||
tblKoopObjRAlt: TStringField;
|
||||
tblKoopObjRIDDavka: TIntegerField;
|
||||
tblKoopObjRMnozstvi: TFloatField;
|
||||
tblKoopObjRKsNaStr: TSmallintField;
|
||||
tblKoopObjRIDKooperace: TIntegerField;
|
||||
tblKoopObjRPocetPalet: TSmallintField;
|
||||
tblKoopObjRPocetBeden: TSmallintField;
|
||||
tblInsOperace: TFDMemTable;
|
||||
tblRadekDavky: TFDMemTable;
|
||||
tblInsOperaceID: TAutoIncField;
|
||||
tblInsOperaceIdPrPostup: TIntegerField;
|
||||
tblInsOperaceRegCis: TStringField;
|
||||
tblInsOperaceRadaPrikaz: TStringField;
|
||||
tblInsOperaceIDVPr: TIntegerField;
|
||||
tblInsOperaceIdVPrVyssi: TIntegerField;
|
||||
tblInsOperaceIDDavkaRodic: TIntegerField;
|
||||
tblInsOperaceDoklad: TIntegerField;
|
||||
tblInsOperaceAlt: TStringField;
|
||||
tblInsOperaceKusy: TIntegerField;
|
||||
tblInsOperaceKoef: TFloatField;
|
||||
tblInsOperaceOperace: TStringField;
|
||||
tblInsOperaceIDKooperace: TIntegerField;
|
||||
tblInsOperaceKsNaStr: TSmallintField;
|
||||
tblInsOperaceIDRadkuHDCPol: TIntegerField;
|
||||
tblInsOperaceKodKoop: TStringField;
|
||||
tblRadekDavkyID: TAutoIncField;
|
||||
tblRadekDavkyIDDavka: TIntegerField;
|
||||
tblRadekDavkyIDDavkaRodic: TIntegerField;
|
||||
tblRadekDavkyIDVPr: TIntegerField;
|
||||
tblRadekDavkyIdPostup: TIntegerField;
|
||||
tblRadekDavkyMnozstvi: TFloatField;
|
||||
tblKoopObjHOznaceni: TStringField;
|
||||
tblKoopObjHPozadDodani: TDateField;
|
||||
tblKoopObjHDatVytvoreni: TDateTimeField;
|
||||
tblKoopObjHJePrijem: TBooleanField;
|
||||
dsInsOperace: TDataSource;
|
||||
dsRadekDavky: TDataSource;
|
||||
tblInsOperaceIDDavka: TIntegerField;
|
||||
private
|
||||
public
|
||||
end;
|
||||
@@ -15,9 +97,20 @@ var
|
||||
dm: Tdm;
|
||||
|
||||
implementation
|
||||
uses helUtils;
|
||||
|
||||
{%CLASSGROUP 'Vcl.Controls.TControl'}
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
|
||||
constructor TKooperant.Create (const Nazev: string; const cisloOrg: Integer; const Helios: IHelios);
|
||||
begin
|
||||
FHelios := Helios;
|
||||
FNazev := Nazev;
|
||||
FCisloOrg := cisloOrg;
|
||||
FIDOrg := helUtils.getHeliosIntVal (FHelios, -1, 'SELECT ID FROM ' + tblCOrg + ' WHERE CisloOrg=' + FCisloOrg.ToString);
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
|
||||
@@ -0,0 +1,547 @@
|
||||
object formGenKoopObj: TformGenKoopObj
|
||||
Left = 0
|
||||
Top = 0
|
||||
Caption = ' Generov'#225'n'#237' Koopera'#269'n'#237' objedn'#225'vky'
|
||||
ClientHeight = 678
|
||||
ClientWidth = 952
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -16
|
||||
Font.Name = 'Segoe UI'
|
||||
Font.Style = []
|
||||
Position = poOwnerFormCenter
|
||||
OnShow = FormShow
|
||||
TextHeight = 21
|
||||
object pgCtrl: TRzPageControl
|
||||
AlignWithMargins = True
|
||||
Left = 3
|
||||
Top = 3
|
||||
Width = 946
|
||||
Height = 672
|
||||
Hint = ''
|
||||
ActivePage = shNovaObj
|
||||
Align = alClient
|
||||
SoftCorners = True
|
||||
TabIndex = 1
|
||||
TabOrder = 0
|
||||
FixedDimension = 27
|
||||
object shHlavicky: TRzTabSheet
|
||||
Caption = 'Hlavi'#269'ky'
|
||||
object pnl1: TGridPanel
|
||||
AlignWithMargins = True
|
||||
Left = 3
|
||||
Top = 3
|
||||
Width = 936
|
||||
Height = 635
|
||||
Align = alClient
|
||||
ColumnCollection = <
|
||||
item
|
||||
Value = 33.333333333333340000
|
||||
end
|
||||
item
|
||||
Value = 33.333333333333340000
|
||||
end
|
||||
item
|
||||
Value = 33.333333333333310000
|
||||
end>
|
||||
ControlCollection = <
|
||||
item
|
||||
Column = 0
|
||||
Control = btnNovaObj
|
||||
Row = 1
|
||||
end
|
||||
item
|
||||
Column = 1
|
||||
Control = btnPrijem
|
||||
Row = 1
|
||||
end
|
||||
item
|
||||
Column = 2
|
||||
Control = btnReload
|
||||
Row = 1
|
||||
end
|
||||
item
|
||||
Column = 0
|
||||
ColumnSpan = 3
|
||||
Control = grdHlavicky
|
||||
Row = 0
|
||||
end>
|
||||
RowCollection = <
|
||||
item
|
||||
Value = 85.000000000000000000
|
||||
end
|
||||
item
|
||||
Value = 15.000000000000000000
|
||||
end>
|
||||
TabOrder = 0
|
||||
DesignSize = (
|
||||
936
|
||||
635)
|
||||
object btnNovaObj: TButton
|
||||
Left = 61
|
||||
Top = 556
|
||||
Width = 190
|
||||
Height = 60
|
||||
Anchors = []
|
||||
Caption = 'Nov'#225' kooperace'
|
||||
TabOrder = 0
|
||||
OnClick = btnNovaObjClick
|
||||
end
|
||||
object btnPrijem: TButton
|
||||
Left = 373
|
||||
Top = 556
|
||||
Width = 190
|
||||
Height = 60
|
||||
Anchors = []
|
||||
Caption = 'P'#345#237'jem kooperace'
|
||||
TabOrder = 1
|
||||
end
|
||||
object btnReload: TButton
|
||||
Left = 684
|
||||
Top = 556
|
||||
Width = 190
|
||||
Height = 60
|
||||
Anchors = []
|
||||
Caption = 'Obnovit seznam'
|
||||
TabOrder = 2
|
||||
end
|
||||
object grdHlavicky: TJvDBGrid
|
||||
AlignWithMargins = True
|
||||
Left = 4
|
||||
Top = 4
|
||||
Width = 928
|
||||
Height = 532
|
||||
Align = alClient
|
||||
Anchors = []
|
||||
DataSource = dm.dsKoopObjH
|
||||
DrawingStyle = gdsGradient
|
||||
Options = [dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgConfirmDelete, dgCancelOnExit, dgTitleClick, dgTitleHotTrack]
|
||||
ReadOnly = True
|
||||
TabOrder = 3
|
||||
TitleFont.Charset = DEFAULT_CHARSET
|
||||
TitleFont.Color = clWindowText
|
||||
TitleFont.Height = -16
|
||||
TitleFont.Name = 'Segoe UI'
|
||||
TitleFont.Style = []
|
||||
ScrollBars = ssVertical
|
||||
SelectColumnsDialogStrings.Caption = 'Select columns'
|
||||
SelectColumnsDialogStrings.OK = '&OK'
|
||||
SelectColumnsDialogStrings.NoSelectionWarning = 'At least one column must be visible!'
|
||||
EditControls = <>
|
||||
RowsHeight = 25
|
||||
TitleRowHeight = 25
|
||||
Columns = <
|
||||
item
|
||||
Expanded = False
|
||||
FieldName = 'ID'
|
||||
Visible = False
|
||||
end
|
||||
item
|
||||
Expanded = False
|
||||
FieldName = 'IDKoopObjH'
|
||||
Visible = False
|
||||
end
|
||||
item
|
||||
Expanded = False
|
||||
FieldName = 'Oznaceni'
|
||||
Title.Caption = 'Ozna'#269'en'#237
|
||||
Width = 529
|
||||
Visible = True
|
||||
end
|
||||
item
|
||||
Alignment = taCenter
|
||||
Expanded = False
|
||||
FieldName = 'PozadDodani'
|
||||
Title.Alignment = taCenter
|
||||
Title.Caption = 'Po'#382'adovan'#233' dod'#225'n'#237
|
||||
Width = 148
|
||||
Visible = True
|
||||
end
|
||||
item
|
||||
Alignment = taCenter
|
||||
Expanded = False
|
||||
FieldName = 'DatVytvoreni'
|
||||
Title.Alignment = taCenter
|
||||
Title.Caption = 'Datum vytvo'#345'en'#237
|
||||
Visible = True
|
||||
end
|
||||
item
|
||||
Alignment = taCenter
|
||||
Expanded = False
|
||||
FieldName = 'JePrijem'
|
||||
Title.Alignment = taCenter
|
||||
Title.Caption = 'P'#345#237'jem'
|
||||
Width = 55
|
||||
Visible = True
|
||||
end>
|
||||
end
|
||||
end
|
||||
end
|
||||
object shNovaObj: TRzTabSheet
|
||||
OnShow = shNovaObjShow
|
||||
Caption = 'Nov'#225' objedn'#225'vka'
|
||||
object pnl2: TGridPanel
|
||||
AlignWithMargins = True
|
||||
Left = 3
|
||||
Top = 3
|
||||
Width = 936
|
||||
Height = 635
|
||||
Align = alClient
|
||||
ColumnCollection = <
|
||||
item
|
||||
Value = 100.000000000000000000
|
||||
end>
|
||||
ControlCollection = <
|
||||
item
|
||||
Column = 0
|
||||
Control = pnl3
|
||||
Row = 2
|
||||
end
|
||||
item
|
||||
Column = 0
|
||||
Control = GridPanel1
|
||||
Row = 0
|
||||
end
|
||||
item
|
||||
Column = 0
|
||||
Control = grdNovePolozky
|
||||
Row = 1
|
||||
end>
|
||||
RowCollection = <
|
||||
item
|
||||
Value = 20.153297645299770000
|
||||
end
|
||||
item
|
||||
Value = 69.770053532050350000
|
||||
end
|
||||
item
|
||||
Value = 10.076648822649870000
|
||||
end>
|
||||
TabOrder = 0
|
||||
object pnl3: TGridPanel
|
||||
Left = 1
|
||||
Top = 570
|
||||
Width = 934
|
||||
Height = 64
|
||||
Align = alClient
|
||||
ColumnCollection = <
|
||||
item
|
||||
Value = 50.000000000000000000
|
||||
end
|
||||
item
|
||||
Value = 50.000000000000000000
|
||||
end>
|
||||
ControlCollection = <
|
||||
item
|
||||
Column = 0
|
||||
Control = btnPolUloz
|
||||
Row = 0
|
||||
end
|
||||
item
|
||||
Column = 1
|
||||
Control = btnPolSmaz
|
||||
Row = 0
|
||||
end>
|
||||
RowCollection = <
|
||||
item
|
||||
Value = 100.000000000000000000
|
||||
end>
|
||||
TabOrder = 0
|
||||
DesignSize = (
|
||||
934
|
||||
64)
|
||||
object btnPolUloz: TButton
|
||||
Left = 164
|
||||
Top = 7
|
||||
Width = 140
|
||||
Height = 50
|
||||
Anchors = []
|
||||
Caption = 'Ulo'#382'it objedn'#225'vku'
|
||||
TabOrder = 0
|
||||
OnClick = btnPolUlozClick
|
||||
end
|
||||
object btnPolSmaz: TButton
|
||||
Left = 630
|
||||
Top = 7
|
||||
Width = 140
|
||||
Height = 50
|
||||
Anchors = []
|
||||
Caption = 'Smazat'
|
||||
TabOrder = 1
|
||||
OnClick = btnPolSmazClick
|
||||
end
|
||||
end
|
||||
object GridPanel1: TGridPanel
|
||||
Left = 1
|
||||
Top = 1
|
||||
Width = 934
|
||||
Height = 128
|
||||
Align = alClient
|
||||
ColumnCollection = <
|
||||
item
|
||||
Value = 33.333333333333340000
|
||||
end
|
||||
item
|
||||
Value = 33.333333333333340000
|
||||
end
|
||||
item
|
||||
Value = 33.333333333333310000
|
||||
end>
|
||||
ControlCollection = <
|
||||
item
|
||||
Column = 0
|
||||
Control = Label1
|
||||
Row = 0
|
||||
end
|
||||
item
|
||||
Column = 1
|
||||
ColumnSpan = 2
|
||||
Control = cbKooperanti
|
||||
Row = 0
|
||||
end
|
||||
item
|
||||
Column = 0
|
||||
Control = Label2
|
||||
Row = 1
|
||||
end
|
||||
item
|
||||
Column = 1
|
||||
Control = dtPozadDodani
|
||||
Row = 1
|
||||
end
|
||||
item
|
||||
Column = 0
|
||||
Control = btnNovaPol
|
||||
Row = 2
|
||||
end
|
||||
item
|
||||
Column = 2
|
||||
Control = edtBarcode
|
||||
Row = 2
|
||||
end
|
||||
item
|
||||
Column = 1
|
||||
Control = lblTypKodu
|
||||
Row = 2
|
||||
end>
|
||||
RowCollection = <
|
||||
item
|
||||
Value = 33.333333333333340000
|
||||
end
|
||||
item
|
||||
Value = 33.333333333333340000
|
||||
end
|
||||
item
|
||||
Value = 33.333333333333310000
|
||||
end>
|
||||
TabOrder = 1
|
||||
DesignSize = (
|
||||
934
|
||||
128)
|
||||
object Label1: TLabel
|
||||
Left = 119
|
||||
Top = 11
|
||||
Width = 75
|
||||
Height = 21
|
||||
Anchors = []
|
||||
Caption = 'Kooperant:'
|
||||
ExplicitLeft = 120
|
||||
end
|
||||
object cbKooperanti: TRzComboBox
|
||||
AlignWithMargins = True
|
||||
Left = 315
|
||||
Top = 7
|
||||
Width = 536
|
||||
Height = 29
|
||||
Anchors = [akLeft]
|
||||
Style = csDropDownList
|
||||
TabOrder = 0
|
||||
OnChange = cbKooperantiChange
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 63
|
||||
Top = 53
|
||||
Width = 187
|
||||
Height = 21
|
||||
Anchors = []
|
||||
Caption = 'Po'#382'adovan'#233' datum dod'#225'n'#237':'
|
||||
ExplicitLeft = 64
|
||||
end
|
||||
object dtPozadDodani: TDateTimePicker
|
||||
Left = 312
|
||||
Top = 49
|
||||
Width = 125
|
||||
Height = 29
|
||||
Anchors = [akLeft]
|
||||
Date = 46155.000000000000000000
|
||||
Time = 0.371777592590660800
|
||||
TabOrder = 1
|
||||
end
|
||||
object btnNovaPol: TButton
|
||||
Left = 54
|
||||
Top = 87
|
||||
Width = 204
|
||||
Height = 38
|
||||
Anchors = []
|
||||
Caption = 'Nov'#225' polo'#382'ka'
|
||||
TabOrder = 2
|
||||
OnClick = btnNovaPolClick
|
||||
end
|
||||
object edtBarcode: TEdit
|
||||
Left = 622
|
||||
Top = 91
|
||||
Width = 445
|
||||
Height = 29
|
||||
Anchors = []
|
||||
MaxLength = 50
|
||||
TabOrder = 3
|
||||
OnExit = edtBarcodeExit
|
||||
end
|
||||
object lblTypKodu: TLabel
|
||||
Left = 465
|
||||
Top = 95
|
||||
Width = 4
|
||||
Height = 21
|
||||
Anchors = []
|
||||
ExplicitLeft = 428
|
||||
end
|
||||
end
|
||||
object grdNovePolozky: TJvDBGrid
|
||||
AlignWithMargins = True
|
||||
Left = 4
|
||||
Top = 132
|
||||
Width = 928
|
||||
Height = 435
|
||||
Align = alClient
|
||||
DataSource = dm.dsInsOperace
|
||||
DrawingStyle = gdsGradient
|
||||
Options = [dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgConfirmDelete, dgCancelOnExit, dgTitleClick, dgTitleHotTrack]
|
||||
PopupMenu = pMenu
|
||||
TabOrder = 2
|
||||
TitleFont.Charset = DEFAULT_CHARSET
|
||||
TitleFont.Color = clWindowText
|
||||
TitleFont.Height = -16
|
||||
TitleFont.Name = 'Segoe UI'
|
||||
TitleFont.Style = []
|
||||
ScrollBars = ssVertical
|
||||
SelectColumnsDialogStrings.Caption = 'Select columns'
|
||||
SelectColumnsDialogStrings.OK = '&OK'
|
||||
SelectColumnsDialogStrings.NoSelectionWarning = 'At least one column must be visible!'
|
||||
EditControls = <>
|
||||
RowsHeight = 25
|
||||
TitleRowHeight = 25
|
||||
Columns = <
|
||||
item
|
||||
Expanded = False
|
||||
FieldName = 'ID'
|
||||
Visible = False
|
||||
end
|
||||
item
|
||||
Expanded = False
|
||||
FieldName = 'IdPrPostup'
|
||||
Visible = False
|
||||
end
|
||||
item
|
||||
Alignment = taCenter
|
||||
Expanded = False
|
||||
FieldName = 'RegCis'
|
||||
Title.Alignment = taCenter
|
||||
Title.Caption = 'Reg. '#269#237'slo'
|
||||
Width = 150
|
||||
Visible = True
|
||||
end
|
||||
item
|
||||
Alignment = taCenter
|
||||
Expanded = False
|
||||
FieldName = 'RadaPrikaz'
|
||||
Title.Alignment = taCenter
|
||||
Title.Caption = #344'ada / p'#345#237'kaz'
|
||||
Width = 161
|
||||
Visible = True
|
||||
end
|
||||
item
|
||||
Expanded = False
|
||||
FieldName = 'IDVPr'
|
||||
Visible = False
|
||||
end
|
||||
item
|
||||
Expanded = False
|
||||
FieldName = 'IdVPrVyssi'
|
||||
Visible = False
|
||||
end
|
||||
item
|
||||
Expanded = False
|
||||
FieldName = 'IDDavkaRodic'
|
||||
Visible = False
|
||||
end
|
||||
item
|
||||
Expanded = False
|
||||
FieldName = 'Doklad'
|
||||
Visible = False
|
||||
end
|
||||
item
|
||||
Expanded = False
|
||||
FieldName = 'Alt'
|
||||
Visible = False
|
||||
end
|
||||
item
|
||||
Expanded = False
|
||||
FieldName = 'Kusy'
|
||||
Title.Alignment = taCenter
|
||||
Width = 78
|
||||
Visible = True
|
||||
end
|
||||
item
|
||||
Expanded = False
|
||||
FieldName = 'Koef'
|
||||
Visible = False
|
||||
end
|
||||
item
|
||||
Expanded = False
|
||||
FieldName = 'Operace'
|
||||
Width = 409
|
||||
Visible = True
|
||||
end
|
||||
item
|
||||
Expanded = False
|
||||
FieldName = 'IDKooperace'
|
||||
Visible = False
|
||||
end
|
||||
item
|
||||
Expanded = False
|
||||
FieldName = 'KsNaStr'
|
||||
Visible = False
|
||||
end
|
||||
item
|
||||
Expanded = False
|
||||
FieldName = 'IDRadkuHDCPol'
|
||||
Visible = False
|
||||
end
|
||||
item
|
||||
Expanded = False
|
||||
FieldName = 'KodKoop'
|
||||
Title.Caption = 'Kooperace'
|
||||
Width = 100
|
||||
Visible = True
|
||||
end>
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
object pMenu: TPopupMenu
|
||||
Left = 109
|
||||
Top = 428
|
||||
object pM1ZmenaMnoz: TMenuItem
|
||||
Caption = 'Zm'#283'na mno'#382'stv'#237
|
||||
OnClick = pM1ZmenaMnozClick
|
||||
end
|
||||
object N1: TMenuItem
|
||||
Caption = '-'
|
||||
end
|
||||
object pM1Smazat: TMenuItem
|
||||
Caption = 'Smazat'
|
||||
OnClick = pM1SmazatClick
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,617 @@
|
||||
unit frmGenKoopObj;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
||||
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Data.DB, Vcl.Grids, Vcl.DBGrids, JvExDBGrids,
|
||||
JvDBGrid, RzTabs, Vcl.StdCtrls, RzCmboBx, Vcl.ComCtrls,
|
||||
ddPlugin_TLB, Vcl.Menus;
|
||||
|
||||
type
|
||||
TformGenKoopObj = class(TForm)
|
||||
pnl1: TGridPanel;
|
||||
grdHlavicky: TJvDBGrid;
|
||||
pgCtrl: TRzPageControl;
|
||||
shHlavicky: TRzTabSheet;
|
||||
shNovaObj: TRzTabSheet;
|
||||
btnNovaObj: TButton;
|
||||
btnPrijem: TButton;
|
||||
btnReload: TButton;
|
||||
pnl2: TGridPanel;
|
||||
pnl3: TGridPanel;
|
||||
btnPolUloz: TButton;
|
||||
btnPolSmaz: TButton;
|
||||
GridPanel1: TGridPanel;
|
||||
Label1: TLabel;
|
||||
cbKooperanti: TRzComboBox;
|
||||
Label2: TLabel;
|
||||
dtPozadDodani: TDateTimePicker;
|
||||
btnNovaPol: TButton;
|
||||
edtBarcode: TEdit;
|
||||
grdNovePolozky: TJvDBGrid;
|
||||
lblTypKodu: TLabel;
|
||||
pMenu: TPopupMenu;
|
||||
pM1ZmenaMnoz: TMenuItem;
|
||||
N1: TMenuItem;
|
||||
pM1Smazat: TMenuItem;
|
||||
procedure edtBarcodeExit (Sender: TObject);
|
||||
procedure shNovaObjShow (Sender: TObject);
|
||||
procedure btnNovaPolClick (Sender: TObject);
|
||||
procedure cbKooperantiChange (Sender: TObject);
|
||||
procedure FormShow (Sender: TObject);
|
||||
procedure btnNovaObjClick (Sender: TObject);
|
||||
procedure btnPolSmazClick (Sender: TObject);
|
||||
procedure pM1SmazatClick(Sender: TObject);
|
||||
procedure pM1ZmenaMnozClick(Sender: TObject);
|
||||
procedure btnPolUlozClick(Sender: TObject);
|
||||
strict private
|
||||
function SumPolozkyDleDavky (const idDavky: integer): Extended;
|
||||
function SumPolozkyDlePrikazu (const idPrikaz: integer): Extended;
|
||||
procedure NactiKooperanty;
|
||||
public
|
||||
Helios: IHelios;
|
||||
typObj: integer;
|
||||
end;
|
||||
|
||||
var
|
||||
formGenKoopObj: TformGenKoopObj;
|
||||
jsemKooperace, operUzavrena, skenPrikaz, skipMe: boolean;
|
||||
idDavka, idDavkaRodic, locIDDavka, locIDDavkaSelf, ksNaStrom, dokladPrP: integer;
|
||||
idKoopObj, idPrikaz, idKmen, idOperace, idKoop, idKoopNew, typOper, cOrgKooperant, stavVPr: integer;
|
||||
idKoopObjH: integer;
|
||||
numDavka, kodOp, kodKoop, radaPrikaz, mjDavky, rc, altPrP: string;
|
||||
ksSum, ks, ksZive: Extended;
|
||||
typSkenKod, typDavky: byte;
|
||||
aktCisOrgKoop, aktIdOrgKoop: integer;
|
||||
|
||||
|
||||
implementation
|
||||
uses System.RegularExpressions, System.StrUtils, System.DateUtils,
|
||||
dataMod,
|
||||
helUtils;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformGenKoopObj.NactiKooperanty;
|
||||
var lSQL: string;
|
||||
nazevOrg: string;
|
||||
i, ii, iLoop, cOrg: integer;
|
||||
begin
|
||||
if (idKoop=0) then
|
||||
begin
|
||||
if (idKoopObj>0) then
|
||||
lSQL := 'SELECT o.Nazev, h.CisloOrg FROM ' + tblKoopH + ' h JOIN ' + tblCOrg + ' o ON (o.CisloOrg=h.CisloOrg) WHERE h.ID=' + idKoopObj.ToString
|
||||
else
|
||||
lSQL := 'SELECT k.CisloOrg, o.Nazev FROM ' + dataMod.tblHDCKooperanti + ' k JOIN ' + tblCOrg + ' o ON (o.CisloOrg=k.CisloOrg)'
|
||||
+ ' WHERE o.Stav=0 AND k.Aktivni=1 And k.Typ=1 ORDER BY o.Nazev';
|
||||
|
||||
end // idKoop=0
|
||||
else
|
||||
lSQL := 'IF OBJECT_ID(N''dbo._hdc_TabCKoopCena'', N''U'') IS NOT NULL' + CRLF
|
||||
+ ' SELECT o.Nazev, o.CisloOrg FROM ' + tblCisKoop + ' ck JOIN ' + tblCOrg + ' o ON (o.ID=ck.dodavatel) WHERE o.Stav=0 AND ck.ID=' + idKoop.ToString + CRLF
|
||||
+ ' UNION ALL' + CRLF
|
||||
+ ' SELECT o.Nazev, o.CisloOrg FROM dbo._hdc_TabCKoopCena ckc JOIN ' + tblCOrg + ' o ON (o.CisloOrg=ckc.CisloOrg) WHERE o.Stav=0 AND ckc.IDKooperace=' + idKoop.ToString + CRLF
|
||||
+ ' ELSE' + CRLF
|
||||
+ ' SELECT o.Nazev, o.CisloOrg FROM ' + tblCisKoop + ' ck JOIN ' + tblCOrg + ' o ON (o.ID=ck.dodavatel) WHERE o.Stav=0 AND ck.ID=' + idKoop.ToString;
|
||||
|
||||
i := 0;
|
||||
ii := 0;
|
||||
iLoop := 0;
|
||||
|
||||
cbKooperanti.Items.Clear;
|
||||
if (idKoopObj=0) then
|
||||
cbKooperanti.Items.Add ('-- Vyberte --');
|
||||
|
||||
|
||||
with Helios.OpenSQL (lSQL) do
|
||||
if (RecordCount>0) then
|
||||
begin
|
||||
First;
|
||||
while not(EOF) do
|
||||
begin
|
||||
cOrg := FieldByNameValues('CisloOrg');
|
||||
if (cOrg=cOrgKooperant) then
|
||||
ii := iLoop;
|
||||
nazevOrg := FieldByNameValues('Nazev');
|
||||
cbKooperanti.Items.AddObject (cOrg.ToString + ' - ' + nazevOrg, TKooperant.Create (nazevOrg, cOrg, Helios) );
|
||||
Inc (iLoop);
|
||||
Next;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformGenKoopObj.pM1SmazatClick (Sender: TObject);
|
||||
begin
|
||||
if Helios.YesNo('Smazat položku?', false) then
|
||||
dataMod.dm.tblInsOperace.Delete;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformGenKoopObj.pM1ZmenaMnozClick (Sender: TObject);
|
||||
var iBox: string;
|
||||
mn, mnOrig: Extended;
|
||||
begin
|
||||
mnOrig := dataMod.dm.tblInsOperace.FieldByName('Kusy').AsExtended;
|
||||
|
||||
iBox := InputBox('Zmìna množství (bylo ' + mnOrig.ToString + ')', 'Nové množství', mnOrig.ToString);
|
||||
if not(TryStrToFloat(iBox, mn)) then
|
||||
mn := -1;
|
||||
|
||||
if (mn>0) and (mn<=mnOrig) then
|
||||
begin
|
||||
try
|
||||
dataMod.dm.tblInsOperace.Edit;
|
||||
dataMod.dm.tblInsOperace.FieldByName('Kusy').AsExtended := mn;
|
||||
dataMod.dm.tblInsOperace.Post;
|
||||
except
|
||||
dataMod.dm.tblInsOperace.Cancel;
|
||||
end;
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformGenKoopObj.btnNovaObjClick (Sender: TObject);
|
||||
var lSQL, ozn: string;
|
||||
begin
|
||||
shNovaObj.TabVisible := true;
|
||||
pgCtrl.ActivePage := shNovaObj;
|
||||
shHlavicky.TabVisible := false;
|
||||
self.Invalidate;
|
||||
|
||||
if (idKoopObjH=0) then
|
||||
begin
|
||||
ozn := InputBox('NOVÁ OJEDNÁVKA', 'Vaše oznaèení:', '');
|
||||
lSQL := 'INSERT ' + tblKoopH + ' (TypObj, DeviceID, BlokujeDevice, Oznaceni) SELECT ' + typObj.ToString + ', N' + ('H-' + Helios.LoginName).QuotedString
|
||||
+ ', N' + ('H-' + Helios.LoginName).QuotedString + ', N' + ozn.QuotedString + CRLF + 'SELECT SCOPE_IDENTITY() AS newID';
|
||||
with Helios.OpenSQL (lSQL) do
|
||||
idKoopObjH := FieldByNameValues('newID');
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformGenKoopObj.btnNovaPolClick (Sender: TObject);
|
||||
begin
|
||||
typSkenKod := 1;
|
||||
kodOp := '';
|
||||
ks := 0;
|
||||
ksZive := 0;
|
||||
ksSum := 0;
|
||||
idOperace := 0;
|
||||
idPrikaz := 0;;
|
||||
radaPrikaz := '';
|
||||
|
||||
lblTypKodu.Caption := 'Kód DÁVKY / PØÍKAZU';
|
||||
edtBarcode.Visible := true;
|
||||
self.ActiveControl := edtBarcode;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformGenKoopObj.btnPolSmazClick (Sender: TObject);
|
||||
begin
|
||||
if Helios.YesNo('Opravdu smazat zadané položky ?', false) then
|
||||
begin
|
||||
dataMod.dm.tblInsOperace.EmptyDataSet;
|
||||
edtBarcode.Text := '';
|
||||
cbKooperanti.Clear;
|
||||
cbKooperanti.Enabled := true;
|
||||
self.ActiveControl := dtPozadDodani;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformGenKoopObj.btnPolUlozClick (Sender: TObject);
|
||||
var lSQL: string;
|
||||
i: integer;
|
||||
idH: integer;
|
||||
begin
|
||||
|
||||
if (dataMod.dm.tblInsOperace.RecordCount>0) then
|
||||
begin
|
||||
// lSQL := 'DECLARE @idH INT' + CRLF + 'INSERT ' + tblKoopH + ' (TypObj, SkenPrikaz, ) '
|
||||
|
||||
dataMod.dm.tblInsOperace.First;
|
||||
while not(dataMod.dm.tblInsOperace.Eof) do
|
||||
begin
|
||||
|
||||
end;
|
||||
end
|
||||
else
|
||||
Helios.Error(#1'Objednávka nemá žádné položky.'#1);
|
||||
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
function TformGenKoopObj.SumPolozkyDleDavky (const idDavky: integer): Extended;
|
||||
begin
|
||||
result := 0;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
function TformGenKoopObj.SumPolozkyDlePrikazu (const idPrikaz: integer): Extended;
|
||||
begin
|
||||
result := 0;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformGenKoopObj.cbKooperantiChange (Sender: TObject);
|
||||
var k: TKooperant;
|
||||
begin
|
||||
if (cbKooperanti.ItemIndex>-1) then
|
||||
begin
|
||||
k := TKooperant (cbKooperanti.Items.Objects[cbKooperanti.ItemIndex]);
|
||||
aktCisOrgKoop := k.CisloOrg;
|
||||
aktIdOrgKoop := k.IdOrg;
|
||||
end
|
||||
else
|
||||
begin
|
||||
aktCisOrgKoop := -1;
|
||||
aktIdOrgKoop := -1;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformGenKoopObj.edtBarcodeExit (Sender: TObject);
|
||||
var lSQL, bc: string;
|
||||
canCont: boolean;
|
||||
tempSum1, tempSum2, tempSum3: extended;
|
||||
begin
|
||||
canCont:= true;
|
||||
edtBarcode.Text := edtBarcode.Text.Trim;
|
||||
|
||||
if (edtBarcode.Text<>'') then
|
||||
begin
|
||||
bc := edtBarcode.Text;
|
||||
|
||||
if (typSkenKod=1) then
|
||||
begin
|
||||
if (bc.StartsWith('420')) then
|
||||
begin
|
||||
if not(bc.EndsWith('D')) then
|
||||
bc := bc + 'D';
|
||||
if not(bc.StartsWith('D')) then
|
||||
bc := 'D' + bc;
|
||||
end;
|
||||
|
||||
ksSum := 0;
|
||||
|
||||
idDavka := 0;
|
||||
idDavkaRodic := 0;
|
||||
locIDDavka := 0;
|
||||
locIDDavkaSelf := 0;
|
||||
|
||||
if (bc.StartsWith('V')) and (bc.EndsWith('P')) then
|
||||
begin
|
||||
idPrikaz := TRegEx.Replace(bc.Trim, '\D', '').ToInteger;
|
||||
lSQL := 'SELECT 1 FROM ' + tblVPr + ' WHERE ID=' + idPrikaz.ToString;
|
||||
if not (helUtils.sqlExistsTestGeneral (Helios, lSQL)) then
|
||||
idPrikaz := 0;
|
||||
|
||||
if (idPrikaz>0) then
|
||||
begin
|
||||
if not (helUtils.sqlExistsTestGeneral (Helios, lSQL + ' AND StavPrikazu=30')) then
|
||||
begin
|
||||
Helios.Error (#1'Chyba: '#1 + 'výrobní pøíkaz není ve stavu Zadáno, NELZE použít');
|
||||
idPrikaz := 0;
|
||||
idDavka := 0;
|
||||
end
|
||||
else
|
||||
begin
|
||||
typSkenKod := 2;
|
||||
kodOp := '';
|
||||
ks := 0;
|
||||
ksZive := 0;
|
||||
idOperace := 0;
|
||||
radaPrikaz := '';
|
||||
lblTypKodu.Caption := 'Kód OPERACE';
|
||||
skenPrikaz := true;
|
||||
edtBarcode.Text := '';
|
||||
self.ActiveControl := edtBarcode;
|
||||
end;
|
||||
end; // idPrikaz >0
|
||||
|
||||
end // bc.startsWith V + bc.EndsWith P
|
||||
else
|
||||
begin
|
||||
skenPrikaz := false;
|
||||
if (bc.StartsWith('D420')) and (bc.EndsWith('D')) then
|
||||
begin
|
||||
lSQL := 'SELECT ID, IDRodic FROM ' + dataMod.tblDavky + ' WHERE KodDavky2=N' + bc.QuotedString + ' ORDER BY Pozice';
|
||||
with Helios.OpenSQL (lSQL) do
|
||||
begin
|
||||
locIDDavkaSelf := FieldByNameValues('ID');
|
||||
idDavka := locIDDavkaSelf;
|
||||
idDavkaRodic := FieldByNameValues('IDRodic');
|
||||
locIdDavka := idDavkaRodic;
|
||||
end;
|
||||
|
||||
if (idDavka>0) then
|
||||
begin
|
||||
lSQL := 'SELECT 1 FROM ' + dataMod.tblDavky + ' d JOIN ' + tblVPr + ' p ON (d.IDPrikazVyssiVyssi=p.ID) WHERE p.StavPrikazu<>30 AND d.ID=' + idDavka.ToString;
|
||||
if (helUtils.sqlExistsTestGeneral (Helios, lSQL)) then
|
||||
begin
|
||||
Helios.Error (#1'V dávce se nachází pøedzpracovaný/ukonèený pøíkaz, NELZE použít'#1);
|
||||
idDavka := 0;
|
||||
edtBarcode.Text := '';
|
||||
self.ActiveControl := edtBarcode;
|
||||
end
|
||||
else
|
||||
begin
|
||||
lSQL := 'SELECT CONVERT(nvarchar, DruhDavky) + N''/'' + CONVERT(nvarchar, Rok) + N'' - '' + CONVERT(nvarchar, Cislo) FROM ' + dataMod.tblDavky
|
||||
+ ' WHERE ID=' + helUtils.IfThenInt (idDavkaRodic>0, idDavkaRodic, idDavka).ToString;
|
||||
numDavka := helUtils.getHeliosStrVal (Helios, '', lSQL);
|
||||
kodOp := '';
|
||||
ks := 0;
|
||||
ksZive := 0;
|
||||
ksSum := 0;
|
||||
idOperace := 0;
|
||||
idPrikaz := 0;
|
||||
radaPrikaz := '';
|
||||
|
||||
typSkenKod := 2;
|
||||
edtBarcode.Tag := 2;
|
||||
lblTypKodu.Caption := 'Kód OPERACE';
|
||||
edtBarcode.Text := '';
|
||||
self.ActiveControl := edtBarcode;
|
||||
end;
|
||||
|
||||
end; // idDavka >0
|
||||
|
||||
end; // bc.startsWith D420 + bc.EndsWith D
|
||||
end; // not bc.startsWith V + bc.EndsWith P
|
||||
end // typSkenKod=1
|
||||
else
|
||||
if (typSkenKod=2) then
|
||||
begin
|
||||
if (bc.StartsWith('A')) and (bc.EndsWith('B')) then
|
||||
begin
|
||||
jsemKooperace := false;
|
||||
|
||||
ksSum := 0;
|
||||
ksZive := 0;
|
||||
|
||||
lSQL := 'SELECT p.ID, p.IDPrikaz, p.Kusy_pozadovane-p.KusyVKoop AS kzZive, k.RegCis, vp.RadaPrikaz, p.Doklad, p.Alt, p.IDkooperace, p.typ, k.ID AS idKmen'
|
||||
+ ', ck.Kod AS KodKoop, p.Splneno FROM ' + tblPrPost + ' p JOIN ' + tblVPr + ' vp ON (vp.ID=p.IDPrikaz) JOIN ' + tblKZ + ' k ON (k.ID=vp.IDTabKmen)'
|
||||
+ ' JOIN ' + tblCisKoop + ' ck ON (ck.ID=p.IDKooperace) WHERE p.IDOdchylkyDo IS NULL AND p.Priorita=0 AND p.BarCode=N' + bc.QuotedString;
|
||||
if (idPrikaz>0) then
|
||||
lSQL := lSQL + ' AND p.IDPrikaz=' + idPrikaz.ToString;
|
||||
|
||||
with Helios.OpenSQL(lSQL) do
|
||||
if (RecordCount>0) then
|
||||
begin
|
||||
First;
|
||||
while not(EOF) do
|
||||
begin
|
||||
canCont := true;
|
||||
|
||||
ksZive := FieldByNameValues('kzZive');
|
||||
idKmen := FieldByNameValues('idKmen');
|
||||
typOper := FieldByNameValues('typ');
|
||||
operUzavrena := FieldByNameValues('Splneno');
|
||||
rc := FieldByNameValues('RegCis');
|
||||
radaPrikaz := FieldByNameValues('RadaPrikaz');
|
||||
dokladPrP := FieldByNameValues('Doklad');
|
||||
altPrP := FieldByNameValues('Alt');
|
||||
|
||||
kodKoop := '';
|
||||
idKoop := 0;
|
||||
|
||||
jsemKooperace := (typOper=2);
|
||||
if (jsemKooperace) then
|
||||
begin
|
||||
idKoop := FieldByNameValues('IDkooperace');
|
||||
kodKoop := FieldByNameValues('KodKoop');
|
||||
NactiKooperanty;
|
||||
if (cbKooperanti.Items.Count=2) then
|
||||
begin
|
||||
cbKooperanti.ItemIndex := 1;
|
||||
cbKooperanti.Enabled := false;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
if not(jsemKooperace) then
|
||||
begin
|
||||
Helios.Error (#1'Naskenovaná operace není kooperace nebude do objednávky pøidána'#1);
|
||||
canCont := false;
|
||||
skipMe := true;
|
||||
end;
|
||||
|
||||
if (canCont) and (operUzavrena) then
|
||||
begin
|
||||
Helios.Error (#1'Naskenovaná kooperace je uzavøena, nebude do objednávky pøidána'#1);
|
||||
canCont := false;
|
||||
skipMe := true;
|
||||
end;
|
||||
|
||||
if (canCont) and (ksZive<=0) then
|
||||
begin
|
||||
Helios.Error (#1'Naskenovaná kooperace nemá živé kusy, nebude do objednávky pøidána'#1);
|
||||
canCont := false;
|
||||
skipMe := true;
|
||||
end;
|
||||
|
||||
if (canCont) then
|
||||
begin
|
||||
idOperace := FieldByNameValues('ID'); // idPrPostup
|
||||
if (idPrikaz=0) then
|
||||
idPrikaz := FieldByNameValues('IDPrikaz');
|
||||
|
||||
ksNaStrom := 1;
|
||||
mjDavky := '';
|
||||
|
||||
if (skenPrikaz) then
|
||||
begin
|
||||
lSQL := 'SELECT TOP(1) k.MJEvidence FROM ' + tblVPr + ' p JOIN ' + tblKZ + ' k ON (k.ID=p.IDTabKmen) WHERE p.ID=' + idPrikaz.ToString;
|
||||
mjDavky := helUtils.getHeliosStrVal (Helios, '', lSQL);
|
||||
end
|
||||
else
|
||||
begin
|
||||
mjDavky := helUtils.getHeliosStrVal (Helios, '', 'SELECT TOP(1) MJ FROM ' + tblDavky + ' WHERE ID=' + helUtils.IfThenInt (idDavkaRodic>0, idDavkaRodic, idDavka).ToString);
|
||||
ksZive := helUtils.getHeliosFloatVal (Helios, 0, 'SELECT SUM(Mnozstvi-MnozstviVKoop) FROM ' + tblDavky + ' WHERE IDDavkyHlavni=' + idDavka.ToString);
|
||||
end;
|
||||
|
||||
if (mjDavky.ToLower='str') then
|
||||
ksNaStrom := helUtils.getHeliosIntVal (Helios, 0, 'SELECT ISNULL(dbo.ef_HDC_PocetKsNaStromek (' + idKmen.ToString + ', NULL, NULL, NULL, NULL), 0)');
|
||||
|
||||
|
||||
if not(skenPrikaz) then
|
||||
ksZive := helUtils.getHeliosFloatVal (Helios, 0, 'SELECT SUM(MnozstviKs-OdvedenoKs-MnozstviVKoop) FROM ' + tblDavky + ' WHERE IDDavkyHlavni=' + idDavka.ToString);
|
||||
|
||||
if (ksZive<=0) and not(skenPrikaz) then
|
||||
begin
|
||||
Helios.Error ('V dávce '#1 + numDavka + #1 + ' nezbývají na tuto operaci kusy.');
|
||||
edtBarcode.Text := '';
|
||||
canCont := false;
|
||||
skipMe := true;
|
||||
end
|
||||
else
|
||||
begin
|
||||
if not(skenPrikaz) then
|
||||
begin
|
||||
lSQL := 'SELECT p.StavPrikazu FROM ' + tblVPr + ' p JOIN ' + tblDavky + ' d ON (d.IDPrikaz=p.ID) WHERE d.IDDavkyHlavni=' + idDavka.ToString;
|
||||
stavVPr := helUtils.getHeliosIntVal (Helios, 0, lSQL);
|
||||
if (stavVPr<>30) then
|
||||
canCont := false;
|
||||
end;
|
||||
|
||||
if not(canCont) then
|
||||
begin
|
||||
Helios.Error (#1'Ne všechny pøíkazy této dávky jsou ve stavu Zadáno, NELZE pokraèovat.'#1);
|
||||
edtBarcode.Text := '';
|
||||
skipMe := true;
|
||||
end
|
||||
else
|
||||
begin
|
||||
if (idKoopNew=0) and (idKoop>0) then
|
||||
idKoopNew := idKoop;
|
||||
|
||||
radaPrikaz := helUtils.getHeliosStrVal (Helios, '', 'SELECT RadaPrikaz FROM ' + tblVPr + ' WHERE ID=' + idPrikaz.ToString);
|
||||
|
||||
typDavky := 0;
|
||||
if (radaPrikaz.StartsWith('224')) then
|
||||
typDavky := 4;
|
||||
|
||||
if not(skenPrikaz) then
|
||||
tempSum3 := SumPolozkyDleDavky (locIDDavkaSelf)
|
||||
else
|
||||
tempSum3 := SumPolozkyDlePrikazu (idPrikaz);
|
||||
|
||||
skipMe := false;
|
||||
|
||||
lSQL := 'SELECT SUM(Kusy_pozadovane-KusyVKoop)-' + tempSum3.ToString.Replace(',', '.') + ' FROM ' + tblPrPost + ' WHERE IDOdchylkyDo IS NULL AND Typ=2';
|
||||
if not(skenPrikaz) then
|
||||
lSQL := lSQL + ' AND IDPrikaz IN (SELECT IDPrikazVyssiVyssi FROM ' + tblDavky + ' WHERE DruhDavky=4 And IDDavkyHlavni=' + idDavka.ToString + ')'
|
||||
else
|
||||
lSQL := lSQL + ' AND IDPrikaz=' + idPrikaz.ToString + ' AND ID=' + idOperace.ToString;
|
||||
lSQL := lSQL + ' AND IDkooperace=' + idKoop.ToString;
|
||||
|
||||
|
||||
if not(skipMe) then
|
||||
begin
|
||||
if not(dataMod.dm.tblKoopObjR.Active) then
|
||||
dataMod.dm.tblKoopObjR.Open;
|
||||
|
||||
if not(dataMod.dm.tblInsOperace.Active) then
|
||||
dataMod.dm.tblInsOperace.Open;
|
||||
dataMod.dm.tblInsOperace.Append;
|
||||
try
|
||||
try
|
||||
dataMod.dm.tblInsOperace.FieldByName('IdPrPostup').AsInteger := idOperace;
|
||||
dataMod.dm.tblInsOperace.FieldByName('IDVPr').AsInteger := idPrikaz;
|
||||
dataMod.dm.tblInsOperace.FieldByName('Kusy').AsExtended := ksZive;
|
||||
dataMod.dm.tblInsOperace.FieldByName('RegCis').AsString := rc;
|
||||
dataMod.dm.tblInsOperace.FieldByName('RadaPrikaz').AsString := radaPrikaz;
|
||||
dataMod.dm.tblInsOperace.FieldByName('Doklad').AsInteger := dokladPrP;
|
||||
dataMod.dm.tblInsOperace.FieldByName('Alt').AsString := altPrP;
|
||||
dataMod.dm.tblInsOperace.FieldByName('KsNaStr').AsInteger := ksNaStrom;
|
||||
dataMod.dm.tblInsOperace.FieldByName('IDDavka').AsInteger := idDavka;
|
||||
dataMod.dm.tblInsOperace.FieldByName('IDDavkaRodic').AsInteger := idDavkaRodic;
|
||||
dataMod.dm.tblInsOperace.FieldByName('IDKooperace').AsInteger := idKoop;
|
||||
dataMod.dm.tblInsOperace.FieldByName('KodKoop').AsString := kodKoop;
|
||||
dataMod.dm.tblInsOperace.Post;
|
||||
edtBarcode.Text := '';
|
||||
lblTypKodu.Caption := '';
|
||||
except
|
||||
dataMod.dm.tblInsOperace.Cancel;
|
||||
end;
|
||||
finally
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
|
||||
end;
|
||||
|
||||
|
||||
Next;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
end; // bc.startsWith A + bc.EndsWith B
|
||||
end; // typSkenKod=2
|
||||
|
||||
|
||||
|
||||
end; // edtBarcode.Text
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformGenKoopObj.FormShow (Sender: TObject);
|
||||
begin
|
||||
pgCtrl.ActivePage := shHlavicky;
|
||||
shNovaObj.TabVisible := false;
|
||||
|
||||
if not(dataMod.dm.tblKoopObjH.Active) then
|
||||
dataMod.dm.tblKoopObjH.Open;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformGenKoopObj.shNovaObjShow (Sender: TObject);
|
||||
begin
|
||||
typSkenKod := 1;
|
||||
cOrgKooperant := -1;
|
||||
dtPozadDodani.Date := IncDay (DateOf(Now), 1);
|
||||
self.ActiveControl := dtPozadDodani;
|
||||
edtBarcode.Visible := false;
|
||||
end;
|
||||
|
||||
end.
|
||||
+26
-24
@@ -92,50 +92,52 @@ uses System.StrUtils, helUtils;
|
||||
idKZ, idKZsub: integer;
|
||||
genVob, genVod: Boolean;
|
||||
i: integer;
|
||||
wF: TForm;
|
||||
begin
|
||||
lSQL:= Testy;
|
||||
if (lSQL='') then
|
||||
begin
|
||||
waitStart(self, 'Generování karet...', 1, $0000FF );
|
||||
x:= '';
|
||||
wF := helUtils.waitStart (self, 'Generování karet...', 1, $0000FF, true);
|
||||
x := '';
|
||||
|
||||
lSQL:= 'IF OBJECT_ID(N''dbo._temp_TabGenKartySTPV'') IS NOT NULL DELETE FROM dbo._temp_TabGenKartySTPV WHERE Autor=SUSER_SNAME()' + CRLF;
|
||||
lSQL:= lSQL + 'IF OBJECT_ID(N''dbo._temp_TabGenKartySTPV'') IS NOT NULL IF NOT EXISTS(SELECT * FROM dbo._temp_TabGenKartySTPV)';
|
||||
lSQL:= lSQL + ' DROP TABLE dbo._temp_TabGenKartySTPV' + CRLF + 'DROP TABLE IF EXISTS #TabGenKartySTPV';
|
||||
Helios.ExecSQL(lSQL);
|
||||
lSQL := 'IF OBJECT_ID(N''dbo._temp_TabGenKartySTPV'') IS NOT NULL DELETE FROM dbo._temp_TabGenKartySTPV WHERE Autor=SUSER_SNAME()' + CRLF;
|
||||
lSQL := lSQL + 'IF OBJECT_ID(N''dbo._temp_TabGenKartySTPV'') IS NOT NULL IF NOT EXISTS(SELECT * FROM dbo._temp_TabGenKartySTPV)';
|
||||
lSQL := lSQL + ' DROP TABLE dbo._temp_TabGenKartySTPV' + CRLF + 'DROP TABLE IF EXISTS #TabGenKartySTPV';
|
||||
Helios.ExecSQL (lSQL);
|
||||
|
||||
lSQL:= 'CREATE TABLE #TabGenKartySTPV (RegCis NVARCHAR(30) NOT NULL, RegCisNizsi NVARCHAR(30), Nazev NVARCHAR(100) DEFAULT N'''', Technologie NCHAR(5) NOT NULL';
|
||||
lSQL:= lSQL + ', PrvniObal TINYINT NOT NULL, VzorCisloKarty NVARCHAR(33) NOT NULL, Sklad NVARCHAR(30), SkupZbo NVARCHAR(3) NOT NULL DEFAULT N'''', GenPxx BIT DEFAULT 1';
|
||||
lSQL:= lSQL + ', RCPxxFin BIT DEFAULT 1, KodMat NVARCHAR(5) DEFAULT N'''', Autor NVARCHAR(80) NOT NULL DEFAULT SUSER_SNAME())' + CRLF;
|
||||
lSQL:= lSQL + 'INSERT #TabGenKartySTPV (RegCis, RegCisNizsi, Nazev, Technologie, PrvniObal, VzorCisloKarty, SkupZbo, GenPxx, RCPxxFin, Sklad, KodMat) SELECT N';
|
||||
lSQL:= lSQL + edtRegC.Text.QuotedString + ', N' + edtRegCN.Text.QuotedString + ', N' + edtNazev.Text.QuotedString + ', N' + edtTech.Text.QuotedString + ', ';
|
||||
lSQL:= lSQL + cboxPrvniObal.ItemIndex.ToString + ', N' + edtVzorTPV.Text.QuotedString + ', N' + cboxVOD.Text.QuotedString + ', ' + IfThen(cbGenSpodek.Checked, '1', '0');
|
||||
lSQL:= lSQL + ', ' + IfThen(cbRCdleFin.Checked, '1', '0');
|
||||
lSQL := 'CREATE TABLE #TabGenKartySTPV (RegCis NVARCHAR(30) NOT NULL, RegCisNizsi NVARCHAR(30), Nazev NVARCHAR(100) DEFAULT N'''', Technologie NCHAR(5) NOT NULL';
|
||||
lSQL := lSQL + ', PrvniObal TINYINT NOT NULL, VzorCisloKarty NVARCHAR(33) NOT NULL, Sklad NVARCHAR(30), SkupZbo NVARCHAR(3) NOT NULL DEFAULT N'''', GenPxx BIT DEFAULT 1';
|
||||
lSQL := lSQL + ', RCPxxFin BIT DEFAULT 1, KodMat NVARCHAR(5) DEFAULT N'''', Autor NVARCHAR(80) NOT NULL DEFAULT SUSER_SNAME())' + CRLF;
|
||||
lSQL := lSQL + 'INSERT #TabGenKartySTPV (RegCis, RegCisNizsi, Nazev, Technologie, PrvniObal, VzorCisloKarty, SkupZbo, GenPxx, RCPxxFin, Sklad, KodMat) SELECT N';
|
||||
lSQL := lSQL + edtRegC.Text.QuotedString + ', N' + edtRegCN.Text.QuotedString + ', N' + edtNazev.Text.QuotedString + ', N' + edtTech.Text.QuotedString + ', ';
|
||||
lSQL := lSQL + cboxPrvniObal.ItemIndex.ToString + ', N' + edtVzorTPV.Text.QuotedString + ', N' + cboxVOD.Text.QuotedString + ', ' + IfThen(cbGenSpodek.Checked, '1', '0');
|
||||
lSQL := lSQL + ', ' + IfThen(cbRCdleFin.Checked, '1', '0');
|
||||
for i:=0 to Helios.QueryBrowse.FieldCount-1 do
|
||||
begin
|
||||
xx:= Helios.QueryBrowse.Fields(i).FieldName;
|
||||
xx := Helios.QueryBrowse.Fields(i).FieldName;
|
||||
if (xx='IDSklad') then
|
||||
x:= VarToStr(Helios.QueryBrowse.FieldByNameValues('IDSklad'));
|
||||
x := VarToStr(Helios.QueryBrowse.FieldByNameValues('IDSklad'));
|
||||
end;
|
||||
lSQL:= lSQL + ', ' + IfThen(x='', 'NULL', 'N' + x.QuotedString);
|
||||
lSQL:= lSQL + ', N' + IfThen(edtMat.Text='', 'ULL', edtMat.Text.QuotedString);
|
||||
lSQL := lSQL + ', ' + IfThen(x='', 'NULL', 'N' + x.QuotedString);
|
||||
lSQL := lSQL + ', N' + IfThen(edtMat.Text='', 'ULL', edtMat.Text.QuotedString);
|
||||
try
|
||||
if (jeTest) then
|
||||
lSQL:= StringReplace(lSQL, '#TabGenKar', 'dbo._temp_TabGenKar', [rfReplaceAll]);
|
||||
Helios.ExecSQL(lSQL);
|
||||
lSQL := StringReplace(lSQL, '#TabGenKar', 'dbo._temp_TabGenKar', [rfReplaceAll]);
|
||||
Helios.ExecSQL (lSQL);
|
||||
if not(jeTest) then
|
||||
Helios.ExecSQL('IF OBJECT_ID(N''dbo.ep_TPV_GenKarty'') IS NOT NULL EXEC dbo.ep_TPV_GenKarty');
|
||||
Helios.ExecSQL ('IF OBJECT_ID(N''dbo.ep_TPV_GenKarty'') IS NOT NULL EXEC dbo.ep_TPV_GenKarty');
|
||||
Close;
|
||||
except on E:Exception do
|
||||
begin
|
||||
waitEnd;
|
||||
Helios.Error(#1 + 'CHYBA: ' + #1 + E.Message);
|
||||
waitEnd (wF);
|
||||
Helios.Error (#1 + 'CHYBA: ' + #1 + E.Message);
|
||||
end;
|
||||
end;
|
||||
waitEnd;
|
||||
if Assigned(wF) then
|
||||
waitEnd (wF);
|
||||
end
|
||||
else
|
||||
Helios.Error(#1 + 'CHYBA: ' + #1 + lSQL);
|
||||
Helios.Error (#1 + 'CHYBA: ' + #1 + lSQL);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
+196
-193
@@ -82,17 +82,17 @@ uses System.StrUtils, System.DateUtils, System.UITypes,
|
||||
|
||||
|
||||
|
||||
procedure TaskDlgOK(titulek, nadpis, textX: string; ikona: byte);
|
||||
procedure TaskDlgOK (titulek, nadpis, textX: string; ikona: byte);
|
||||
begin
|
||||
with TTaskDialog.Create(nil) do
|
||||
begin
|
||||
try
|
||||
Caption:= titulek;
|
||||
Title:= nadpis;
|
||||
Text:= textX;
|
||||
MainIcon:= ikona;
|
||||
DefaultButton:= tcbOK;
|
||||
CommonButtons:= [tcbOk];
|
||||
Caption := titulek;
|
||||
Title := nadpis;
|
||||
Text := textX;
|
||||
MainIcon := ikona;
|
||||
DefaultButton := tcbOK;
|
||||
CommonButtons := [tcbOk];
|
||||
Execute;
|
||||
finally
|
||||
Free;
|
||||
@@ -102,19 +102,20 @@ uses System.StrUtils, System.DateUtils, System.UITypes,
|
||||
|
||||
|
||||
|
||||
function TaskDlgYesNo(titulek, nadpis, textX: string; ikona: byte; defBtn: TTaskDialogCommonButton): System.UITypes.TModalResult;
|
||||
|
||||
function TaskDlgYesNo (titulek, nadpis, textX: string; ikona: byte; defBtn: TTaskDialogCommonButton): System.UITypes.TModalResult;
|
||||
begin
|
||||
with TTaskDialog.Create(nil) do
|
||||
begin
|
||||
try
|
||||
Caption:= titulek;
|
||||
Title:= nadpis;
|
||||
Text:= textX;
|
||||
MainIcon:= ikona;
|
||||
DefaultButton:= defBtn;
|
||||
CommonButtons:= [tcbYes, tcbNo];
|
||||
Caption := titulek;
|
||||
Title := nadpis;
|
||||
Text := textX;
|
||||
MainIcon := ikona;
|
||||
DefaultButton := defBtn;
|
||||
CommonButtons := [tcbYes, tcbNo];
|
||||
Execute;
|
||||
result:= ModalResult;
|
||||
result := ModalResult;
|
||||
finally
|
||||
Free;
|
||||
end;
|
||||
@@ -124,7 +125,6 @@ uses System.StrUtils, System.DateUtils, System.UITypes,
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformOOPPohyb.DotazNaUkonceni;
|
||||
begin
|
||||
if ((TaskDlgYesNo('', 'Chcete ukončit zadávání ?', '(data nebudou uložena)', tdiInformation, tcbNo))=mrYes) then
|
||||
@@ -134,161 +134,162 @@ uses System.StrUtils, System.DateUtils, System.UITypes,
|
||||
|
||||
|
||||
|
||||
function TformOOPPohyb.NactiUdajeZamestnance(cisZam: Integer): Boolean;
|
||||
function TformOOPPohyb.NactiUdajeZamestnance (cisZam: Integer): Boolean;
|
||||
begin
|
||||
result:= false;
|
||||
result := false;
|
||||
if (cisZam>0) then
|
||||
begin
|
||||
if (helUtils.sqlExistsTestGeneral(Helios, 'SELECT 1 FROM ' + tblCisZam + ' WHERE Cislo=' + cisZam.ToString)) then
|
||||
begin
|
||||
idZam:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT ID FROM ' + tblCisZam + ' WHERE Cislo=' + cisZam.ToString);
|
||||
idZam := helUtils.getHeliosIntVal(Helios, 0, 'SELECT ID FROM ' + tblCisZam + ' WHERE Cislo=' + cisZam.ToString);
|
||||
|
||||
if (idZam>0) and (helUtils.sqlExistsTestGeneral(Helios, 'SELECT 1 FROM (VALUES(1)) t1(col1) WHERE COL_LENGTH(N' + tblCisZamE.QuotedString + ', N''_OOP_Profese'') IS NOT NULL')) then
|
||||
begin
|
||||
idProf:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT ISNULL(_OOP_Profese, 0) FROM ' + tblCisZamE + ' WHERE ID=' + idZam.ToString);
|
||||
idProf := helUtils.getHeliosIntVal(Helios, 0, 'SELECT ISNULL(_OOP_Profese, 0) FROM ' + tblCisZamE + ' WHERE ID=' + idZam.ToString);
|
||||
if (idProf>0) then
|
||||
begin
|
||||
edtProfese.Text:= helUtils.getHeliosStrVal(Helios, '', 'SELECT Profese FROM ' + tblOOPProfese + ' WHERE ID=' + idProf.ToString);
|
||||
if (edtDatum.CanFocus) then
|
||||
edtDatum.SetFocus;
|
||||
edtProfese.Text := helUtils.getHeliosStrVal(Helios, '', 'SELECT Profese FROM ' + tblOOPProfese + ' WHERE ID=' + idProf.ToString);
|
||||
self.ActiveControl := edtDatum;
|
||||
end
|
||||
else
|
||||
edtProfese.Text:= '';
|
||||
edtProfese.Text := '';
|
||||
end;
|
||||
edtPrijmJm.Text:= helUtils.getHeliosStrVal(Helios, '', 'SELECT PrijmeniJmeno FROM ' + tblCisZam + ' WHERE Cislo=' + cisZam.ToString);
|
||||
edtStredisko.Text:= helUtils.getHeliosStrVal(Helios, '', 'SELECT Stredisko FROM ' + tblCisZam + ' WHERE Cislo=' + cisZam.ToString);
|
||||
edtStrediskoText.Text:= helUtils.getHeliosStrVal(Helios, '', 'SELECT Nazev FROM ' + tblStrom + ' WHERE Cislo=N' + edtStredisko.Text.QuotedString);
|
||||
stredOld:= helUtils.getHeliosStrVal(Helios, '', 'SELECT TOP(1) StrediskoOld FROM ' + tblOOPProfese + ' WHERE Stredisko=N' + edtStredisko.Text.QuotedString);
|
||||
edtStrediskoOld.Text:= stredOld;
|
||||
result:= true;
|
||||
edtPrijmJm.Text := helUtils.getHeliosStrVal (Helios, '', 'SELECT PrijmeniJmeno FROM ' + tblCisZam + ' WHERE Cislo=' + cisZam.ToString);
|
||||
edtStredisko.Text := helUtils.getHeliosStrVal (Helios, '', 'SELECT Stredisko FROM ' + tblCisZam + ' WHERE Cislo=' + cisZam.ToString);
|
||||
edtStrediskoText.Text := helUtils.getHeliosStrVal (Helios, '', 'SELECT Nazev FROM ' + tblStrom + ' WHERE Cislo=N' + edtStredisko.Text.QuotedString);
|
||||
stredOld := helUtils.getHeliosStrVal (Helios, '', 'SELECT TOP(1) StrediskoOld FROM ' + tblOOPProfese + ' WHERE Stredisko=N' + edtStredisko.Text.QuotedString);
|
||||
edtStrediskoOld.Text := stredOld;
|
||||
result := true;
|
||||
end
|
||||
end
|
||||
else
|
||||
begin
|
||||
TaskDlgOK('POZOR', 'CHYBA', 'Uvedený zaměstnanec nebyl nalezen nebo nemáte právo jej vybrat.', tdiError);
|
||||
edtOsCislo.Text:= '';
|
||||
edtPrijmJm.Text:= '';
|
||||
cisZam:= 0;
|
||||
idZam:= 0;
|
||||
TaskDlgOK ('POZOR', 'CHYBA', 'Uvedený zaměstnanec nebyl nalezen nebo nemáte právo jej vybrat.', tdiError);
|
||||
edtOsCislo.Text := '';
|
||||
edtPrijmJm.Text := '';
|
||||
cisZam := 0;
|
||||
idZam := 0;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TformOOPPohyb.btnOKClick(Sender: TObject);
|
||||
|
||||
procedure TformOOPPohyb.btnOKClick (Sender: TObject);
|
||||
var lSQL: string;
|
||||
begin
|
||||
if (cisZam>0) and (idPolozka>0) then
|
||||
begin
|
||||
lSQL:= 'INSERT ' + tblOOPPohyby + ' (IDPolozky, Datum, CisloZam, Mnozstvi, Poznamka, IDProfese) SELECT ' + idPolozka.ToString + ', CONVERT(date, N'
|
||||
+ edtDatum.DateTime.Format('').QuotedString + ', 104), ' + cisZam.ToString + ', ' + edtMnoz.Value.ToString + ', N' + IfThen(memoPozn.Text='', 'ULL', memoPozn.Text.QuotedString)
|
||||
+ ', ' + IfThen(idProf=0, 'NULL', idProf.ToString);
|
||||
Helios.ExecSQL(lSQL);
|
||||
lSQL := 'INSERT ' + tblOOPPohyby + ' (IDPolozky, Datum, CisloZam, Mnozstvi, Poznamka, IDProfese) SELECT ' + idPolozka.ToString + ', CONVERT(date, N'
|
||||
+ edtDatum.DateTime.Format('').QuotedString + ', 104), ' + cisZam.ToString + ', ' + edtMnoz.Value.ToString + ', N' + IfThen(memoPozn.Text='', 'ULL', memoPozn.Text.QuotedString)
|
||||
+ ', ' + IfThen(idProf=0, 'NULL', idProf.ToString);
|
||||
Helios.ExecSQL (lSQL);
|
||||
Close;
|
||||
end
|
||||
else
|
||||
begin
|
||||
TaskDlgOK('POZOR', 'CHYBA', 'Nebyly zadány všechny potřebné informace.', tdiWarning);
|
||||
if (idPolozka=0) and (edtPolozka.CanFocus) then
|
||||
edtPolozka.SetFocus;
|
||||
if (cisZam=0) and (edtOsCislo.CanFocus) then
|
||||
edtOsCislo.SetFocus;
|
||||
TaskDlgOK ('POZOR', 'CHYBA', 'Nebyly zadány všechny potřebné informace.', tdiWarning);
|
||||
if (idPolozka=0) then
|
||||
self.ActiveControl := edtPolozka;
|
||||
if (cisZam=0) then
|
||||
self.ActiveControl := edtOsCislo;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TformOOPPohyb.btnStornoClick(Sender: TObject);
|
||||
|
||||
procedure TformOOPPohyb.btnStornoClick (Sender: TObject);
|
||||
begin
|
||||
Close;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TformOOPPohyb.edtOsCisloButtonClick(Sender: TObject);
|
||||
|
||||
procedure TformOOPPohyb.edtOsCisloButtonClick (Sender: TObject);
|
||||
var c: integer;
|
||||
podm: string;
|
||||
begin
|
||||
podm:= IfThen(superUserOOP, '', 'TabCisZam.Stredisko LIKE N' + (strediskoUser + '%').QuotedString);
|
||||
podm:= podm + IfThen(podm<>'', ' AND ', '') + 'TabCisZam.ID IN (SELECT ZamestnanecID FROM ' + tblZamMzd + ' WHERE StavES=0 AND IdObdobi=(SELECT ID FROM ' + tblMzdObd + ' WHERE Rok='
|
||||
+ YearOf(Now).ToString + ' AND Mesic=' + MonthOf(Now).ToString + ') AND ISNULL(DatumUkonceniPP, N''20991231'')>GETDATE() )';
|
||||
podm := IfThen(superUserOOP, '', 'TabCisZam.Stredisko LIKE N' + (strediskoUser + '%').QuotedString);
|
||||
podm := podm + IfThen(podm<>'', ' AND ', '') + 'TabCisZam.ID IN (SELECT ZamestnanecID FROM ' + tblZamMzd + ' WHERE StavES=0 AND IdObdobi=(SELECT ID FROM ' + tblMzdObd + ' WHERE Rok='
|
||||
+ YearOf(Now).ToString + ' AND Mesic=' + MonthOf(Now).ToString + ') AND ISNULL(DatumUkonceniPP, N''20991231'')>GETDATE() )';
|
||||
if (Helios.Prenos(bidCisZam, 'TabCisZam.Cislo', oVar1, podm, 'Zaměstnanec', true)) then
|
||||
begin
|
||||
cisZam:= oVar1;
|
||||
edtOsCislo.Text:= cisZam.ToString;
|
||||
cisZam := oVar1;
|
||||
edtOsCislo.Text := cisZam.ToString;
|
||||
if (edtOsCislo.Text<>'') then
|
||||
begin
|
||||
if not(TryStrToInt(edtOsCislo.Text, c)) then
|
||||
c:= 0;
|
||||
cisZam:= c;
|
||||
c := 0;
|
||||
cisZam := c;
|
||||
if (NactiUdajeZamestnance(cisZam)) then
|
||||
if (edtProfese.CanFocus) then
|
||||
edtProfese.SetFocus;
|
||||
self.ActiveControl := edtProfese;
|
||||
end
|
||||
else
|
||||
cisZam:= 0;
|
||||
cisZam := 0;
|
||||
end;
|
||||
|
||||
if (edtOsCislo.Modified) then
|
||||
begin
|
||||
idPolozka:= 0;
|
||||
edtPolozka.Text:= '';
|
||||
edtPolozkaText.Text:= '';
|
||||
idPolozka := 0;
|
||||
edtPolozka.Text := '';
|
||||
edtPolozkaText.Text := '';
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TformOOPPohyb.edtOsCisloExit(Sender: TObject);
|
||||
|
||||
procedure TformOOPPohyb.edtOsCisloExit (Sender: TObject);
|
||||
var lSQL: string;
|
||||
c: integer;
|
||||
nulujZam: boolean;
|
||||
begin
|
||||
nulujZam:= true;
|
||||
edtOsCislo.Text:= edtOsCislo.Text.Trim;
|
||||
nulujZam := true;
|
||||
edtOsCislo.Text := edtOsCislo.Text.Trim;
|
||||
if (edtOsCislo.Text<>'') then
|
||||
begin
|
||||
nulujZam:= false;
|
||||
nulujZam := false;
|
||||
if not(TryStrToInt(edtOsCislo.Text, c)) then
|
||||
c:= 0;
|
||||
cisZam:= c;
|
||||
idZam:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT ID FROM ' + tblCisZam + ' WHERE Cislo=' + cisZam.ToString);
|
||||
c := 0;
|
||||
cisZam := c;
|
||||
idZam := helUtils.getHeliosIntVal (Helios, 0, 'SELECT ID FROM ' + tblCisZam + ' WHERE Cislo=' + cisZam.ToString);
|
||||
|
||||
if not(superUserOOP) then
|
||||
if not(helUtils.sqlExistsTestGeneral(Helios, 'SELECT 1 FROM ' + tblCisZam + ' WHERE Cislo=' + cisZam.ToString + ' AND Stredisko LIKE N' + (strediskoUser + '%').QuotedString)) then
|
||||
nulujZam:= true;
|
||||
nulujZam := true;
|
||||
|
||||
lSQL:= 'SELECT 1 FROM ' + tblZamMzd + ' WHERE ZamestnanecId=' + idZam.ToString + ' AND IdObdobi=(SELECT ID FROM ' + tblMzdObd + ' WHERE Rok=' + YearOf(Now).ToString
|
||||
+ ' AND Mesic=' + MonthOf(Now).ToString + ') AND StavES=0 AND ISNULL(DatumUkonceniPP, N''20991231'')>GETDATE()';
|
||||
lSQL := 'SELECT 1 FROM ' + tblZamMzd + ' WHERE ZamestnanecId=' + idZam.ToString + ' AND IdObdobi=(SELECT ID FROM ' + tblMzdObd + ' WHERE Rok=' + YearOf(Now).ToString
|
||||
+ ' AND Mesic=' + MonthOf(Now).ToString + ') AND StavES=0 AND ISNULL(DatumUkonceniPP, N''20991231'')>GETDATE()';
|
||||
if not(helUtils.sqlExistsTestGeneral(Helios, lSQL)) then
|
||||
nulujZam:= true;
|
||||
nulujZam := true;
|
||||
|
||||
if (nulujZam) then
|
||||
begin
|
||||
cisZam:= 0;
|
||||
idZam:= 0;
|
||||
edtOsCislo.Text:= '';
|
||||
edtPrijmJm.Text:= '';
|
||||
cisZam := 0;
|
||||
idZam := 0;
|
||||
edtOsCislo.Text := '';
|
||||
edtPrijmJm.Text := '';
|
||||
end;
|
||||
|
||||
if (NactiUdajeZamestnance(cisZam)) then
|
||||
if (edtProfese.CanFocus) then
|
||||
edtProfese.SetFocus;
|
||||
self.ActiveControl := edtProfese;
|
||||
end;
|
||||
|
||||
if (edtOsCislo.Modified) then
|
||||
begin
|
||||
idPolozka:= 0;
|
||||
edtPolozka.Text:= '';
|
||||
edtPolozkaText.Text:= '';
|
||||
idPolozka := 0;
|
||||
edtPolozka.Text := '';
|
||||
edtPolozkaText.Text := '';
|
||||
end;
|
||||
|
||||
if (nulujZam) then
|
||||
begin
|
||||
cisZam:= 0;
|
||||
idZam:= 0;
|
||||
edtOsCislo.Text:= '';
|
||||
edtPrijmJm.Text:= '';
|
||||
cisZam := 0;
|
||||
idZam := 0;
|
||||
edtOsCislo.Text := '';
|
||||
edtPrijmJm.Text := '';
|
||||
end;
|
||||
end;
|
||||
|
||||
@@ -296,21 +297,21 @@ uses System.StrUtils, System.DateUtils, System.UITypes,
|
||||
|
||||
|
||||
|
||||
procedure TformOOPPohyb.edtPrijmJmKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||
procedure TformOOPPohyb.edtPrijmJmKeyUp (Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||
begin
|
||||
if (Key=VK_ESCAPE) then
|
||||
DotazNaUkonceni;
|
||||
end;
|
||||
|
||||
|
||||
procedure TformOOPPohyb.edtPolozkaKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||
procedure TformOOPPohyb.edtPolozkaKeyUp (Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||
begin
|
||||
if (Key=VK_ESCAPE) then
|
||||
DotazNaUkonceni;
|
||||
end;
|
||||
|
||||
|
||||
procedure TformOOPPohyb.edtOsCisloKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||
procedure TformOOPPohyb.edtOsCisloKeyUp (Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||
begin
|
||||
if (Key=VK_ESCAPE) then
|
||||
DotazNaUkonceni;
|
||||
@@ -319,76 +320,76 @@ uses System.StrUtils, System.DateUtils, System.UITypes,
|
||||
|
||||
|
||||
|
||||
function TformOOPPohyb.MamNarokNaPolozku(var outMsg: string): Boolean;
|
||||
function TformOOPPohyb.MamNarokNaPolozku (var outMsg: string): Boolean;
|
||||
var lSQL, msg: string;
|
||||
poslVyd: TDateTime;
|
||||
duvod, zivotnostTxt: string;
|
||||
b: boolean;
|
||||
rozdilDnu, zivotnostDnu: integer;
|
||||
begin
|
||||
result:= false;
|
||||
outMsg:= '';
|
||||
result := false;
|
||||
outMsg := '';
|
||||
|
||||
stredisko:= edtStredisko.Text;
|
||||
stredOld:= edtStrediskoOld.Text;
|
||||
stredisko := edtStredisko.Text;
|
||||
stredOld := edtStrediskoOld.Text;
|
||||
|
||||
|
||||
if (idPolozka=0) then
|
||||
outMsg:= 'Nelze identifikovat ID položky'
|
||||
outMsg := 'Nelze identifikovat ID položky'
|
||||
else
|
||||
if (cisZam=0) then
|
||||
outMsg:= 'Není identifikován zaměstnanec'
|
||||
outMsg := 'Není identifikován zaměstnanec'
|
||||
else
|
||||
begin
|
||||
lSQL:= 'SELECT TOP(1) Datum FROM ' + tblOOPPohyby + ' WHERE IDPolozky=' + idPolozka.ToString + ' AND CisloZam=' + cisZam.ToString + ' ORDER BY Datum DESC';
|
||||
poslVyd:= helUtils.getHeliosDateTimeVal(Helios, 0, lSQL); // default 31.12.1899 = 0
|
||||
lSQL := 'SELECT TOP(1) Datum FROM ' + tblOOPPohyby + ' WHERE IDPolozky=' + idPolozka.ToString + ' AND CisloZam=' + cisZam.ToString + ' ORDER BY Datum DESC';
|
||||
poslVyd := helUtils.getHeliosDateTimeVal (Helios, 0, lSQL); // default 31.12.1899 = 0
|
||||
|
||||
lSQL:= 'SELECT 1 FROM ' + tblOOPPotrebnost + ' WHERE IDPolozky=' + idPolozka.ToString + ' AND IDProfese=' + idProf.ToString + ' AND Stredisko=N' + stredisko.QuotedString;
|
||||
lSQL := 'SELECT 1 FROM ' + tblOOPPotrebnost + ' WHERE IDPolozky=' + idPolozka.ToString + ' AND IDProfese=' + idProf.ToString + ' AND Stredisko=N' + stredisko.QuotedString;
|
||||
if (helUtils.sqlExistsTestGeneral(Helios, lSQL)) then
|
||||
begin
|
||||
lSQL:= 'SELECT d.Kod FROM ' + tblOOPPotrebnost + ' p INNER JOIN ' + tblOOPDuvod + ' d ON (d.ID=p.IDDuvod) WHERE p.IDPolozky=' + idPolozka.ToString
|
||||
+ ' AND p.IDProfese=' + idProf.ToString + ' AND p.Stredisko=N' + stredisko.QuotedString;
|
||||
duvod:= helUtils.getHeliosStrVal(Helios, '', lSQL);
|
||||
lSQL := 'SELECT d.Kod FROM ' + tblOOPPotrebnost + ' p INNER JOIN ' + tblOOPDuvod + ' d ON (d.ID=p.IDDuvod) WHERE p.IDPolozky=' + idPolozka.ToString
|
||||
+ ' AND p.IDProfese=' + idProf.ToString + ' AND p.Stredisko=N' + stredisko.QuotedString;
|
||||
duvod := helUtils.getHeliosStrVal(Helios, '', lSQL);
|
||||
if (duvod='1') then
|
||||
begin
|
||||
outMsg:= 'Důvod výměny - IHNED';
|
||||
result:= true;
|
||||
outMsg := 'Důvod výměny - IHNED';
|
||||
result := true;
|
||||
end
|
||||
else
|
||||
if (duvod='Z') and (1=0) then
|
||||
begin
|
||||
outMsg:= 'Důvod výměny - SEZÓNNÍ POLOŽKA';
|
||||
result:= true;
|
||||
outMsg := 'Důvod výměny - SEZÓNNÍ POLOŽKA';
|
||||
result := true;
|
||||
end
|
||||
else
|
||||
if (duvod='2') or (duvod='Z') then
|
||||
begin
|
||||
outMsg:= '';
|
||||
outMsg := '';
|
||||
|
||||
b:= false;
|
||||
lSQL:= 'SELECT (ISNULL(ZivotnostMin, 0) * CONVERT(int, CASE ISNULL(ZivotnostMinDruh, N'''') WHEN N''D'' THEN 1 WHEN N''M'' THEN 31 WHEN N''R'' THEN 365 ELSE 0 END))'
|
||||
+ ' AS PocetDnu FROM ' + tblOOPPotrebnost + ' WHERE IDProfese=' + idProf.ToString + ' AND IDPolozky=' + idPolozka.ToString + ' AND Stredisko=N' + stredisko.QuotedString;
|
||||
zivotnostDnu:= helUtils.getHeliosIntVal(Helios, 0, lSQL);
|
||||
b := false;
|
||||
lSQL := 'SELECT (ISNULL(ZivotnostMin, 0) * CONVERT(int, CASE ISNULL(ZivotnostMinDruh, N'''') WHEN N''D'' THEN 1 WHEN N''M'' THEN 31 WHEN N''R'' THEN 365 ELSE 0 END))'
|
||||
+ ' AS PocetDnu FROM ' + tblOOPPotrebnost + ' WHERE IDProfese=' + idProf.ToString + ' AND IDPolozky=' + idPolozka.ToString + ' AND Stredisko=N' + stredisko.QuotedString;
|
||||
zivotnostDnu := helUtils.getHeliosIntVal(Helios, 0, lSQL);
|
||||
if (poslVyd>0) then
|
||||
begin
|
||||
rozdilDnu:= DaysBetween(poslVyd, edtDatum.DateTime);
|
||||
rozdilDnu := DaysBetween(poslVyd, edtDatum.DateTime);
|
||||
if (rozdilDnu<zivotnostDnu) then
|
||||
begin
|
||||
if (duvod='2') then
|
||||
msg:= 'POLOŽKA S MINIMÁLNÍ ŽIVOTNOSTÍ';
|
||||
msg := 'POLOŽKA S MINIMÁLNÍ ŽIVOTNOSTÍ';
|
||||
if (duvod='Z') then
|
||||
msg:= 'SEZÓNNÍ POLOŽKA S ŽIVOTNOSTÍ';
|
||||
lSQL:= 'SELECT CASE WHEN ISNULL(ZivotnostMin,0)>0 THEN CONVERT(nvarchar, ZivotnostMin) + N'' '' + ISNULL(ZivotnostMinDruh, N'''') ELSE N'''' END AS ZivotnostTxt FROM '
|
||||
+ tblOOPPotrebnost + ' WHERE IDProfese=' + idProf.ToString + ' AND IDPolozky=' + idPolozka.ToString + ' AND Stredisko=N' + stredisko.QuotedString;
|
||||
zivotnostTxt:= helUtils.getHeliosStrVal(Helios, '', lSQL);
|
||||
msg := 'SEZÓNNÍ POLOŽKA S ŽIVOTNOSTÍ';
|
||||
lSQL := 'SELECT CASE WHEN ISNULL(ZivotnostMin,0)>0 THEN CONVERT(nvarchar, ZivotnostMin) + N'' '' + ISNULL(ZivotnostMinDruh, N'''') ELSE N'''' END AS ZivotnostTxt FROM '
|
||||
+ tblOOPPotrebnost + ' WHERE IDProfese=' + idProf.ToString + ' AND IDPolozky=' + idPolozka.ToString + ' AND Stredisko=N' + stredisko.QuotedString;
|
||||
zivotnostTxt := helUtils.getHeliosStrVal(Helios, '', lSQL);
|
||||
if (TaskDlgYesNo('POZOR', msg, 'Dříve vydaná položka ještě nedosáhla své životnosti' + IfThen(zivotnostTxt<>'', ' (' + zivotnostTxt + ')', '')
|
||||
+ CRLF + 'Chcete ji přesto vydat ?', tdiWarning, tcbNo)=mrYes) then
|
||||
begin
|
||||
result:= true;
|
||||
btnOK.Enabled:= true;
|
||||
btnOK.Enabled := true;
|
||||
end
|
||||
else
|
||||
btnOK.Enabled:= false;
|
||||
btnOK.Enabled := false;
|
||||
{
|
||||
with TTaskDialog.Create(nil) do
|
||||
begin
|
||||
@@ -419,94 +420,95 @@ uses System.StrUtils, System.DateUtils, System.UITypes,
|
||||
end
|
||||
else
|
||||
begin
|
||||
outMsg:= 'Položka má nastavenu minimální životnost ale nebyl dohledán předešlý výdej.';
|
||||
result:= true;
|
||||
btnOK.Enabled:= true;
|
||||
outMsg := 'Položka má nastavenu minimální životnost ale nebyl dohledán předešlý výdej.';
|
||||
result := true;
|
||||
btnOK.Enabled := true;
|
||||
end;
|
||||
end
|
||||
else
|
||||
begin
|
||||
outMsg:= 'V tabulce Potřebnosti nebyl dohledán důvod výdeje položky';
|
||||
outMsg := 'V tabulce Potřebnosti nebyl dohledán důvod výdeje položky';
|
||||
end;
|
||||
end
|
||||
else
|
||||
begin
|
||||
outMsg:= 'Na položku nemá zaměstnanec právo, není zadána Potřebnost';
|
||||
idPolozka:= 0;
|
||||
polozka:= '';
|
||||
polozkaNum:= '';
|
||||
edtPolozka.Text:= '';
|
||||
edtPolozkaText.Text:= '';
|
||||
if (edtPolozka.CanFocus) then
|
||||
edtPolozka.SetFocus;
|
||||
outMsg := 'Na položku nemá zaměstnanec právo, není zadána Potřebnost';
|
||||
idPolozka := 0;
|
||||
polozka := '';
|
||||
polozkaNum := '';
|
||||
edtPolozka.Text := '';
|
||||
edtPolozkaText.Text := '';
|
||||
self.ActiveControl := edtPolozka;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TformOOPPohyb.edtPolozkaButtonClick(Sender: TObject);
|
||||
|
||||
procedure TformOOPPohyb.edtPolozkaButtonClick (Sender: TObject);
|
||||
var podm: string;
|
||||
begin
|
||||
podm:= 'hvw_TabOOP_Polozky.ID IN (SELECT IDPolozky FROM ' + tblOOPPotrebnost + ' WHERE (StrediskoOld=N' + edtStrediskoOld.Text.QuotedString + ' OR Stredisko=N' + edtStredisko.Text.QuotedString
|
||||
+ ') AND IDProfese=' + idProf.ToString + ')';
|
||||
podm := 'hvw_TabOOP_Polozky.ID IN (SELECT IDPolozky FROM ' + tblOOPPotrebnost + ' WHERE (StrediskoOld=N' + edtStrediskoOld.Text.QuotedString + ' OR Stredisko=N' + edtStredisko.Text.QuotedString
|
||||
+ ') AND IDProfese=' + idProf.ToString + ')';
|
||||
if (bidOOPPolozky>0) then
|
||||
if Helios.Prenos2(bidOOPPolozky, 'hvw_TabOOP_Polozky.ID', 'hvw_TabOOP_Polozky.Cislo', oVar1, oVar2, podm, 'Položka', false, true, false, 1) then
|
||||
begin
|
||||
idPolozka:= oVar1;
|
||||
polozkaNum:= VarToStr(oVar2);
|
||||
edtPolozka.Text:= polozkaNum;
|
||||
idPolozka := oVar1;
|
||||
polozkaNum := VarToStr(oVar2);
|
||||
edtPolozka.Text := polozkaNum;
|
||||
if (LeftStr(polozkaNum,2)='N''') and (RightStr(polozkaNum,1)='''') then
|
||||
begin
|
||||
polozkaNum:= polozkaNum.Substring(2, 255);
|
||||
polozkaNum:= polozkaNum.Substring(0, Length(polozkaNum)-1);
|
||||
polozkaNum := polozkaNum.Substring(2, 255);
|
||||
polozkaNum := polozkaNum.Substring(0, Length(polozkaNum)-1);
|
||||
end;
|
||||
edtPolozkaExit(Sender);
|
||||
edtPolozkaExit (Sender);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformOOPPohyb.edtPolozkaEnter(Sender: TObject);
|
||||
procedure TformOOPPohyb.edtPolozkaEnter (Sender: TObject);
|
||||
begin
|
||||
infoUkazano:= false;
|
||||
infoUkazano := false;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TformOOPPohyb.edtPolozkaExit(Sender: TObject);
|
||||
|
||||
procedure TformOOPPohyb.edtPolozkaExit (Sender: TObject);
|
||||
begin
|
||||
edtPolozka.Text:= edtPolozka.Text.Trim;
|
||||
edtPolozka.Text := edtPolozka.Text.Trim;
|
||||
if (edtPolozka.Text<>'') then
|
||||
begin
|
||||
if not(TryStrToInt(edtPolozka.Text, idPolozka)) then
|
||||
idPolozka:= 0;
|
||||
edtPolozkaText.Text:= helUtils.getHeliosStrVal(Helios, '', 'SELECT Nazev FROM ' + tblOOPPolozky + ' WHERE ID=' + idPolozka.ToString);
|
||||
polozkaNum:= helUtils.getHeliosStrVal(Helios, '', 'SELECT Cislo FROM ' + tblOOPPolozky + ' WHERE ID=' + idPolozka.ToString);
|
||||
polozka:= edtPolozkaText.Text;
|
||||
idPolozka := 0;
|
||||
edtPolozkaText.Text := helUtils.getHeliosStrVal(Helios, '', 'SELECT Nazev FROM ' + tblOOPPolozky + ' WHERE ID=' + idPolozka.ToString);
|
||||
polozkaNum := helUtils.getHeliosStrVal(Helios, '', 'SELECT Cislo FROM ' + tblOOPPolozky + ' WHERE ID=' + idPolozka.ToString);
|
||||
polozka := edtPolozkaText.Text;
|
||||
if not(MamNarokNaPolozku(outMsg)) then
|
||||
begin
|
||||
btnOK.Enabled:= false;
|
||||
edtPolozka.Text:= '';
|
||||
edtPolozkaText.Text:= '';
|
||||
idPolozka:= 0;
|
||||
polozka:= '';
|
||||
btnOK.Enabled := false;
|
||||
edtPolozka.Text := '';
|
||||
edtPolozkaText.Text := '';
|
||||
idPolozka := 0;
|
||||
polozka := '';
|
||||
if (outMsg<>'') and not(infoUkazano) then
|
||||
begin
|
||||
TaskDlgOK('POZOR', 'CHYBA', outMsg, tdiWarning);
|
||||
infoUkazano:= true;
|
||||
outMsg:= '';
|
||||
TaskDlgOK ('POZOR', 'CHYBA', outMsg, tdiWarning);
|
||||
infoUkazano := true;
|
||||
outMsg := '';
|
||||
end;
|
||||
end
|
||||
else
|
||||
begin
|
||||
btnOK.Enabled:= true;
|
||||
btnOK.Enabled := true;
|
||||
if (outMsg<>'') and not(infoUkazano) then
|
||||
begin
|
||||
TaskDlgOK('POZOR', 'INFORMACE', outMsg, tdiWarning);
|
||||
infoUkazano:= true;
|
||||
outMsg:= '';
|
||||
TaskDlgOK ('POZOR', 'INFORMACE', outMsg, tdiWarning);
|
||||
infoUkazano := true;
|
||||
outMsg := '';
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@@ -515,88 +517,89 @@ uses System.StrUtils, System.DateUtils, System.UITypes,
|
||||
|
||||
|
||||
|
||||
procedure TformOOPPohyb.edtPrijmJmButtonClick(Sender: TObject);
|
||||
procedure TformOOPPohyb.edtPrijmJmButtonClick (Sender: TObject);
|
||||
var c: integer;
|
||||
begin
|
||||
if Helios.Prenos2(bidCisZam, 'TabCisZam.Cislo', 'TabCisZam.PrijmeniJmeno', oVar1, oVar2, '', 'Zaměstnanec', false, true, false, 1) then
|
||||
begin
|
||||
cisZam:= oVar1;
|
||||
edtOsCislo.Text:= cisZam.ToString;
|
||||
cisZam := oVar1;
|
||||
edtOsCislo.Text := cisZam.ToString;
|
||||
if not(TryStrToInt(edtOsCislo.Text, c)) then
|
||||
c:= 0;
|
||||
cisZam:= c;
|
||||
c := 0;
|
||||
cisZam := c;
|
||||
if (NactiUdajeZamestnance(cisZam)) then
|
||||
if (edtProfese.CanFocus) then
|
||||
edtProfese.SetFocus;
|
||||
self.ActiveControl := edtProfese;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TformOOPPohyb.edtProfeseButtonClick(Sender: TObject);
|
||||
|
||||
procedure TformOOPPohyb.edtProfeseButtonClick (Sender: TObject);
|
||||
var lSQL, podm: string;
|
||||
c: integer;
|
||||
begin
|
||||
podm:= 'hvw_TabOOP_Profese.StrediskoOld=N' + stredOld.QuotedString;
|
||||
podm := 'hvw_TabOOP_Profese.StrediskoOld=N' + stredOld.QuotedString;
|
||||
if (bidOOPProfese>0) then
|
||||
if Helios.Prenos2(bidOOPProfese, 'hvw_TabOOP_Profese.ID', 'hvw_TabOOP_Profese.Profese', oVar1, oVar2, podm, 'Profese', false, true, false, 1) then
|
||||
begin
|
||||
if not(TryStrToInt(VarToStr(oVar1), c)) then
|
||||
c:= 0;
|
||||
idProf:= c;
|
||||
c := 0;
|
||||
idProf := c;
|
||||
|
||||
// pokud existuje ext.sloupec, profesi uloz
|
||||
if (idZam>0) and (helUtils.sqlExistsTestGeneral(Helios, 'SELECT 1 FROM (VALUES(1)) t1(col1) WHERE COL_LENGTH(N' + tblCisZamE.QuotedString + ', N''_OOP_Profese'') IS NOT NULL')) then
|
||||
begin
|
||||
lSQL:= 'UPDATE ' + tblCisZamE + ' SET _OOP_Profese=' + IfThen(idProf=0, 'NULL', idProf.ToString) + ' WHERE ID=' + idZam.ToString + CRLF;
|
||||
lSQL := 'UPDATE ' + tblCisZamE + ' SET _OOP_Profese=' + IfThen(idProf=0, 'NULL', idProf.ToString) + ' WHERE ID=' + idZam.ToString + CRLF;
|
||||
if (idProf>0) then
|
||||
lSQL:= lSQL + 'IF (@@ROWCOUNT=0) INSERT ' + tblCisZamE + ' (ID, _OOP_Profese) SELECT ' + idZam.ToString + ', ' + idProf.ToString;
|
||||
Helios.ExecSQL(lSQL);
|
||||
lSQL := lSQL + 'IF (@@ROWCOUNT=0) INSERT ' + tblCisZamE + ' (ID, _OOP_Profese) SELECT ' + idZam.ToString + ', ' + idProf.ToString;
|
||||
Helios.ExecSQL (lSQL);
|
||||
end;
|
||||
|
||||
profese:= VarToStr(oVar2);
|
||||
profese := VarToStr(oVar2);
|
||||
if (LeftStr(profese,2)='N''') and (RightStr(profese,1)='''') then
|
||||
begin
|
||||
profese:= profese.Substring(2, 255);
|
||||
profese:= profese.Substring(0, Length(profese)-1);
|
||||
profese := profese.Substring(2, 255);
|
||||
profese := profese.Substring(0, Length(profese)-1);
|
||||
end;
|
||||
edtProfese.Text:= profese;
|
||||
if (edtDatum.CanFocus) then
|
||||
edtDatum.SetFocus;
|
||||
edtProfese.Text := profese;
|
||||
self.ActiveControl := edtDatum;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TformOOPPohyb.edtStrediskoButtonClick(Sender: TObject);
|
||||
|
||||
procedure TformOOPPohyb.edtStrediskoButtonClick (Sender: TObject);
|
||||
begin
|
||||
if (Helios.Prenos(bidCisZam, 'TabCisZam.Cislo', oVar1, '', 'Zaměstnanec', true)) then
|
||||
begin
|
||||
stredisko:= VarToStr(oVar1);
|
||||
edtStredisko.Text:= stredisko;
|
||||
edtStrediskoText.Text:= helUtils.getHeliosStrVal(Helios, '', 'SELECT Nazev FROM ' + tblStrom + ' WHERE Cislo=N' + edtStredisko.Text.QuotedString);
|
||||
stredOld:= helUtils.getHeliosStrVal(Helios, '', 'SELECT TOP(1) StrediskoOld FROM ' + tblOOPProfese + ' WHERE Stredisko=N' + edtStredisko.Text.QuotedString);
|
||||
edtStrediskoOld.Text:= stredOld;
|
||||
stredisko := VarToStr(oVar1);
|
||||
edtStredisko.Text := stredisko;
|
||||
edtStrediskoText.Text := helUtils.getHeliosStrVal (Helios, '', 'SELECT Nazev FROM ' + tblStrom + ' WHERE Cislo=N' + edtStredisko.Text.QuotedString);
|
||||
stredOld := helUtils.getHeliosStrVal (Helios, '', 'SELECT TOP(1) StrediskoOld FROM ' + tblOOPProfese + ' WHERE Stredisko=N' + edtStredisko.Text.QuotedString);
|
||||
edtStrediskoOld.Text := stredOld;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TformOOPPohyb.FormShow(Sender: TObject);
|
||||
|
||||
procedure TformOOPPohyb.FormShow (Sender: TObject);
|
||||
begin
|
||||
bidOOPProfese:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT DPBID FROM ' + tblObecPrehled + ' WHERE NazevSys=N''hvw_TabOOP_Profese''');
|
||||
bidOOPPolozky:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT DPBID FROM ' + tblObecPrehled + ' WHERE NazevSys=N''hvw_TabOOP_Polozky''');
|
||||
bidOOPProfese := helUtils.getHeliosIntVal (Helios, 0, 'SELECT DPBID FROM ' + tblObecPrehled + ' WHERE NazevSys=N''hvw_TabOOP_Profese''');
|
||||
bidOOPPolozky := helUtils.getHeliosIntVal (Helios, 0, 'SELECT DPBID FROM ' + tblObecPrehled + ' WHERE NazevSys=N''hvw_TabOOP_Polozky''');
|
||||
|
||||
edtDatum.DateTime:= Now;
|
||||
edtDatum.DateTime := Now;
|
||||
|
||||
|
||||
strediskoUser:= helUtils.getHeliosStrVal(Helios, '', 'SELECT z.Stredisko FROM ' + tblCisZam + ' z INNER JOIN ' + tblUserCfg + ' u ON (u.LoginName=z.LoginId) WHERE u.LoginName=SUSER_SNAME()');
|
||||
idZamUser:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT ID FROM ' + tblCisZam + ' WHERE LoginId=SUSER_SNAME()');
|
||||
superUserOOP:= false;
|
||||
strediskoUser := helUtils.getHeliosStrVal (Helios, '', 'SELECT z.Stredisko FROM ' + tblCisZam + ' z INNER JOIN ' + tblUserCfg + ' u ON (u.LoginName=z.LoginId) WHERE u.LoginName=SUSER_SNAME()');
|
||||
idZamUser := helUtils.getHeliosIntVal (Helios, 0, 'SELECT ID FROM ' + tblCisZam + ' WHERE LoginId=SUSER_SNAME()');
|
||||
superUserOOP := false;
|
||||
if (idZamUser>0) and (helUtils.sqlExistsTestGeneral(Helios, 'SELECT 1 FROM (VALUES(1)) t1(col1) WHERE COL_LENGTH(N' + tblCisZamE.QuotedString + ', N''_OOP_SuperUser'') IS NOT NULL')) then
|
||||
superUserOOP:= helUtils.getHeliosBoolVal(Helios, false, 'SELECT CONVERT(bit, ISNULL(_OOP_SuperUser, 0)) FROM ' + tblCisZamE + ' WHERE ID=' + idZamUser.ToString);
|
||||
superUserOOP := helUtils.getHeliosBoolVal (Helios, false, 'SELECT CONVERT(bit, ISNULL(_OOP_SuperUser, 0)) FROM ' + tblCisZamE + ' WHERE ID=' + idZamUser.ToString);
|
||||
if (jeTest) then
|
||||
superUserOOP:= jeTest;
|
||||
superUserOOP := jeTest;
|
||||
|
||||
end;
|
||||
|
||||
|
||||
+1
-1
@@ -79,7 +79,7 @@ object formOdvTavby: TformOdvTavby
|
||||
Top = 87
|
||||
Width = 467
|
||||
Height = 540
|
||||
ActivePage = shOdvStr
|
||||
ActivePage = shTavba
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
TabOrder = 3
|
||||
object shTavba: TTabSheet
|
||||
|
||||
+77
-12
@@ -344,7 +344,7 @@ uses System.DateUtils, System.AnsiStrings, helUtils;
|
||||
|
||||
|
||||
|
||||
function TformOdvTavby.TestMamNaPrevod(const sklFrom: string): boolean;
|
||||
function TformOdvTavby.TestMamNaPrevod (const sklFrom: string): boolean;
|
||||
var lSQL: string;
|
||||
ksSkl: Extended;
|
||||
begin
|
||||
@@ -1155,7 +1155,7 @@ uses System.DateUtils, System.AnsiStrings, helUtils;
|
||||
edtOpTavba.Text:= helUtils.StripChars(edtOpTavba.Text, ['''', '"', '-', ';', ' ']);
|
||||
if (edtOpTavba.Text<>'') then
|
||||
begin
|
||||
ZjistiVOp(edtOpTavba.Text, true);
|
||||
ZjistiVOp (edtOpTavba.Text, true);
|
||||
if (prik.stav=0) or (prik.stav>30) then
|
||||
Helios.Error(#1'Výrobní příkaz operace je již uzavřen.'#1);
|
||||
|
||||
@@ -1183,7 +1183,7 @@ uses System.DateUtils, System.AnsiStrings, helUtils;
|
||||
// edtOpVibr.Text:= helUtils.RemoveWords(edtVibrator.Text, ['null']);
|
||||
if (edtOpVibr.Text<>'') then
|
||||
begin
|
||||
ZjistiVOp(edtOpVibr.Text, true);
|
||||
ZjistiVOp (edtOpVibr.Text, true);
|
||||
|
||||
if (prik.stav>30) or (prik.stav=0) or (prik.stav=10) then
|
||||
Helios.Error(#1'Výrobní příkaz je ve stavu Pořízení nebo je již uzavřen'#1)
|
||||
@@ -1197,7 +1197,7 @@ uses System.DateUtils, System.AnsiStrings, helUtils;
|
||||
btnOKNew.Enabled:= false;
|
||||
btnOK.Enabled:= false;
|
||||
Helios.Error(#1'Na operaci nezbývají žádné kusy k odvedení !!'#1);
|
||||
with Helios.OpenSQL('SELECT Doklad, Alt FROM ' + tblPrPost + ' WHERE IdOdchylkyDo IS NULL AND ID1=' + idVOp.ToString) do
|
||||
with Helios.OpenSQL('SELECT Doklad, Alt FROM ' + tblPrPost + ' WHERE IdOdchylkyDo IS NULL AND ID=' + idVOp.ToString) do
|
||||
begin
|
||||
doklad:= VarToStr(FieldValues(0));
|
||||
alt:= VarToStr(FieldValues(1));
|
||||
@@ -1208,7 +1208,7 @@ uses System.DateUtils, System.AnsiStrings, helUtils;
|
||||
end
|
||||
else
|
||||
begin
|
||||
idVPr:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT IDPrikaz FROM ' + tblPrPost + ' WHERE IDOdchylkyDo IS NULL AND ID1=' + idVOp.ToString);
|
||||
idVPr:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT IDPrikaz FROM ' + tblPrPost + ' WHERE IDOdchylkyDo IS NULL AND ID=' + idVOp.ToString);
|
||||
NactiPrikaz;
|
||||
edtTavbaV.SetFocus;
|
||||
end;
|
||||
@@ -1793,9 +1793,9 @@ uses System.DateUtils, System.AnsiStrings, helUtils;
|
||||
|
||||
|
||||
procedure TformOdvTavby.NactiPrikaz;
|
||||
var lSQL, skl, eMsg, prac, rc: string;
|
||||
var lSQL, skl, eMsg, prac, rc, bc: string;
|
||||
z, k: Extended;
|
||||
idKZ: integer;
|
||||
idKZ, cnt: integer;
|
||||
canCont, pracOK: boolean;
|
||||
begin
|
||||
prik.id:= 0;
|
||||
@@ -1805,12 +1805,14 @@ uses System.DateUtils, System.AnsiStrings, helUtils;
|
||||
prik.sklad:= '';
|
||||
prik.stav:= 0;
|
||||
prik.mamP30:= false;
|
||||
bc:= 'A' + idVOp.ToString + 'B';
|
||||
|
||||
if (idVPr>0) then
|
||||
begin
|
||||
skl:= helUtils.getHeliosStrVal(Helios, '', 'SELECT Sklad FROM ' + tblPrikaz + ' WHERE ID=' + idVPr.ToString);
|
||||
prac:= '';
|
||||
|
||||
lSQL:= 'SELECT k.RegCis, k.Nazev1, p.RadaPrikaz, CASE WHEN ISNULL(o.MamMatecniOdlitek,0)=1 THEN ISNULL(o1.KSnaStrom,0) ELSE ISNULL(o.KSnaStrom,0) END';
|
||||
lSQL:= 'SELECT k.RegCis, k.Nazev1, p.RadaPrikaz, CASE WHEN ISNULL(o.MamMatecniOdlitek,0)=1 THEN ISNULL(o1.KSnaStrom,0) ELSE ISNULL(o.KSnaStrom,0) END AS KsNaStr';
|
||||
lSQL:= lSQL + ', k.ID, p.StavPrikazu, k.SkupZbo FROM ' + tblPrikaz + ' p INNER JOIN ' + tblKZ + ' k ON (k.ID=p.IDTabKmen)';
|
||||
lSQL:= lSQL + ' LEFT JOIN ' + tblOdlitky + ' o ON (k.RegCis=o.Odlitek) LEFT JOIN ' + tblOdlitky + ' o1 ON (o1.Odlitek=o.MatecniOdlitek)';
|
||||
lSQL:= lSQL + ' WHERE p.ID=' + idVPr.ToString;
|
||||
@@ -1831,8 +1833,70 @@ uses System.DateUtils, System.AnsiStrings, helUtils;
|
||||
if (idVOp>0) and (pgCtrl.ActivePageIndex=shTavba.PageIndex) or (pgCtrl.ActivePageIndex=shVibrovani.PageIndex) or (pgCtrl.ActivePageIndex=shOdvStr.PageIndex) then
|
||||
begin
|
||||
canCont:= (lblOperace.Caption<>'');
|
||||
lSQL:= 'SELECT p.Pracoviste FROM ' + tblPrPost + ' o INNER JOIN ' + tblCPrac + ' p ON (o.pracoviste=p.ID) WHERE o.ID=' + idVOp.ToString;
|
||||
prac:= helUtils.getHeliosStrVal(Helios, '', lSQL);
|
||||
|
||||
lSQL:= 'SELECT COUNT(ID) FROM ' + tblPrPost + ' WHERE BarCode=N' + bc.QuotedString;
|
||||
cnt:= helUtils.getHeliosIntVal (Helios, 0, lSQL);
|
||||
if (cnt=0) then
|
||||
begin
|
||||
lSQL:= 'SELECT p.Pracoviste FROM ' + tblPrPost + ' o WITH(NOLOCK) JOIN ' + tblCPrac + ' p WITH(NOLOCK) ON (p.ID=o.pracoviste) WHERE o.ID=' + idVOp.ToString;
|
||||
prac:= helUtils.getHeliosStrVal (Helios, '', lSQL);
|
||||
end;
|
||||
if (cnt=1) then
|
||||
begin
|
||||
idVOp:= helUtils.getHeliosIntVal (Helios, 0, 'SELECT ID FROM ' + tblPrPost + ' WHERE BarCode=N' + bc.QuotedString);
|
||||
if (idVOp>0) then
|
||||
begin
|
||||
lSQL:= 'SELECT p.Pracoviste FROM ' + tblPrPost + ' o WITH(NOLOCK) JOIN ' + tblCPrac + ' p WITH(NOLOCK) ON (p.ID=o.pracoviste) WHERE o.ID=' + idVOp.ToString;
|
||||
prac:= helUtils.getHeliosStrVal (Helios, '', lSQL);
|
||||
end;
|
||||
end;
|
||||
if (cnt>1) then
|
||||
begin
|
||||
idVOp:= helUtils.getHeliosIntVal (Helios, 0, 'SELECT TOP(1) ID FROM ' + tblPrPost + ' WHERE BarCode=N' + bc.QuotedString
|
||||
+ ' AND IDOdchylkyDo IS NULL AND Priorita=0 ORDER BY ID DESC');
|
||||
if (idVOp>0) then
|
||||
begin
|
||||
lSQL:= 'SELECT p.Pracoviste FROM ' + tblPrPost + ' o WITH(NOLOCK) JOIN ' + tblCPrac + ' p WITH(NOLOCK) ON (p.ID=o.pracoviste) WHERE o.ID=' + idVOp.ToString;
|
||||
prac:= helUtils.getHeliosStrVal (Helios, '', lSQL);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
if (prac='') then
|
||||
begin
|
||||
lSQL:= 'SELECT COUNT(o.ID) AS Pocet FROM ' + tblPrPost + ' o WITH(NOLOCK) JOIN ' + tblCPrac + ' p WITH(NOLOCK) ON (p.ID=o.pracoviste) WHERE o.Barcode=N'
|
||||
+ ('A' + idVOp.ToString + 'B').QuotedString;
|
||||
cnt:= helUtils.getHeliosIntVal (Helios, 0, lSQL);
|
||||
if (cnt=1) then
|
||||
begin
|
||||
lSQL:= 'SELECT p.Pracoviste FROM ' + tblPrPost + ' o JOIN ' + tblCPrac + ' p WITH(NOLOCK) ON (p.ID=o.pracoviste) WHERE o.Barcode=N' + ('A' + idVOp.ToString + 'B').QuotedString;
|
||||
prac:= helUtils.getHeliosStrVal (Helios, '', lSQL);
|
||||
end;
|
||||
if (cnt>1) then
|
||||
begin
|
||||
lSQL:= 'SELECT TOP(1) p.Pracoviste FROM ' + tblPrPost + ' o JOIN ' + tblCPrac + ' p WITH(NOLOCK) ON (p.ID=o.pracoviste) WHERE o.Barcode=N'
|
||||
+ ('A' + idVOp.ToString + 'B').QuotedString + ' AND o.IDOdchylkyDo IS NULL AND o.Priorita=0 ORDER BY o.DatPorizeni DESC';
|
||||
prac:= helUtils.getHeliosStrVal (Helios, '', lSQL);
|
||||
end;
|
||||
if (prac='') then
|
||||
begin
|
||||
lSQL:= 'SELECT COUNT(o.ID) AS Pocet FROM ' + tblPrPost + ' o WITH(NOLOCK) JOIN ' + tblCPrac + ' p WITH(NOLOCK) ON (p.ID=o.pracoviste) WHERE o.ID1=' + idVOp.ToString;
|
||||
cnt:= helUtils.getHeliosIntVal (Helios, 0, lSQL);
|
||||
if (cnt=1) then
|
||||
begin
|
||||
lSQL:= 'SELECT p.Pracoviste FROM ' + tblPrPost + ' o WITH(NOLOCK) JOIN ' + tblCPrac + ' p WITH(NOLOCK) ON (p.ID=o.pracoviste) WHERE o.ID1=' + idVOp.ToString;
|
||||
prac:= helUtils.getHeliosStrVal(Helios, '', lSQL);
|
||||
end;
|
||||
if (cnt>1) then
|
||||
begin
|
||||
lSQL:= 'SELECT TOP(1) p.Pracoviste FROM ' + tblPrPost + ' o WITH(NOLOCK) JOIN ' + tblCPrac + ' p WITH(NOLOCK) ON (p.ID=o.pracoviste) WHERE o.ID1=' + idVOp.ToString
|
||||
+ ' ORDER BY o.DatPorizeni DESC';
|
||||
prac:= helUtils.getHeliosStrVal(Helios, '', lSQL);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
// T09/T11 - tavba
|
||||
pracOK:= (prac='T11') or (prac='T09');
|
||||
@@ -1845,6 +1909,7 @@ uses System.DateUtils, System.AnsiStrings, helUtils;
|
||||
Helios.Error(#1 + rc + ': Naskenovaná operace ' + idVOp.ToString + ' není ODLÉVÁNÍ.'#1);
|
||||
edtOpTavba.Text:= '';
|
||||
end;
|
||||
|
||||
// T12 - vibrace nebo T15 - rucni
|
||||
pracOK:= (prac='T12') or (prac='T13') or (prac='T15');
|
||||
if (pgCtrl.ActivePageIndex=shVibrovani.PageIndex) and not(pracOK) then
|
||||
@@ -1863,7 +1928,7 @@ uses System.DateUtils, System.AnsiStrings, helUtils;
|
||||
|
||||
if (canCont) then
|
||||
begin
|
||||
if not TryStrToFloat(VarToStr(FieldValues(3)), k) then
|
||||
if not TryStrToFloat(VarToStr(FieldByNameValues('KsNaStr')), k) then
|
||||
k:= 0;
|
||||
lblKsStrom.Caption:= k.ToString + ' ks/str';
|
||||
ksStr:= k;
|
||||
@@ -1871,7 +1936,7 @@ uses System.DateUtils, System.AnsiStrings, helUtils;
|
||||
if (idVOp>0) then
|
||||
begin
|
||||
z:= helUtils.getHeliosFloatVal(Helios, 0, 'SELECT kusy_zad FROM ' + tblPrPost + ' WHERE ID=' + idVOp.ToString);
|
||||
lSQL:= 'SELECT ISNULL(SUM(m.kusy_odv + m.kusy_zmet_neopr),0) FROM ' + tblMzdZm + ' m INNER JOIN ' + tblPrPost + ' p ON (p.IDPrikaz=m.IDPrikaz AND ';
|
||||
lSQL:= 'SELECT ISNULL(SUM(m.kusy_odv + m.kusy_zmet_neopr),0) FROM ' + tblMzdZm + ' m JOIN ' + tblPrPost + ' p ON (p.IDPrikaz=m.IDPrikaz AND ';
|
||||
lSQL:= lSQL + 'm.DokladPrPostup=p.Doklad AND ISNULL(m.AltPrPostup,N''Q'')=ISNULL(p.Alt,N''Q'')) WHERE p.ID=' + idVOp.ToString;
|
||||
z:= z-helUtils.getHeliosFloatVal(Helios, 0, lSQL);
|
||||
end;
|
||||
|
||||
@@ -687,6 +687,7 @@ object formSchvaleniZak: TformSchvaleniZak
|
||||
Size = 50
|
||||
end
|
||||
object tblcolJenVDO: TSmallintField
|
||||
DefaultExpression = '0'
|
||||
FieldName = 'colJenVDO'
|
||||
Visible = False
|
||||
end
|
||||
@@ -694,6 +695,7 @@ object formSchvaleniZak: TformSchvaleniZak
|
||||
FieldName = 'colDatumOBR'
|
||||
end
|
||||
object tblcolVDOproOBR: TSmallintField
|
||||
DefaultExpression = '0'
|
||||
FieldName = 'colVDOproOBR'
|
||||
end
|
||||
object tblcolOBRproVDO: TSmallintField
|
||||
@@ -709,6 +711,10 @@ object formSchvaleniZak: TformSchvaleniZak
|
||||
FieldName = 'colPoznamka2'
|
||||
Size = 500
|
||||
end
|
||||
object tblcolVDOproVZO: TSmallintField
|
||||
DefaultExpression = '0'
|
||||
FieldName = 'colVDOproVZO'
|
||||
end
|
||||
end
|
||||
object ds: TDataSource
|
||||
DataSet = tbl
|
||||
|
||||
+107
-75
@@ -68,6 +68,7 @@ const
|
||||
colVDOproOBR: TNxDBCheckBoxColumn6;
|
||||
tblcolPoznamkaR: TSmallintField;
|
||||
tblcolPoznamka2: TStringField;
|
||||
tblcolVDOproVZO: TSmallintField;
|
||||
procedure FormShow (Sender: TObject);
|
||||
procedure FormClose (Sender: TObject; var Action: TCloseAction);
|
||||
procedure btnStornoClick (Sender: TObject);
|
||||
@@ -124,56 +125,59 @@ uses System.StrUtils, System.DateUtils,
|
||||
var lSQL, stavTxt, role, sTemp, pozn: string;
|
||||
akce: Byte;
|
||||
stavIdx: integer;
|
||||
jenVDO, proOBR, lastRec: boolean;
|
||||
jenVDO, proOBR, proVZO, lastRec: boolean;
|
||||
datumObrStr: string;
|
||||
rNum: integer;
|
||||
begin
|
||||
prevRole:= ''; // promenna pro posledni roli v historii (kdo se vyjadril jako posledni)
|
||||
lastRec:= false;
|
||||
prevRole := ''; // promenna pro posledni roli v historii (kdo se vyjadril jako posledni)
|
||||
lastRec := false;
|
||||
|
||||
if (idZakazky<=0) then
|
||||
Exit;
|
||||
lSQL:= 'SELECT z.CisloZakazky, z.Nazev, z.DruhyNazev, ISNULL(ze._SchvaleniZakazky_Lock,0) FROM ' + tblZak + ' z LEFT JOIN ' + tblZakE;
|
||||
lSQL:= lSQL + ' ze ON (ze.ID=z.ID) WHERE z.ID=' + idZakazky.ToString;
|
||||
|
||||
lSQL := 'SELECT z.CisloZakazky, z.Nazev, z.DruhyNazev, ISNULL(ze._SchvaleniZakazky_Lock,0) FROM ' + tblZak + ' z LEFT JOIN ' + tblZakE;
|
||||
lSQL := lSQL + ' ze ON (ze.ID=z.ID) WHERE z.ID=' + idZakazky.ToString;
|
||||
with Helios.OpenSQL(lSQL) do
|
||||
if (RecordCount=1) then
|
||||
begin
|
||||
edtZakazka.Text:= VarToStr(FieldValues(0));
|
||||
edtZakazkaNazev.Text:= VarToStr(FieldValues(1)) + ' ** ' + VarToStr(FieldValues(2));
|
||||
edtZakazka.Text := VarToStr(FieldValues(0));
|
||||
edtZakazkaNazev.Text := VarToStr(FieldValues(1)) + ' ** ' + VarToStr(FieldValues(2));
|
||||
|
||||
lSQL:= 'SELECT TOP(1) p.RegCis FROM ' + tblPZ + ' p INNER JOIN ' + tblDZ + ' d ON (d.ID=p.IDDoklad) WHERE d.DruhPohybuZbo IN (9,6) AND ';
|
||||
lSQL:= lSQL + 'ISNULL(p.CisloZakazky,d.CisloZakazky)=N' + QuotedStr(VarToStr(FieldValues(0)));
|
||||
lSQL:= 'SELECT TOP(1) p.RegCis FROM ' + tblPZ + ' p INNER JOIN ' + tblDZ + ' d ON (d.ID=p.IDDoklad) WHERE d.DruhPohybuZbo IN (9,6) AND '
|
||||
+ 'ISNULL(p.CisloZakazky,d.CisloZakazky)=N' + QuotedStr(VarToStr(FieldValues(0)));
|
||||
with Helios.OpenSQL(lSQL) do
|
||||
if (RecordCount>0) then
|
||||
edtRegCis.Text:= VarToStr(FieldValues(0));
|
||||
edtRegCis.Text := VarToStr(FieldByNameValues('RegCis'));
|
||||
|
||||
stavTxt:= VarToStr(FieldValues(3));
|
||||
zamek:= true;
|
||||
btnOK.Enabled:= false;
|
||||
btnOK.Enabled:= true;
|
||||
stavTxt := VarToStr(FieldValues(3));
|
||||
zamek := true;
|
||||
btnOK.Enabled := false;
|
||||
btnOK.Enabled := true;
|
||||
if (stavTxt='0') then
|
||||
begin
|
||||
zamek:= false;
|
||||
btnOK.Enabled:= true;
|
||||
zamek := false;
|
||||
btnOK.Enabled := true;
|
||||
end;
|
||||
|
||||
datumObrStr:= '';
|
||||
stavTxt:= '';
|
||||
role:= '';
|
||||
lblStav.Caption:= stavTxt;
|
||||
datumObrStr := '';
|
||||
stavTxt := '';
|
||||
role := '';
|
||||
lblStav.Caption := stavTxt;
|
||||
// grd.DataSource.DataSet.ClearFields;
|
||||
tbl.EmptyDataSet;
|
||||
|
||||
histLoad:= true;
|
||||
proOBR:= false;
|
||||
zapisObr:= false;
|
||||
lSQL:= 'SELECT DatPorizeni, Role, Akce, Poznamka, ID, Autor, ISNULL(JenVDO,0) AS JenVDO, ISNULL(VDOproOBR,0) AS VDOproOBR, DatumOBR, DatumKON FROM ' + tblSchvalZakHist;
|
||||
lSQL:= lSQL + ' WHERE IDZakazky=' + idZakazky.ToString + ' ORDER BY DatPorizeni';
|
||||
histLoad := true;
|
||||
proOBR := false;
|
||||
proVZO := false;
|
||||
zapisObr := false;
|
||||
|
||||
lSQL := 'SELECT DatPorizeni, Role, Akce, Poznamka, ID, Autor, ISNULL(JenVDO,0) AS JenVDO, ISNULL(VDOproOBR,0) AS VDOproOBR, DatumOBR, DatumKON, ISNULL(VDOproVZO,0) AS VDOproVZO'
|
||||
+ ' FROM ' + tblSchvalZakHist + ' WHERE IDZakazky=' + idZakazky.ToString + ' ORDER BY DatPorizeni';
|
||||
with Helios.OpenSQL(lSQL) do
|
||||
begin
|
||||
lastRole:= '';
|
||||
lastRole := '';
|
||||
First;
|
||||
rNum:= 1;
|
||||
rNum := 1;
|
||||
while not(EOF) do
|
||||
begin
|
||||
tbl.Append;
|
||||
@@ -204,9 +208,15 @@ uses System.StrUtils, System.DateUtils,
|
||||
sTemp:= VarToStr(FieldByNameValues('VDOproOBR'));
|
||||
if (role='VDO') and (StrToBool(sTemp)) then
|
||||
proOBR:= true;
|
||||
|
||||
tbl.FieldByName('colVDOproOBR').AsInteger:= IfThenInt(proOBR, 1, 0);
|
||||
|
||||
proVZO:= false;
|
||||
sTemp:= VarToStr(FieldByNameValues('VDOproVZO'));
|
||||
if (role='VDO') and (StrToBool(sTemp)) then
|
||||
proVZO:= true;
|
||||
tbl.FieldByName('colVDOproVZO').AsInteger:= IfThenInt(proVZO, 1, 0);
|
||||
|
||||
|
||||
akce:= StrToInt(VarToStr(FieldByNameValues('Akce')));
|
||||
case akce of
|
||||
1: stavIdx:= cbStav.Items.IndexOf('Souhlas');
|
||||
@@ -254,6 +264,12 @@ uses System.StrUtils, System.DateUtils,
|
||||
if (proOBR) then
|
||||
stavTxt:= stavTxt + ' (OBR)';
|
||||
|
||||
if (tbl.FieldByName('colVDOproVZO').AsInteger=1) then
|
||||
if (akce=1) then
|
||||
stavTxt:= stavTxt + ' (VZO)';
|
||||
|
||||
|
||||
|
||||
tbl.FieldByName('colStav').AsString:= stavTxt;
|
||||
tbl.Post;
|
||||
Inc (rNum);
|
||||
@@ -414,6 +430,15 @@ uses System.StrUtils, System.DateUtils,
|
||||
tbl.FieldByName('colStav').AsString:= tbl.FieldByName('colStav').AsString + ' (pro VDO)';// IfThen(edtRole.Text='OBR', ' OBR', ' VDO');
|
||||
end;
|
||||
|
||||
tbl.FieldByName('colVDOproVZO').AsInteger:= 0;
|
||||
if (cbJenVDO.Caption.Contains('pro VZO')) and (cbJenVDO.Checked) then
|
||||
begin
|
||||
tbl.FieldByName('colVDOproVZO').AsInteger:= 1;
|
||||
tbl.FieldByName('colJenVDO').AsInteger:= 1;
|
||||
tbl.FieldByName('colStav').AsString:= tbl.FieldByName('colStav').AsString + ' (pro VZO)';
|
||||
end;
|
||||
|
||||
|
||||
if ((edtRole.Text='OBR') or (edtRole.Text='VDO')) and (cbZmenaDatumKonZakazka.Checked) then
|
||||
tbl.FieldByName('colDatumObr').AsDateTime:= edtDatObr.DateTime;
|
||||
|
||||
@@ -458,10 +483,10 @@ uses System.StrUtils, System.DateUtils,
|
||||
lSQL:= lSQL + 'JenVDO';
|
||||
|
||||
if (edtRole.Text='OBR') then
|
||||
lSQL:= lSQL + ', DatumOBR';
|
||||
lSQL:= lSQL + IfThen(not lSQL.Trim.EndsWith(','), ', ', '') + 'DatumOBR';
|
||||
|
||||
if (jeVzorek) and (VdoProVzo) then
|
||||
lSQL:= lSQL + ', VDOProVZO';
|
||||
lSQL:= lSQL + IfThen(not lSQL.Trim.EndsWith(','), ', ', '') + 'VDOProVZO';
|
||||
|
||||
|
||||
|
||||
@@ -655,6 +680,8 @@ uses System.StrUtils, System.DateUtils,
|
||||
procedure TformSchvaleniZak.btnOKClick (Sender: TObject);
|
||||
var i, x: integer;
|
||||
begin
|
||||
VdoProVzo:= (currRole='VDO') and (cbJenVDO.Checked) and (cbJenVDO.Caption.Contains('VZO',false));
|
||||
|
||||
if (grd.RowCount>0) and (edtRole.Text<>'') then
|
||||
begin
|
||||
for i:=0 to grd.RowCount-1 do
|
||||
@@ -738,94 +765,94 @@ uses System.StrUtils, System.DateUtils,
|
||||
idZakazky:= 0;
|
||||
VdoProVzo:= false;
|
||||
|
||||
cbZmenaDatumKonZakazka.Visible:= false;
|
||||
cbZmenaDatumKonZakazka.Visible := false;
|
||||
|
||||
jeTestDb:= false;
|
||||
jeTestDb := false;
|
||||
if (helUtils.SQLObjectExists(Helios, Helios.SystemDB + '.dbo.TabDBHelios')) then
|
||||
jeTestDb:= helUtils.sqlExistsTestGeneral (Helios, 'SELECT 1 FROM ' + Helios.SystemDB + '.dbo.TabDBHelios WHERE SysJmeno=N' + Helios.CurrentDB.QuotedString + ' AND TypDB=4');
|
||||
self.Caption:= ' Schválení zakázky' + IfThen(jeTestDB, ' (TEST DB)', '');
|
||||
jeTestDb := helUtils.sqlExistsTestGeneral (Helios, 'SELECT 1 FROM ' + Helios.SystemDB + '.dbo.TabDBHelios WHERE SysJmeno=N' + Helios.CurrentDB.QuotedString + ' AND TypDB=4');
|
||||
self.Caption := ' Schválení zakázky' + IfThen(jeTestDB, ' (TEST DB)', '');
|
||||
|
||||
szKmeneSub:= '';
|
||||
szKmeneSub := '';
|
||||
|
||||
|
||||
|
||||
// zdroj ID jsou vyrobni prikazy
|
||||
if (id>0) and (Helios.BrowseID=bidVyrPrik) then
|
||||
idZakazky:= helUtils.getHeliosIntVal (Helios, 0, 'SELECT IDZakazka FROM ' + tblVPr + ' WHERE ID=' + id.ToString);
|
||||
idZakazky := helUtils.getHeliosIntVal (Helios, 0, 'SELECT IDZakazka FROM ' + tblVPr + ' WHERE ID=' + id.ToString);
|
||||
if (Length(arrID)>0) and (Helios.BrowseID=bidVyrPrik) then
|
||||
begin
|
||||
sTemp:= helUtils.getHeliosStrVal (Helios, '', 'SELECT IDZakazka FROM ' + tblVPr + ' WHERE ID IN (' + helUtils.ArrayToString (arrID, ',', true) + ')');
|
||||
SetLength(arrID, 0);
|
||||
sTemp := helUtils.getHeliosStrVal (Helios, '', 'SELECT IDZakazka FROM ' + tblVPr + ' WHERE ID IN (' + helUtils.ArrayToString (arrID, ',', true) + ')');
|
||||
SetLength (arrID, 0);
|
||||
if (sTemp<>'') then
|
||||
arrID:= helUtils.StrToArrayInt (sTemp);
|
||||
arrID := helUtils.StrToArrayInt (sTemp);
|
||||
end;
|
||||
|
||||
// zdroj ID je vyrobni plan
|
||||
if (id>0) and (Helios.BrowseID=bidVyrPlan) then
|
||||
idZakazky:= helUtils.getHeliosIntVal (Helios, 0, 'SELECT IDZakazka FROM ' + tblPlan + ' WHERE ID=' + id.ToString);
|
||||
idZakazky := helUtils.getHeliosIntVal (Helios, 0, 'SELECT IDZakazka FROM ' + tblPlan + ' WHERE ID=' + id.ToString);
|
||||
if (Length(arrID)>0) and (Helios.BrowseID=bidVyrPlan) then
|
||||
begin
|
||||
sTemp:= helUtils.getHeliosStrVal (Helios, '', 'SELECT IDZakazka FROM ' + tblPlan + ' WHERE ID IN (' + helUtils.ArrayToString (arrID, ',', true) + ')');
|
||||
SetLength(arrID, 0);
|
||||
sTemp := helUtils.getHeliosStrVal (Helios, '', 'SELECT IDZakazka FROM ' + tblPlan + ' WHERE ID IN (' + helUtils.ArrayToString (arrID, ',', true) + ')');
|
||||
SetLength (arrID, 0);
|
||||
if (sTemp<>'') then
|
||||
arrID:= helUtils.StrToArrayInt (sTemp);
|
||||
arrID := helUtils.StrToArrayInt (sTemp);
|
||||
end;
|
||||
|
||||
// zdroj ID jsou zakazky
|
||||
if (id>0) and (Helios.BrowseID=bidZak) then
|
||||
idZakazky:= id;
|
||||
idZakazky := id;
|
||||
|
||||
|
||||
|
||||
|
||||
cisZakazky:= '';
|
||||
cisZakazky := '';
|
||||
if (idZakazky>0) then
|
||||
cisZakazky:= helUtils.getHeliosStrVal(Helios, '', 'SELECT CisloZakazky FROM ' + tblZak + ' WHERE ID=' + idZakazky.ToString);
|
||||
jeVzorek:= helUtils.IfThenBool (LeftStr(cisZakazky,2).ToUpper='VZ', true, false);
|
||||
cisZakazky := helUtils.getHeliosStrVal(Helios, '', 'SELECT CisloZakazky FROM ' + tblZak + ' WHERE ID=' + idZakazky.ToString);
|
||||
jeVzorek := helUtils.IfThenBool (LeftStr(cisZakazky,2).ToUpper='VZ', true, false);
|
||||
|
||||
|
||||
lSQL:= 'IF NOT EXISTS (SELECT 1 FROM ' + tblSchvalZak + ' WHERE IDZakazka=' + idZakazky.ToString + ') INSERT ' + tblSchvalZak;
|
||||
lSQL:= lSQL + ' (IDZakazka' + IfThen(jeVzorek, ', TypZakazky', '') + ') SELECT ' + idZakazky.ToString + IfThen (jeVzorek, ', 13', '');
|
||||
lSQL := 'IF NOT EXISTS (SELECT 1 FROM ' + tblSchvalZak + ' WHERE IDZakazka=' + idZakazky.ToString + ') INSERT ' + tblSchvalZak
|
||||
+ ' (IDZakazka' + IfThen(jeVzorek, ', TypZakazky', '') + ') SELECT ' + idZakazky.ToString + IfThen (jeVzorek, ', 13', '');
|
||||
Helios.ExecSQL (lSQL);
|
||||
|
||||
|
||||
lSQL:= 'SELECT TOP(1) p.SkupZbo FROM ' + tblPZ + ' p INNER JOIN ' + tblDZ + ' d ON (d.ID=p.IDDoklad) INNER JOIN ' + tblZak + ' z ON (z.CisloZakazky=';
|
||||
lSQL:= lSQL + 'ISNULL(p.CisloZakazky,d.CisloZakazky)) WHERE d.DruhPohybuZbo IN (9,6) AND z.ID=' + idZakazky.ToString;
|
||||
szKmene:= helUtils.getHeliosStrVal(Helios, '', lSQL);
|
||||
edtRegCis.EditLabel.Caption:= 'Reg.èíslo' + IfThen(szKmene<>'', ' (SK ' + szKmene + ')', '') + ':';
|
||||
jeObrobek:= (szKmene='VOB');
|
||||
lSQL := 'SELECT TOP(1) p.SkupZbo FROM ' + tblPZ + ' p INNER JOIN ' + tblDZ + ' d ON (d.ID=p.IDDoklad) INNER JOIN ' + tblZak + ' z ON (z.CisloZakazky='
|
||||
+ 'ISNULL(p.CisloZakazky,d.CisloZakazky)) WHERE d.DruhPohybuZbo IN (9,6) AND z.ID=' + idZakazky.ToString;
|
||||
szKmene := helUtils.getHeliosStrVal(Helios, '', lSQL);
|
||||
edtRegCis.EditLabel.Caption := 'Reg.èíslo' + IfThen(szKmene<>'', ' (SK ' + szKmene + ')', '') + ':';
|
||||
jeObrobek := (szKmene='VOB');
|
||||
|
||||
|
||||
idPrikazFin:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT TOP(1) ID FROM ' + tblPrikaz + ' WHERE IDPrikazVyssi IS NULL AND IDZakazka=' + idZakazky.ToString);
|
||||
lSQL:= 'SELECT TOP(1) p.ID FROM ' + tblPrikaz + ' p INNER JOIN ' + tblKZ + ' k ON (k.ID=p.IDTabKmen) WHERE p.IDPrikazVyssi=' + idPrikazFin.ToString + ' AND p.IDZakazka=' + idZakazky.ToString;
|
||||
lSQL:= lSQL + ' AND k.SkupZbo NOT IN (N''VDO'')';
|
||||
idPrikazSub:= helUtils.getHeliosIntVal(Helios, 0, lSQL);
|
||||
szKmeneSub:= helUtils.getHeliosStrVal(Helios, '', 'SELECT k.SkupZbo FROM ' + tblPrikaz + ' p INNER JOIN ' + tblKZ + ' k ON (k.ID=p.IDTabKmen) WHERE p.ID=' + idPrikazSub.ToString);
|
||||
idPrikazFin := helUtils.getHeliosIntVal(Helios, 0, 'SELECT TOP(1) ID FROM ' + tblPrikaz + ' WHERE IDPrikazVyssi IS NULL AND IDZakazka=' + idZakazky.ToString);
|
||||
lSQL := 'SELECT TOP(1) p.ID FROM ' + tblPrikaz + ' p INNER JOIN ' + tblKZ + ' k ON (k.ID=p.IDTabKmen) WHERE p.IDPrikazVyssi=' + idPrikazFin.ToString + ' AND p.IDZakazka=' + idZakazky.ToString;
|
||||
lSQL := lSQL + ' AND k.SkupZbo NOT IN (N''VDO'')';
|
||||
idPrikazSub := helUtils.getHeliosIntVal(Helios, 0, lSQL);
|
||||
szKmeneSub := helUtils.getHeliosStrVal(Helios, '', 'SELECT k.SkupZbo FROM ' + tblPrikaz + ' p INNER JOIN ' + tblKZ + ' k ON (k.ID=p.IDTabKmen) WHERE p.ID=' + idPrikazSub.ToString);
|
||||
|
||||
|
||||
currRole:= '';
|
||||
currRole := '';
|
||||
if (helUtils.HeliosObjectExists(Helios,helUtils.VratTableName(tblSchvalZakRole))) then
|
||||
begin
|
||||
with Helios.OpenSQL('SELECT TOP(1) Role FROM ' + tblSchvalZakRole + ' WHERE Login=SUSER_SNAME() ORDER BY Priorita') do
|
||||
with Helios.OpenSQL ('SELECT TOP(1) Role FROM ' + tblSchvalZakRole + ' WHERE Login=SUSER_SNAME() ORDER BY Priorita') do
|
||||
if (RecordCount=1) then
|
||||
edtRole.Text:= VarToStr(FieldValues(0));
|
||||
edtRole.Text := VarToStr(FieldValues(0));
|
||||
|
||||
currRole:= UpperCase(edtRole.Text);
|
||||
currRole := UpperCase(edtRole.Text);
|
||||
if (szKmene<>'VOB') and (currRole='OBR') then
|
||||
edtRole.Text:= '';
|
||||
edtRole.Text := '';
|
||||
edtPoznamka.SetFocus;
|
||||
end;
|
||||
|
||||
cbJenVDO.Enabled:= false;
|
||||
cbJenVDO.Enabled := false;
|
||||
if (currRole='REP') or (currRole='VZO') then
|
||||
cbJenVDO.Enabled:= true;
|
||||
cbJenVDO.Enabled := true;
|
||||
if (currRole='VDO') then
|
||||
begin
|
||||
cbZmenaDatumKonZakazka.Visible:= true;
|
||||
cbJenVDO.Enabled:= true;
|
||||
cbJenVDO.Caption:= ' pro OBR';
|
||||
lblDatObr.Caption:= 'Datum ' + currRole;
|
||||
lblDatObr.Visible:= true;
|
||||
cbZmenaDatumKonZakazka.Visible := true;
|
||||
cbJenVDO.Enabled := true;
|
||||
cbJenVDO.Caption := ' pro OBR';
|
||||
lblDatObr.Caption := 'Datum ' + currRole;
|
||||
lblDatObr.Visible := true;
|
||||
|
||||
lSQL:= 'SELECT 1 FROM ' + tblVPr + ' WHERE IDPrikazVyssi IS NULL AND IDZakazka=' + idZakazky.ToString;
|
||||
if (helUtils.sqlExistsTestGeneral(Helios, lSQL)) then
|
||||
@@ -881,7 +908,7 @@ uses System.StrUtils, System.DateUtils,
|
||||
lSQL:= 'IF OBJECT_ID(''dbo.TabZakazka_EXT'', N''U'') IS NOT NULL' + CRLF + 'IF NOT EXISTS(SELECT ID FROM ' + tblZakE + ' WHERE ID=' + idZakazky.ToString + ')';
|
||||
lSQL:= lSQL + CRLF + 'INSERT ' + tblZakE + ' (ID) VALUES (' + idZakazky.ToString + ')' + CRLF + 'UPDATE ' + tblZakE + ' SET _SchvaleniZakazky_Lock=';
|
||||
lSQL:= lSQL + uzivId.ToString + ' WHERE ID=' + idZakazky.ToString;
|
||||
Helios.ExecSQL(lSQL);
|
||||
Helios.ExecSQL (lSQL);
|
||||
|
||||
lSQL:= 'SELECT 1 FROM ' + tblZak + ' z INNER JOIN ' + tblZakE + ' ze ON (ze.ID=z.ID) WHERE z.ID=' + idZakazky.ToString
|
||||
+ ' AND ISNULL(ze._SchvaleniZakazky_Lock,0)<>' + uzivId.ToString;
|
||||
@@ -911,16 +938,21 @@ uses System.StrUtils, System.DateUtils,
|
||||
if (currRole='VDO') and not(jeObrobek) and (prevRole='VZO') and (jeVzorek) then
|
||||
begin
|
||||
cbJenVDO.Caption:= ' pro VZO';
|
||||
cbJenVDO.Enabled:= false;
|
||||
cbJenVDO.Enabled:= true;
|
||||
cbJenVDO.Checked;
|
||||
VdoProVzo:= true;
|
||||
// VdoProVzo:= true;
|
||||
end;
|
||||
|
||||
if (currRole='VDO') and (jeVzorek) and (jeObrobek) and (prevRole='VZO') then
|
||||
begin
|
||||
cbJenVDO.Checked:= true;
|
||||
cbJenVDO.Checked := true;
|
||||
end;
|
||||
|
||||
if (currRole='VDO') and not(zamek) then
|
||||
if (szKmene='VOD') then // jenProVDO nezobrazuj u skupiny VOD
|
||||
cbJenVDO.Enabled := false;
|
||||
|
||||
|
||||
|
||||
|
||||
infoTxt:= '';
|
||||
|
||||
@@ -0,0 +1,205 @@
|
||||
object formVPrZmenaPlanuUkonceni: TformVPrZmenaPlanuUkonceni
|
||||
Left = 0
|
||||
Top = 0
|
||||
BorderIcons = [biSystemMenu]
|
||||
BorderStyle = bsSingle
|
||||
Caption = ' Zm'#283'na pl'#225'novan'#233'ho ukon'#269'en'#237' v'#253'roby'
|
||||
ClientHeight = 306
|
||||
ClientWidth = 496
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -16
|
||||
Font.Name = 'Segoe UI'
|
||||
Font.Style = []
|
||||
Position = poOwnerFormCenter
|
||||
RoundedCorners = rcOn
|
||||
OnShow = FormShow
|
||||
DesignSize = (
|
||||
496
|
||||
306)
|
||||
TextHeight = 21
|
||||
object Label1: TLabel
|
||||
Left = 16
|
||||
Top = 77
|
||||
Width = 191
|
||||
Height = 21
|
||||
Caption = 'Pl'#225'novan'#233' datum ukon'#269'en'#237':'
|
||||
end
|
||||
object lblPrikaz: TLabel
|
||||
Left = 16
|
||||
Top = 20
|
||||
Width = 59
|
||||
Height = 21
|
||||
Caption = 'lblPrikaz'
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 16
|
||||
Top = 155
|
||||
Width = 171
|
||||
Height = 21
|
||||
Caption = 'Zm'#283'nit u ni'#382#353#237'ch p'#345#237'kaz'#367':'
|
||||
end
|
||||
object lblDilec: TLabel
|
||||
Left = 16
|
||||
Top = 44
|
||||
Width = 51
|
||||
Height = 21
|
||||
Caption = 'lblDilec'
|
||||
end
|
||||
object grdPrikazy: TNextGrid6
|
||||
Left = 16
|
||||
Top = 185
|
||||
Width = 463
|
||||
Height = 54
|
||||
Anchors = [akLeft, akTop, akRight, akBottom]
|
||||
ParentColor = False
|
||||
TabOrder = 0
|
||||
StyleOptions = [soNativeStyles, soVCLStyles]
|
||||
ActiveView = grdPrikazyView
|
||||
ActiveViewIndex = 0
|
||||
RowHeight = 26
|
||||
ScrollBars = [sbVertical]
|
||||
UserDefinedColorPalette.GeometryHoverColor = clBlack
|
||||
object grdPrikazyView: TNxReportGridView6
|
||||
GridLines = True
|
||||
end
|
||||
object colZmena: TNxCheckBoxColumn6
|
||||
Alignment = taCenter
|
||||
Editing = True
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -16
|
||||
Font.Name = 'Segoe UI'
|
||||
Font.Style = []
|
||||
Footer.Font.Charset = DEFAULT_CHARSET
|
||||
Footer.Font.Color = clWindowText
|
||||
Footer.Font.Height = -12
|
||||
Footer.Font.Name = 'Segoe UI'
|
||||
Footer.Font.Style = []
|
||||
Footer.FormatMask = '#,##0.00'
|
||||
Header.Font.Charset = DEFAULT_CHARSET
|
||||
Header.Font.Color = clWindowText
|
||||
Header.Font.Height = -12
|
||||
Header.Font.Name = 'Segoe UI'
|
||||
Header.Font.Style = []
|
||||
Index = 0
|
||||
PlaceholderText = 'True'
|
||||
Position = 0
|
||||
Width = 30
|
||||
CheckedImageIndex = -1
|
||||
UncheckedImageIndex = -1
|
||||
InsertString = 'False'
|
||||
end
|
||||
object colRadaPrikaz: TNxTextColumn6
|
||||
Alignment = taCenter
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -16
|
||||
Font.Name = 'Segoe UI'
|
||||
Font.Style = []
|
||||
Footer.Font.Charset = DEFAULT_CHARSET
|
||||
Footer.Font.Color = clWindowText
|
||||
Footer.Font.Height = -12
|
||||
Footer.Font.Name = 'Segoe UI'
|
||||
Footer.Font.Style = []
|
||||
Footer.FormatMask = '#,##0.00'
|
||||
Header.Caption = #344'ada / p'#345#237'kaz'
|
||||
Header.Font.Charset = DEFAULT_CHARSET
|
||||
Header.Font.Color = clWindowText
|
||||
Header.Font.Height = -16
|
||||
Header.Font.Name = 'Segoe UI'
|
||||
Header.Font.Style = []
|
||||
Header.ParentFont = False
|
||||
Index = 1
|
||||
PlaceholderText = 'Text Text'
|
||||
Position = 1
|
||||
Width = 160
|
||||
end
|
||||
object colNazev1: TNxTextColumn6
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -16
|
||||
Font.Name = 'Segoe UI'
|
||||
Font.Style = []
|
||||
Footer.Font.Charset = DEFAULT_CHARSET
|
||||
Footer.Font.Color = clWindowText
|
||||
Footer.Font.Height = -12
|
||||
Footer.Font.Name = 'Segoe UI'
|
||||
Footer.Font.Style = []
|
||||
Footer.FormatMask = '#,##0.00'
|
||||
Header.Caption = 'N'#225'zev 1'
|
||||
Header.Font.Charset = DEFAULT_CHARSET
|
||||
Header.Font.Color = clWindowText
|
||||
Header.Font.Height = -16
|
||||
Header.Font.Name = 'Segoe UI'
|
||||
Header.Font.Style = []
|
||||
Header.ParentFont = False
|
||||
Index = 2
|
||||
PlaceholderText = 'Text Text'
|
||||
Position = 2
|
||||
Width = 250
|
||||
end
|
||||
object colID: TNxIncrementColumn6
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -16
|
||||
Font.Name = 'Segoe UI'
|
||||
Font.Style = []
|
||||
Footer.Font.Charset = DEFAULT_CHARSET
|
||||
Footer.Font.Color = clWindowText
|
||||
Footer.Font.Height = -12
|
||||
Footer.Font.Name = 'Segoe UI'
|
||||
Footer.Font.Style = []
|
||||
Footer.FormatMask = '#,##0.00'
|
||||
Header.Caption = 'ID'
|
||||
Header.Font.Charset = DEFAULT_CHARSET
|
||||
Header.Font.Color = clWindowText
|
||||
Header.Font.Height = -12
|
||||
Header.Font.Name = 'Segoe UI'
|
||||
Header.Font.Style = []
|
||||
Index = 3
|
||||
PlaceholderText = '1'
|
||||
Position = 3
|
||||
Visible = False
|
||||
InsertString = '-1'
|
||||
end
|
||||
end
|
||||
object cbZmenaVPlanu: TCheckBox
|
||||
Left = 16
|
||||
Top = 109
|
||||
Width = 205
|
||||
Height = 27
|
||||
Caption = 'Zm'#283'nit i v pl'#225'nu v'#253'roby'
|
||||
TabOrder = 1
|
||||
end
|
||||
object dtPlanUkonceni: TDateTimePicker
|
||||
Left = 257
|
||||
Top = 73
|
||||
Width = 113
|
||||
Height = 29
|
||||
Date = 46148.000000000000000000
|
||||
Time = 0.410625856478873200
|
||||
TabOrder = 2
|
||||
end
|
||||
object btnOK: TButton
|
||||
Left = 16
|
||||
Top = 256
|
||||
Width = 119
|
||||
Height = 41
|
||||
Anchors = [akLeft, akBottom]
|
||||
Caption = 'OK'
|
||||
TabOrder = 3
|
||||
OnClick = btnOKClick
|
||||
end
|
||||
object btnStorno: TButton
|
||||
Left = 360
|
||||
Top = 256
|
||||
Width = 119
|
||||
Height = 41
|
||||
Anchors = [akRight, akBottom]
|
||||
Caption = 'Storno'
|
||||
TabOrder = 4
|
||||
OnClick = btnStornoClick
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,171 @@
|
||||
unit frmVPrZmenaPlanuUkonceni;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
||||
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls, NxGridView6, NxColumns6,
|
||||
NxControls6, NxCustomGrid6, NxVirtualGrid6, NxGrid6,
|
||||
ddPlugin_TLB;
|
||||
|
||||
type
|
||||
TformVPrZmenaPlanuUkonceni = class(TForm)
|
||||
grdPrikazy: TNextGrid6;
|
||||
cbZmenaVPlanu: TCheckBox;
|
||||
dtPlanUkonceni: TDateTimePicker;
|
||||
Label1: TLabel;
|
||||
lblPrikaz: TLabel;
|
||||
Label2: TLabel;
|
||||
btnOK: TButton;
|
||||
btnStorno: TButton;
|
||||
grdPrikazyView: TNxReportGridView6;
|
||||
colZmena: TNxCheckBoxColumn6;
|
||||
colRadaPrikaz: TNxTextColumn6;
|
||||
colNazev1: TNxTextColumn6;
|
||||
lblDilec: TLabel;
|
||||
colID: TNxIncrementColumn6;
|
||||
procedure FormShow (Sender: TObject);
|
||||
procedure btnStornoClick (Sender: TObject);
|
||||
procedure btnOKClick (Sender: TObject);
|
||||
private
|
||||
{ Private declarations }
|
||||
public
|
||||
Helios: IHelios;
|
||||
idVPr: integer;
|
||||
end;
|
||||
|
||||
var
|
||||
formVPrZmenaPlanuUkonceni: TformVPrZmenaPlanuUkonceni;
|
||||
|
||||
|
||||
implementation
|
||||
uses System.StrUtils,
|
||||
helUtils;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
|
||||
|
||||
procedure TformVPrZmenaPlanuUkonceni.btnOKClick (Sender: TObject);
|
||||
var lSQL: string;
|
||||
i: integer;
|
||||
zmeny, eMsg: string;
|
||||
canCont: boolean;
|
||||
begin
|
||||
zmeny := '';
|
||||
for i:=0 to grdPrikazy.RowCount-1 do
|
||||
zmeny := zmeny + IfThen(grdPrikazy.Cell[0, i].AsBoolean, '1', '0') + ',';
|
||||
if (zmeny<>'') then
|
||||
zmeny := LeftStr(zmeny, zmeny.Length-1); // odstran koncovou carku
|
||||
|
||||
canCont := true;
|
||||
if (zmeny.LastIndexOf('0')<zmeny.LastIndexOf('1')) then
|
||||
canCont := false;
|
||||
|
||||
if (canCont) then
|
||||
begin
|
||||
eMsg := '';
|
||||
lSQL := 'DECLARE @eMsg NVARCHAR(500)=N''''' + CRLF + 'DROP TABLE IF EXISTS #TabPrikazyZmenaUkonceni' + CRLF
|
||||
+ 'CREATE TABLE #TabPrikazyZmenaUkonceni (ID INT IDENTITY(1,1) NOT NULL, RadaPrikaz NVARCHAR(50) NOT NULL)' + CRLF;
|
||||
|
||||
for i:=0 to grdPrikazy.RowCount-1 do
|
||||
if (grdPrikazy.Cell [0, i].AsBoolean) then
|
||||
lSQL := lSQL + 'INSERT #TabPrikazyZmenaUkonceni (RadaPrikaz) SELECT N' + grdPrikazy.Cells [1, i].QuotedString + CRLF;
|
||||
|
||||
lSQL := lSQL + 'IF OBJECT_ID(N''dbo.ep_HDC_Vyroba_Prikazy_ZmenaPlanuUkonceni'', ''P'') IS NOT NULL EXEC dbo.ep_HDC_Vyroba_Prikazy_ZmenaPlanuUkonceni @idPrikaz=' + idVpr.ToString
|
||||
+ ', @datPlanUkonceni=N' + FormatDateTime('dd.mm.yyyy', dtPlanUkonceni.Date).QuotedString + ', @zmenaDoPlanu=' + IfThen(cbZmenaVPlanu.Checked, '1', '0')
|
||||
+ ', @errMsg=@eMsg OUT' + CRLF + 'SELECT @eMsg AS ErrMsg';
|
||||
try
|
||||
with Helios.OpenSQL (lSQL) do
|
||||
if (RecordCount>0) then
|
||||
eMsg := FieldByNameValues('ErrMsg')
|
||||
else
|
||||
eMsg := 'Nemám zpìtnou vazbu z výpoètu dat zahájení/ukonèení';
|
||||
if (eMsg<>'') then
|
||||
Helios.Error (#1 + eMsg + #1)
|
||||
else
|
||||
Close;
|
||||
except on E:Exception do
|
||||
Helios.Error (#1'Chyba zpracování: '#1 + E.Message);
|
||||
end;
|
||||
end
|
||||
else
|
||||
Helios.Error (#1'V øadì pøíkazù s povolenou zmìnou plánovaného data ukonèení nesmí být pøíkaz bez zmìny.'#1);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformVPrZmenaPlanuUkonceni.btnStornoClick (Sender: TObject);
|
||||
begin
|
||||
Close;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformVPrZmenaPlanuUkonceni.FormShow (Sender: TObject);
|
||||
var lSQL: string;
|
||||
pSZ, pRC, pNazev1, pRPr: string;
|
||||
pStav, pUroven: byte;
|
||||
cnt: integer;
|
||||
begin
|
||||
grdPrikazy.RowCount := 0;
|
||||
self.Height := 325;
|
||||
lblPrikaz.Caption := '';
|
||||
lblDilec.Caption := '';
|
||||
|
||||
dtPlanUkonceni.Date := Now;
|
||||
|
||||
if (idVPr>0) then
|
||||
begin
|
||||
pSZ := '';
|
||||
|
||||
lSQL := 'SELECT p.RadaPrikaz, k.SkupZbo, k.RegCis, k.Nazev1, p.StavPrikazu, p.UrovenVnoreni, p.Plan_ukonceni_X FROM ' + tblVPr + ' p JOIN ' + tblKZ
|
||||
+ ' k ON (k.ID=p.IDTabKmen) WHERE p.ID=' + idVPr.ToString;
|
||||
with Helios.OpenSQL (lSQL) do
|
||||
if not(EOF) then
|
||||
begin
|
||||
First;
|
||||
pSZ := FieldByNameValues('SkupZbo');
|
||||
pRC := FieldByNameValues('RegCis');
|
||||
pNazev1 := FieldByNameValues('Nazev1');
|
||||
pRPr := FieldByNameValues('RadaPrikaz');
|
||||
pStav := FieldByNameValues('StavPrikazu');
|
||||
pUroven := FieldByNameValues('UrovenVnoreni');
|
||||
lblPrikaz.Caption := pRPr + ' ' + pRC;
|
||||
lblDilec.Caption := pNazev1;
|
||||
dtPlanUkonceni.Date := FieldByNameValues('Plan_ukonceni_X');
|
||||
end;
|
||||
|
||||
if (pSZ<>'') then
|
||||
begin
|
||||
lSQL := 'SELECT p.RadaPrikaz, k.SkupZbo, k.RegCis, k.Nazev1, p.StavPrikazu, p.UrovenVnoreni FROM ' + tblVPr + ' p JOIN ' + tblKZ + ' k ON (k.ID=p.IDTabKmen) WHERE p.IDPrikazRidici=' + idVPr.ToString
|
||||
+ ' AND p.UrovenVnoreni>' + pUroven.ToString + ' AND p.StavPrikazu IN (20,30) /*AND k.SkupZbo LIKE N''P[45]%''*/ ORDER BY p.UrovenVnoreni, k.SkupZbo DESC';
|
||||
with Helios.OpenSQL (lSQL) do
|
||||
if (RecordCount>0) then
|
||||
begin
|
||||
cnt := 0;
|
||||
First;
|
||||
while not(EOF) do
|
||||
begin
|
||||
Inc (cnt);
|
||||
grdPrikazy.RowCount := cnt;
|
||||
pSZ := FieldByNameValues('SkupZbo');
|
||||
if (LeftStr(pSZ,2)='P4') or (LeftStr(pSZ,2)='P5') then
|
||||
grdPrikazy.Cell [0, cnt-1].AsBoolean := true;
|
||||
|
||||
grdPrikazy.Cells [1, cnt-1] := FieldByNameValues('RadaPrikaz');
|
||||
grdPrikazy.Cells [2, cnt-1] := FieldByNameValues('Nazev1');
|
||||
grdPrikazy.Cells [3, cnt-1] := cnt.ToString;
|
||||
self.Height := self.Height + 28;
|
||||
Next;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
+4
-2
@@ -36,6 +36,7 @@ uses
|
||||
madListModules,
|
||||
System.Win.ComServ,
|
||||
ddPlugin_TLB,
|
||||
dataMod in 'dataMod.pas' {dm: TDataModule},
|
||||
ComObjekt in 'ComObjekt.pas',
|
||||
frmGenPolos in 'frmGenPolos.pas' {formGenPolos},
|
||||
frmOdlitek in 'frmOdlitek.pas' {formOdlitek},
|
||||
@@ -50,8 +51,9 @@ uses
|
||||
frmInputNum in 'frmInputNum.pas' {formInputNum},
|
||||
frmHrOdvOperZmetky in 'frmHrOdvOperZmetky.pas' {formHrOdvOperZmetky},
|
||||
frmKoopObjUprava in 'frmKoopObjUprava.pas' {formKoopObjUprava},
|
||||
dataMod in 'dataMod.pas' {dm: TDataModule},
|
||||
frmOOPPohyb in 'frmOOPPohyb.pas' {formOOPPohyb};
|
||||
frmOOPPohyb in 'frmOOPPohyb.pas' {formOOPPohyb},
|
||||
frmVPrZmenaPlanuUkonceni in 'frmVPrZmenaPlanuUkonceni.pas' {formVPrZmenaPlanuUkonceni},
|
||||
frmGenKoopObj in 'frmGenKoopObj.pas' {formGenKoopObj};
|
||||
|
||||
// ,frmPlanLis in 'frmPlanLis.pas' {formPlanLis};
|
||||
|
||||
|
||||
+918
-35
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Reference in New Issue
Block a user