Zacatek uprav Ramcovy plan

This commit is contained in:
2025-06-10 19:43:13 +02:00
parent fedc940ac4
commit 5fcde65f6b
30 changed files with 1863 additions and 334 deletions

View File

@ -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), ',');

View File

@ -102,7 +102,7 @@
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">
<VerInfo_Keys>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</VerInfo_Keys>
<VerInfo_Keys>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</VerInfo_Keys>
<DCC_Define>madExcept;$(DCC_Define)</DCC_Define>
<DCC_MapFile>3</DCC_MapFile>
<DCC_DebugInformation>2</DCC_DebugInformation>
@ -128,7 +128,7 @@
<DCC_DebugInfoInExe>true</DCC_DebugInfoInExe>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<VerInfo_Locale>1033</VerInfo_Locale>
<VerInfo_Keys>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</VerInfo_Keys>
<VerInfo_Keys>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</VerInfo_Keys>
<Manifest_File>(None)</Manifest_File>
<AppDPIAwarenessMode>none</AppDPIAwarenessMode>
<DCC_Define>madExcept;$(DCC_Define)</DCC_Define>

View File

@ -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

View File

@ -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<EFBFBD>vky na materi<72>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<73>mov<6F> <20><>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<EFBFBD>en<EFBFBD> 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<EFBFBD>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<EFBFBD> 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<EFBFBD>stv<EFBFBD>', 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<EFBFBD>stv<EFBFBD> na v<>dejk<6A>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<EFBFBD> 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'<EFBFBD>ar<EFBFBD>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<EFBFBD>n<EFBFBD> objedn<64>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<EFBFBD>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<EFBFBD>tnuto skladem', N'Odm<EFBFBD>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<EFBFBD>et pohyb<79> 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<EFBFBD>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<6F>n<EFBFBD>', 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

View File

@ -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<EFBFBD> polo<6C>ky objedn<64>vky na materi<72>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<73>mov<6F> <20><>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<EFBFBD>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<EFBFBD>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<6C>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<EFBFBD>stv<EFBFBD>', 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<EFBFBD> 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'<EFBFBD>ar<EFBFBD>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

153
_sql/2UT/utRamcovyPlan.sql Normal file
View File

@ -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<EFBFBD>mcov<EFBFBD> pl<70>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<6F> 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<EFBFBD>s<EFBFBD>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<EFBFBD>stv<EFBFBD>', 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''

View File

@ -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<65>rna', @NazevAtrVer=N'Typ polo<6C>ek objedn<64>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<72>l/polotovar
2=Fin<69>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

View File

@ -16,13 +16,16 @@ IF (COL_LENGTH(N'dbo.TabPohybyZbozi_EXT', N'_Vyroba_Sarze') IS NULL)
@NazevAtrVerZkr=N'<EFBFBD>ar<EFBFBD>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<65>rna', @NazevAtrVer=N'Paletov<EFBFBD> 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<65>rna', @NazevAtrVer=N'Silo um<75>st<73>n<EFBFBD> mouky',

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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<EFBFBD> sklad - Materi<72>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<6E><65>%' 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<EFBFBD>roba - Pek<65>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<EFBFBD> sklad - V<>robky / Zbo<62><6F>'
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
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)
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)
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<EFBFBD>n<EFBFBD> v<>dej' WHERE ID=@idDZ
UPDATE dbo._TabVyroba_Objednavky SET IDDokladOZ=@idDZ WHERE ID=@idPHObj
UPDATE dbo.TabDokladyZbozi SET BlokovaniEditoru=NULL, Poznamka=N'No<EFBFBD>n<EFBFBD> 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<6E>n<EFBFBD> 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<6E>n<EFBFBD> p<>evodky'
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
SET @logTyp=0
SET @logInt=0
SET @logStr = N''
SET @log4Mail = 0
SET @logText = N''
END
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

View File

@ -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<6E><65>%' 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

View File

@ -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)

View File

@ -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,

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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'

View File

@ -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;

View File

@ -122,7 +122,6 @@ object formObjednavkaMat: TformObjednavkaMat
ReadOnly = True
Title.Alignment = taCenter
Title.Caption = 'Dod'#225'no'
Width = 64
Visible = True
end
item

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -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.

View File

@ -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('\/', '/');

View File

@ -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<TOperace>;
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;

View File

@ -259,7 +259,7 @@ uses System.StrUtils, System.Math,
procedure TformZasobaObjednavky.Label1Click(Sender: TObject);
procedure TformZasobaObjednavky.Label1Click (Sender: TObject);
begin
edtSZ.Text:= '';
edtRC.Text:= '';