diff --git a/ComObjekt.pas b/ComObjekt.pas
index a160d39..31ccb32 100644
--- a/ComObjekt.pas
+++ b/ComObjekt.pas
@@ -205,7 +205,7 @@ var oVar1, oVar2: OleVariant;
arrDefs.Add('ef_Vyroba_VratNovyPaletovyList');
arrDefs.Add('ef_Vyroba_VratCisloSarze');
arrDefs.Add('ef_Kmen_VratPocetKsVKartonu');
- arrDefs.Add('tbl__TabVyrobaObjednavky');
+// arrDefs.Add('tbl__TabVyrobaObjednavky');
// arrDefs.Add('tbl__TabVyrobaOperaceStartStop');
arrDefs.Add('ep_P01_HDC1');
@@ -219,6 +219,7 @@ var oVar1, oVar2: OleVariant;
arrDefs.Add('ep_Vyroba_VyrobaMimoPlan');
arrDefs.Add('ep_Vyroba_Doklady_Micharna');
+ arrDefs.Add('ep_Vyroba_Doklady_PomocPrijemka');
arrDefs.Add('ep_Vyroba_GenVydejZeMzdy');
arrDefs.Add('ep_Vyroba_GenOdvodZeMzdy');
arrDefs.Add('ep_Vyroba_DoplnSkladProVydejDleDokl');
@@ -226,6 +227,7 @@ var oVar1, oVar2: OleVariant;
arrDefs.Add('ep_Vyroba_InsertEvidRozpracOper');
arrDefs.Add('ep_Vyroba_PrijemNestandard');
arrDefs.Add('ep_Vyroba_VyrobaMimoPlan');
+ arrDefs.Add('ep_Vyroba_GenObjednavkuMatDoVyroby');
arrDefs.Add('ep_HDC_PZ_ZapisPolozek');
arrDefs.Add('ep_Vyroba_GenerujPalety');
arrDefs.Add('ep_Vyroba_GenSouhrnnyVydej');
@@ -246,8 +248,8 @@ var oVar1, oVar2: OleVariant;
// arrDefs.Add('spec_Clear');
- arrDefs.Add('trg__TabVyrobaObjednavky_IU');
- arrDefs.Add('trg__TabVyrobaObjednavky_Pol_D');
+// arrDefs.Add('trg__TabVyrobaObjednavky_IU');
+// arrDefs.Add('trg__TabVyrobaObjednavky_Pol_D');
arrDefs.Add('trg__TabVyrobaPalety_IU');
arrDefs.Add('trg__TabVyrobaPalety_D');
arrDefs.Add('trg__TabPohybyZbozi_HDC_IU');
@@ -257,6 +259,7 @@ var oVar1, oVar2: OleVariant;
arrDefs.Add('trg__TabVyrobaPaletyUkonceni_D');
arrDefs.Add('trg__TabVyrobaVydejMatSarze_IU');
arrDefs.Add('trg__TabVyrCisPrikaz_HDC_D');
+ arrDefs.Add('trg__TabPrikazMzdyAZmetky_HDC_D');
for i:=0 to arrDefs.Count-1 do
begin
@@ -702,11 +705,11 @@ var oVar1, oVar2: OleVariant;
Helios.Error(#1'Akci můžete spustit jen nad dokladem Výdejky/převodky řady 231'#1)
else
begin
- tBid:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT DPBID FROM ' + tblObecPrehled + ' WHERE NazevSys=N''hvw_Vyroba_Micharna_PozadavkyObj''');
+ tBid:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT DPBID FROM ' + tblObecPrehled + ' WHERE NazevSys=N''hvw_Vyroba_ObjednavkyMat''');
if (tBid>0) then
begin
lSQL:= 'DROP TABLE IF EXISTS #TabZapisPolozekOZ' + CRLF + 'CREATE TABLE #TabZapisPolozekOZ (ID INT IDENTITY(1,1) NOT NULL, IDPolozky INT NOT NULL, PRIMARY KEY (ID))' + CRLF;
- podm:= '(hvw_Vyroba_Micharna_PozadavkyObj.Blokovano=0 OR hvw_Vyroba_Micharna_PozadavkyObj.MnozKVydeji>0) AND hvw_Vyroba_Micharna_PozadavkyObj.Splneno=0';
+ podm:= '(hvw_Vyroba_ObjednavkyMat.Blokovano=0 OR hvw_Vyroba_ObjednavkyMat.MnozKVydeji>0) AND hvw_Vyroba_ObjednavkyMat.Splneno=0';
if Helios.Prenos2 (tBid, 'ID', 'ID', oVar1, oVar2, podm, 'Vyberte položky', false, true, false, 1) then
begin
arrId:= helUtils.StrToArrayInt (VarToStr(oVar1), ',');
diff --git a/PluginHDCRTN.dproj b/PluginHDCRTN.dproj
index 2591811..a339071 100644
--- a/PluginHDCRTN.dproj
+++ b/PluginHDCRTN.dproj
@@ -102,7 +102,7 @@
0
- CompanyName=;FileDescription=Helios iNuvio plugin pro Rootvin;FileVersion=3.0.2025.519;InternalName=;LegalCopyright=HD Consulting Strakonice, T.Buzin;LegalTrademarks=;OriginalFilename=;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=XE12.3.1;ProgramID=com.embarcadero.$(MSBuildProjectName);LastCompiledTime=2025.05.21 19:06:43
+ CompanyName=;FileDescription=Helios iNuvio plugin pro Rootvin;FileVersion=3.0.2025.519;InternalName=;LegalCopyright=HD Consulting Strakonice, T.Buzin;LegalTrademarks=;OriginalFilename=;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=XE12.3.1;ProgramID=com.embarcadero.$(MSBuildProjectName);LastCompiledTime=2025.06.08 21:57:26
madExcept;$(DCC_Define)
3
2
@@ -128,7 +128,7 @@
true
true
1033
- CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);LastCompiledTime=2025.05.21 14:33:39
+ CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);LastCompiledTime=2025.05.29 08:14:42
(None)
none
madExcept;$(DCC_Define)
diff --git a/_plgPlan/frmVyrobniTyden.dfm b/_plgPlan/frmVyrobniTyden.dfm
index f9e6683..76c3e66 100644
--- a/_plgPlan/frmVyrobniTyden.dfm
+++ b/_plgPlan/frmVyrobniTyden.dfm
@@ -4,7 +4,7 @@ object formVyberTydne: TformVyberTydne
BorderIcons = [biSystemMenu]
BorderStyle = bsSingle
Caption = ' V'#253'robn'#237' t'#253'den'
- ClientHeight = 473
+ ClientHeight = 451
ClientWidth = 311
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
@@ -82,11 +82,11 @@ object formVyberTydne: TformVyberTydne
OnChange = cbRokChange
end
object btnDnes: TButton
- Left = 196
+ Left = 186
Top = 8
- Width = 105
+ Width = 115
Height = 36
- Caption = 'Dnes'
+ Caption = 'Aktu'#225'ln'#237' t'#253'den'
TabOrder = 2
OnClick = btnDnesClick
end
diff --git a/_sql/2UT/utObjednavkyMat.sql b/_sql/2UT/utObjednavkyMat.sql
new file mode 100644
index 0000000..c6664fc
--- /dev/null
+++ b/_sql/2UT/utObjednavkyMat.sql
@@ -0,0 +1,594 @@
+SET NOCOUNT ON
+
+DECLARE
+ @iTemp INT,
+ @sql NVARCHAR(3000),
+ @idTab INT,
+ @sysTabName NVARCHAR(128),
+ @hvwName NVARCHAR(128),
+ @idCol INT,
+ @trigger NVARCHAR(max)
+
+
+SET @sysTabName = '_TabVyroba_Objednavky'
+SET @hvwName = 'hvw_Vyroba_ObjednavkyMat'
+
+
+IF EXISTS (SELECT 1 FROM dbo.TabObecnyPrehled WHERE NazevSys=N'hvw_Vyroba_Micharna_PozadavkyObj')
+ UPDATE dbo.TabObecnyPrehled SE NazevSys=@hvwName WHERE NazevSys=N'hvw_Vyroba_Micharna_PozadavkyObj'
+
+
+SET @iTemp = ISNULL( (SELECT MAX(ID) FROM dbo.TabDefTabUzivTabulka), 1)
+DBCC CHECKIDENT (TabDefTabUzivTabulka, RESEED, @iTemp)
+SET @iTemp = ISNULL( (SELECT MAX(ID) FROM dbo.TabDefTabUzivAtributy), 1)
+DBCC CHECKIDENT (TabDefTabUzivAtributy, RESEED, @iTemp)
+SET @iTemp = ISNULL( (SELECT MAX(ID) FROM dbo.TabDefTabUzivConstraint), 1)
+DBCC CHECKIDENT (TabDefTabUzivConstraint, RESEED, @iTemp)
+
+
+
+-- tabulka
+SET @idTab = (SELECT ID FROM dbo.TabDefTabUzivTabulka WHERE NazevTabulky=@sysTabName)
+IF (@idTab IS NULL)
+ BEGIN
+ INSERT dbo.TabDefTabUzivTabulka (Skupina, Popis, NazevTabulky, NazevPrehledu, NastaveniAkceNovy, NastaveniAkceOprava, NastaveniAkceZrusit)
+ SELECT N'', 'Objednávky na materiál', @sysTabName, @hvwName, 1, 1, 1
+ SET @idTab = SCOPE_IDENTITY()
+ END
+
+
+
+
+
+
+
+-- sloupce
+IF (@idTab IS NOT NULL)
+ BEGIN
+/*
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUHeliosAttr, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrEditor, EdAtrPoradi, EdAtrHlidat, EdAtrPrenosAtr, EdAtrSkrytyPrenos, EdAtrInfoAtr1, EdAtrInfoAtr2, EdAtrPrenosDPSN, EdAtrPrenosIDFiltr, EdAtrPodminka)
+
+DTUAtrTyp
+0=INT
+1=SMALLINT
+2=TINYINT
+3=BIGINT
+4=GUID
+5=BIT
+6=NVARCHAR
+7=NTEXT
+8=VARBINARY(MAX)
+9=DATETIME
+10=NUMERIC(5,2)
+11=NUMERIC(19,6)
+12=FLOAT
+13=VARCHAR
+14=NVARCHAR(MAX)
+*/
+
+
+/*
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'ID')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN, EdAtrPrenosAtr)
+ SELECT @idTab, 1, N'ID', N'Systémové èíslo', 0, 0, 0, N'', 0, -- 0 = int
+ NULL, NULL, NULL, 20, N'', 0, 1, 0, 1, 0,
+ 0, 0, N'', N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'ID')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY'
+ EXEC sp_executesql @sql
+ END
+*/
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'IDPrijataDataJson')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN, EdAtrPrenosAtr)
+ SELECT @idTab, 2, N'IDPrijataDataJson', N'ID JSON', 0, 0, 1, N'', 0, -- 0 = int
+ NULL, NULL, NULL, 20, N'', 0, 0, 0, 1, 0,
+ 1, 0, N'', N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'IDPrijataDataJson')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD IDPrijataDataJson INT NULL'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'IdPHIdent')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 3, N'IdPHIdent', N'Identifikace PH', 3, 0, 1, N'', 0, -- 3=bigint
+ NULL, NULL, NULL, 20, N'', 1, 0, 0, 1, 0,
+ 1, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'IdPHIdent')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD IdPHIdent BIGINT NULL'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'IdPHIdent2')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 4, N'IdPHIdent2', N'Identifikace 2 PH', 3, 0, 1, N'', 0, -- 3=bigint
+ NULL, NULL, NULL, 20, N'', 1, 0, 0, 1, 0,
+ 1, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'IdPHIdent')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD IdPHIdent2 BIGINT NULL'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'PHOznaceni')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 5, N'PHOznaceni', N'Oznaèení PH', 6, 50, 1, N'', 0, -- 6=nvarchar
+ NULL, NULL, NULL, 20, N'', 1, 0, 0, 1, 0,
+ 1, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'PHOznaceni')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD PHOznaceni NVARCHAR(50) NULL'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'Poznamka')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 6, N'Poznamka', N'Poznámka', 6, 255, 1, N'', 0, -- 6=nvarchar
+ NULL, NULL, NULL, 20, N'', 1, 0, 0, 1, 1,
+ 0, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'Poznamka')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD Poznamka NVARCHAR(255) NULL'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'SkupZbo')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUHeliosAttr, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 7, N'SkupZbo', N'TabKmenZbozi.SkupZbo', N'', 6, 3, 1, N'', 0, -- 6=nvarchar
+ NULL, NULL, NULL, 15, N'', 1, 0, 0, 1, 0,
+ 0, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'SkupZbo')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD SkupZbo NVARCHAR(3) NULL'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'RegCis')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUHeliosAttr, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 8, N'RegCis', N'TabKmenZbozi.RegCis', N'', 6, 30, 1, N'', 0, -- 6 = nvarchar, delka 30
+ NULL, NULL, NULL, 15, N'', 1, 0, 0, 1, 0,
+ 0, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'RegCis')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD RegCis NVARCHAR(30) NULL'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'IDKmenZbozi')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN, EdAtrPrenosAtr)
+ SELECT @idTab, 9, N'IDKmenZbozi', N'Kmenová karta', 0, 0, 1, N'', 0, -- 0 = int
+ NULL, NULL, NULL, 20, N'', 0, 0, 0, 1, 0,
+ 0, 0, N'', N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'IDKmenZbozi')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD IDKmenZbozi INT NULL'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'Mnozstvi')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 10, N'Mnozstvi', N'Množství', 11, 0, 0, N'0', 0, -- 11 = numeric(19,6)
+ NULL, NULL, NULL, 70, N'#,##0.##', 1, 1, 1, 1, 1,
+ 0, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'Mnozstvi')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD Mnozstvi NUMERIC(19,6) NOT NULL DEFAULT 0.0'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'MnozVydane')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 11, N'MnozVydane', N'Množství na výdejkách', 11, 0, 0, N'0', 0, -- 11 = numeric(19,6)
+ NULL, NULL, NULL, 70, N'#,##0.##', 1, 1, 1, 1, 1,
+ 0, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'MnozVydane')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD MnozVydane NUMERIC(19,6) NOT NULL DEFAULT 0.0'
+ EXEC sp_executesql @sql
+ END
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'PaletovyList')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 12, N'PaletovyList', N'Paletový list', 6, 100, 1, N'', 0, -- 6 = nvarchar, delka 100
+ NULL, NULL, NULL, 15, N'', 1, 0, 0, 1, 0,
+ 0, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'PaletovyList')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD PaletovyList NVARCHAR(100) NULL'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'Sarze')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 13, N'Sarze', N'Šarže', 6, 100, 1, N'', 0, -- 6 = nvarchar, delka 100
+ NULL, NULL, NULL, 15, N'', 1, 0, 0, 1, 0,
+ 0, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'Sarze')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD Sarze NVARCHAR(100) NULL'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'NocniObjednavka')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 14, N'NocniObjednavka', N'Noèní objednávka', 5, 0, 0, N'0', 0, -- 5 = bit
+ NULL, NULL, NULL, 10, N'', 1, 1, 0, 1, 0,
+ 0, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'NocniObjednavka')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD NocniObjednavka NOT NULL DEFAULT 0'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'Storno')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 15, N'Storno', N'Storno', 5, 0, 0, N'0', 0, -- 5 = bit
+ NULL, NULL, NULL, 10, N'', 1, 1, 0, 1, 0,
+ 0, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'Storno')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD Storno NOT NULL DEFAULT 0'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'Vratka')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 16, N'Vratka', N'Vratka', 5, 0, 0, N'0', 0, -- 5 = bit
+ NULL, NULL, NULL, 10, N'', 1, 1, 0, 1, 0,
+ 0, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'Vratka')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD Vratka NOT NULL DEFAULT 0'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'Splneno')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 17, N'Splneno', N'Splnìno', 5, 0, 0, N'0', 0, -- 5 = bit
+ NULL, NULL, NULL, 10, N'', 1, 1, 0, 1, 0,
+ 0, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'Splneno')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD Splneno NOT NULL DEFAULT 0'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'OdmitnutoSkladem')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrJmenoVerejneZkr, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 18, N'OdmitnutoSkladem', N'Odmítnuto skladem', N'Odmítnuto', 5, 0, 0, N'0', 0, -- 5 = bit
+ NULL, NULL, NULL, 10, N'', 1, 1, 0, 1, 0,
+ 0, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'OdmitnutoSkladem')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD OdmitnutoSkladem BIT NOT NULL DEFAULT 0'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'PocetPohybuOZ')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrJmenoVerejneZkr, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 19, N'PocetPohybuOZ', N'Poèet pohybù OZ', N'', 1, 0, 0, N'0', 0, -- 1 = smallint
+ NULL, NULL, NULL, 10, N'', 1, 1, 0, 1, 0,
+ 0, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'PocetPohybuOZ')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD OdmitnutoSkladem NOT NULL DEFAULT 0'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'Blokovano')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrJmenoVerejneZkr, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 20, N'Blokovano', N'Blokováno', N'', 5, 0, 0, N'0', 0, -- 5 = bit
+ NULL, NULL, NULL, 10, N'', 1, 1, 0, 1, 0,
+ 0, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'Blokovano')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD Blokovano BIT NOT NULL DEFAULT 0'
+ EXEC sp_executesql @sql
+ END
+
+
+/*
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'DatPorizeni')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrJmenoVerejneZkr, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 21, N'DatPorizeni', N'', N'TabCisOrg.DatPorizeni', 9, 0, 0, N'GETDATE()', 0, -- 9 = datetime
+ NULL, NULL, NULL, 18, N'', 1, 1, 0, 1, 0,
+ 0, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'DatPorizeni')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD DatPorizeni DATETIME NOT NULL DEFAULT GETDATE()'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'Autor')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrJmenoVerejneZkr, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 22, N'Autor', N'', N'TabCisOrg.Autor', 6, 80, 0, N'SUSER_SNAME()', 0, -- 6 = nvarchar
+ NULL, NULL, NULL, 20, N'', 1, 1, 0, 1, 0,
+ 0, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'Autor')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD Autor NVARCHAR(80) NOT NULL DEFAULT SUSER_SNAME()'
+ EXEC sp_executesql @sql
+ END
+*/
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'DatZpracovani')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrJmenoVerejneZkr, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 23, N'DatZpracovani', N'Datum zpracování', N'', 9, 0, 1, N'', 0, -- 9 = datetime
+ NULL, NULL, NULL, 18, N'', 1, 0, 0, 1, 0,
+ 0, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'DatZpracovani')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD DatZpracovani DATETIME NULL'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'JeMaterial')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 24, N'JeMaterial', N'JeMaterial', 5, 0, 0, N'1', 0, -- 5 = bit
+ NULL, NULL, NULL, 10, N'', 1, 1, 0, 1, 0,
+ 0, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'JeMaterial')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD JeMaterial NOT NULL DEFAULT 1'
+ EXEC sp_executesql @sql
+ END
+
+
+ END -- @idTab IS NOT NULL
+
+
+
+
+
+
+
+-- indexy
+IF (@idTab IS NOT NULL)
+ IF NOT EXISTS (SELECT 1 FROM dbo.TabDefTabUzivConstraint WHERE IDDefinice=@idTab AND Typ=1 AND JmenoSys=N'PK__' + @sysTabName + N'__ID')
+ INSERT dbo.TabDefTabUzivConstraint
+ (IDDefinice, JmenoSys, Typ, MojeAtributy, CiziTabulka, CiziAtributy, IncludedAttr, VazbaNazevMoje, VazbaNazevMojeSys, VazbaNazevCizi, VazbaNazevCiziSys)
+ SELECT @idTab, N'PK__' + @sysTabName + N'__ID', 1, N'ID', N'', N'', N'', N'', N'', N'', N''
+
+IF (@idTab IS NOT NULL) AND EXISTS (SELECT 1 FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'IDKmenZbozi')
+ IF NOT EXISTS (SELECT 1 FROM dbo.TabDefTabUzivConstraint WHERE IDDefinice=@idTab AND Typ=0 AND JmenoSys=N'IX__' + @sysTabName + N'__IDKmenZbozi')
+ INSERT dbo.TabDefTabUzivConstraint
+ (IDDefinice, JmenoSys, Typ, MojeAtributy, CiziTabulka, CiziAtributy, IncludedAttr, VazbaNazevMoje, VazbaNazevMojeSys, VazbaNazevCizi, VazbaNazevCiziSys)
+ SELECT @idTab, N'IX__' + @sysTabName + N'__IDKmenZbozi', 0, N'IDKmenZbozi', N'', N'', N'', N'', N'', N'', N''
+
+
+IF (@idTab IS NOT NULL) AND EXISTS (SELECT 1 FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'IDPrijataDataJson')
+ IF NOT EXISTS (SELECT 1 FROM dbo.TabDefTabUzivConstraint WHERE IDDefinice=@idTab AND Typ=0 AND JmenoSys=N'IX__' + @sysTabName + N'__IDPrijataDataJson')
+ INSERT dbo.TabDefTabUzivConstraint
+ (IDDefinice, JmenoSys, Typ, MojeAtributy, CiziTabulka, CiziAtributy, IncludedAttr, VazbaNazevMoje, VazbaNazevMojeSys, VazbaNazevCizi, VazbaNazevCiziSys)
+ SELECT @idTab, N'IX__' + @sysTabName + N'__IDPrijataDataJson', 0, N'IDPrijataDataJson', N'', N'', N'', N'', N'', N'', N''
+
+
+
+
+
+
+
+-- hlavni trigger
+IF (@idTab IS NOT NULL) AND EXISTS (SELECT 1 FROM dbo.TabDefTabUzivTabulka WHERE DefiniceTriggeru IS NULL)
+ UPDATE dbo.TabDefTabUzivTabulka SET DefiniceTriggeru=N'CREATE TRIGGER ht__TabVyroba_Objednavky_DIU ON _TabVyroba_Objednavky
+FOR DELETE,INSERT,UPDATE AS
+
+IF (@@ROWCOUNT=0)
+ RETURN
+SET NOCOUNT ON
+
+-- 1..insert, -1..delete, 0..update
+DECLARE @JakaAkce INT
+SET @JakaAkce = 0
+IF EXISTS(SELECT*FROM INSERTED)
+ SET @JakaAkce = @JakaAkce + 1
+IF EXISTS(SELECT*FROM DELETED)
+ SET @JakaAkce = @JakaAkce - 1
+
+
+DECLARE
+ @id INT,
+ @sz NVARCHAR(3),
+ @rc NVARCHAR(30),
+ @idKZ INT,
+ @sarze NVARCHAR(50)
+
+
+-- begin: cast insert/update
+IF (@JakaAkce=0) OR (@JakaAkce=1)
+ BEGIN
+ DECLARE c CURSOR LOCAL FAST_FORWARD FOR
+ SELECT i.ID, i.SkupZbo, i.RegCis, i.IDKmenZbozi
+ FROM inserted i
+ OPEN c
+ WHILE (1=1)
+ BEGIN
+ FETCH NEXT FROM c INTO @id, @sz, @rc, @idKZ
+ IF (@@FETCH_STATUS<>0) BREAK
+
+ IF (@idKZ IS NULL)
+ BEGIN
+ SET @idKZ = (SELECT ID FROM dbo.TabKmenZbozi WHERE SkupZbo=@sz AND RegCis=@rc)
+ IF (@idKZ IS NOT NULL)
+ UPDATE dbo._TabVyroba_Objednavky SET IDKmenZbozi=@idKZ WHERE ID=@id
+ END
+ UPDATE dbo._TabVyroba_Objednavky SET JeMaterial=(SELECT Material FROM dbo.TabKmenZbozi WHERE ID=@idKZ) WHERE ID=@id
+
+ END
+ CLOSE c
+ DEALLOCATE c
+ END
+-- end: cast insert/update
+
+
+-- begin: cast delete
+IF (@JakaAkce=-1)
+ BEGIN
+ DECLARE c CURSOR LOCAL FAST_FORWARD FOR
+ SELECT d.ID
+ FROM deleted d
+ OPEN c
+ WHILE (1=1)
+ BEGIN
+ FETCH NEXT FROM c INTO @id
+
+-- kdyz mazes hlavni zaznam, smaz odkazy na jednotlive polozky OZ
+ DELETE FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=@id
+
+ END
+ CLOSE c
+ DEALLOCATE c
+
+
+
+-- cisteni seedu tabuly
+ SET @id = ISNULL( (SELECT MAX(ID) FROM dbo._TabVyroba_Objednavky), 1)
+ DBCC CHECKIDENT(_TabVyroba_Objednavky, RESEED, @id)
+
+ END
+-- end: cast delete
+
+' WHERE ID=@idTab
diff --git a/_sql/2UT/utObjednavkyMatPol.sql b/_sql/2UT/utObjednavkyMatPol.sql
new file mode 100644
index 0000000..cff16bb
--- /dev/null
+++ b/_sql/2UT/utObjednavkyMatPol.sql
@@ -0,0 +1,307 @@
+SET NOCOUNT ON
+
+DECLARE
+ @iTemp INT,
+ @sql NVARCHAR(3000),
+ @idTab INT,
+ @sysTabName NVARCHAR(128),
+ @hvwName NVARCHAR(128),
+ @idCol INT,
+ @trigger NVARCHAR(max)
+
+
+SET @sysTabName = '_TabVyroba_Objednavky_Pol'
+SET @hvwName = 'hvw_Vyroba_ObjednavkyMat_Pol'
+
+
+
+SET @iTemp = ISNULL( (SELECT MAX(ID) FROM dbo.TabDefTabUzivTabulka), 1)
+DBCC CHECKIDENT (TabDefTabUzivTabulka, RESEED, @iTemp)
+SET @iTemp = ISNULL( (SELECT MAX(ID) FROM dbo.TabDefTabUzivAtributy), 1)
+DBCC CHECKIDENT (TabDefTabUzivAtributy, RESEED, @iTemp)
+SET @iTemp = ISNULL( (SELECT MAX(ID) FROM dbo.TabDefTabUzivConstraint), 1)
+DBCC CHECKIDENT (TabDefTabUzivConstraint, RESEED, @iTemp)
+
+
+
+-- tabulka
+SET @idTab = (SELECT ID FROM dbo.TabDefTabUzivTabulka WHERE NazevTabulky=@sysTabName)
+IF (@idTab IS NULL)
+ BEGIN
+ INSERT dbo.TabDefTabUzivTabulka (Skupina, Popis, NazevTabulky, NazevPrehledu, NastaveniAkceNovy, NastaveniAkceOprava, NastaveniAkceZrusit)
+ SELECT N'', 'Zapsané položky objednávky na materiál', @sysTabName, @hvwName, 1, 1, 1
+ SET @idTab = SCOPE_IDENTITY()
+ END
+
+
+
+
+
+
+
+-- sloupce
+IF (@idTab IS NOT NULL)
+ BEGIN
+/*
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUHeliosAttr, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrEditor, EdAtrPoradi, EdAtrHlidat, EdAtrPrenosAtr, EdAtrSkrytyPrenos, EdAtrInfoAtr1, EdAtrInfoAtr2, EdAtrPrenosDPSN, EdAtrPrenosIDFiltr, EdAtrPodminka)
+
+DTUAtrTyp
+0=INT
+1=SMALLINT
+2=TINYINT
+3=BIGINT
+4=GUID
+5=BIT
+6=NVARCHAR
+7=NTEXT
+8=VARBINARY(MAX)
+9=DATETIME
+10=NUMERIC(5,2)
+11=NUMERIC(19,6)
+12=FLOAT
+13=VARCHAR
+14=NVARCHAR(MAX)
+*/
+
+
+/*
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'ID')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN, EdAtrPrenosAtr)
+ SELECT @idTab, 1, N'ID', N'Systémové èíslo', 0, 0, 0, N'', 0, -- 0 = int
+ NULL, NULL, NULL, 20, N'', 0, 1, 0, 1, 0,
+ 0, 0, N'', N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'ID')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY'
+ EXEC sp_executesql @sql
+ END
+*/
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'IDHlava')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN, EdAtrPrenosAtr)
+ SELECT @idTab, 2, N'IDHlava', N'Hlavièka', 0, 0, 1, N'', 0, -- 0 = int
+ NULL, NULL, NULL, 20, N'', 0, 0, 0, 1, 0,
+ 1, 0, N'', N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'IDHlava')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD IDHlava INT NOT NULL'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'IDDokladOZ')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 3, N'IDDokladOZ', N'Doklad OZ', 0, 0, 1, N'', 0, -- 3=int
+ NULL, NULL, NULL, 20, N'', 1, 0, 0, 1, 0,
+ 1, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'IDDokladOZ')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD IDDokladOZ INT NULL'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'IDPohybOZ')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 4, N'IDPohybOZ', N'Položka dokladu OZ', 0, 0, 1, N'', 0, -- 0=int
+ NULL, NULL, NULL, 20, N'', 1, 0, 0, 1, 0,
+ 1, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'IDPohybOZ')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD IDPohybOZ INT NULL'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'IDVyrCP')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 5, N'IDVyrCP', N'Pohyb VÈ položky OZ', 0, 0, 1, N'', 0, -- 0=int
+ NULL, NULL, NULL, 20, N'', 1, 0, 0, 1, 0,
+ 1, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'IDVyrCP')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD IDVyrCP INT NULL'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'SkupZbo')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUHeliosAttr, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 6, N'SkupZbo', N'TabKmenZbozi.SkupZbo', N'', 6, 3, 1, N'', 0, -- 6=nvarchar
+ NULL, NULL, NULL, 15, N'', 1, 0, 0, 1, 0,
+ 1, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'SkupZbo')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD SkupZbo NVARCHAR(3) NULL'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'RegCis')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUHeliosAttr, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 7, N'RegCis', N'TabKmenZbozi.RegCis', N'', 6, 30, 1, N'', 0, -- 6 = nvarchar, delka 30
+ NULL, NULL, NULL, 15, N'', 1, 0, 0, 1, 0,
+ 1, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'RegCis')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD RegCis NVARCHAR(30) NULL'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'Mnozstvi')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 8, N'Mnozstvi', N'Množství', 11, 0, 0, N'0', 0, -- 11 = numeric(19,6)
+ NULL, NULL, NULL, 70, N'#,##0.##', 1, 1, 1, 1, 1,
+ 1, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'Mnozstvi')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD Mnozstvi NUMERIC(19,6) NOT NULL DEFAULT 0.0'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'PaletovyList')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 9, N'PaletovyList', N'Paletový list', 6, 100, 1, N'', 0, -- 6 = nvarchar, delka 100
+ NULL, NULL, NULL, 15, N'', 1, 0, 0, 1, 0,
+ 1, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'PaletovyList')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD PaletovyList NVARCHAR(100) NULL'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'Sarze')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 10, N'Sarze', N'Šarže', 6, 100, 1, N'', 0, -- 6 = nvarchar, delka 100
+ NULL, NULL, NULL, 15, N'', 1, 0, 0, 1, 0,
+ 1, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'Sarze')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD Sarze NVARCHAR(100) NULL'
+ EXEC sp_executesql @sql
+ END
+
+ END -- @idTab IS NOT NULL
+
+
+
+
+
+
+
+-- indexy
+IF (@idTab IS NOT NULL)
+ IF NOT EXISTS (SELECT 1 FROM dbo.TabDefTabUzivConstraint WHERE IDDefinice=@idTab AND Typ=1 AND JmenoSys=N'PK__' + @sysTabName + N'__ID')
+ INSERT dbo.TabDefTabUzivConstraint
+ (IDDefinice, JmenoSys, Typ, MojeAtributy, CiziTabulka, CiziAtributy, IncludedAttr, VazbaNazevMoje, VazbaNazevMojeSys, VazbaNazevCizi, VazbaNazevCiziSys)
+ SELECT @idTab, N'PK__' + @sysTabName + N'__ID', 1, N'ID', N'', N'', N'', N'', N'', N'', N''
+
+IF (@idTab IS NOT NULL) AND EXISTS (SELECT 1 FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'IDHlava')
+ IF NOT EXISTS (SELECT 1 FROM dbo.TabDefTabUzivConstraint WHERE IDDefinice=@idTab AND Typ=0 AND JmenoSys=N'IX__' + @sysTabName + N'__IDHlava')
+ INSERT dbo.TabDefTabUzivConstraint
+ (IDDefinice, JmenoSys, Typ, MojeAtributy, CiziTabulka, CiziAtributy, IncludedAttr, VazbaNazevMoje, VazbaNazevMojeSys, VazbaNazevCizi, VazbaNazevCiziSys)
+ SELECT @idTab, N'IX__' + @sysTabName + N'__IDHlava', 0, N'IDHlava', N'', N'', N'', N'', N'', N'', N''
+
+
+IF (@idTab IS NOT NULL) AND EXISTS (SELECT 1 FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'IDPohybOZ')
+ IF NOT EXISTS (SELECT 1 FROM dbo.TabDefTabUzivConstraint WHERE IDDefinice=@idTab AND Typ=0 AND JmenoSys=N'IX__' + @sysTabName + N'__IDPohybOZ')
+ INSERT dbo.TabDefTabUzivConstraint
+ (IDDefinice, JmenoSys, Typ, MojeAtributy, CiziTabulka, CiziAtributy, IncludedAttr, VazbaNazevMoje, VazbaNazevMojeSys, VazbaNazevCizi, VazbaNazevCiziSys)
+ SELECT @idTab, N'IX__' + @sysTabName + N'__IDPohybOZ', 0, N'IDPohybOZ', N'', N'', N'', N'', N'', N'', N''
+
+
+
+
+
+
+
+-- hlavni trigger
+IF (@idTab IS NOT NULL) AND EXISTS (SELECT 1 FROM dbo.TabDefTabUzivTabulka WHERE DefiniceTriggeru IS NULL)
+ UPDATE dbo.TabDefTabUzivTabulka SET DefiniceTriggeru=N'CREATE TRIGGER ht_' + @sysTabName + '_DIU ON ' + @sysTabName + '
+FOR DELETE,INSERT,UPDATE AS
+
+IF (@@ROWCOUNT=0)
+ RETURN
+SET NOCOUNT ON
+
+-- 1..insert, -1..delete, 0..update
+DECLARE @JakaAkce INT
+SET @JakaAkce = 0
+IF EXISTS(SELECT*FROM INSERTED)
+ SET @JakaAkce = @JakaAkce + 1
+IF EXISTS(SELECT*FROM DELETED)
+ SET @JakaAkce = @JakaAkce - 1
+
+
+DECLARE
+ @id INT
+
+
+-- begin: cast delete
+IF (@JakaAkce=-1)
+ BEGIN
+
+-- cisteni seedu tabulky
+ SET @id = ISNULL( (SELECT MAX(ID) FROM dbo._TabVyroba_Objednavky_Pol), 1)
+ DBCC CHECKIDENT(_TabVyroba_Objednavky_Pol, RESEED, @id)
+
+ END
+-- end: cast delete
+
+' WHERE ID=@idTab
+
diff --git a/_sql/2UT/utRamcovyPlan.sql b/_sql/2UT/utRamcovyPlan.sql
new file mode 100644
index 0000000..f04d7d0
--- /dev/null
+++ b/_sql/2UT/utRamcovyPlan.sql
@@ -0,0 +1,153 @@
+SET NOCOUNT ON
+
+DECLARE
+ @iTemp INT,
+ @sql NVARCHAR(3000),
+ @idTab INT,
+ @sysTabName NVARCHAR(128),
+ @hvwName NVARCHAR(128),
+ @idCol INT,
+ @trigger NVARCHAR(max)
+
+
+SET @sysTabName = '_TabVyroba_RamcovyPlan'
+SET @hvwName = 'hvw_Vyroba_RamcovyPlan'
+
+
+SET @iTemp = ISNULL( (SELECT MAX(ID) FROM dbo.TabDefTabUzivTabulka), 1)
+DBCC CHECKIDENT (TabDefTabUzivTabulka, RESEED, @iTemp)
+SET @iTemp = ISNULL( (SELECT MAX(ID) FROM dbo.TabDefTabUzivAtributy), 1)
+DBCC CHECKIDENT (TabDefTabUzivAtributy, RESEED, @iTemp)
+SET @iTemp = ISNULL( (SELECT MAX(ID) FROM dbo.TabDefTabUzivConstraint), 1)
+DBCC CHECKIDENT (TabDefTabUzivConstraint, RESEED, @iTemp)
+
+
+
+-- tabulka
+SET @idTab = (SELECT ID FROM dbo.TabDefTabUzivTabulka WHERE NazevTabulky=@sysTabName)
+IF (@idTab IS NULL)
+ BEGIN
+ INSERT dbo.TabDefTabUzivTabulka (Skupina, Popis, NazevTabulky, NazevPrehledu, NastaveniAkceNovy, NastaveniAkceOprava, NastaveniAkceZrusit)
+ SELECT N'', 'Rámcový plán', @sysTabName, @hvwName, 1, 1, 1
+ SET @idTab = SCOPE_IDENTITY()
+ END
+
+
+
+
+
+
+
+-- sloupce
+IF (@idTab IS NOT NULL)
+ BEGIN
+/*
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUHeliosAttr, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrEditor, EdAtrPoradi, EdAtrHlidat, EdAtrPrenosAtr, EdAtrSkrytyPrenos, EdAtrInfoAtr1, EdAtrInfoAtr2, EdAtrPrenosDPSN, EdAtrPrenosIDFiltr, EdAtrPodminka)
+
+DTUAtrTyp
+0=INT
+1=SMALLINT
+2=TINYINT
+3=BIGINT
+4=GUID
+5=BIT
+6=NVARCHAR
+7=NTEXT
+8=VARBINARY(MAX)
+9=DATETIME
+10=NUMERIC(5,2)
+11=NUMERIC(19,6)
+12=FLOAT
+13=VARCHAR
+14=NVARCHAR(MAX)
+*/
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'IDKmenZbozi')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN, EdAtrPrenosAtr)
+ SELECT @idTab, 1, N'IDKmenZbozi', N'ID kmenové karty', 0, 0, 0, N'', 0, -- 0 = int
+ NULL, NULL, NULL, 20, N'', 0, 1, 0, 1, 1,
+ 0, 0, N'2', N'ID'
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'IDKmenZbozi')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD IDKmenZbozi INT NOT NULL'
+ EXEC sp_executesql @sql
+ END
+
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'Rok')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 2, N'Rok', N'Rok', 1, 0, 0, N'', 0,
+ NULL, NULL, NULL, 50, N'', 1, 1, 0, 1, 1,
+ 0, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'Rok')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD Rok SMALLINT NOT NULL'
+ EXEC sp_executesql @sql
+ END
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'Mesic')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 3, N'Mesic', N'Mìsíc', 2, 0, 0, N'', 0,
+ NULL, NULL, NULL, 50, N'', 1, 1, 0, 1, 1,
+ 0, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'Mesic')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD Mesic TINYINT NOT NULL'
+ EXEC sp_executesql @sql
+ END
+
+
+ SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'Mnozstvi')
+ IF (@idCol IS NULL)
+ INSERT dbo.TabDefTabUzivAtributy
+ (IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
+ DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
+ DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
+ SELECT @idTab, 4, N'Mnozstvi', N'Množství', 11, 0, 0, N'0', 0,
+ NULL, NULL, NULL, 70, N'#,##0.##', 1, 1, 1, 1, 1,
+ 0, 0, N''
+ IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'Mnozstvi')
+ BEGIN
+ SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD Mnozstvi NUMERIC(19,6) NOT NULL DEFAULT 0.0'
+ EXEC sp_executesql @sql
+ END
+
+
+ END -- @idTab IS NOT NULL
+
+
+
+
+-- indexy
+IF (@idTab IS NOT NULL)
+ IF NOT EXISTS (SELECT 1 FROM dbo.TabDefTabUzivConstraint WHERE IDDefinice=@idTab AND Typ=1 AND JmenoSys=N'PK__' + @sysTabName + N'__ID')
+ INSERT dbo.TabDefTabUzivConstraint
+ (IDDefinice, JmenoSys, Typ, MojeAtributy, CiziTabulka, CiziAtributy, IncludedAttr, VazbaNazevMoje, VazbaNazevMojeSys, VazbaNazevCizi, VazbaNazevCiziSys)
+ SELECT @idTab, N'PK__' + @sysTabName + N'__ID', 1, N'ID', N'', N'', N'', N'', N'', N'', N''
+
+IF (@idTab IS NOT NULL) AND EXISTS (SELECT 1 FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'IDKmenZbozi')
+ IF NOT EXISTS (SELECT 1 FROM dbo.TabDefTabUzivConstraint WHERE IDDefinice=@idTab AND Typ=0 AND JmenoSys=N'IX__' + @sysTabName + N'__IDKmenZbozi')
+ INSERT dbo.TabDefTabUzivConstraint
+ (IDDefinice, JmenoSys, Typ, MojeAtributy, CiziTabulka, CiziAtributy, IncludedAttr, VazbaNazevMoje, VazbaNazevMojeSys, VazbaNazevCizi, VazbaNazevCiziSys)
+ SELECT @idTab, N'IX__' + @sysTabName + N'__IDKmenZbozi', 0, N'IDKmenZbozi', N'', N'', N'', N'', N'', N'', N''
+
+
+
diff --git a/_sql/col_DokladyZbozi_EXT.sql b/_sql/col_DokladyZbozi_EXT.sql
index 7152718..40aa7c8 100644
--- a/_sql/col_DokladyZbozi_EXT.sql
+++ b/_sql/col_DokladyZbozi_EXT.sql
@@ -28,3 +28,11 @@ IF (COL_LENGTH(N'dbo.TabDokladyZbozi_EXT', N'_HDCAPI_PHident') IS NULL)
@NazevAtrVerZkr=N'', @TypAtr=N'INT', @MaskaAtr=NULL, @VerejnyAtr=N'N', @SirkaSloupceAtr=10, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'INT', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL
+
+IF (COL_LENGTH(N'dbo.TabDokladyZbozi_EXT', N'_Vyroba_ObjednavkaMat_Typ') IS NULL)
+ EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabDokladyZbozi', @NazevAtrSys=N'_Vyroba_ObjednavkaMat_Typ', @Skupina=N'Plugin Pekárna', @NazevAtrVer=N'Typ položek objednávky z výroby',
+ @NazevAtrVerZkr=N'', @TypAtr=N'SMALLINT', @MaskaAtr=NULL, @VerejnyAtr=N'A', @SirkaSloupceAtr=10, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
+ @KonverzeAtr=N'NULL=
+1=Materiál/polotovar
+2=Finál', @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
+ @TypAtrSQL=N'SMALLINT', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL
diff --git a/_sql/col_PohybyZbozi_EXT.sql b/_sql/col_PohybyZbozi_EXT.sql
index 511419c..840f9fd 100644
--- a/_sql/col_PohybyZbozi_EXT.sql
+++ b/_sql/col_PohybyZbozi_EXT.sql
@@ -16,13 +16,16 @@ IF (COL_LENGTH(N'dbo.TabPohybyZbozi_EXT', N'_Vyroba_Sarze') IS NULL)
@NazevAtrVerZkr=N'Šarže', @TypAtr=N'NVARCHAR', @MaskaAtr=NULL, @VerejnyAtr=N'N', @SirkaSloupceAtr=12, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'NVARCHAR(100)', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL
-
+IF (COL_LENGTH(N'dbo.TabPohybyZbozi_EXT', N'_Vyroba_Sarze') IS NOT NULL)
+ ALTER TABLE dbo.TabPohybyZbozi_EXT ALTER COLUMN _Vyroba_Sarze NVARCHAR(200)
IF (COL_LENGTH(N'dbo.TabPohybyZbozi_EXT', N'_Vyroba_PaletList') IS NULL)
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabPohybyZbozi', @NazevAtrSys=N'_Vyroba_PaletList', @Skupina=N'Plugin Pekárna', @NazevAtrVer=N'Paletový list',
@NazevAtrVerZkr=N'Palet. list', @TypAtr=N'NVARCHAR', @MaskaAtr=NULL, @VerejnyAtr=N'N', @SirkaSloupceAtr=16, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'NVARCHAR(30)', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL
+IF (COL_LENGTH(N'dbo.TabPohybyZbozi_EXT', N'_Vyroba_Sarze') IS NOT NULL)
+ ALTER TABLE dbo.TabPohybyZbozi_EXT ALTER COLUMN _Vyroba_Sarze NVARCHAR(50)
IF (COL_LENGTH(N'dbo.TabPohybyZbozi_EXT', N'_Mouka_Silo') IS NULL)
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabPohybyZbozi', @NazevAtrSys=N'_Mouka_Silo', @Skupina=N'Plugin Pekárna', @NazevAtrVer=N'Silo umístìní mouky',
diff --git a/_sql/ef_Vyroba_VratNovyPaletovyList.sql b/_sql/ef_Vyroba_VratNovyPaletovyList.sql
index a9bd217..010e61b 100644
--- a/_sql/ef_Vyroba_VratNovyPaletovyList.sql
+++ b/_sql/ef_Vyroba_VratNovyPaletovyList.sql
@@ -18,12 +18,14 @@ BEGIN
@radaPrijemNestd NVARCHAR(3)='270' -- vyrobky PEK
- SET @bi = 1 + ISNULL( (SELECT MAX(TRY_PARSE(VyrCislo AS BIGINT)) FROM dbo.TabVyrCisPrikaz WHERE VyrCislo LIKE N'5%'), 0)
+ SET @bi = 1 + ISNULL( (SELECT MAX(TRY_PARSE(VyrCislo AS BIGINT)) FROM dbo.TabVyrCisPrikaz
+ WHERE VyrCislo LIKE N'5[2-9]%' AND LEN(VyrCislo)=7 AND ISNUMERIC(VyrCislo)=1 AND TRY_CAST(VyrCislo AS BIGINT) IS NOT NULL ), 0)
IF (@bi = 1)
SET @bi = 5200001
SET @retVal = CONVERT(nvarchar, @bi)
- IF EXISTS(SELECT 1 FROM Information_schema.Routines WHERE Specific_schema=N'dbo' AND specific_name=N'ef_Vyroba_VratNovyPaletovyList1' AND Routine_Type=N'FUNCTION')
+-- IF EXISTS(SELECT 1 FROM Information_schema.Routines WHERE Specific_schema=N'dbo' AND specific_name=N'ef_Vyroba_VratNovyPaletovyList1' AND Routine_Type=N'FUNCTION')
+ IF EXISTS(SELECT 1 FROM sys.objects o JOIN sys.schemas s ON (s.schema_id=o.schema_id) WHERE o.name=N'ef_Vyroba_VratNovyPaletovyList1' AND s.name=N'dbo' AND o.type='FN')
SET @retVal = dbo.ef_Vyroba_VratNovyPaletovyList1 (@typ, @radaVPr, @cisloOrg, @idKmenZbozi)
diff --git a/_sql/ep_HDC_PZ_ZapisPolozek.sql b/_sql/ep_HDC_PZ_ZapisPolozek.sql
index e32f5ba..6477e10 100644
--- a/_sql/ep_HDC_PZ_ZapisPolozek.sql
+++ b/_sql/ep_HDC_PZ_ZapisPolozek.sql
@@ -62,6 +62,7 @@ IF (@typ=1) -- zapis z dbo._TabVyroba_Objednavky do dokladu výdejky
SELECT @idPHIdent=IdPHIdent, @idPHIdent2=IdPHIdent2, @idKmen=IDKmenZbozi, @sz=SkupZbo, @rc=RegCis, @mnoz=Mnozstvi, @paletList=PaletovyList, @sarze=Sarze
FROM dbo._TabVyroba_Objednavky WHERE ID=@idPol
+ SET @sarze = ISNULL(@sarze, N'')
SET @paletList = ISNULL(@paletList, N'')
IF (@idKmen IS NOT NULL)
@@ -71,16 +72,16 @@ IF (@typ=1) -- zapis z dbo._TabVyroba_Objednavky do dokladu výdejky
EXEC dbo.hp_InsertStavSkladu @IDKmen=@idKmen, @IDSklad=@sklad, @IDZboSklad=@idStav OUT
IF (@idStav IS NOT NULL)
BEGIN
- EXEC dbo.hp_InsertPolozkyOZ @Ident=@idPZ OUT, @IDDoklad=@idDokladOZDst, @DruhPohybu=@dpz, @CisloOrg=@cisOrg, @IDZboSklad=@idStav, @Mena=@dzMena, @Kurz=@dzKurz, @KurzEuro=@dzKurzE,
- @JednotkaMeny=@jednM, @SazbaSD=NULL, @SazbaDPH=NULL, @ZakazanoDPH=NULL, @VstupniCena=@vstC, @Mnozstvi=@mnoz, @PovolitDuplicitu=1
+ EXEC dbo.hp_InsertPolozkyOZ @Ident=@idPZ OUT, @IDDoklad=@idDokladOZDst, @DruhPohybu=@dpz, @CisloOrg=@cisOrg, @IDZboSklad=@idStav, @Mena=@dzMena,
+ @Kurz=@dzKurz, @KurzEuro=@dzKurzE, @JednotkaMeny=@jednM, @SazbaSD=NULL, @SazbaDPH=NULL, @ZakazanoDPH=NULL,
+ @VstupniCena=@vstC, @Mnozstvi=@mnoz, @PovolitDuplicitu=1
IF (@idPZ IS NOT NULL)
BEGIN
UPDATE dbo._TabVyroba_Objednavky SET Blokovano=1 WHERE ID=@idPol
- UPDATE dbo.TabPohybyZbozi_EXT SET _HDCAPI_PHident=@idPol WHERE ID=@idPZ
- IF (@@ROWCOUNT=0)
- INSERT dbo.TabPohybyZbozi_EXT (ID, _HDCAPI_PHident) SELECT @idPZ, @idPol
-
+ IF NOT EXISTS (SELECT 1 FROM dbo.TabPohybyZbozi_EXT WHERE ID=@idPZ)
+ INSERT dbo.TabPohybyZbozi_EXT (ID) VALUES (@idPZ)
+ UPDATE dbo.TabPohybyZbozi_EXT SET _HDCAPI_PHident=@idPHIdent2 WHERE ID=@idPZ -- jednoznacna identifikace, @idPHIdent je pro dotaz na stejnou polozku stejny, @idPHIdent2 podle sarzi
UPDATE dbo.TabPohybyZbozi_EXT SET _Vyroba_Sarze=@sarze, _Vyroba_PaletList=@paletList WHERE ID=@idPZ
/*
@@ -100,7 +101,8 @@ IF (@typ=1) -- zapis z dbo._TabVyroba_Objednavky do dokladu výdejky
END -- @idVCK
*/
- INSERT dbo._TabVyroba_Objednavky_Pol (IDHlava, IDDokladOZ, IDPohybOZ, IDVyrCP, Mnozstvi, Sarze) VALUES (@idPol, @idDokladOZDst, @idPZ, @idVCP, @mnoz, @paletList)
+ INSERT dbo._TabVyroba_Objednavky_Pol (IDHlava, IDDokladOZ, IDPohybOZ, IDVyrCP, Mnozstvi, PaletovyList, Sarze)
+ SELECT @idPol, @idDokladOZDst, @idPZ, @idVCP, @mnoz, @paletList, @sarze
END -- @idPZ
END -- @idStav
diff --git a/_sql/ep_P03_HDC1.sql b/_sql/ep_P03_HDC1.sql
index 088b69e..54243eb 100644
--- a/_sql/ep_P03_HDC1.sql
+++ b/_sql/ep_P03_HDC1.sql
@@ -115,7 +115,7 @@ IF (@rada IN (N'251', N'261', N'281')) AND (@idSklad=@sklPekarna)
INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad)
INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi)
INNER JOIN dbo.TabUmisteni u ON (u.ID=p.IDUmisteni)
- WHERE p.IDDoklad=@IDDoklad AND k.SkupZbo=N'101' AND k.Nazev1 LIKE N'%mouka%' AND p.IDUmisteni IS NOT NULL
+ WHERE p.IDDoklad=@IDDoklad AND k.SkupZbo=N'101' AND k.Nazev1 LIKE N'%mouka%' AND k.RegCis IN (N'111000', N'112000') AND p.IDUmisteni IS NOT NULL
OPEN c
WHILE (1=1)
BEGIN
@@ -153,17 +153,29 @@ IF (@rada IN (N'251', N'261', N'281')) AND (@idSklad=@sklPekarna)
-- prijemky a storna na hlavni sklad
IF (@rada IN (N'251', N'259', N'261', N'269')) AND (@idSklad=@sklMatHlavni)
BEGIN
+-- zapis moznych puvodnich VC materialu do pomocne tabulky, u polotovaru je VC cislo paletoveho listu, to se musi nechat kvuli odpisu ze stavu VC !!!
INSERT dbo._hdc_PZ_PuvodniVC (IDPohybZbozi, IDDoklad, IDZboSklad, VyrCis, IDVyrCis, Mnozstvi, Sarze, PaletovyList, IDUmisteni)
SELECT p.ID, p.IDDoklad, p.IDZboSklad, vcp.Nazev, vcp.IDVyrCis, vcp.Mnozstvi, vcp.Nazev, vcs.Nazev1, p.IDUmisteni
FROM dbo.TabPohybyZbozi p
+ INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad)
+ INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi)
INNER JOIN dbo.TabVyrCP vcp ON (vcp.IDPolozkaDokladu=p.ID)
INNER JOIN dbo.TabVyrCS vcs ON (vcs.ID=vcp.IDVyrCis)
WHERE p.IDDoklad=@IDDoklad
+-- AND k.Material=1
ORDER BY p.Poradi, vcp.ID
+
-- odstran umisteni, delalo by problem pri vydeji
UPDATE dbo.TabPohybyZbozi SET IDUmisteni=NULL WHERE IDDoklad=@IDDoklad
--- smaz vyrobni cisla, jejich evidenci vede ProHolding
- DELETE FROM dbo.TabVyrCP WHERE IDPolozkaDokladu IN (SELECT ID FROM dbo.TabPohybyZbozi WHERE IDDoklad=@IDDoklad)
+
+-- smaz vyrobni cisla/sarze materialu, jejich evidenci vede ProHolding - nesmi se mazat u vyrobenych polotovaru, u tech mame cislo paletoveho listu !!!
+-- jen materialy ???
+ DELETE FROM dbo.TabVyrCP WHERE IDPolozkaDokladu IN (SELECT p.ID FROM dbo.TabPohybyZbozi p INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad)
+ INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi) WHERE p.IDDoklad=@IDDoklad
+-- AND k.Material=1
+ )
+
+-- identity reseed tabulky pohybu VC
SET @iTemp = ISNULL( (SELECT MAX(ID) FROM dbo.TabVyrCP), 0)
DBCC CHECKIDENT (TabVyrCP, RESEED, @iTemp)
END
diff --git a/_sql/ep_V03_HDC1.sql b/_sql/ep_V03_HDC1.sql
index 5e4a659..18b2170 100644
--- a/_sql/ep_V03_HDC1.sql
+++ b/_sql/ep_V03_HDC1.sql
@@ -84,19 +84,29 @@ IF (@rada IN (N'231')) AND (@idSklad=@sklMatHlavni) AND (@idSkladPrev=@sklPekarn
CLOSE p
DEALLOCATE p
--- zapis do pomocne tabulky
+-- zapis moznych puvodnich VC materialu do pomocne tabulky, u polotovaru je VC cislo paletoveho listu, to se musi nechat kvuli odpisu ze stavu VC !!!
INSERT dbo._hdc_PZ_PuvodniVC (IDPohybZbozi, IDDoklad, IDZboSklad, VyrCis, IDVyrCis, Mnozstvi, Sarze, PaletovyList, IDUmisteni)
SELECT p.ID, p.IDDoklad, p.IDZboSklad, vcp.Nazev, vcp.IDVyrCis, vcp.Mnozstvi, vcp.Nazev, vcs.Nazev1, p.IDUmisteni
FROM dbo.TabPohybyZbozi p
+ INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad)
+ INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi)
INNER JOIN dbo.TabVyrCP vcp ON (vcp.IDPolozkaDokladu=p.ID)
INNER JOIN dbo.TabVyrCS vcs ON (vcs.ID=vcp.IDVyrCis)
WHERE p.IDDoklad=@IDDoklad
+-- AND k.Material=1
ORDER BY p.Poradi, vcp.ID
+
-- odstran umisteni, delalo by problem pri vydeji
UPDATE dbo.TabPohybyZbozi SET IDUmisteni=NULL WHERE IDDoklad=@IDDoklad
--- smaz vyrobni cisla, jejich evidenci vede ProHolding
- DELETE FROM dbo.TabVyrCP WHERE IDPolozkaDokladu IN (SELECT ID FROM dbo.TabPohybyZbozi WHERE IDDoklad=@IDDoklad)
+-- smaz vyrobni cisla/sarze materialu, jejich evidenci vede ProHolding - nesmi se mazat u vyrobenych polotovaru, u tech mame cislo paletoveho listu !!!
+-- jen materialy ???
+ DELETE FROM dbo.TabVyrCP WHERE IDPolozkaDokladu IN (SELECT p.ID FROM dbo.TabPohybyZbozi p INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad)
+ INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi) WHERE p.IDDoklad=@IDDoklad
+-- AND k.Material=1
+ )
+
+-- identity reseed tabulky pohybu VC
SET @iTemp = ISNULL( (SELECT MAX(ID) FROM dbo.TabVyrCP), 0)
DBCC CHECKIDENT (TabVyrCP, RESEED, @iTemp)
END
diff --git a/_sql/ep_Vyroba_Doklady_Micharna.sql b/_sql/ep_Vyroba_Doklady_Micharna.sql
index c7db455..7ec8815 100644
--- a/_sql/ep_Vyroba_Doklady_Micharna.sql
+++ b/_sql/ep_Vyroba_Doklady_Micharna.sql
@@ -18,6 +18,7 @@ DECLARE
@errMsg NVARCHAR(500),
@bChyba BIT,
@iChyba INT,
+ @iTemp INT,
@debugXml XML,
@gKV XML,
@kv XML,
@@ -38,7 +39,7 @@ DECLARE
DECLARE
@cOrg INT,
- @sklMat NVARCHAR(30),
+ @sklMat NVARCHAR(30)=N'311',
@sklTechnicky NVARCHAR(30),
@sklPek NVARCHAR(30),
@sklProFin NVARCHAR(30)=N'312',
@@ -46,6 +47,7 @@ DECLARE
@radaTechVydej NVARCHAR(30)=N'223',
@radaTechPrijem NVARCHAR(30)=N'',
@sklVydejMat NVARCHAR(30),
+ @sklProVydej NVARCHAR(30),
@radaDZVydejka NVARCHAR(3)=NULL,
@radaDZPrevodV NVARCHAR(3)=NULL,
@prevodka BIT=0,
@@ -124,7 +126,9 @@ DECLARE
@idVCS INT,
@idVCP INT,
@sz NVARCHAR(3),
+ @sz2 NVARCHAR(3),
@rc NVARCHAR(30),
+ @rc2 NVARCHAR(30),
@idUmist INT,
@sarze NVARCHAR(30),
@paletList NVARCHAR(30),
@@ -137,7 +141,8 @@ DECLARE
@mnozEvid NUMERIC(19,6),
@idVazVP INT,
@mnozVyssiReq NUMERIC(19,6),
- @mnozVyssiOdv NUMERIC(19,6)
+ @mnozVyssiOdv NUMERIC(19,6),
+ @mnozVyssiOdvSum NUMERIC(19,6)
DECLARE
@idStartStopOp INT,
@@ -162,6 +167,7 @@ DECLARE
DECLARE
@idKZv INT,
@idKZn INT,
+ @idKZn2 INT,
@idPrKVazbyPolot INT,
@idPrKVazbyNova INT,
@novaPriorita INT,
@@ -187,10 +193,11 @@ DECLARE
-DECLARE @TabPHObj TABLE (ID INT NOT NULL, IDPHIdent BIGINT )
+DECLARE @TabPHObj TABLE (ID INT NOT NULL, IDPHIdent BIGINT, IDSklad NVARCHAR(30) )
DECLARE @PrKVazby TABLE (ID INT NOT NULL, Sklad NVARCHAR(30), IDKmenZbozi INT, Mnozstvi NUMERIC(19,6) DEFAULT 0.0 )
DECLARE @TabPolozky TABLE (ID INT IDENTITY(1,1) NOT NULL, IDKmen INT, Sarze NVARCHAR(100), PaletList NVARCHAR(100) )
DECLARE @TabIDMzdy TABLE (ID INT NOT NULL)
+DECLARE @TabNocniPrevodky TABLE (IDSklad NVARCHAR(30), IDDoklad INT)
-- tabulky pro generovani vydejky a odvodu
@@ -338,15 +345,24 @@ DROP TABLE IF EXISTS #HDCTabDefiniceProZapisJSON
IF (@sklMat IS NULL)
SELECT @sklMat=Cislo FROM dbo.TabStrom WHERE Nazev=N'Hlavní sklad - Materiál'
+IF (@sklMat IS NULL)
+ SET @sklMat=N'311'
SET @sklProPolo = @sklMat
IF (@sklTechnicky IS NULL)
SELECT @sklTechnicky=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%neúè%' AND CisloStr LIKE N'2%'
+IF (@sklTechnicky IS NULL)
+ SET @sklTechnicky=N'261'
IF (@sklPek IS NULL)
SELECT @sklPek=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Výroba - Pekárna'
+IF (@sklPek IS NULL)
+ SET @sklPek=N'211'
IF (@sklTechnicky IS NULL) AND (@sklPek IS NOT NULL)
SET @sklTechnicky=@sklPek
IF (@sklProFin IS NULL)
SELECT @sklProFin=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Hlavní sklad - Výrobky / Zboží'
+IF (@sklProFin IS NULL)
+ SET @sklProFin = N'312'
+
IF (@radaTechVydej IS NOT NULL)
SET @radaDZVydejka = @radaTechVydej
@@ -529,12 +545,17 @@ WHILE (1=1)
IF (@sz=N'921') AND (@rc=N'001000')
SET @vodaLitry = @mnoz
- IF (@sz=N'101') AND (@nazev1 LIKE N'%mouka%')
+ IF (@sz=N'101') AND (@nazev1 LIKE N'%mouka%') and (@rc IN (N'111000',N'112000'))
BEGIN
SET @moukaKgFin = @mnoz
SET @moukaKgNorma = @mnoz2
END
+ IF EXISTS(SELECT 1 FROM dbo.TabPrKVazby WHERE IDPrikaz=@idVPr AND vyssi=@dilec AND nizsi=@idKZ AND IDOdchylkyDo IS NULL AND Priorita=0 AND Mnozstvi<>@mnoz)
+ UPDATE dbo.TabPrKVazby SET Mnozstvi=@mnoz, mnozstviSeZtratou=@mnoz
+ WHERE IDPrikaz=@idVPr AND vyssi=@dilec AND nizsi=@idKZ AND IDOdchylkyDo IS NULL AND Priorita=0
+
+
SET @idKZ = (SELECT ID FROM dbo.TabKmenZbozi WHERE SkupZbo<>N'921' AND SkupZbo=@sz AND RegCis=@rc AND (Material=1 OR Dilec=1) AND Sluzba=0)
IF (@idKZ IS NOT NULL)
BEGIN
@@ -563,7 +584,7 @@ WHILE (1=1)
SET @kv = (SELECT * FROM @PrKVazby FOR XML AUTO)
- IF (@subtypDokum='michani') OR (@subtypDokum=N'')
+ IF (@subtypDokum=N'michani') OR (@subtypDokum=N'')
BEGIN
SET @mnozEvid = ISNULL(@mnozEvid, 1)
-- UPDATE #tabOdved SET mnozstvi=CASE WHEN @NekontrolMnozOdvedFinal=0 AND mnozstvi+@mnoz>maxMnozstvi THEN maxMnozstvi ELSE mnozstvi+@mnoz END WHERE IDPrikaz=@idVPr
@@ -688,7 +709,7 @@ WHILE (1=1)
SET @gKV = (SELECT * FROM #TabPrKVazbyGen FOR XML AUTO)
-- u michani odmaz vodu
- IF (@subtypDokum='michani') OR (@subtypDokum=N'')
+ IF (@subtypDokum=N'michani') OR (@subtypDokum=N'')
BEGIN
DELETE FROM #TabPrKVazbyGen WHERE nizsi=(SELECT ID FROM dbo.TabKmenZbozi WHERE SkupZbo=N'921' AND RegCis=N'001000')
MERGE #TabPrKVazbyGen AS T USING @PrKVazby AS S ON (T.IDPrKV=T.ID) WHEN MATCHED THEN UPDATE SET T.Mnozstvi=S.Mnozstvi, T.MnozstviPoz=S.Mnozstvi;
@@ -722,7 +743,7 @@ WHILE (1=1)
FROM dbo.TabPohybyZbozi p
INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad)
INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi)
- WHERE p.IDDoklad=@idDZ AND k.Sluzba=0 AND k.SkupZbo<>'921'
+ WHERE p.IDDoklad=@idDZ AND k.Sluzba=0 AND k.SkupZbo<>N'921'
OPEN vyPol
WHILE (1=1)
BEGIN
@@ -739,9 +760,10 @@ WHILE (1=1)
UPDATE dbo.TabPohybyZbozi_EXT SET _Vyroba_Sarze=IIF(@sarze=N'', NULL, @sarze), _Vyroba_PaletList=IIF(@paletList=N'', NULL, @paletList) WHERE ID=@idPZ
-- u michani a mouky zadat i silo
- IF (@subtypDokum='michani') OR (@subtypDokum=N'')
+ IF (@subtypDokum=N'michani') OR (@subtypDokum=N'')
BEGIN
- SELECT @jsemMouka = CONVERT(bit, CASE WHEN Nazev1 LIKE N'%mouka%' AND SkupZbo=N'101' THEN 1 ELSE 0 END) FROM dbo.TabKmenZbozi WHERE ID=@idKZ
+ SELECT @jsemMouka = CONVERT(bit, CASE WHEN Nazev1 LIKE N'%mouka%' AND SkupZbo=N'101' AND RegCis IN (N'111000', N'112000') THEN 1 ELSE 0 END)
+ FROM dbo.TabKmenZbozi WHERE ID=@idKZ
IF (@jsemMouka=1)
UPDATE dbo.TabPohybyZbozi_EXT SET _Mouka_Silo=@moukaSilo WHERE ID=@idPZ
END
@@ -753,50 +775,7 @@ WHILE (1=1)
-- begin: pomocna prijemka nedostatecneho materialu (jen materialu !!!)
- SET @idDZPomocPrij=NULL
- DECLARE pomPrij CURSOR LOCAL FOR
- SELECT p.IDZboSklad, p.Mnozstvi
- FROM dbo.TabPohybyZbozi p
- INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad)
- INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi)
- WHERE p.IDDoklad=@idDZ -- doklad vydejky
- AND k.Material=1 AND k.Sluzba=0
- OPEN pomPrij
- WHILE (1=1)
- BEGIN
- FETCH NEXT FROM pomPrij INTO @idSSPomocPrij, @mnozVydej
- IF (@@FETCH_STATUS<>0) BREAK
-
--- spocitej jestli mam skladem mnozstvi na realizaci vydejky
- SET @mnozSklad = ISNULL( (SELECT Mnozstvi+MnozstviKPrijmu-MnozstviKVydeji FROM dbo.TabStavSkladu WHERE ID=@idSSPomocPrij), 0)
- IF (@mnozVydej>@mnozSklad)
- BEGIN
- SET @mnozPrij = @mnozVydej - @mnozSklad
- IF (@idDZPomocPrij IS NULL) -- uz existuje doklad pomocne prijemky na sklade 261 (technologicky) ?
- BEGIN
- EXEC dbo.hp_InsertHlavickyOZ @ident=@idDZPomocPrij OUT, @Sklad=@sklTechnicky, @DruhPohybu=0, @RadaDokladu=@radaPrijem, @CisloOrg=0
- SELECT @menaPrij=Mena, @kurzPrij=Kurz, @kurzPrijE=KurzEuro, @jednMPrij=JednotkaMeny, @vstCPrij=VstupniCena
- FROM dbo.TabDokladyZbozi WHERE ID=@idDZPomocPrij
- END
- IF (@idDZPomocPrij IS NOT NULL)
- BEGIN
- EXEC dbo.hp_InsertPolozkyOZ @Ident=@idPZPomocPrij OUT, @IDDoklad=@idDZPomocPrij, @DruhPohybu=0, @CisloOrg=0, @IDZboSklad=@idSSPomocPrij,
- @Mena=@menaPrij, @Kurz=@kurzPrij, @KurzEuro=@kurzPrijE, @JednotkaMeny=@jednMPrij, @SazbaSD=NULL, @SazbaDPH=NULL,
- @ZakazanoDPH=NULL, @VstupniCena=@vstCPrij, @Mnozstvi=@mnozPrij, @PovolitDuplicitu=1
- END
- END
- END
- CLOSE pomPrij
- DEALLOCATE pomPrij
- IF (@idDZPomocPrij IS NOT NULL) -- pokud mam pomocnou prijemku, zkus ji realizovat nez budes realizovat vydejku
- BEGIN
- BEGIN TRY
- EXEC dbo.hp_Realizuj_Prijem @ID=@idDZPomocPrij, @DatumRealizace=NULL, @Uzivatel=@idUziv, @BylaChyba=@bChyba OUT, @VypnoutUpozorneniPriZajistovani=1
- END TRY
- BEGIN CATCH
- SET @errMsg = ERROR_MESSAGE()
- END CATCH
- END
+ EXEC dbo.ep_Vyroba_Doklady_PomocPrijemka @idVydej=@idDZ
-- end: pomocna prijemka nedostatecneho materialu
@@ -919,67 +898,95 @@ WHILE (1=1)
IF (@subtypDokum=N'michani') OR (@subtypDokum=N'')
BEGIN
- DECLARE vazP CURSOR LOCAL FOR
- SELECT vp.ID, vp.IDPrikazVyssi, vp.Mnozstvi, ISNULL(vpe._MnozstviOdv, 0)
- FROM dbo.TabVazbyPrikazu vp
- LEFT JOIN dbo.TabVazbyPrikazu_EXT vpe ON (vpe.ID=vp.ID)
- WHERE vp.IDPrikaz=@idVPr
- AND (1=0) -- !!! VYPNUTO !!!
- OPEN vazP
- WHILE (1=1)
+ IF ISNULL( (SELECT COUNT(ID) FROM dbo.TabVazbyPrikazu WHERE IDPrikaz=@idVPr), 0)>1
BEGIN
- FETCH FROM vazP INTO @idVazVP, @idVPrVyssi, @mnozVyssiReq, @mnozVyssiOdv
- IF (@@FETCH_STATUS<>0) BREAK
-
- SELECT @dilecVyssi=IDTabKmen FROM dbo.TabPrikaz WHERE ID=@idVPrVyssi
- SELECT @dilec=IDTabKmen FROM dbo.TabPrikaz WHERE ID=@idVPr
--- pokud jsem testo, odved me na vyssi prikaz
- IF EXISTS (SELECT 1 FROM dbo.TabKmenZbozi WHERE SkupZbo=N'701' AND ID=@dilec)
+ SET @idVPrVyssi = NULL
+ IF ISNULL( (SELECT COUNT(*) FROM (SELECT DISTINCT(IDPrikazCil) FROM dbo.TabPrikazPrevodPolotov WHERE IDPrikazZdroj=@idVPr GROUP BY IDPrikazCil) x), 0)=1
+ SET @idVPrVyssi = (SELECT TOP(1) IDPrikazCil FROM dbo.TabPrikazPrevodPolotov WHERE IDPrikazZdroj=@idVPr)
+
+ IF (@idVPrVyssi IS NULL)
+ DECLARE vazP CURSOR LOCAL FOR
+ SELECT TOP(1) vp.ID, vp.IDPrikazVyssi, vp.Mnozstvi, ISNULL(vpe._MnozstviOdv, 0)
+ FROM dbo.TabVazbyPrikazu vp
+ LEFT JOIN dbo.TabVazbyPrikazu_EXT vpe ON (vpe.ID=vp.ID)
+ WHERE vp.IDPrikaz=@idVPr
+-- AND (1=0) -- !!! VYPNUTO !!!
+ ORDER BY vp.IDPrikazVyssi
+ ELSE
+ DECLARE vazP CURSOR LOCAL FOR
+ SELECT TOP(1) vp.ID, vp.IDPrikazVyssi, vp.Mnozstvi, ISNULL(vpe._MnozstviOdv, 0)
+ FROM dbo.TabVazbyPrikazu vp
+ LEFT JOIN dbo.TabVazbyPrikazu_EXT vpe ON (vpe.ID=vp.ID)
+ WHERE vp.IDPrikaz=@idVPr
+ AND vp.IDPrikazVyssi=@idVPrVyssi
+ OPEN vazP
+ WHILE (1=1)
BEGIN
- SELECT TOP(1) @doklKV=Doklad FROM dbo.TabPrKVazby WHERE IDOdchylkyDo IS NULL AND IDPrikaz=@IDVPrVyssi AND nizsi=@dilec AND Splneno=0
+ FETCH FROM vazP INTO @idVazVP, @idVPrVyssi, @mnozVyssiReq, @mnozVyssiOdv
+ IF (@@FETCH_STATUS<>0) BREAK
+
+ SET @mnozVyssiOdvSum = ISNULL( (SELECT SUM(mnozstvi) FROM dbo.TabPrikazPrevodPolotov WHERE IDPrikazZdroj=@idVPr AND IDPrikazCil=@idVPrVyssi), 0)
+ IF (@mnozVyssiOdvSum=0) AND EXISTS (SELECT 1 FROM dbo.TabPrikazPrevodPolotov WHERE IDPrikazZdroj=@idVPr AND IDPrikazCil<>@idVPrVyssi)
+ CONTINUE
+
+ IF NOT EXISTS (SELECT 1 FROM dbo.TabVazbyPrikazu_EXT WHERE ID=@idVazVP)
+ INSERT dbo.TabVazbyPrikazu_EXT (ID) VALUES (@idVazVP)
+ UPDATE dbo.TabVazbyPrikazu_EXT SET _MnozstviOdv=@mnozVyssiOdvSum WHERE ID=@idVazVP
+ SET @mnozVyssiReq = @mnozVyssiReq - @mnozVyssiOdvSum
+ IF (@mnozVyssiReq<=0)
+ CONTINUE
+
+ SELECT @dilecVyssi=IDTabKmen FROM dbo.TabPrikaz WHERE ID=@idVPrVyssi
+ SELECT @dilec=IDTabKmen FROM dbo.TabPrikaz WHERE ID=@idVPr
+-- pokud jsem testo, odved me na vyssi prikaz
+ IF EXISTS (SELECT 1 FROM dbo.TabKmenZbozi WHERE SkupZbo=N'701' AND ID=@dilec)
+ BEGIN
+ SELECT TOP(1) @doklKV=Doklad FROM dbo.TabPrKVazby WHERE IDOdchylkyDo IS NULL AND IDPrikaz=@IDVPrVyssi AND nizsi=@dilec AND Splneno=0
-- v pripade necelociselneho mnozstvi davky testa to na vyssim prikazu zaokrouhli vcetne vypoctu ztrat
- IF (@doklKV IS NOT NULL)
- AND EXISTS (SELECT 1 FROM dbo.TabPrKVazby WHERE IDOdchylkyDo IS NULL AND IDPrikaz=@IDVPrVyssi AND nizsi=@dilec AND Splneno=0 AND mnoz_zad<>CEILING(mnoz_zad))
- BEGIN
- SELECT TOP(1) @mnDavkaPred=mnoz_zad, @mnDavkaPo=CEILING(mnoz_zad), @mnBezZtrat=mnozstvi, @mnSeZtrat=mnozstviSeZtratou
- FROM dbo.TabPrKVazby WHERE IDOdchylkyDo IS NULL AND IDPrikaz=@IDVPrVyssi AND nizsi=@dilec AND Splneno=0 AND mnoz_zad<>CEILING(mnoz_zad)
- SET @mnSeZtrat = ROUND(@mnSeZtrat * (@mnDavkaPo/@mnDavkaPred), 6)
- UPDATE dbo.TabPrKVazby SET mnoz_zad=CEILING(mnoz_zad), mnozstviSeZtratou=@mnSeZtrat, ProcZtrat= ROUND(100*((@mnSeZtrat/@mnBezZtrat)-1), 2)
- WHERE IDOdchylkyDo IS NULL AND IDPrikaz=@IDVPrVyssi AND nizsi=@dilec AND Splneno=0 AND mnoz_zad<>CEILING(mnoz_zad)
+ IF (@doklKV IS NOT NULL)
+ AND EXISTS (SELECT 1 FROM dbo.TabPrKVazby WHERE IDOdchylkyDo IS NULL AND IDPrikaz=@IDVPrVyssi AND nizsi=@dilec AND Splneno=0 AND mnoz_zad<>CEILING(mnoz_zad))
+ BEGIN
+ SELECT TOP(1) @mnDavkaPred=mnoz_zad, @mnDavkaPo=CEILING(mnoz_zad), @mnBezZtrat=mnozstvi, @mnSeZtrat=mnozstviSeZtratou
+ FROM dbo.TabPrKVazby WHERE IDOdchylkyDo IS NULL AND IDPrikaz=@IDVPrVyssi AND nizsi=@dilec AND Splneno=0 AND mnoz_zad<>CEILING(mnoz_zad)
+ SET @mnSeZtrat = ROUND(@mnSeZtrat * (@mnDavkaPo/@mnDavkaPred), 6)
+ UPDATE dbo.TabPrKVazby SET mnoz_zad=CEILING(mnoz_zad), mnozstviSeZtratou=@mnSeZtrat, ProcZtrat= ROUND(100*((@mnSeZtrat/@mnBezZtrat)-1), 2)
+ WHERE IDOdchylkyDo IS NULL AND IDPrikaz=@IDVPrVyssi AND nizsi=@dilec AND Splneno=0 AND mnoz_zad<>CEILING(mnoz_zad)
-- uprav i vazbu prikazu testa na vyssi
- UPDATE dbo.TabVazbyPrikazu SET Mnozstvi=CEILING(Mnozstvi) WHERE ID=@idVazVP AND Mnozstvi<>CEILING(Mnozstvi)
- END
+ UPDATE dbo.TabVazbyPrikazu SET Mnozstvi=CEILING(Mnozstvi) WHERE ID=@idVazVP AND Mnozstvi<>CEILING(Mnozstvi)
+ END
-- pripoj to k evidenci operace
- IF (@idMzda IS NOT NULL)
- BEGIN
+ IF (@idMzda IS NOT NULL)
+ BEGIN
+ DELETE FROM #TabOdved_IDMzdy
+ INSERT #TabOdved_IDMzdy (IDPrikaz, IDMzdy) SELECT @idVPr, @idMzda
+ END
+
+ EXEC @idPZ=dbo.hp_OdvedeniPrikazuPrevodem @DatPripadu=@aktDatum, @KonecneOdvedeniNatvrdo=0, @IDPrikazZdroj=@idVPr, @IDPrikazCil=@IDVPrVyssi,
+ @Doklad=@doklKV, @IDDilec=@dilec, @mnozstvi=1, @IDOdvedeniVC=0, @IDZakazModif=@idZakazModif
+ IF (@idPZ>0)
+ BEGIN
+ IF NOT EXISTS (SELECT 1 FROM dbo.TabVazbyPrikazu_EXT WHERE ID=@idVazVP)
+ INSERT dbo.TabVazbyPrikazu_EXT (ID) VALUES (@idVazVP)
+ UPDATE dbo.TabVazbyPrikazu_EXT SET _MnozstviOdv = 1 + ISNULL(_MnozstviOdv,0) WHERE ID=@idVazVP
+ END
DELETE FROM #TabOdved_IDMzdy
- INSERT #TabOdved_IDMzdy (IDPrikaz, IDMzdy) SELECT @idVPr, @idMzda
- END
-/*
- EXEC @idPZ=dbo.hp_OdvedeniPrikazuPrevodem @DatPripadu=@aktDatum, @KonecneOdvedeniNatvrdo=0, @IDPrikazZdroj=@idVPr, @IDPrikazCil=@IDVPrVyssi,
- @Doklad=@doklKV, @IDDilec=@dilec, @mnozstvi=1, @IDOdvedeniVC=0, @IDZakazModif=@idZakazModif
- IF (@idPZ>0)
- BEGIN
- IF NOT EXISTS (SELECT 1 FROM dbo.TabVazbyPrikazu_EXT WHERE ID=@idVazVP)
- INSERT dbo.TabVazbyPrikazu_EXT (ID) VALUES (@idVazVP)
- UPDATE dbo.TabVazbyPrikazu_EXT SET _MnozstviOdv = 1 + ISNULL(_MnozstviOdv,0) WHERE ID=@idVazVP
- END
- DELETE FROM #TabOdved_IDMzdy
-*/
- END -- jsem SZ 701
+
+ END -- jsem SZ 701
+ END
+ CLOSE vazP
+ DEALLOCATE vazP
END
- CLOSE vazP
- DEALLOCATE vazP
-
- IF 1=ISNULL( (SELECT COUNT(ID) FROM dbo.TabVazbyPrikazu WHERE IDPrikaz=@idVPr), 0)
+ IF ISNULL( (SELECT COUNT(ID) FROM dbo.TabVazbyPrikazu WHERE IDPrikaz=@idVPr), 0)=1
BEGIN
SELECT @idVazVP=ID, @idVPrVyssi=IDPrikazVyssi FROM dbo.TabVazbyPrikazu WHERE IDPrikaz=@idVPr
+ SET @mnozVyssiOdvSum = ISNULL( (SELECT SUM(mnozstvi) FROM dbo.TabPrikazPrevodPolotov WHERE IDPrikazZdroj=@idVPr AND IDPrikazCil=@idVPrVyssi), 0)
+
SELECT @dilecVyssi=IDTabKmen FROM dbo.TabPrikaz WHERE ID=@idVPrVyssi
SELECT @dilec=IDTabKmen FROM dbo.TabPrikaz WHERE ID=@idVPr
-- pokud jsem testo, odved me na vyssi prikaz
@@ -1033,8 +1040,8 @@ WHILE (1=1)
IF (@subtypDokum IN (N'maceni', N'baleni')) AND (@jeOdvOperace=1) AND (@idMzda IS NOT NULL)
BEGIN
- SELECT @nazevDilce=k.Nazev1 FROM dbo.TabPrikazMzdyAZmetky pmz INNER JOIN dbo.TabKmenZbozi k ON (k.ID=pmz.IDTabKmen) WHERE pmz.ID=@idMzda
- IF (@nazevDilce LIKE N'%polotovar%')
+ SELECT @nazevDilce=k.Nazev1, @dilec=k.ID FROM dbo.TabPrikazMzdyAZmetky pmz INNER JOIN dbo.TabKmenZbozi k ON (k.ID=pmz.IDTabKmen) WHERE pmz.ID=@idMzda
+ IF (@nazevDilce LIKE N'%polotovar%') OR EXISTS (SELECT 1 FROM dbo.TabParKmZ WHERE IDKmenZbozi=@dilec AND TypDilce=1)
EXEC dbo.ep_Vyroba_GenOdvodZeMzdy @IDMzdy=@idMzda, @bezVyrCis=0, @radaOdvod=N'283', @skladOdvod=@sklProPolo, @realizujPrijem=1, @errMsg=@errMsg OUT
ELSE
EXEC dbo.ep_Vyroba_GenOdvodZeMzdy @IDMzdy=@idMzda, @bezVyrCis=0, @radaOdvod=N'273', @skladOdvod=@sklProFin, @realizujPrijem=1, @errMsg=@errMsg OUT
@@ -1202,7 +1209,9 @@ WHILE (1=1)
INSERT dbo._TabVyroba_Objednavky (IDPrijataDataJson, IdPHIdent, IdPHIdent2, SkupZbo, RegCis, PaletovyList, Sarze, Mnozstvi, DatPorizeni)
SELECT @idJson, @idPHIdent, @idPHIdent2, @sz, @rc, @paletList, @sarze, @mnoz, @datPorizeni
SET @idPHObj = SCOPE_IDENTITY()
- INSERT @TabPHObj (ID, IDPHIdent) VALUES (@idPHObj, @idPHIdent)
+ INSERT @TabPHObj (ID, IDPHIdent, IDSklad)
+ SELECT @idPHObj, @idPHIdent, CASE WHEN k.Material=1 THEN @sklMat ELSE CASE WHEN ISNULL(p.TypDilce,0)=1 THEN @sklProPolo ELSE @sklProFin END END
+ FROM dbo.TabKmenZbozi k LEFT JOIN dbo.TabParKmZ p ON (p.IDKmenZbozi=k.ID) WHERE k.SkupZbo=@sz AND k.RegCis=@rc
IF (@typDokum='micharna') AND (@subtypDokum='nocni')
UPDATE dbo._TabVyroba_Objednavky SET NocniObjednavka=1 WHERE ID=@idPHObj
END
@@ -1217,20 +1226,23 @@ WHILE (1=1)
SET @dpz = 4
DECLARE p CURSOR LOCAL FOR
- SELECT ID, IDPHIdent FROM @TabPHObj
+ SELECT ID, IDPHIdent, IDSklad FROM @TabPHObj
OPEN p
WHILE (1=1)
BEGIN
- FETCH NEXT FROM p INTO @idPHObj, @idPHIdent
+ FETCH NEXT FROM p INTO @idPHObj, @idPHIdent, @sklProVydej
IF (@@FETCH_STATUS<>0) BREAK
+ SET @idDZ = (SELECT IDDoklad FROM @TabNocniPrevodky WHERE IDSklad=@sklProVydej)
IF (@idDZ IS NULL)
BEGIN
- EXEC dbo.hp_InsertHlavickyOZ @ident=@idDZ OUT, @Sklad=@sklMat, @DruhPohybu=@dpz, @RadaDokladu=@radaDZPrevodV, @CisloOrg=0
+ EXEC dbo.hp_InsertHlavickyOZ @ident=@idDZ OUT, @Sklad=@sklProVydej, @DruhPohybu=@dpz, @RadaDokladu=@radaDZPrevodV, @CisloOrg=0
UPDATE dbo.TabDokladyZbozi SET DruhPohybuPrevod=0, TypPrevodky=N'281', IdSkladPrevodu=@sklPek, PrevodRealizovat=1 WHERE ID=@idDZ
SELECT @menaDZ=Mena, @kurzDZ=Kurz, @kurzEDZ=KurzEuro, @jednM=JednotkaMeny, @vstC=VstupniCena, @parZnak=ParovaciZnak FROM dbo.TabDokladyZbozi WHERE ID=@idDZ
- UPDATE dbo.TabDokladyZbozi SET BlokovaniEditoru=0, Poznamka=N'Noèní výdej' WHERE ID=@idDZ
- UPDATE dbo._TabVyroba_Objednavky SET IDDokladOZ=@idDZ WHERE ID=@idPHObj
+ UPDATE dbo.TabDokladyZbozi SET BlokovaniEditoru=NULL, Poznamka=N'Noèní výdej' WHERE ID=@idDZ
+-- UPDATE dbo._TabVyroba_Objednavky SET IDDokladOZ=@idDZ WHERE ID=@idPHObj
+ IF NOT EXISTS (SELECT 1 FROM @TabNocniPrevodky WHERE IDSKlad=@sklProVydej)
+ INSERT @TabNocniPrevodky (IDSklad, IDDoklad) SELECT @sklProVydej, @idDZ
END
IF (@idDZ IS NOT NULL)
@@ -1240,9 +1252,9 @@ WHILE (1=1)
SET @idKZ = (SELECT ID FROM dbo.TabKmenZbozi WHERE SkupZbo=@sz AND RegCis=@rc)
IF (@idKZ IS NOT NULL)
BEGIN
- SET @idSS = (SELECT ID FROM dbo.TabStavSkladu WHERE IDKmenZbozi=@idKZ AND IDSklad=@sklMat)
+ SET @idSS = (SELECT ID FROM dbo.TabStavSkladu WHERE IDKmenZbozi=@idKZ AND IDSklad=@sklProVydej)
IF (@idSS IS NULL)
- EXEC dbo.hp_InsertStavSkladu @IDKmen=@idKZ, @IDSklad=@sklMat, @IDZboSklad=@idSS OUT
+ EXEC dbo.hp_InsertStavSkladu @IDKmen=@idKZ, @IDSklad=@sklProVydej, @IDZboSklad=@idSS OUT
IF (@idSS IS NOT NULL)
BEGIN
EXEC dbo.hp_InsertPolozkyOZ @ident=@idPZ OUT, @IDDoklad=@idDZ, @DruhPohybu=@dpz, @CisloOrg=0, @IDZboSklad=@idSS, @Mena=@menaDZ, @Kurz=@kurzDZ,
@@ -1261,7 +1273,7 @@ WHILE (1=1)
END
SET @idVCP = NULL
- IF (@paletList<>N'')
+ IF (@paletList<>N'') -- Helios VyrCis
BEGIN
SET @idVCK = (SELECT ID FROM dbo.TabVyrCK WHERE IDKmenZbozi=@idKZ AND Nazev1=@paletList)
IF (@idVCK IS NULL)
@@ -1286,51 +1298,73 @@ WHILE (1=1)
CLOSE p
DEALLOCATE p
- IF (@idDZ IS NOT NULL)
+ DECLARE dok CURSOR LOCAL FOR
+ SELECT IDDoklad FROM @TabNocniPrevodky
+ OPEN dok
+ WHILE (1=1)
BEGIN
- UPDATE dbo.TabDokladyZbozi SET BlokovaniEditoru=NULL WHERE ID=@idDZ
- SET @logTyp=3
- SET @logInt=@idDZ
- SET @logStr = @parZnak
- SET @log4Mail = 1
- SET @logText = N'Nelze realizovat výdejka noèní pøevodky'
+ FETCH NEXT FROM dok INTO @idDZ
+ IF (@@FETCH_STATUS<>0) BREAK
- SET @aktDatum = GETDATE()
- EXEC dbo.hp_Realizuj_Vydej @ID=@idDZ, @DatumRealizace=@aktDatum, @Uzivatel=0, @Hlidat=0, @BylaChyba=@bChyba OUT
- IF (@bChyba=0)
+ IF (@idDZ IS NOT NULL)
BEGIN
--- je vygenerovana prijemka na druhe strane ? pokud ne, vygeneruj ji
- IF NOT EXISTS (SELECT 1 FROM dbo.TabPohybyZbozi WHERE IDOldPolozka IN (SELECT ID FROM dbo.TabPohybyZbozi WHERE IDDoklad=@idDZ))
- BEGIN
- SET @aktDatum = GETDATE()
- EXEC dbo.hp_InsertHlavickyOZ @ident=@idDZDst OUT, @Sklad=@sklPek, @DruhPohybu=0, @RadaDokladu='281',
- @Mena=@menaDZ, @CisloOrg=0, @DatumPorizeni=@aktDatum
- IF (@idDZDst IS NOT NULL)
- BEGIN
- IF NOT EXISTS(SELECT 1 FROM dbo.TabDokladyZbozi_EXT WHERE ID=@idDZDst)
- INSERT dbo.TabDokladyZbozi_EXT (ID) VALUES (@idDZDst)
- UPDATE dbo.TabDokladyZbozi_EXT SET _Vyroba_IDPuvodniDoklad=@idDZ WHERE ID=@idDZDst
- SELECT @datReal=DatRealizace FROM dbo.TabDokladyZbozi WHERE ID=@idDZ
- EXEC dbo.hp_generuj_navazny_doklad @IDDokladDst=@idDZDst, @IDDokladSrc=@idDZ, @CisloOrgCil=0, @MUCil=NULL, @MenaCil=@menaDZ,
- @KurzCil=NULL, @JednotkaMenyCil=NULL, @KurzEuroCil=NULL, @CisloZakCil=NULL, @NOkruhCil=NULL,
- @StredNakladCil=NULL, @StredVynosCil=NULL, @FormaDopravyCil=NULL, @VozidloCil=NULL, @ObjednavkaCil=NULL,
- @PopisDodavkyCil=NULL, @NavaznyDobropisCil=NULL, @ZamestnanecCil=NULL, @DodFakCil=NULL, @Nasobek=1,
- @SlevaCil=NULL, @VytvaretDokladovouVazbu=1, @VytvaretPolozkovouVazbu=1, @ChybaSkladana=@errMsg OUT,
- @KopirovaniDokladu=1
- IF EXISTS(SELECT 1 FROM dbo.TabPohybyZbozi WHERE IDDoklad=@idDZDst)
- AND EXISTS (SELECT 1 FROM dbo.TabDokladyZbozi WHERE Realizovano=1 AND ID=@idDZ)
- EXEC dbo.hp_Realizuj_Prijem @ID=@idDZDst, @DatumRealizace=@datReal, @Uzivatel=0, @BylaChyba=@bChyba OUT, @RealMnoz=1, @RealFin=1, @VypnoutUpozorneniPriZajistovani=1
- END
- END
+ UPDATE dbo.TabDokladyZbozi SET BlokovaniEditoru=NULL WHERE ID=@idDZ
+ SET @logTyp=3
+ SET @logInt=@idDZ
+ SET @logStr = @parZnak
+ SET @log4Mail = 1
+ SET @logText = N'Nelze realizovat výdejka noèní pøevodky'
- SET @logTyp=0
- SET @logInt=0
- SET @logStr = N''
- SET @log4Mail = 0
- SET @logText = N''
- END
+ SET @aktDatum = GETDATE()
+
+-- odchytni chybu pri realizaci, chceme aby tam doklad zustal a vyresili to rucne
+ BEGIN TRY
+ EXEC dbo.hp_Realizuj_Vydej @ID=@idDZ, @DatumRealizace=@aktDatum, @Uzivatel=0, @Hlidat=0, @BylaChyba=@bChyba OUT
+ END TRY
+ BEGIN CATCH
+ SET @bChyba=1 -- chyba, vetsinou kvuli nedostatku na skladu
+ UPDATE dbo.TabDokladyZbozi SET BlokovaniEditoru=NULL WHERE ID=@idDZ -- zrus priznak, ktery se nastavuje pri pokusu o realizaci
+ END CATCH
+
+ IF (@bChyba=0)
+ BEGIN
+-- je vygenerovana prijemka na druhe strane ? pokud ne, vygeneruj ji
+ IF NOT EXISTS (SELECT 1 FROM dbo.TabPohybyZbozi WHERE IDOldPolozka IN (SELECT ID FROM dbo.TabPohybyZbozi WHERE IDDoklad=@idDZ))
+ BEGIN
+ SET @aktDatum = GETDATE()
+ EXEC dbo.hp_InsertHlavickyOZ @ident=@idDZDst OUT, @Sklad=@sklPek, @DruhPohybu=0, @RadaDokladu='281',
+ @Mena=@menaDZ, @CisloOrg=0, @DatumPorizeni=@aktDatum
+ IF (@idDZDst IS NOT NULL)
+ BEGIN
+ IF NOT EXISTS(SELECT 1 FROM dbo.TabDokladyZbozi_EXT WHERE ID=@idDZDst)
+ INSERT dbo.TabDokladyZbozi_EXT (ID) VALUES (@idDZDst)
+ UPDATE dbo.TabDokladyZbozi_EXT SET _Vyroba_IDPuvodniDoklad=@idDZ WHERE ID=@idDZDst
+ SELECT @datReal=DatRealizace FROM dbo.TabDokladyZbozi WHERE ID=@idDZ
+ EXEC dbo.hp_generuj_navazny_doklad @IDDokladDst=@idDZDst, @IDDokladSrc=@idDZ, @CisloOrgCil=0, @MUCil=NULL, @MenaCil=@menaDZ,
+ @KurzCil=NULL, @JednotkaMenyCil=NULL, @KurzEuroCil=NULL, @CisloZakCil=NULL, @NOkruhCil=NULL,
+ @StredNakladCil=NULL, @StredVynosCil=NULL, @FormaDopravyCil=NULL, @VozidloCil=NULL, @ObjednavkaCil=NULL,
+ @PopisDodavkyCil=NULL, @NavaznyDobropisCil=NULL, @ZamestnanecCil=NULL, @DodFakCil=NULL, @Nasobek=1,
+ @SlevaCil=NULL, @VytvaretDokladovouVazbu=1, @VytvaretPolozkovouVazbu=1, @ChybaSkladana=@errMsg OUT,
+ @KopirovaniDokladu=1
+ IF EXISTS(SELECT 1 FROM dbo.TabPohybyZbozi WHERE IDDoklad=@idDZDst)
+ AND EXISTS (SELECT 1 FROM dbo.TabDokladyZbozi WHERE Realizovano=1 AND ID=@idDZ)
+ EXEC dbo.hp_Realizuj_Prijem @ID=@idDZDst, @DatumRealizace=@datReal, @Uzivatel=0, @BylaChyba=@bChyba OUT, @RealMnoz=1, @RealFin=1, @VypnoutUpozorneniPriZajistovani=1
+ END
+ END
+
+ SET @logTyp=0
+ SET @logInt=0
+ SET @logStr = N''
+ SET @log4Mail = 0
+ SET @logText = N''
+ END -- @bChyba=0
+ END -- @idDZ IS NOT NULL
+
+
END
- END -- @subtypDokum='nocni'
+ CLOSE dok
+ DEALLOCATE dok
+ END -- @typDokum='micharna' AND @subtypDokum='nocni'
UPDATE dbo._hdc_ph_PrijataJsonData SET DatZpracovani=GETDATE(), Blokovano=0, IDDoklad=@idDZ WHERE ID=@idJson
@@ -1464,17 +1498,22 @@ WHILE (1=1)
-- BEGIN: ZAHAJENI OPERACE
IF (@akce=N'prikaz_zamena_material')
BEGIN
- SELECT @idVPr=u2.Id, @sz=u3.skupzbo, @rc=u3.regcis
+ SELECT @idVPr=u2.Id, @sz=u3.skupzbo, @rc=u3.regcis, @sz2=u4.skupzbo, @rc2=u4.regcis
FROM #TabJSONData d
CROSS APPLY OPENJSON (d.doc, '$')
WITH ([prikaz] NVARCHAR(MAX) AS JSON, [material] NVARCHAR(max) AS JSON) AS u
CROSS APPLY OPENJSON (prikaz)
WITH (id INT) AS u2
CROSS APPLY OPENJSON (material)
- WITH (skupzbo NVARCHAR(3), regcis NVARCHAR(30), nazev NVARCHAR(100)) AS u3;
+ WITH (skupzbo NVARCHAR(3), regcis NVARCHAR(30), nazev NVARCHAR(100)) AS u3
+ CROSS APPLY OPENJSON (removeMaterial)
+ WITH (skupzbo NVARCHAR(3), regcis NVARCHAR(30), nazev NVARCHAR(100)) AS u4;
+
+ SET @idKZn = (SELECT ID FROM dbo.TabKmenZbozi WHERE SkupZbo=@sz AND RegCis=@rc)
+ SET @idKZn2 = (SELECT ID FROM dbo.TabKmenZbozi WHERE SkupZbo=@sz2 AND RegCis=@rc2)
+
IF EXISTS (SELECT 1 FROM dbo.TabPrikaz WHERE ID=@idVPr AND StavPrikazu=30)
BEGIN
- SET @idKZn = (SELECT ID FROM dbo.TabKmenZbozi WHERE SkupZbo=@sz AND RegCis=@rc)
SELECT @idKZv = (SELECT IDTabKmen FROM dbo.TabPrikaz WHERE ID=@idVPr)
IF (@idVPr IS NOT NULL) AND (@idKZn IS NOT NULL) AND (@idKZn<>@idKZv)
BEGIN
@@ -1501,6 +1540,7 @@ WHILE (1=1)
END -- (@idPrKVazbyNova IS NOT NULL)
END -- (@idVPr IS NOT NULL) AND (@idKZn IS NOT NULL)
END -- prikaz ve stavu 30
+
END -- akce:
-- END: ZAHAJENI OPERACE
@@ -1513,6 +1553,40 @@ WHILE (1=1)
ROLLBACK TRAN
SET @errMsg = ERROR_PROCEDURE() + N'/r.' + CONVERT(nvarchar, ERROR_LINE()) + N' >> ' + ERROR_MESSAGE()
+
+-- begin: pouzavirej mozne cursory
+ IF (CURSOR_STATUS('local','dok')>=-1)
+ BEGIN
+ CLOSE dok
+ DEALLOCATE dok
+ END
+
+ IF (CURSOR_STATUS('local','vy')>=-1)
+ BEGIN
+ CLOSE vy
+ DEALLOCATE vy
+ END
+
+ IF (CURSOR_STATUS('local','vyPol')>=-1)
+ BEGIN
+ CLOSE vyPol
+ DEALLOCATE vyPol
+ END
+
+ IF (CURSOR_STATUS('local','p')>=-1)
+ BEGIN
+ CLOSE p
+ DEALLOCATE p
+ END
+
+ IF (CURSOR_STATUS('local','vazP')>=-1)
+ BEGIN
+ CLOSE vazP
+ DEALLOCATE vazP
+ END
+-- end: pouzavirej mozne cursory
+
+
UPDATE dbo._hdc_ph_PrijataJsonData SET PosledniChyba=@errMsg WHERE ID=@idJson
IF (@logTyp>0)
@@ -1547,5 +1621,3 @@ DROP TABLE IF EXISTS #TabPrKVazbyGenVC
-- pro jistotu
IF OBJECT_ID(N'tempdb..#TabJSONData', N'U') IS NOT NULL
DROP TABLE #TabJSONData
-
-
diff --git a/_sql/ep_Vyroba_Doklady_PomocPrijemka.sql b/_sql/ep_Vyroba_Doklady_PomocPrijemka.sql
new file mode 100644
index 0000000..ff455dd
--- /dev/null
+++ b/_sql/ep_Vyroba_Doklady_PomocPrijemka.sql
@@ -0,0 +1,128 @@
+-- dbo.ep_Vyroba_Doklady_PomocPrijemka
+CREATE PROCEDURE dbo.ep_Vyroba_Doklady_PomocPrijemka
+ @idVydej INT=NULL
+AS
+
+-- !! proceduru neupravujte, bude stejne pregenerovana pri startu pluginu PluginHDCRTN !!
+
+
+SET NOCOUNT ON
+
+
+DECLARE
+ @tranPred INT,
+ @cnt INT,
+ @errMsg NVARCHAR(500),
+ @bChyba BIT,
+ @iChyba INT,
+ @debugXml XML,
+ @gKV XML,
+ @kv XML,
+ @odv XML,
+ @aktDatum DATETIME=GETDATE(),
+ @logTyp TINYINT,
+ @logText NVARCHAR(500),
+ @logInt INT,
+ @logStr NVARCHAR(255),
+ @log4Mail BIT=0
+
+DECLARE
+ @jsonString NVARCHAR(MAX),
+ @jsonString2 NVARCHAR(MAX),
+ @typDokum NVARCHAR(50),
+ @subtypDokum NVARCHAR(50),
+ @akce NVARCHAR(50)
+
+DECLARE
+ @cOrg INT,
+ @sklTechnicky NVARCHAR(30),
+ @idKZ INT,
+ @idSS INT
+
+DECLARE
+ @retVal INT,
+ @RespekExistDoklady BIT=0,
+ @NekontrolMnozOdvedFinal BIT,
+ @idUziv INT
+
+DECLARE
+ @idDZPomocPrij INT,
+ @radaPrijem NVARCHAR(3)='292',
+ @menaPrij NVARCHAR(3),
+ @kurzPrij NUMERIC(19,6),
+ @kurzPrijE NUMERIC(19,6),
+ @vstCPrij TINYINT,
+ @jednMPrij INT,
+ @idPZPomocPrij INT,
+ @idSSPomocPrij INT,
+ @mnozSklad NUMERIC(19,6),
+ @mnozVydej NUMERIC(19,6),
+ @mnozPrij NUMERIC(19,6)
+
+
+
+
+IF OBJECT_ID(N'dbo.TabUserCfg', N'U') IS NOT NULL
+ SET @idUziv = (SELECT ID FROM dbo.TabUserCfg WHERE LoginName=SUSER_SNAME())
+SET @idUziv = ISNULL(@idUziv, 0)
+
+
+IF (@sklTechnicky IS NULL)
+ SET @sklTechnicky=(SELECT TOP(1) Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%neúè%' AND CisloStr LIKE N'2%')
+IF (@sklTechnicky IS NULL)
+ SET @sklTechnicky=N'261'
+
+
+-- begin: pomocna prijemka nedostatecneho materialu (jen materialu !!!)
+ SET @idDZPomocPrij=NULL
+ DECLARE pomPrij CURSOR LOCAL FOR
+ SELECT p.IDZboSklad, p.Mnozstvi
+ FROM dbo.TabPohybyZbozi p
+ INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad)
+ INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi)
+ WHERE p.IDDoklad=@idVydej -- doklad vydejky
+-- AND k.Material=1
+ AND k.Sluzba=0
+ OPEN pomPrij
+ WHILE (1=1)
+ BEGIN
+ FETCH NEXT FROM pomPrij INTO @idSS, @mnozVydej
+ IF (@@FETCH_STATUS<>0) BREAK
+
+ SELECT @idKZ=IDKmenZbozi FROM dbo.TabStavSkladu WHERE ID=@idSS
+ SET @idSSPomocPrij=(SELECT ID FROM dbo.TabStavSkladu WHERE IDKmenZbozi=@idKZ AND IDSklad=@sklTechnicky)
+ IF (@idSSPomocPrij IS NULL)
+ EXEC dbo.hp_InsertStavSkladu @IDKmen=@idKZ, @IDSklad=@sklTechnicky, @IDZboSklad=@idSSPomocPrij OUT
+
+ -- spocitej jestli mam skladem mnozstvi na realizaci vydejky
+-- SET @mnozSklad = ISNULL( (SELECT Mnozstvi+MnozstviKPrijmu-MnozstviKVydeji FROM dbo.TabStavSkladu WHERE ID=@idSSPomocPrij), 0)
+ SET @mnozSklad = ISNULL( (SELECT Mnozstvi FROM dbo.TabStavSkladu WHERE ID=@idSSPomocPrij), 0)
+ IF (@mnozVydej>@mnozSklad)
+ BEGIN
+ SET @mnozPrij = @mnozVydej - @mnozSklad
+ IF (@idDZPomocPrij IS NULL) -- uz existuje doklad pomocne prijemky na sklade 261 (technologicky) ?
+ BEGIN
+ EXEC dbo.hp_InsertHlavickyOZ @ident=@idDZPomocPrij OUT, @Sklad=@sklTechnicky, @DruhPohybu=0, @RadaDokladu=@radaPrijem, @CisloOrg=0
+ SELECT @menaPrij=Mena, @kurzPrij=Kurz, @kurzPrijE=KurzEuro, @jednMPrij=JednotkaMeny, @vstCPrij=VstupniCena
+ FROM dbo.TabDokladyZbozi WHERE ID=@idDZPomocPrij
+ END
+ IF (@idDZPomocPrij IS NOT NULL)
+ BEGIN
+ EXEC dbo.hp_InsertPolozkyOZ @Ident=@idPZPomocPrij OUT, @IDDoklad=@idDZPomocPrij, @DruhPohybu=0, @CisloOrg=0, @IDZboSklad=@idSSPomocPrij,
+ @Mena=@menaPrij, @Kurz=@kurzPrij, @KurzEuro=@kurzPrijE, @JednotkaMeny=@jednMPrij, @SazbaSD=NULL, @SazbaDPH=NULL,
+ @ZakazanoDPH=NULL, @VstupniCena=@vstCPrij, @Mnozstvi=@mnozPrij, @PovolitDuplicitu=1
+ END
+ END
+ END
+ CLOSE pomPrij
+ DEALLOCATE pomPrij
+ IF (@idDZPomocPrij IS NOT NULL) -- pokud mam pomocnou prijemku, zkus ji realizovat nez budes realizovat vydejku
+ BEGIN
+ BEGIN TRY
+ EXEC dbo.hp_Realizuj_Prijem @ID=@idDZPomocPrij, @DatumRealizace=NULL, @Uzivatel=@idUziv, @BylaChyba=@bChyba OUT, @VypnoutUpozorneniPriZajistovani=1
+ END TRY
+ BEGIN CATCH
+ SET @errMsg = ERROR_MESSAGE()
+ END CATCH
+ END
+-- end: pomocna prijemka nedostatecneho materialu
diff --git a/_sql/ep_Vyroba_GenSouhrnnyVydej.sql b/_sql/ep_Vyroba_GenSouhrnnyVydej.sql
index 0fb0313..62bf87f 100644
--- a/_sql/ep_Vyroba_GenSouhrnnyVydej.sql
+++ b/_sql/ep_Vyroba_GenSouhrnnyVydej.sql
@@ -45,8 +45,8 @@ DECLARE
@dzKurz NUMERIC(19,6),
@dzKurzE NUMERIC(19,6)
-DECLARE @vydeje TABLE (SkupZbo NVARCHAR(3) NOT NULL, RegCis NVARCHAR(30) NOT NULL, IDKmenZbozi INT, IDPohybZbozi INT, IDPrikaz INT, Mnozstvi NUMERIC(19,6) NOT NULL DEFAULT 0.0,
- PRIMARY KEY (SkupZbo,RegCis) )
+DECLARE @vydeje TABLE (SkupZbo NVARCHAR(3) NOT NULL, RegCis NVARCHAR(30) NOT NULL, IDKmenZbozi INT, IDPohybZbozi INT, IDVyrCS INT, IDPrikaz INT,
+ Mnozstvi NUMERIC(19,6) NOT NULL DEFAULT 0.0, PRIMARY KEY (SkupZbo,RegCis) )
@@ -86,12 +86,14 @@ IF (@radaVydej IS NULL)
-INSERT @vydeje (SkupZbo, RegCis, IDKmenZbozi, IDPohybZbozi, IDPrikaz, Mnozstvi)
- SELECT p.SkupZbo, p.RegCis, k.ID, p.ID, ISNULL(p.IDPrikaz, d.IDPrikaz), p.MnozstviDruhove
+INSERT @vydeje (SkupZbo, RegCis, IDKmenZbozi, IDPohybZbozi, IDPrikaz, IDVyrCS, Mnozstvi)
+ SELECT p.SkupZbo, p.RegCis, k.ID, p.ID, ISNULL(p.IDPrikaz, d.IDPrikaz),
+ vcp.IDVyrCis, ISNULL(vcp.Mnozstvi * CASE WHEN p.MnozstviDruhove>=0 THEN 1.0 ELSE -1.0 END, p.MnozstviDruhove)
FROM dbo.TabPohybyZbozi p
INNER JOIN dbo.TabDokladyZbozi d ON (d.ID=p.IDDoklad)
INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad)
INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi)
+ LEFT JOIN dbo.TabVyrCP vcp ON (vcp.IDPolozkaDokladu=p.ID)
WHERE d.DatPorizeni BETWEEN @datumOd AND @datumDo
AND d.RadaDokladu IN (@radaVydej, N'229', N'292') -- standardne by melo byt: 223 vydej spotreba PEK, 229 Storno vydej spotreba, 292 Prijem vyrovnani do normy
AND d.DruhPohybuZbo IN (0,1,3,4)
@@ -115,6 +117,9 @@ IF (@tranPred=0)
BEGIN TRAN
+
+SET @idDZ = NULL
+
IF EXISTS (SELECT 1 FROM @vydeje WHERE Mnozstvi<>0 AND IDKmenZbozi IS NOT NULL)
BEGIN
EXEC dbo.hp_InsertHlavickyOZ @ident=@idDZ OUT, @Sklad=@idSklad, @DruhPohybuZbo=@dpz, @RadaDokladu=@radaVydej, @CisloOrg=@cOrg, @DatumPorizeni=@datumDo
@@ -126,6 +131,7 @@ IF EXISTS (SELECT 1 FROM @vydeje WHERE Mnozstvi<>0 AND IDKmenZbozi IS NOT NULL)
SELECT DISTINCT(IDKmenZbozi), SUM(Mnozstvi)
FROM @vydeje
WHERE IDKmenZbozi IS NOT NULL
+ AND IDPohybZbozi IS NOT NULL
GROUP BY IDKmenZbozi
OPEN p
WHILE (1=1)
diff --git a/_sql/tbl__TabVyrobaObjednavky.sql b/_sql/tbl__TabVyrobaObjednavky.sql
index 533886d..d13c5f8 100644
--- a/_sql/tbl__TabVyrobaObjednavky.sql
+++ b/_sql/tbl__TabVyrobaObjednavky.sql
@@ -5,19 +5,22 @@ IF OBJECT_ID(N'dbo._TabVyroba_Objednavky', N'U') IS NULL
IdPHIdent bigint NULL,
IdPHIdent2 bigint NULL,
PHOznaceni nvarchar(50) COLLATE Czech_CI_AS NULL,
- IDDokladOZ INT,
+-- IDDokladOZ INT,
+-- IDPohybOZ INT,
Poznamka nvarchar(255) COLLATE Czech_CI_AS NULL,
SkupZbo nvarchar(3) COLLATE Czech_CI_AS NULL,
RegCis nvarchar(30) COLLATE Czech_CI_AS NULL,
IDKmenZbozi int NULL,
Mnozstvi numeric(19, 6) DEFAULT 0.0 NOT NULL,
- MnozKVydeji numeric(19, 6) DEFAULT 0.0 NOT NULL,
+ MnozVydane numeric(19, 6) DEFAULT 0.0 NOT NULL,
+-- MnozKVydeji numeric(19, 6) DEFAULT 0.0 NOT NULL,
PaletovyList nvarchar(50) COLLATE Czech_CI_AS NULL,
Sarze nvarchar(30) COLLATE Czech_CI_AS NULL,
NocniObjednavka BIT NOT NULL DEFAULT 0,
Storno BIT NOT NULL DEFAULT 0,
Vratka BIT NOT NULL DEFAULT 0,
Splneno BIT NOT NULL DEFAULT 0,
+ OdmitnutoSkladem BIT NOT NULL DEFAULT 0,
PocetPohybuOZ SMALLINT NOT NULL DEFAULT 0,
Blokovano bit DEFAULT 0 NOT NULL,
DatPorizeni datetime DEFAULT getdate() NOT NULL,
@@ -38,8 +41,7 @@ DROP INDEX IF EXISTS EI_TabVyroba_Objednavky_idPH ON dbo._TabVyroba_Objednavky
/* 10.11.2023 */
-IF COL_LENGTH(N'dbo._TabVyroba_Objednavky', N'IDDokladOZ') IS NULL ALTER TABLE dbo._TabVyroba_Objednavky ADD IDDokladOZ INT NULL
-
+--IF COL_LENGTH(N'dbo._TabVyroba_Objednavky', N'IDDokladOZ') IS NULL ALTER TABLE dbo._TabVyroba_Objednavky ADD IDDokladOZ INT NULL
IF COL_LENGTH(N'dbo._TabVyroba_Objednavky', N'IDPohybOZ') IS NOT NULL ALTER TABLE dbo._TabVyroba_Objednavky DROP COLUMN IDPohybOZ
IF COL_LENGTH(N'dbo._TabVyroba_Objednavky', N'DatReportuPH') IS NOT NULL ALTER TABLE dbo._TabVyroba_Objednavky DROP COLUMN DatReportuPH
IF COL_LENGTH(N'dbo._TabVyroba_Objednavky', N'PocetPohybuOZ') IS NULL ALTER TABLE dbo._TabVyroba_Objednavky ADD PocetPohybuOZ SMALLINT NOT NULL DEFAULT 0
@@ -55,7 +57,16 @@ IF COL_LENGTH(N'dbo._TabVyroba_Objednavky', N'NocniObjednavka') IS NULL ALTER TA
/* 23.11.2023 */
IF COL_LENGTH(N'dbo._TabVyroba_Objednavky', N'Splneno') IS NULL ALTER TABLE dbo._TabVyroba_Objednavky ADD Splneno BIT NOT NULL DEFAULT 0
-IF COL_LENGTH(N'dbo._TabVyroba_Objednavky', N'MnozKVydeji') IS NULL ALTER TABLE dbo._TabVyroba_Objednavky ADD MnozKVydeji NUMERIC(19,6) NOT NULL DEFAULT 0.0
+--IF COL_LENGTH(N'dbo._TabVyroba_Objednavky', N'MnozKVydeji') IS NULL ALTER TABLE dbo._TabVyroba_Objednavky ADD MnozKVydeji NUMERIC(19,6) NOT NULL DEFAULT 0.0
+
+
+/* 5.6.2025 */
+IF COL_LENGTH(N'dbo._TabVyroba_Objednavky', N'MnozVydane') IS NULL ALTER TABLE dbo._TabVyroba_Objednavky ADD MnozVydane NUMERIC(19,6) NOT NULL DEFAULT 0.0
+IF COL_LENGTH(N'dbo._TabVyroba_Objednavky', N'MnozKVydeji') IS NOT NULL ALTER TABLE dbo._TabVyroba_Objednavky DROP COLUMN MnozKVydeji
+
+
+
+
@@ -68,7 +79,7 @@ IF OBJECT_ID(N'dbo._TabVyroba_Objednavky_Pol', N'U') IS NULL
IDPohybOZ INT NULL,
IDVyrCP INT NULL,
SkupZbo NVARCHAR(3),
- RegCis NVARCHAR(100),
+ RegCis NVARCHAR(30),
Mnozstvi numeric(19, 6) DEFAULT 0.0 NOT NULL,
Sarze NVARCHAR(100) NULL,
PaletovyList NVARCHAR(100) NULL,
diff --git a/_sql/tbl__TabVyrobaPalety.sql b/_sql/tbl__TabVyrobaPalety.sql
index 68d824c..0f310dc 100644
--- a/_sql/tbl__TabVyrobaPalety.sql
+++ b/_sql/tbl__TabVyrobaPalety.sql
@@ -60,6 +60,13 @@ EXEC sp_addextendedproperty @name='MS_Description', @value=N'0-nedefinovano
5-nestandard', @level0type='schema', @level0name='dbo', @level1type='table', @level1name='_TabVyroba_Palety', @level2type='column', @level2name='Typ'
+/* 29.5.2025 */
+IF COL_LENGTH(N'dbo._TabVyroba_Palety', N'TiskDatExpirace') IS NULL ALTER TABLE dbo._TabVyroba_Palety ADD TiskDatExpirace BIT NOT NULL DEFAULT 1
+IF COL_LENGTH(N'dbo._TabVyroba_Palety', N'TiskSarze') IS NULL ALTER TABLE dbo._TabVyroba_Palety ADD TiskSarze BIT NOT NULL DEFAULT 1
+
+
+
+
DROP INDEX IF EXISTS EI__TabVyroba_Palety_Typ ON dbo._TabVyroba_Palety
CREATE NONCLUSTERED INDEX EI__TabVyroba_Palety_Typ ON dbo._TabVyroba_Palety (Typ)
diff --git a/_sql/trg__TabPohybyZbozi_HDC_D.sql b/_sql/trg__TabPohybyZbozi_HDC_D.sql
index e1ddf74..c5eba2e 100644
--- a/_sql/trg__TabPohybyZbozi_HDC_D.sql
+++ b/_sql/trg__TabPohybyZbozi_HDC_D.sql
@@ -47,8 +47,7 @@ BEGIN
SELECT @idObjHlav=IDHlava FROM dbo._TabVyroba_Objednavky_Pol WHERE IDPohybOZ=@id
DELETE FROM dbo._TabVyroba_Objednavky_Pol WHERE IDPohybOZ=@id
IF OBJECT_ID(N'dbo._TabVyroba_Objednavky', N'U') IS NOT NULL
- UPDATE dbo._TabVyroba_Objednavky SET MnozKVydeji=Mnozstvi - ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=@idObjHlav), 0)
- WHERE ID=@idObjHlav
+ UPDATE dbo._TabVyroba_Objednavky SET MnozVydane=ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=@idObjHlav), 0) WHERE ID=@idObjHlav
END
END
END
diff --git a/_sql/trg__TabPohybyZbozi_HDC_IU.sql b/_sql/trg__TabPohybyZbozi_HDC_IU.sql
index 066ad68..aea6c12 100644
--- a/_sql/trg__TabPohybyZbozi_HDC_IU.sql
+++ b/_sql/trg__TabPohybyZbozi_HDC_IU.sql
@@ -37,8 +37,7 @@ BEGIN
SELECT @idObjHlav=IDHlava, @idObjPol=ID FROM dbo._TabVyroba_Objednavky_Pol WHERE IDPohybOZ=@id
UPDATE dbo._TabVyroba_Objednavky_Pol SET Mnozstvi=@mnoz WHERE ID=@idObjPol
IF OBJECT_ID(N'dbo._TabVyroba_Objednavky', N'U') IS NOT NULL
- UPDATE dbo._TabVyroba_Objednavky SET MnozKVydeji=Mnozstvi - ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=@idObjHlav), 0)
- WHERE ID=@idObjHlav
+ UPDATE dbo._TabVyroba_Objednavky SET MnozVydane=ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=@idObjHlav), 0) WHERE ID=@idObjHlav
END
END
END
diff --git a/_sql/trg__TabPrikazMzdyAZmetky_HDC_D.sql b/_sql/trg__TabPrikazMzdyAZmetky_HDC_D.sql
new file mode 100644
index 0000000..79a30d2
--- /dev/null
+++ b/_sql/trg__TabPrikazMzdyAZmetky_HDC_D.sql
@@ -0,0 +1,34 @@
+-- dbo.ET_TabPrikazMzdyAZmetky_HDC_D
+CREATE TRIGGER dbo.ET_TabPrikazMzdyAZmetky_HDC_D ON dbo.TabPrikazMzdyAZmetky
+WITH EXECUTE AS CALLER
+FOR DELETE
+AS
+BEGIN
+ SET NOCOUNT ON
+
+-- !! trigger neupravujte, bude stejne pregenerovan pri startu pluginu PluginHDCRTN nebo Windows sluzby HDCDZApi !!
+
+ DECLARE
+ @id INT
+
+
+
+ DECLARE c CURSOR LOCAL FAST_FORWARD FOR
+ SELECT d.ID
+ FROM deleted d
+ OPEN c
+ WHILE (1=1)
+ BEGIN
+ FETCH NEXT FROM c INTO @id
+ IF (@@FETCH_STATUS<>0) BREAK
+
+-- sync informace pro reseni ASol/ProHolding/HDC
+-- vydejky
+ IF OBJECT_ID(N'dbo._hdc_ph_PrijataJsonData', N'U') IS NOT NULL
+ UPDATE dbo._hdc_ph_PrijataJsonData SET IDMzda=NULL WHERE IDMzda=@id
+
+ END
+ CLOSE c
+ DEALLOCATE c
+
+END
diff --git a/datMod.dfm b/datMod.dfm
index 6eea4bb..721a416 100644
--- a/datMod.dfm
+++ b/datMod.dfm
@@ -117,6 +117,9 @@ object dm: Tdm
FieldName = 'fSarze'
Size = 50
end
+ object vtStrojefIDPaleta: TIntegerField
+ FieldName = 'fIDPaleta'
+ end
end
object vtPlanZitra: TFDMemTable
FetchOptions.AssignedValues = [evMode]
@@ -129,7 +132,7 @@ object dm: Tdm
Left = 143
Top = 89
object vtPlanZitrafIDPlan2: TIntegerField
- FieldName = 'fIDPlan'
+ FieldName = 'fIDDavka'
end
object vtPlanZitrafVyrobek: TStringField
FieldName = 'fVyrobek'
@@ -142,6 +145,19 @@ object dm: Tdm
object vtPlanZitrafZakazka: TStringField
FieldName = 'fZakazka'
end
+ object vtPlanZitrafIDPrikaz: TIntegerField
+ FieldName = 'fIDPrikaz'
+ Visible = False
+ end
+ object vtPlanZitrafHodOd: TSmallintField
+ FieldName = 'fHodOd'
+ end
+ object vtPlanZitrafHodDo: TSmallintField
+ FieldName = 'fHodDo'
+ end
+ object vtPlanZitrafMnozstvi: TFloatField
+ FieldName = 'fMnozstvi'
+ end
end
object dsPlanZitra: TDataSource
DataSet = vtPlanZitra
@@ -149,6 +165,8 @@ object dm: Tdm
Top = 35
end
object vtRozpracPL: TFDMemTable
+ FieldDefs = <>
+ IndexDefs = <>
FetchOptions.AssignedValues = [evMode]
FetchOptions.Mode = fmAll
ResourceOptions.AssignedValues = [rvSilentMode]
@@ -156,6 +174,7 @@ object dm: Tdm
UpdateOptions.AssignedValues = [uvCheckRequired, uvAutoCommitUpdates]
UpdateOptions.CheckRequired = False
UpdateOptions.AutoCommitUpdates = True
+ StoreDefs = True
Left = 238
Top = 90
object vtRozpracPLfIDEvidRozp: TIntegerField
@@ -163,6 +182,7 @@ object dm: Tdm
end
object vtRozpracPLfIDStroj: TIntegerField
FieldName = 'fIDStroj'
+ Visible = False
end
object vtRozpracPLfStroj: TStringField
FieldName = 'fStroj'
diff --git a/datMod.pas b/datMod.pas
index 3cc0351..7d35f45 100644
--- a/datMod.pas
+++ b/datMod.pas
@@ -308,6 +308,11 @@ type
vtMaterialcolCisloZbozi: TStringField;
vtMaterialcolIDPohyb: TIntegerField;
vtSarzecolIDPohybOZ: TIntegerField;
+ vtStrojefIDPaleta: TIntegerField;
+ vtPlanZitrafIDPrikaz: TIntegerField;
+ vtPlanZitrafHodOd: TSmallintField;
+ vtPlanZitrafHodDo: TSmallintField;
+ vtPlanZitrafMnozstvi: TFloatField;
procedure DataModuleCreate (Sender: TObject);
procedure vtCCP1BeforeDelete (DataSet: TDataSet);
procedure vtCCP1BeforeInsert (DataSet: TDataSet);
@@ -343,8 +348,9 @@ type
procedure NactiCCP1 (const f: TformKontrolaCCP1);
procedure NactiCCP1ProNoveZaznamy (const f: TformKontrolaCCP1edt);
- procedure NactiPlanStroje (const f: TformPekarna; const idStroj: integer);
- procedure NactiRozpracovane (const f: TformPekarna);
+ procedure NactiPlanStroje (const f: TformPekarna; const idStroj: integer; dnes: boolean=true);
+ procedure NactiRozpracovane (const f: TformPekarna; const idStroj: integer);
+
procedure NactiOdpadStroje (const f: TformPekarna);
procedure NactiOdpady (const f: TformOdpady);
@@ -376,7 +382,7 @@ var
apiMod: boolean;
apiServer, phServer, compName, url, sqlLang: string;
vyrobniDen: TDate;
- aktIdStroj, aktIdKmen, aktIdPrikaz, aktIdKmenPlan, aktIdKmenRozprac, idZamMistr, cisZamMistr: integer;
+ aktIdStroj, aktIdKmen, aktIdPrikaz, aktIDPaleta, aktIdKmenPlan, aktIdKmenRozprac, idZamMistr, cisZamMistr: integer;
bmIdStroj, bmIdPlanDnes, bmIdPrikaz: integer; // bookmarky
aktZakazka: string;
@@ -1088,6 +1094,7 @@ uses System.Variants, System.StrUtils, Winapi.Windows, System.DateUtils, IdHTTP,
end;
end;
+ vtObjednavkaMat.IndexFieldNames:= 'colCisloObj:D';
vtObjednavkaMat.First;
end;
@@ -1096,7 +1103,7 @@ uses System.Variants, System.StrUtils, Winapi.Windows, System.DateUtils, IdHTTP,
procedure Tdm.NactiZasobaObjednavky (const f: TformZasobaObjednavky);
- var lSQL: string;
+ var lSQL, regCis: string;
cnt, idKmen: integer;
begin
if not(vtZasobyObjednavky.Active) then
@@ -1106,7 +1113,9 @@ uses System.Variants, System.StrUtils, Winapi.Windows, System.DateUtils, IdHTTP,
lSQL:= 'SELECT ID, SkupZbo, RegCis, Nazev1, MJEvidence FROM ' + tblKZ + ' WHERE Material=1 OR ID IN (SELECT IDKmenZbozi FROM ' + tblSS + ' WHERE IDSklad IN (N''211'',N''311''))';
lSQL:= lSQL + ' OR ID IN (SELECT IDKmenZbozi FROM ' + tblObjednavky + ') ORDER BY Nazev1';
}
- lSQL:= 'SELECT k.ID, k.SkupZbo, k.RegCis, k.Nazev1, k.MJEvidence FROM ' + tblKZ + ' k INNER JOIN ' + tblKZe + ' ke ON (ke.ID=k.ID) WHERE ke._Vyroba_ProObjednavku=1';
+ lSQL:= 'SELECT k.ID, k.SkupZbo, k.RegCis, k.Nazev1, k.MJEvidence FROM ' + tblKZ + ' k INNER JOIN ' + tblKZe + ' ke ON (ke.ID=k.ID)'
+ + ' WHERE ke._Vyroba_ProObjednavku=1 AND k.ID NOT IN (SELECT ID FROM ' + tblKZ + ' WHERE SkupZbo=N''101'' AND RegCis IN (N''111000'', N''112000''))'
+ + ' AND k.ID IN (SELECT IDKmenZbozi FROM ' + tblSS + ' WHERE Mnozstvi>0 AND IDSklad=N''311'')';
with Helios.OpenSQL(lSQL) do
begin
@@ -1121,7 +1130,10 @@ uses System.Variants, System.StrUtils, Winapi.Windows, System.DateUtils, IdHTTP,
vtZasobyObjednavky.Append;
vtZasobyObjednavky.FieldByName('colIDKmen').AsInteger:= idKmen;
vtZasobyObjednavky.FieldByName('colSZ').AsString:= VarToStr(FieldByNameValues('SkupZbo'));
- vtZasobyObjednavky.FieldByName('colRC').AsString:= VarToStr(FieldByNameValues('RegCis'));
+ regCis:= VarToStr(FieldByNameValues('RegCis'));
+ if (regCis='012003') then
+ lSQL:= '';
+ vtZasobyObjednavky.FieldByName('colRC').AsString:= regCis;
vtZasobyObjednavky.FieldByName('colNazev1').AsString:= VarToStr(FieldByNameValues('Nazev1'));
vtZasobyObjednavky.FieldByName('colMJ').AsString:= VarToStr(FieldByNameValues('MJEvidence'));
@@ -1658,9 +1670,16 @@ uses System.Variants, System.StrUtils, Winapi.Windows, System.DateUtils, IdHTTP,
- procedure Tdm.NactiPlanStroje (const f: TformPekarna; const idStroj: integer);
+ procedure Tdm.NactiPlanStroje (const f: TformPekarna; const idStroj: integer; dnes: boolean=true);
var lSQL: string;
begin
+ if (idStroj>0) then
+ begin
+ lSQL:= 'SELECT FROM ' + tblAdvKPlanDavky + ' WHERE DatumPripadu=' + IfThen(dnes, 'GETDATE()', '');
+ end;
+
+
+
if (idStroj>0) then
begin
lSQL:= 'SELECT ID FROM ' + tblVPr + ' WHERE StavPrikazu IN (20,30) AND ID NOT IN (SELECT r.IDPrikaz FROM ' + tblRozpracOper + ' h INNER JOIN ' + tblRozpracOperR;
@@ -1721,12 +1740,15 @@ uses System.Variants, System.StrUtils, Winapi.Windows, System.DateUtils, IdHTTP,
- procedure Tdm.NactiRozpracovane (const f: TformPekarna);
+ procedure Tdm.NactiRozpracovane (const f: TformPekarna; const idStroj: integer);
var lSQL: string;
idVPr, idH, idS, idK, radaPrikaz, cisloPL: string;
mnVCP, mnZbytVCPP: Extended;
i1, i2: integer;
begin
+
+
+
lSQL:= 'SELECT DISTINCT(vp.ID) FROM ' + tblPrPost + ' prp INNER JOIN ' + tblPrikaz + ' vp ON (vp.ID=prp.IDPrikaz)';
lSQL:= lSQL + ' WHERE vp.StavPrikazu=40 AND prp.IDOdchylkyDo IS NULL AND prp.typ<2 AND prp.IDStroje=' + aktIdStroj.ToString + ' GROUP BY vp.ID';
{
@@ -2034,7 +2056,7 @@ uses System.Variants, System.StrUtils, Winapi.Windows, System.DateUtils, IdHTTP,
procedure Tdm.NactiStrojeAPraci (const f: TformPekarna);
- var lSQL: string;
+ var lSQL, cisloPL, sarze: string;
idStroj, idVPr, cntVz: integer;
begin
lSQL:= 'SELECT st.ID, p.Pracoviste, st.Nazev, st.Kod FROM ' + tblCStroju + ' st INNER JOIN ' + tblCPrac + ' p ON (p.ID=IDPrac) WHERE p.IDTabStrom=N' + stredPekarna.ToString.QuotedString;
@@ -2085,13 +2107,25 @@ uses System.Variants, System.StrUtils, Winapi.Windows, System.DateUtils, IdHTTP,
vtStroje.FieldByName('fVyrobek').AsString:= VarToStr(FieldByNameValues('Nazev1'));
vtStroje.FieldByName('fZakazka').AsString:= VarToStr(FieldByNameValues('RadaPrikaz')).Replace(' ','');
vtStroje.FieldByName('fIDEvidRozpOper').AsString:= VarToStr(FieldByNameValues('ID'));
- vtStroje.FieldByName('fIDPrikaz').AsString:= VarToStr(FieldByNameValues('idVPr'));
+ idVPr:= VarToStr(FieldByNameValues('idVPr')).ToInteger;
+ vtStroje.FieldByName('fIDPrikaz').AsInteger:= idVPr;
vtStroje.FieldByName('fCisloZbozi').AsString:= VarToStr(FieldByNameValues('CisloZbozi'));
vtStroje.FieldByName('fIDKmen').AsString:= VarToStr(FieldByNameValues('IDKmen'));
- vtStroje.FieldByName('fAktPaletList').AsString:= VarToStr(FieldByNameValues('VyrCislo'));
- vtStroje.FieldByName('fSarze').AsString:= VarToStr(FieldByNameValues('Sarze'));
vtStroje.FieldByName('fCinnost').AsString:= 'Výroba';
+ cisloPL:= VarToStr(FieldByNameValues('VyrCislo'));
+ vtStroje.FieldByName('fAktPaletList').AsString:= cisloPL;
+ sarze:= VarToStr(FieldByNameValues('Sarze'));
+ vtStroje.FieldByName('fSarze').AsString:= sarze;
+
+ if (cisloPL<>'') and (sarze<>'') and (idVPr>0) then
+ begin
+ lSQL:= 'SELECT TOP(1) ID FROM ' + tblPalety + ' WHERE IDPrikaz=' + idVPr.ToString + ' AND CisloPalety=N' + cisloPL.QuotedString
+ + ' AND Sarze=N' + sarze.QuotedString + ' AND DatUkonceni IS NULL AND IDStroj=' + idStroj.ToString + ' ORDER BY ID';
+ vtStroje.FieldByName('fIDPaleta').AsInteger:= helUtils.getHeliosIntVal (Helios, 0, lSQL);
+ end;
+
+
// vtRozpracPL.Append;
// dm.vtRozpracPL.FieldByName('')
// vtRozpracPL.Post;
diff --git a/frmObjednavkaMat.dfm b/frmObjednavkaMat.dfm
index e05c54f..82648a3 100644
--- a/frmObjednavkaMat.dfm
+++ b/frmObjednavkaMat.dfm
@@ -122,7 +122,6 @@ object formObjednavkaMat: TformObjednavkaMat
ReadOnly = True
Title.Alignment = taCenter
Title.Caption = 'Dod'#225'no'
- Width = 64
Visible = True
end
item
diff --git a/frmObjednavkaMat.pas b/frmObjednavkaMat.pas
index 7d884e0..2902dd2 100644
--- a/frmObjednavkaMat.pas
+++ b/frmObjednavkaMat.pas
@@ -6,7 +6,7 @@ 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, Vcl.StdCtrls, Vcl.Mask,
IdHTTP, IdSSLOpenSSL, System.JSON, IdBaseComponent, IdComponent, IdRawBase, IdRawClient, IdIcmpClient,
- ddPlugin_TLB, JvExDBGrids, JvDBGrid;
+ ddPlugin_TLB, JvExDBGrids, JvDBGrid, uPing;
{$I iConsts.inc}
@@ -111,6 +111,7 @@ uses System.StrUtils, System.Math,
if not(TryStrToFloat(edtNaPalete.Text, napal)) then
napal:= 0;
+
if (mn>0) or (pal>0) then
begin
mnSum:= mn;
@@ -182,6 +183,7 @@ uses System.StrUtils, System.Math,
sarze:= '';
paletovyList:= '';
try
+{
icmpCli.Host:= datMod.getDomainName (datMod.phServer);
try
icmpCLi.Ping();
@@ -190,20 +192,34 @@ uses System.StrUtils, System.Math,
except
pingOK:= False;
end;
-
+}
+{$IFDEF DEBUG}
+ i:= 0;
+ resp:= '{"@context":"/api/contexts/Order","@id":"/api/orders/10","@type":"Order","id":10,"heliosId":null,"name":"Lecitin tekutý","skupzbo":"101","regcis":"652801"'
+ + ',"paletovyList":"2500082","quantity":"1000.0000","items":[{"@id":"/api/material_order_items/12","@type":"MaterialOrderItem","id":12,"stockItem":{"@id":"/api/stock_items/47"'
+ + ',"@type":"StockItem","id":47,"heliosId":250,"heliosPrijemkaId":84},"stockItemFinal":null,"order":"/api/orders/10","name":"Lecitin tekutý","sarze":"066-03-24-0220"'
+ + ',"paletovyList":"2500082","quantity":"1000","dateExp":"2026-08-31T00:00:00+02:00","isCompleted":false,"completedAt":null}],"isCompleted":false,"isUserCompleted":false'
+ + ',"completedAt":null,"isFinalCompleted":false}';
+{$ELSE}
+ i:= uPing.Ping (datMod.getDomainName (datMod.phServer), resp);
resp:= '';
- if (pingOK) then
- begin
- respStream:= TStringStream.Create('');
- lHTTP.Post (datMod.phServer + '/order', lParamList, respStream);
- resp:= respStream.DataString.Replace('\/', '/');
- end;
+{$ENDIF}
+ pingOK:= (i=0);
+
+ if (pingOK)
+{$IFDEF DEBUG} and (1=0) {$ENDIF}
+ then
+ begin
+ respStream:= TStringStream.Create('');
+ lHTTP.Post ('http://rootvin.datazone.cloud/api/helios/order', lParamList, respStream);
+// lHTTP.Post (datMod.phServer + '/order', lParamList, respStream);
+ resp:= respStream.DataString.Replace('\/', '/');
+ end;
// log
if (helUtils.SQLObjectExists(Helios, tblHDCPHLog)) and (resp<>'') then
Helios.ExecSQL ('INSERT ' + tblHDCPHLog + ' (LogText, LogTextLong) SELECT N''Dotaz na objednávku materiálu (dle mnoz)'', N' + resp.QuotedString);
-
if (resp.Contains('neexistuje')) then
errText:= 1;
@@ -240,6 +256,10 @@ uses System.StrUtils, System.Math,
else
if (sarze='') and (paletovyList='') then
begin
+ if (ph1='') then
+ ph1:= '0';
+ if (ph2='') then
+ ph2:= '0';
lSQL:= 'INSERT ' + tblObjednavky + ' (SkupZbo, RegCis, IDKmenZbozi, PaletovyList, Sarze, Mnozstvi, IdPHIdent, IdPHIdent2) SELECT N' + sz.QuotedString;
lSQL:= lSQL + ', N' + rc.QuotedString + ', ' + idKmen.ToString + ', N' + paletovyList.QuotedString + ', N' + sarze.QuotedString + ', ' + mnPL.ToString.Replace(',', '.');
lSQL:= lSQL + ', ' + ph1 + ', ' + ph2;
diff --git a/frmPekarna.dfm b/frmPekarna.dfm
index a49a18c..dc865cc 100644
--- a/frmPekarna.dfm
+++ b/frmPekarna.dfm
@@ -278,7 +278,7 @@ object formPekarna: TformPekarna
Top = 103
Width = 634
Height = 626
- ActivePage = shRozpracovanePL
+ ActivePage = shPlanDnes
Align = alClient
TabOrder = 2
object shPlanDnes: TTabSheet
@@ -374,7 +374,6 @@ object formPekarna: TformPekarna
object shPlanZitra: TTabSheet
Caption = ' Pl'#225'n v'#253'roby Z'#205'TRA '
ImageIndex = 1
- TabVisible = False
object grdPlanZitra: TDBGrid
Left = 0
Top = 0
@@ -568,7 +567,6 @@ object formPekarna: TformPekarna
Width = 624
Height = 509
Align = alClient
- Color = 15790320
DataSource = dm.dsRozpracPL
DrawingStyle = gdsGradient
GradientEndColor = clActiveCaption
@@ -578,7 +576,7 @@ object formPekarna: TformPekarna
Font.Height = -16
Font.Name = 'Segoe UI'
Font.Style = []
- Options = [dgTitles, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgConfirmDelete, dgCancelOnExit, dgTitleClick, dgTitleHotTrack]
+ Options = [dgTitles, dgIndicator, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgConfirmDelete, dgCancelOnExit, dgTitleClick, dgTitleHotTrack]
ParentFont = False
TabOrder = 1
TitleFont.Charset = DEFAULT_CHARSET
@@ -612,7 +610,7 @@ object formPekarna: TformPekarna
FieldName = 'fStroj'
Title.Alignment = taCenter
Title.Caption = 'Stroj'
- Width = 208
+ Width = 204
Visible = True
end
item
@@ -636,7 +634,7 @@ object formPekarna: TformPekarna
FieldName = 'fSZ'
Title.Alignment = taCenter
Title.Caption = 'SK'
- Width = 38
+ Width = 37
Visible = True
end
item
@@ -645,7 +643,7 @@ object formPekarna: TformPekarna
FieldName = 'fRC'
Title.Alignment = taCenter
Title.Caption = 'Reg. '#269'.'
- Width = 94
+ Width = 92
Visible = True
end
item
@@ -654,7 +652,7 @@ object formPekarna: TformPekarna
FieldName = 'fAktPaletList'
Title.Alignment = taCenter
Title.Caption = 'PL'
- Width = 126
+ Width = 124
Visible = True
end
item
@@ -662,7 +660,7 @@ object formPekarna: TformPekarna
FieldName = 'fDatStart'
Title.Alignment = taCenter
Title.Caption = 'Start'
- Width = 122
+ Width = 120
Visible = True
end
item
@@ -671,7 +669,7 @@ object formPekarna: TformPekarna
FieldName = 'fColR'
Title.Alignment = taCenter
Title.Caption = 'R'
- Width = 26
+ Width = 25
Visible = True
end>
end
@@ -709,12 +707,11 @@ object formPekarna: TformPekarna
Left = 172
Top = 4
Width = 137
- Height = 25
+ Height = 17
Align = alRight
Alignment = taRightJustify
Caption = 'Vy'#345'adit z v'#253'roby paletu:'
Visible = False
- ExplicitHeight = 17
end
object GridPanel16: TGridPanel
Left = 312
@@ -1127,7 +1124,7 @@ object formPekarna: TformPekarna
object Label1: TLabel
Left = 1
Top = 30
- Width = 270
+ Width = 210
Height = 21
Align = alBottom
Alignment = taCenter
@@ -1139,7 +1136,6 @@ object formPekarna: TformPekarna
Font.Name = 'Segoe UI'
Font.Style = [fsBold]
ParentFont = False
- ExplicitWidth = 210
end
end
object memVyrobniPoznamka: TMemo
diff --git a/frmPekarna.pas b/frmPekarna.pas
index a944717..756b986 100644
--- a/frmPekarna.pas
+++ b/frmPekarna.pas
@@ -304,6 +304,8 @@ var
f:= TformTiskyNahledy.Create (nil);
try
f.idKmen:= datMod.aktIdKmen;
+ f.idPrikaz:= datMod.aktIdPrikaz;
+ f.idPaleta:= datMod.aktIDPaleta;
f.Helios:= Helios;
f.HeliosHandle:= Application.Handle;
f.ShowModal;
@@ -1014,11 +1016,8 @@ procedure TformPekarna.FormClose (Sender: TObject; var Action: TCloseAction);
grdRozpracovane.Font.Height:= Helios.FontHeight;
grdStroje.Font.Height:= Helios.FontHeight;
+ pgCtrlPlan.ActivePage:= shPlanDnes;
-
-
-
- shPlanZitra.TabVisible:= false;
runTimerRozprac:= true;
sgInfo.Cells[0, 0]:= 'Rok';
@@ -1075,7 +1074,7 @@ procedure TformPekarna.FormClose (Sender: TObject; var Action: TCloseAction);
infoTimerTimer (Sender);
- dm.NactiDataPaneluStroje (self, arrStroje);
+ dm.NactiDataPaneluStroje (self, arrStroje); // stroje strediska 211
if (dm.vtStroje.RecordCount>0) then
grdStrojeCellClick(grdStroje.Columns.Items[2]);
@@ -1121,7 +1120,7 @@ procedure TformPekarna.FormClose (Sender: TObject; var Action: TCloseAction);
if (dm.vtStroje.RecordCount>0) then
datMod.bmIdStroj:= dm.vtStroje.FieldByName('fIDStroj').AsInteger;
- dm.NactiPlanStroje (self, datMod.bmIdStroj);
+ dm.NactiPlanStroje (self, datMod.bmIdStroj, true); // dnesni plan (tj. davky kapacitniho planu)
end;
@@ -1315,6 +1314,8 @@ procedure TformPekarna.FormClose (Sender: TObject; var Action: TCloseAction);
aktIdKmen:= grdStroje.DataSource.DataSet.FieldByName('fIDKmen').AsInteger;
datMod.aktIdKmen:= aktIdKmen;
+ datMod.aktIDPaleta:= grdStroje.DataSource.DataSet.FieldByName('fIDPaleta').AsInteger;
+
datMod.aktIdPrikaz:= grdStroje.DataSource.DataSet.FieldByName('fIDPrikaz').AsInteger;
datMod.bmIdPrikaz:= datMod.aktIdPrikaz;
@@ -1611,7 +1612,7 @@ procedure TformPekarna.FormClose (Sender: TObject; var Action: TCloseAction);
begin
edtNazevRozpracVyrobku.Text:= '';
edtRozpracZakazka.Text:= '';
- dm.NactiRozpracovane (self);
+ dm.NactiRozpracovane (self, datMod.aktIdStroj);
end;
end;
@@ -1644,7 +1645,7 @@ procedure TformPekarna.FormClose (Sender: TObject; var Action: TCloseAction);
if (initOK) then
begin
- dm.NactiRozpracovane (self);
+ dm.NactiRozpracovane (self, datMod.aktIdStroj);
dm.NactiPlanStroje (self, datMod.bmIdStroj);
end;
diff --git a/frmTiskyNahledy.pas b/frmTiskyNahledy.pas
index 906d19f..f4724d2 100644
--- a/frmTiskyNahledy.pas
+++ b/frmTiskyNahledy.pas
@@ -75,6 +75,7 @@ type
HeliosHandle: integer;
idKmen: integer;
idPrikaz: integer;
+ idPaleta: integer;
idStroj: Integer;
sarze: string;
paletList: string;
@@ -83,16 +84,17 @@ type
var
formTiskyNahledy: TformTiskyNahledy;
bidPalety: integer;
+ idFormKA, idFormPS, idFormPL: integer;
implementation
-uses datMod,
- frmZahajeniPalety,
- helUtils;
+uses System.StrUtils,
+ datMod,
+ frmZahajeniPalety, helUtils;
{$R *.dfm}
- function ResourceNameToString(lpszName: PChar): string;
+ function ResourceNameToString (lpszName: PChar): string;
begin
if Is_IntResource(lpszName) then
Result:= '#' + IntToStr(NativeUInt(lpszName))
@@ -101,7 +103,7 @@ uses datMod,
end;
- function ResourceTypeToString(lpszType: PChar): string;
+ function ResourceTypeToString (lpszType: PChar): string;
begin
case NativeUInt(lpszType) of
NativeUInt(RT_CURSOR):
@@ -113,12 +115,12 @@ uses datMod,
NativeUInt(RT_GROUP_ICON):
Result:= 'RT_GROUP_ICON';
else
- Result := ResourceNameToString(lpszType);
+ Result := ResourceNameToString (lpszType);
end;
end;
- function EnumResNameProc(hModule: HMODULE; lpszType, lpszName: PChar; lParam: NativeInt): BOOL; stdcall;
+ function EnumResNameProc (hModule: HMODULE; lpszType, lpszName: PChar; lParam: NativeInt): BOOL; stdcall;
begin
TStrings(lParam).Add(ResourceNameToString(lpszName));
result:= true;
@@ -126,56 +128,52 @@ uses datMod,
+
procedure TformTiskyNahledy.btnAVTisk1Click (Sender: TObject);
var idF: integer;
begin
- if (datMod.aktIdKmen>0) then
+ if (idKmen>0) then
begin
- idF:= helUtils.getHeliosIntVal (Helios, 0, 'SELECT ID FROM ' + tblFormDef + ' WHERE Nazev2=N''PEK-6''');
+ idF:= helUtils.getHeliosIntVal (Helios, 0, 'SELECT TOP(1) ID FROM ' + tblFormDef + ' WHERE Nazev2=N''PEK-6''');
if (idF>0) then
- Helios.PrintForm3 (bidDilce, idF, 'TabKmenZbozi.ID=' + datMod.aktIdKmen.ToString);
+ Helios.PrintForm3 (bidDilce, idF, 'TabKmenZbozi.ID=' + idKmen.ToString);
end;
- Close;
end;
+
procedure TformTiskyNahledy.btnAVTisk2Click (Sender: TObject);
- var lSQL: string;
- f: integer;
- i: integer;
+ var lSQL, podm: string;
+ idFormNastav: integer;
begin
- if (idKmen>0) and (bidPalety>0) then
+ if (bidPalety>0) and (idFormKA>0) then
begin
- f:= helUtils.getHeliosIntVal (Helios, 0, 'SELECT ISNULL(_KL,0) FROM ' + tblKZe + ' WHERE ID=' + idKmen.ToString);
- if (f>0) then
+ lSQL:= 'SELECT TOP(1) ID FROM ' + tblTiskDef + ' WHERE FormDefID=' + idFormKA.ToString + ' AND LoginName IS NULL ORDER BY Prednastaveno DESC';
+ idFormNastav:= helUtils.getHeliosIntVal (Helios, 0, lSQL);
+ if (idFormNastav=0) then
begin
- lSQL:= 'SELECT COUNT(ID) FROM ' + datMod.constHvwVyrobaPalety + ' x WHERE x.IDKmen=' + idKmen.ToString;
- if (paletList<>'') then
- lSQL:= lSQL + ' AND x.CisloPalety=N' + paletList.QuotedString
- else
- begin
- if (sarze<>'') then
- lSQL:= lSQL + ' AND x.Sarze=N' + sarze.QuotedString;
- if (idPrikaz>0) then
- lSQL:= lSQL + ' AND x.IDPrikaz=' + idPrikaz.ToString;
- if (idStroj>0) then
- lSQL:= lSQL + ' AND x.IDStroj=' + idStroj.ToString;
- end;
- i:= helUtils.getHeliosIntVal (Helios, 0, lSQL);
- if (i=1) then
- begin
- lSQL:= lSQL.Replace('SELECT COUNT(ID) FROM ' + datMod.constHvwVyrobaPalety + ' x WHERE', '');
- lSQL:= lSQL.Replace('x', datMod.constHvwVyrobaPalety);
- Helios.PrintForm3 (bidPalety, f, lSQL.Trim);
- end;
+ lSQL:= 'INSERT ' + tblTiskDef + ' (FormDefID, Nazev, Prednastaveno, Implicitni, LevyOkraj, HorniOkraj, TiskFronta) SELECT ' + idFormKA.ToString
+ + ', N''Tisk Zebra'', 1, 0, 0, 0, N''Zebra''' + CRLF + 'SELECT SCOPE_IDENTITY()';
+ idFormNastav:= helUtils.getHeliosIntVal (Helios, 0, lSQL);
end;
+ Helios.ExecSQL('UPDATE ' + tblTiskDef + ' SET PocetKopii=1 WHERE ID=' + idFormNastav.ToString);
+
+ podm:= 'hvw_Vyroba_Palety.CisloPalety=(SELECT TOP(1) CisloPalety FROM ' + datMod.constHvwVyrobaPalety + ' WHERE';
+ if (idPaleta>0) then
+ podm:= podm + ' ID=' + idPaleta.ToString
+ else
+ podm:= podm + ' IDPrikaz=' + idPrikaz.ToString + ' AND IDStroj=' + idStroj.ToString + IfThen(paletList<>'', ' AND CisloPalety=N' + paletList.QuotedString, '');
+ podm:= podm + ')';
+
+ Helios.PrintForm3 (bidPalety, idFormKA, podm);
end;
end;
+
procedure TformTiskyNahledy.btnAVTisk3Click (Sender: TObject); // paletovy listek
var f: integer;
f2: TformZahajeniPalety;
@@ -186,6 +184,7 @@ uses datMod,
try
f2.Helios:= Helios;
f2.opakTisky:= true;
+ f2.idPaleta:= idPaleta;
f2.f2:= self;
f2.idPrikaz:= idPrikaz;
f2.idStroj:= datMod.bmIdStroj;
@@ -216,7 +215,6 @@ uses datMod,
if (idF>0) then
Helios.PrintForm3 (bidDilce, idF, 'TabKmenZbozi.ID=' + datMod.aktIdKmenPlan.ToString);
end;
- Close;
end;
@@ -231,14 +229,14 @@ uses datMod,
if (idF>0) then
Helios.PrintForm3 (bidDilce, idF, 'TabKmenZbozi.ID=' + datMod.aktIdKmenRozprac.ToString);
end;
- Close;
end;
procedure TformTiskyNahledy.FormShow (Sender: TObject);
- var sl: TStringList;
+ var lSQL: string;
+ sl: TStringList;
hndl: NativeUInt;
i: integer;
icn: TIcon;
@@ -278,6 +276,24 @@ uses datMod,
bidPalety:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT DPBID FROM ' + tblObecPrehled + ' WHERE NazevSys=N''hvw_Vyroba_Palety''');
+
+ idFormKA:= 0; // Kartonový Å¡tÃtek (Zebra)
+ idFormPS:= 0;
+ idFormPL:= 0;
+
+ lSQL:= 'SELECT * FROM ' + tblKZe + ' WHERE ID=' + idKmen.ToString;
+ with Helios.OpenSQL(lSQL) do
+ if (RecordCount=1) then
+ begin
+ First;
+ if not(TryStrToInt(VarToStr(FieldByNameValues('_KL')), idFormKA)) then
+ idFormKA:= 0;
+ if not(TryStrToInt(VarToStr(FieldByNameValues('_PalStitek')), idFormPS)) then
+ idFormPS:= 0;
+ if not(TryStrToInt(VarToStr(FieldByNameValues('_PLKK')), idFormPL)) then
+ idFormPL:= 0;
+ end;
+
end;
end.
diff --git a/frmUkonceniPalety.pas b/frmUkonceniPalety.pas
index 4ec44a8..3c78a07 100644
--- a/frmUkonceniPalety.pas
+++ b/frmUkonceniPalety.pas
@@ -6,7 +6,7 @@ uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls, Vcl.Mask, Vcl.Buttons,
IdHTTP, IdSSLOpenSSL, REST.Json,
- ddPlugin_TLB, JsonDataObjects, ColorButton;
+ ddPlugin_TLB, JsonDataObjects, ColorButton, uPing;
{$I iConsts.inc}
@@ -81,6 +81,7 @@ var
tiskNa: byte;
idKmen, idPalety, idFormKA, idFormPL, idFormPS: integer;
mjEvid: string;
+ jeFinal, jePolotovar: boolean;
pocKA, pocKS, ksVKA: Extended;
prepKA2ks, prepKA2pal: Extended;
@@ -339,6 +340,9 @@ uses DateUtils, Math, StrUtils,
begin
idKmen:= 0;
mjEvid:= '';
+ jeFinal:= false;
+ jePolotovar:= false;
+
if (idVPr>0) then
begin
with Helios.OpenSQL('SELECT k.SkupZbo, k.RegCis, k.Nazev1, vp.IDTabKmen, k.MJEvidence FROM ' + tblVPr + ' vp INNER JOIN ' + tblKZ + ' k ON (k.ID=vp.IDTabKmen) WHERE vp.ID=' + idVPr.ToString) do
@@ -348,6 +352,9 @@ uses DateUtils, Math, StrUtils,
edtSZ.Text:= VarToStr(FieldByNameValues('SkupZbo'));
edtRegCis.Text:= VarToStr(FieldByNameValues('RegCis'));
edtNazev1.Text:= VarToStr(FieldByNameValues('Nazev1'));
+
+ jeFinal:= helUtils.sqlExistsTestGeneral (Helios, 'SELECT 1 FROM ' + tblParKZ + ' WHERE IDKmenZbozi=' + idKmen.ToString + ' AND TypDilce=0');
+ jePolotovar:= helUtils.sqlExistsTestGeneral (Helios, 'SELECT 1 FROM ' + tblParKZ + ' WHERE IDKmenZbozi=' + idKmen.ToString + ' AND TypDilce=1');
end;
pocKA:= NactiPocetKAZEvidRozpOperR;
@@ -504,7 +511,7 @@ uses DateUtils, Math, StrUtils,
var lSQL, lSQL2, podm, errMsg, a, novyPL, idMzdyS, idMezdS, skSubPrikaz, sTemp, sRnd, sklVyd, radaVyd: string;
nazevOp, mjDilce: string;
pocKA, pocKAOld, pocKS, noveMnoz, NPalPocKA, NPalPocKS, prepKA2ks, mnozProKoef, koefMn : extended;
- casPrace, idEvOpR, idMzdy, locIdVPr, d, d2, cnt: integer;
+ casPrace, idEvOpR, idMzdy, locIdVPr, d, d2, cnt, iPing: integer;
bid, idF, idPalUkonceni, idPrac, idDZ, idDZVyd: integer;
spotrebaTesto, spotreba702, vydejOK: boolean;
fSarzeVydej: TformSarzeVydej;
@@ -764,10 +771,11 @@ uses DateUtils, Math, StrUtils,
}
lSQL:= lSQL + 'DECLARE @e NVARCHAR(500)=N''''; IF OBJECT_ID(N''dbo.ep_Vyroba_GenOdvodZeMzdy'', N''P'') IS NOT NULL EXEC dbo.ep_Vyroba_GenOdvodZeMzdy @IDMzdy=' + idMzdy.ToString
+ ', @bezVyrCis=0, @realizujPrijem=1, @errMsg=@e OUT'; // @kopiiNaTechSklad=0,
- if (edtNazev1.Text.Contains('polotovar')) then
+ if (edtNazev1.Text.Contains('polotovar')) or (jePolotovar) then
lSQL:= lSQL + ', @skladOdvod=N''311'''
else
lSQL:= lSQL + ', @skladOdvod=N''312''';
+
lSQL:= lSQL + CRLF + 'SELECT @e';
errMsg:= helUtils.getHeliosStrVal (Helios, '', lSQL);
@@ -800,7 +808,9 @@ uses DateUtils, Math, StrUtils,
resp:= '';
respStream:= TStringStream.Create('');
- if (helUtils.PingHost (helUtils.NetGetHostName(datMod.phServer))) then
+ iPing:= uPing.Ping (datMod.getDomainName (datMod.phServer), resp);
+// if (helUtils.PingHost (helUtils.NetGetHostName(datMod.phServer))) then
+ if (iPing=0) then
begin
lHTTP.Post (datMod.phServer + IfThen(datMod.phServer.EndsWith('/'), '', '/') + 'prikaz', lParamList, respStream);
resp:= respStream.DataString.Replace('\/', '/');
diff --git a/frmZahajeniPalety.pas b/frmZahajeniPalety.pas
index 1ce0eed..5eb343e 100644
--- a/frmZahajeniPalety.pas
+++ b/frmZahajeniPalety.pas
@@ -6,7 +6,7 @@ uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Mask, Vcl.ExtCtrls,
IdHTTP, IdSSLOpenSSL, REST.Json, JsonDataObjects,
- ddPlugin_TLB, frmPekarna, frmTiskyNahledy;
+ ddPlugin_TLB, frmPekarna, frmTiskyNahledy, uPing;
{$I iConsts.inc}
@@ -71,6 +71,7 @@ type
Helios: IHelios;
idPrikaz: integer;
idStroj: integer;
+ idPaleta: integer;
datVyroba: TDateTime;
f: TformPekarna;
f2: TformTiskyNahledy;
@@ -85,6 +86,7 @@ var
m1, m2: integer;
mn, mnSum, mn2: integer;
idFormPL, idFormPS, idFormKA: integer;
+ idFormKL: integer; // Kartonový Å¡tÃtek (Zebra)
implementation
@@ -359,7 +361,7 @@ uses System.DateUtils, System.StrUtils, System.Math,
procedure TformZahajeniPalety.btnTiskStitkuClick (Sender: TObject);
var lSQL, podm, a, errMsg, rc, nazev1, nazevOp, strojNazev, sarze: string;
n1, n2, n3: integer;
- bid, idF: integer;
+ bidPL, bidKA, idF, idFormNastav: integer;
d: integer;
operace: TArray;
jsemPeceni: boolean;
@@ -367,6 +369,7 @@ uses System.DateUtils, System.StrUtils, System.Math,
mjDilce, szDilce: string;
ksVKA: integer;
mnozPec, mnozBal, mnoz, sumaMnoz, koefPec: extended;
+ iPing: integer;
// cPal, typPal: string;
i, ii, i2, ii2, id, idx, idVCPrikaz, idPalety, idEROp: integer;
@@ -378,7 +381,7 @@ uses System.DateUtils, System.StrUtils, System.Math,
lHTTP: TIdHTTP;
ssl: TIdSSLIOHandlerSocketOpenSSL;
lParamList, respStream: TStringStream;
- resp: string;
+ resp, resp2: string;
joOut, joIn, itemsObj: TJSONObject;
begin
// Tento výrobek nemá Å¡tÃtek, vytisknu pouze paletový
@@ -399,11 +402,11 @@ uses System.DateUtils, System.StrUtils, System.Math,
if not(TryStrToInt(edtPocetStitku.Text.Trim, n1)) then
- n1:= 0; // pocet kartonu
+ n1:= 0; // pocet kartonovych stitku
if not(TryStrToInt(edtPocetPL.Text.Trim, n2)) then
n2:= 0; // pocetPalet
if not(TryStrToInt(edtPocetStitkuMax.Text.Trim, n3)) then
- n3:= 0; // pocet kartonu max
+ n3:= 0; // pocet kartonovych stitku max
ksVKA:= helUtils.getHeliosIntVal (Helios, 0, 'SELECT dbo.ef_Kmen_VratPocetKsVKartonu (' + idKmen.ToString + ')');
@@ -448,7 +451,19 @@ uses System.DateUtils, System.StrUtils, System.Math,
lSQL:= lSQL + ' ,' + idVCPrikaz.ToString + ', ' + idKmen.ToString + ', CONVERT(datetime, N' + edtDatSpotreby.Text.QuotedString + ', 104)' + CRLF + ' SET @i=SCOPE_IDENTITY()' + CRLF + ' END' + CRLF;
lSQL:= lSQL + CRLF + 'SELECT @i';
idPalety:= helUtils.getHeliosIntVal (Helios, 0, lSQL);
- Helios.ExecSQL(lSQL);
+
+ if (f<>nil) and (idPalety>0) then
+ begin
+ try
+ f.grdStroje.DataSource.DataSet.Edit;
+ f.grdStroje.DataSource.DataSet.FieldByName('fIDPaleta').AsInteger:= idPalety;
+ f.grdStroje.DataSource.DataSet.Post;
+ except
+ f.grdStroje.DataSource.DataSet.Cancel;
+ end;
+ end;
+
+// Helios.ExecSQL(lSQL);
except on E:Exception do
begin
Helios.Error (#1'Chyba založenà palety ' + pl.ToString + #1 + CRLF + E.Message);
@@ -458,6 +473,15 @@ uses System.DateUtils, System.StrUtils, System.Math,
end;
+
+ if (opakTisky) and (idPaleta>0) then
+ idPalety:= idPaleta;
+
+ lSQL:= 'UPDATE ' + tblPalety + ' SET TiskDatExpirace=' + IfThen(rbTiskSpotrebaAno.Checked, '1', '0') + ', TiskSarze=' + IfThen(rbTiskSarzeAno.Checked, '1', '0')
+ + ' WHERE ID=' + idPalety.ToString;
+ Helios.ExecSQL (lSQL);
+
+
if (canCont) and not(opakTisky) then // jen pokud neni opakovany tisk (z Nahledu tisku)
begin
@@ -564,7 +588,7 @@ uses System.DateUtils, System.StrUtils, System.Math,
// posli JSON o vyrobene palete
try
resp:= GenerujJSON (idPrikaz, idVCPrikaz, idEROp, n1).ToJSON (true).Replace(#10,'').Replace(#9,'').Replace('''','');
-{$IFNDEF DEBUG}
+
if (resp<>'') and (idPalety>0) and (datMod.phServer<>'') then
begin
resp:= TJson.JsonEncode(resp);
@@ -573,27 +597,30 @@ uses System.DateUtils, System.StrUtils, System.Math,
try
lParamList:= TStringStream.Create('');
lParamList.WriteString (resp);
- // http klient je stejny
- lHTTP:= TIdHTTP.Create;
- if (datMod.phServer.Contains('https')) then
- begin
- ssl:= TIdSSLIOHandlerSocketOpenSSL.Create(nil);
- ssl.SSLOptions.Method:= sslvTLSv1_2;
- ssl.SSLOptions.Mode:= sslmUnassigned;
- lHTTP.IOHandler:= ssl;
- end;
- lHTTP.HTTPOptions:= [hoKeepOrigProtocol, hoForceEncodeParams, hoNoProtocolErrorException, hoWantProtocolErrorContent];
- lHTTP.Request.ContentType := 'application/ld+json';
- lHTTP.Request.Accept := 'application/ld+json, text/javascript, */*; q=0.01';
-
respStream:= TStringStream.Create('');
- resp:= '';
- if (helUtils.PingHost (helUtils.NetGetHostName(datMod.phServer))) then
- begin
+
+ iPing:= uPing.Ping (datMod.phServer, resp);
+// if (iPing=0) then
+// begin
+ // http klient je stejny
+ lHTTP:= TIdHTTP.Create;
+ if (datMod.phServer.Contains('https')) then
+ begin
+ ssl:= TIdSSLIOHandlerSocketOpenSSL.Create(nil);
+ ssl.SSLOptions.Method:= sslvTLSv1_2;
+ ssl.SSLOptions.Mode:= sslmUnassigned;
+ lHTTP.IOHandler:= ssl;
+ end;
+ lHTTP.HTTPOptions:= [hoKeepOrigProtocol, hoForceEncodeParams, hoNoProtocolErrorException, hoWantProtocolErrorContent];
+ lHTTP.Request.ContentType := 'application/ld+json';
+ lHTTP.Request.Accept := 'application/ld+json, text/javascript, */*; q=0.01';
+
+ resp:= '';
lHTTP.Post (datMod.phServer + IfThen(datMod.phServer.EndsWith('/'), '', '/') + 'prikaz', lParamList, respStream);
resp:= respStream.DataString.Replace('\/', '/');
Helios.ExecSQL('UPDATE ' + tblPalety + ' SET JSONStartResp=N' + resp.QuotedString + ' WHERE ID=' + idPalety.ToString);
- end;
+// end;
+
finally
respStream.Free;
lParamList.Free;
@@ -602,7 +629,6 @@ uses System.DateUtils, System.StrUtils, System.Math,
lHTTP.Free;
end;
end;
-{$ENDIF}
except
end;
end; // jen pokud neni opakovany tisk (z Nahledu tisku)
@@ -610,41 +636,61 @@ uses System.DateUtils, System.StrUtils, System.Math,
if (canCont) then
begin
- bid:= helUtils.getHeliosIntVal (Helios, 0, 'SELECT DPBID FROM ' + tblObecPrehled + ' WHERE NazevSys=N''hvw_Vyroba_Palety''');
+ bidPL:= helUtils.getHeliosIntVal (Helios, 0, 'SELECT DPBID FROM ' + tblObecPrehled + ' WHERE NazevSys=N''hvw_Vyroba_Palety''');
+
// idF:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT ID FROM ' + tblFormDef + ' WHERE Nazev2=N''PEK-2''');
- if (bid>100000) then
+ if (bidPL>100000) then
begin
- if (idFormKA>0) then
+
+ if (idFormKA>0) then // Kartonový Å¡tÃtek (Zebra)
begin
+ lSQL:= 'SELECT TOP(1) ID FROM ' + tblTiskDef + ' WHERE FormDefID=' + idFormKA.ToString + ' AND LoginName IS NULL ORDER BY Prednastaveno DESC';
+ idFormNastav:= helUtils.getHeliosIntVal (Helios, 0, lSQL);
+ if (idFormNastav=0) then
+ begin
+ lSQL:= 'INSERT ' + tblTiskDef + ' (FormDefID, Nazev, Prednastaveno, Implicitni, LevyOkraj, HorniOkraj, TiskFronta) SELECT ' + idFormKA.ToString
+ + ', N''Tisk Zebra'', 1, 0, 0, 0, N''Zebra''' + CRLF + 'SELECT SCOPE_IDENTITY()';
+ idFormNastav:= helUtils.getHeliosIntVal (Helios, 0, lSQL);
+ end;
+ Helios.ExecSQL('UPDATE ' + tblTiskDef + ' SET PocetKopii=' + n1.ToString + ' WHERE ID=' + idFormNastav.ToString);
+
if (rbTiskNaObraz.Checked) then
begin
- podm:= 'hvw_Vyroba_Palety.CisloPalety=N' + pl.ToString.QuotedString;
- Helios.RunAction2 (bid, podm, 'ActionPrint');
+ if (idFormNastav>0) then
+ Helios.ExecSQL ('UPDATE ' + tblTiskDef + ' SET ZobrazNahled=1 WHERE ID=' + idFormNastav.ToString);
+// Helios.RunAction2 (bid, podm, 'ActionPrint');
end
else
- if (idKmen>0) and (1=0) then
begin
- podm:= 'TabKmenZbozi.ID=' + idKmen.ToString;
- for i:=1 to n1 do
- Helios.PrintForm3 (bidKZ, idFormKA, podm); // kartonovy stitek
+ if (idFormNastav>0) then
+ Helios.ExecSQL ('UPDATE ' + tblTiskDef + ' SET ZobrazNahled=0 WHERE ID=' + idFormNastav.ToString);
end;
+
+ podm:= 'hvw_Vyroba_Palety.CisloPalety=N' + pl.ToString.QuotedString;
+// for i:=1 to n1 do
+ Helios.PrintForm3 (bidPL, idFormKA, podm);
end;
- if (idFormPL>0) then
+
+// paletovy list
+ if (bidPL>100000) and (idFormPL>0) then
begin
podm:= 'hvw_Vyroba_Palety.CisloPalety=N' + pl.ToString.QuotedString;
if (rbTiskNaObraz.Checked) and (1=0) then
- Helios.RunAction2 (bid, podm, 'ActionPrint')
+// Helios.RunAction2 (bid, podm, 'ActionPrint')
else
for i:=1 to n2 do
- Helios.PrintForm3 (bid, idFormPL, podm); // paletovy list
+ Helios.PrintForm3 (bidPL, idFormPL, podm); // paletovy list
end;
+
+
end;
end;
end;
- dm.NactiStrojeAPraci (f);
+ if not(opakTisky) then
+ dm.NactiStrojeAPraci (f);
Close;
end;
@@ -652,7 +698,7 @@ uses System.DateUtils, System.StrUtils, System.Math,
procedure TformZahajeniPalety.FormShow (Sender: TObject);
- var lSQL : string;
+ var lSQL, dat : string;
mx: integer;
begin
if (datVyroba=0) then
@@ -683,7 +729,7 @@ uses System.DateUtils, System.StrUtils, System.Math,
edtPocetPL.Text:= '2'; // tiskne se jeden nebo dva paletove listy
- idFormKA:= 0;
+ idFormKA:= 0; // Kartonový Å¡tÃtek (Zebra)
idFormPS:= 0;
idFormPL:= 0;
@@ -699,6 +745,22 @@ uses System.DateUtils, System.StrUtils, System.Math,
if not(TryStrToInt(VarToStr(FieldByNameValues('_PLKK')), idFormPL)) then
idFormPL:= 0;
end;
+
+ lblWarnStitekKA.Visible:= (idFormKA=0);
+ lblWarnStitekPL.Visible:= (idFormPL=0);
+
+ edtBarvaStitku.Text:= '';
+ edtTypStitku.Text:= '';
+ edtVelkostStitku.Text:= '';
+
+ with Helios.OpenSQL ('SELECT * FROM ' + tblKZe + ' WHERE ID=' + idKmen.ToString) do
+ begin
+ edtBarvaStitku.Text:= VarToStr(FieldByNameValues('_ASOL_BarvaStitku'));
+// edtTypStitku.Text:= VarToStr(FieldByNameValues('_ASOL_BarvaStitku'));
+ edtVelkostStitku.Text:= VarToStr(FieldByNameValues('_RozmerStitku'));
+ end;
+
+
{
lSQL:= 'SELECT ke._KL FROM ' + tblVPr + ' vp INNER JOIN ' + tblKZ + ' k ON (k.ID=vp.IdTabKmen) INNER JOIN ' + tblKZe + ' ke ON (ke.ID=k.ID) WHERE vp.ID=' + idPrikaz.ToString;
idFormKA:= helUtils.getHeliosIntVal (Helios, 0, lSQL);
@@ -738,17 +800,38 @@ uses System.DateUtils, System.StrUtils, System.Math,
// typ palety je nove jen jeden, neurcuje se dle kmene !!!
cPal:= '';
- lSQL:= 'SELECT COUNT(ID) FROM ' + tblPrikazVC + ' WHERE IDPrikaz=' + idPrikaz.ToString + ' AND (Mnozstvi-Odvedeno-Zmetky)>0'
+ if not(opakTisky) then
+ begin
+ lSQL:= 'SELECT COUNT(ID) FROM ' + tblPrikazVC + ' WHERE IDPrikaz=' + idPrikaz.ToString + ' AND (Mnozstvi-Odvedeno-Zmetky)>0'
+ ' AND ID NOT IN (SELECT r.IDVyrCis FROM ' + tblRozpracOperR + ' r INNER JOIN ' + tblRozpracOper + ' h ON (h.ID=r.IDEvidRozpracOper) WHERE r.IDVyrCis IS NOT NULL)';
- mx:= helUtils.getHeliosIntVal (Helios, 0, lSQL);
+ mx:= helUtils.getHeliosIntVal (Helios, 0, lSQL);
+
+ if (mx>0) then
+ begin
+ lSQL:= lSQL.Replace('COUNT(ID) ', 'TOP(1) VyrCislo ') + ' ORDER BY VyrCislo';
+ cPal:= helUtils.getHeliosStrVal (Helios, '', lSQL);
+ end;
+ if (cPal='') then
+ cPal:= helUtils.getHeliosStrVal(Helios, '', 'SELECT dbo.ef_Vyroba_VratNovyPaletovyList (3,NULL,NULL,NULL)');
+ end
+ else
+ if (idPaleta>0) then // pri opakovanem tisku znam ID z dbo._TabVyroba_Palety
+ begin
+ with Helios.OpenSQL ('SELECT * FROM ' + tblPalety + ' WHERE ID=' + idPaleta.ToString + ' AND IDPrikaz=' + idPrikaz.ToString) do
+ begin
+ if (RecordCount=1) then
+ begin
+ cPal:= VarToStr(FieldByNameValues('CisloPalety'));
+ edtSarze.Text:= VarToStr(FieldByNameValues('Sarze'));
+ dat:= VarToStr(FieldByNameValues('DatZahajeni'));
+ if (dat.IndexOf(' ')>-1) then
+ dat:= LeftStr(dat, dat.IndexOf(' ')).Trim;
+ edtDatVyroby.Text:= dat;
+ edtDatSpotreby.Text:= VarToStr(FieldByNameValues('DatExpirace'));
+ end;
+ end;
+ end;
- if (mx>0) then
- begin
- lSQL:= lSQL.Replace('COUNT(ID) ', 'TOP(1) VyrCislo ') + ' ORDER BY VyrCislo';
- cPal:= helUtils.getHeliosStrVal (Helios, '', lSQL);
- end;
- if (cPal='') then
- cPal:= helUtils.getHeliosStrVal(Helios, '', 'SELECT dbo.ef_Vyroba_VratNovyPaletovyList (3,NULL,NULL,NULL)');
edtPL.Text:= cPal;
diff --git a/frmZasobaObjednavky.pas b/frmZasobaObjednavky.pas
index f313f5b..c8f62f4 100644
--- a/frmZasobaObjednavky.pas
+++ b/frmZasobaObjednavky.pas
@@ -259,7 +259,7 @@ uses System.StrUtils, System.Math,
- procedure TformZasobaObjednavky.Label1Click(Sender: TObject);
+ procedure TformZasobaObjednavky.Label1Click (Sender: TObject);
begin
edtSZ.Text:= '';
edtRC.Text:= '';