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/
|
||||
|
||||
+82
-27
@@ -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,6 +337,7 @@ var oVar1, oVar2: OleVariant;
|
||||
arrRadky: TArray<TArray<string>>;
|
||||
cont: Boolean;
|
||||
proc1, proc2: Double;
|
||||
wF: TForm;
|
||||
begin
|
||||
overRadek := 0;
|
||||
posunSl := 0;
|
||||
@@ -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
|
||||
@@ -441,7 +443,9 @@ var oVar1, oVar2: OleVariant;
|
||||
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');
|
||||
@@ -465,6 +469,7 @@ var oVar1, oVar2: OleVariant;
|
||||
arrRadky: TArray<TArray<string>>;
|
||||
forma: TForma;
|
||||
cont: Boolean;
|
||||
wF: TForm;
|
||||
begin
|
||||
overRadek:= 0;
|
||||
posunSl:= 0;
|
||||
@@ -523,11 +528,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;
|
||||
ClearForma (forma);
|
||||
@@ -623,7 +628,8 @@ 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);
|
||||
@@ -641,6 +647,7 @@ var oVar1, oVar2: OleVariant;
|
||||
arrRadky: TArray<TArray<string>>;
|
||||
forma: TForma;
|
||||
cont: Boolean;
|
||||
wF: TForm;
|
||||
begin
|
||||
overRadek:= 0;
|
||||
posunSl:= 0;
|
||||
@@ -699,11 +706,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;
|
||||
ClearForma (forma);
|
||||
@@ -799,7 +806,9 @@ 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);
|
||||
@@ -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,7 +972,9 @@ var oVar1, oVar2: OleVariant;
|
||||
errMsg:= E.Message + CRLF + lSQL;
|
||||
end;
|
||||
end;
|
||||
waitEnd;
|
||||
|
||||
if Assigned(wF) then
|
||||
waitEnd (wF);
|
||||
|
||||
Helios.Refresh (true);
|
||||
Helios.Info (#1'Import ' + cntIns.ToString + ' nových karet' + CRLF + 'Aktualizací karet: ' + cntAkt.ToString + #1);
|
||||
@@ -979,6 +991,7 @@ var oVar1, oVar2: OleVariant;
|
||||
arrRadky: TArray<TArray<string>>;
|
||||
kmen: TKmen;
|
||||
cont: Boolean;
|
||||
wF: TForm;
|
||||
begin
|
||||
posunSl:= 0;
|
||||
|
||||
@@ -1039,11 +1052,11 @@ 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);
|
||||
@@ -1243,7 +1256,9 @@ 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: ' + cntIns.ToString + CRLF + 'Upravených karet: ' + cntAkt.ToString + #1);
|
||||
@@ -1264,6 +1279,7 @@ var oVar1, oVar2: OleVariant;
|
||||
supps: TArray<string>;
|
||||
fndIdx: integer;
|
||||
doplnNulu: boolean;
|
||||
wF: TForm;
|
||||
begin
|
||||
xls:= TXLSWorkbook.Create;
|
||||
try
|
||||
@@ -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,7 +1838,9 @@ var oVar1, oVar2: OleVariant;
|
||||
errMsg:= E.Message + CRLF + lSQL;
|
||||
end;
|
||||
end;
|
||||
waitEnd;
|
||||
|
||||
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);
|
||||
@@ -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,7 +2012,9 @@ var oVar1, oVar2: OleVariant;
|
||||
errMsg:= E.Message + CRLF + lSQL;
|
||||
end;
|
||||
end;
|
||||
waitEnd;
|
||||
|
||||
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);
|
||||
@@ -1999,6 +2023,8 @@ var oVar1, oVar2: OleVariant;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TplgKdynium.ZakazkaZobrazAtestyTaveb (const Helios: IHelios; ids: TArray<System.Integer>);
|
||||
var lSQL, idsX: string;
|
||||
bidRozbory, i: integer;
|
||||
@@ -2243,6 +2269,7 @@ var oVar1, oVar2: OleVariant;
|
||||
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
|
||||
@@ -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
|
||||
@@ -2978,6 +3011,28 @@ 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);
|
||||
|
||||
+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.
|
||||
+5
-3
@@ -92,11 +92,12 @@ 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 );
|
||||
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;
|
||||
@@ -128,11 +129,12 @@ uses System.StrUtils, helUtils;
|
||||
Close;
|
||||
except on E:Exception do
|
||||
begin
|
||||
waitEnd;
|
||||
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);
|
||||
|
||||
+20
-17
@@ -102,6 +102,7 @@ uses System.StrUtils, System.DateUtils, System.UITypes,
|
||||
|
||||
|
||||
|
||||
|
||||
function TaskDlgYesNo (titulek, nadpis, textX: string; ikona: byte; defBtn: TTaskDialogCommonButton): System.UITypes.TModalResult;
|
||||
begin
|
||||
with TTaskDialog.Create(nil) do
|
||||
@@ -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
|
||||
@@ -149,8 +149,7 @@ uses System.StrUtils, System.DateUtils, System.UITypes,
|
||||
if (idProf>0) then
|
||||
begin
|
||||
edtProfese.Text := helUtils.getHeliosStrVal(Helios, '', 'SELECT Profese FROM ' + tblOOPProfese + ' WHERE ID=' + idProf.ToString);
|
||||
if (edtDatum.CanFocus) then
|
||||
edtDatum.SetFocus;
|
||||
self.ActiveControl := edtDatum;
|
||||
end
|
||||
else
|
||||
edtProfese.Text := '';
|
||||
@@ -175,6 +174,7 @@ uses System.StrUtils, System.DateUtils, System.UITypes,
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformOOPPohyb.btnOKClick (Sender: TObject);
|
||||
var lSQL: string;
|
||||
begin
|
||||
@@ -189,15 +189,16 @@ uses System.StrUtils, System.DateUtils, System.UITypes,
|
||||
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;
|
||||
if (idPolozka=0) then
|
||||
self.ActiveControl := edtPolozka;
|
||||
if (cisZam=0) then
|
||||
self.ActiveControl := edtOsCislo;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformOOPPohyb.btnStornoClick (Sender: TObject);
|
||||
begin
|
||||
Close;
|
||||
@@ -205,6 +206,7 @@ uses System.StrUtils, System.DateUtils, System.UITypes,
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformOOPPohyb.edtOsCisloButtonClick (Sender: TObject);
|
||||
var c: integer;
|
||||
podm: string;
|
||||
@@ -222,8 +224,7 @@ uses System.StrUtils, System.DateUtils, System.UITypes,
|
||||
c := 0;
|
||||
cisZam := c;
|
||||
if (NactiUdajeZamestnance(cisZam)) then
|
||||
if (edtProfese.CanFocus) then
|
||||
edtProfese.SetFocus;
|
||||
self.ActiveControl := edtProfese;
|
||||
end
|
||||
else
|
||||
cisZam := 0;
|
||||
@@ -239,6 +240,7 @@ uses System.StrUtils, System.DateUtils, System.UITypes,
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformOOPPohyb.edtOsCisloExit (Sender: TObject);
|
||||
var lSQL: string;
|
||||
c: integer;
|
||||
@@ -272,8 +274,7 @@ uses System.StrUtils, System.DateUtils, System.UITypes,
|
||||
end;
|
||||
|
||||
if (NactiUdajeZamestnance(cisZam)) then
|
||||
if (edtProfese.CanFocus) then
|
||||
edtProfese.SetFocus;
|
||||
self.ActiveControl := edtProfese;
|
||||
end;
|
||||
|
||||
if (edtOsCislo.Modified) then
|
||||
@@ -437,14 +438,14 @@ uses System.StrUtils, System.DateUtils, System.UITypes,
|
||||
polozkaNum := '';
|
||||
edtPolozka.Text := '';
|
||||
edtPolozkaText.Text := '';
|
||||
if (edtPolozka.CanFocus) then
|
||||
edtPolozka.SetFocus;
|
||||
self.ActiveControl := edtPolozka;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformOOPPohyb.edtPolozkaButtonClick (Sender: TObject);
|
||||
var podm: string;
|
||||
begin
|
||||
@@ -475,6 +476,7 @@ uses System.StrUtils, System.DateUtils, System.UITypes,
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformOOPPohyb.edtPolozkaExit (Sender: TObject);
|
||||
begin
|
||||
edtPolozka.Text := edtPolozka.Text.Trim;
|
||||
@@ -526,13 +528,13 @@ uses System.StrUtils, System.DateUtils, System.UITypes,
|
||||
c := 0;
|
||||
cisZam := c;
|
||||
if (NactiUdajeZamestnance(cisZam)) then
|
||||
if (edtProfese.CanFocus) then
|
||||
edtProfese.SetFocus;
|
||||
self.ActiveControl := edtProfese;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformOOPPohyb.edtProfeseButtonClick (Sender: TObject);
|
||||
var lSQL, podm: string;
|
||||
c: integer;
|
||||
@@ -561,13 +563,13 @@ uses System.StrUtils, System.DateUtils, System.UITypes,
|
||||
profese := profese.Substring(0, Length(profese)-1);
|
||||
end;
|
||||
edtProfese.Text := profese;
|
||||
if (edtDatum.CanFocus) then
|
||||
edtDatum.SetFocus;
|
||||
self.ActiveControl := edtDatum;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformOOPPohyb.edtStrediskoButtonClick (Sender: TObject);
|
||||
begin
|
||||
if (Helios.Prenos(bidCisZam, 'TabCisZam.Cislo', oVar1, '', 'Zaměstnanec', true)) then
|
||||
@@ -582,6 +584,7 @@ uses System.StrUtils, System.DateUtils, System.UITypes,
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformOOPPohyb.FormShow (Sender: TObject);
|
||||
begin
|
||||
bidOOPProfese := helUtils.getHeliosIntVal (Helios, 0, 'SELECT DPBID FROM ' + tblObecPrehled + ' WHERE NazevSys=N''hvw_TabOOP_Profese''');
|
||||
|
||||
+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
|
||||
|
||||
+73
-8
@@ -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;
|
||||
|
||||
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
|
||||
|
||||
+47
-15
@@ -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,7 +125,7 @@ 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
|
||||
@@ -133,6 +134,7 @@ uses System.StrUtils, System.DateUtils,
|
||||
|
||||
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;
|
||||
with Helios.OpenSQL(lSQL) do
|
||||
@@ -141,11 +143,11 @@ uses System.StrUtils, System.DateUtils,
|
||||
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;
|
||||
@@ -166,9 +168,11 @@ uses System.StrUtils, System.DateUtils,
|
||||
|
||||
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 FROM ' + tblSchvalZakHist;
|
||||
lSQL:= lSQL + ' WHERE IDZakazky=' + idZakazky.ToString + ' ORDER BY DatPorizeni';
|
||||
|
||||
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 := '';
|
||||
@@ -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
|
||||
@@ -784,13 +811,13 @@ uses System.StrUtils, System.DateUtils,
|
||||
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;
|
||||
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');
|
||||
@@ -911,9 +938,9 @@ 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
|
||||
@@ -921,6 +948,11 @@ uses System.StrUtils, System.DateUtils,
|
||||
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