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_VratNovyPaletovyList');
arrDefs.Add('ef_Vyroba_VratCisloSarze'); arrDefs.Add('ef_Vyroba_VratCisloSarze');
arrDefs.Add('ef_Kmen_VratPocetKsVKartonu'); arrDefs.Add('ef_Kmen_VratPocetKsVKartonu');
arrDefs.Add('tbl__TabVyrobaObjednavky'); // arrDefs.Add('tbl__TabVyrobaObjednavky');
// arrDefs.Add('tbl__TabVyrobaOperaceStartStop'); // arrDefs.Add('tbl__TabVyrobaOperaceStartStop');
arrDefs.Add('ep_P01_HDC1'); arrDefs.Add('ep_P01_HDC1');
@ -219,6 +219,7 @@ var oVar1, oVar2: OleVariant;
arrDefs.Add('ep_Vyroba_VyrobaMimoPlan'); arrDefs.Add('ep_Vyroba_VyrobaMimoPlan');
arrDefs.Add('ep_Vyroba_Doklady_Micharna'); arrDefs.Add('ep_Vyroba_Doklady_Micharna');
arrDefs.Add('ep_Vyroba_Doklady_PomocPrijemka');
arrDefs.Add('ep_Vyroba_GenVydejZeMzdy'); arrDefs.Add('ep_Vyroba_GenVydejZeMzdy');
arrDefs.Add('ep_Vyroba_GenOdvodZeMzdy'); arrDefs.Add('ep_Vyroba_GenOdvodZeMzdy');
arrDefs.Add('ep_Vyroba_DoplnSkladProVydejDleDokl'); arrDefs.Add('ep_Vyroba_DoplnSkladProVydejDleDokl');
@ -226,6 +227,7 @@ var oVar1, oVar2: OleVariant;
arrDefs.Add('ep_Vyroba_InsertEvidRozpracOper'); arrDefs.Add('ep_Vyroba_InsertEvidRozpracOper');
arrDefs.Add('ep_Vyroba_PrijemNestandard'); arrDefs.Add('ep_Vyroba_PrijemNestandard');
arrDefs.Add('ep_Vyroba_VyrobaMimoPlan'); arrDefs.Add('ep_Vyroba_VyrobaMimoPlan');
arrDefs.Add('ep_Vyroba_GenObjednavkuMatDoVyroby');
arrDefs.Add('ep_HDC_PZ_ZapisPolozek'); arrDefs.Add('ep_HDC_PZ_ZapisPolozek');
arrDefs.Add('ep_Vyroba_GenerujPalety'); arrDefs.Add('ep_Vyroba_GenerujPalety');
arrDefs.Add('ep_Vyroba_GenSouhrnnyVydej'); arrDefs.Add('ep_Vyroba_GenSouhrnnyVydej');
@ -246,8 +248,8 @@ var oVar1, oVar2: OleVariant;
// arrDefs.Add('spec_Clear'); // arrDefs.Add('spec_Clear');
arrDefs.Add('trg__TabVyrobaObjednavky_IU'); // arrDefs.Add('trg__TabVyrobaObjednavky_IU');
arrDefs.Add('trg__TabVyrobaObjednavky_Pol_D'); // arrDefs.Add('trg__TabVyrobaObjednavky_Pol_D');
arrDefs.Add('trg__TabVyrobaPalety_IU'); arrDefs.Add('trg__TabVyrobaPalety_IU');
arrDefs.Add('trg__TabVyrobaPalety_D'); arrDefs.Add('trg__TabVyrobaPalety_D');
arrDefs.Add('trg__TabPohybyZbozi_HDC_IU'); arrDefs.Add('trg__TabPohybyZbozi_HDC_IU');
@ -257,6 +259,7 @@ var oVar1, oVar2: OleVariant;
arrDefs.Add('trg__TabVyrobaPaletyUkonceni_D'); arrDefs.Add('trg__TabVyrobaPaletyUkonceni_D');
arrDefs.Add('trg__TabVyrobaVydejMatSarze_IU'); arrDefs.Add('trg__TabVyrobaVydejMatSarze_IU');
arrDefs.Add('trg__TabVyrCisPrikaz_HDC_D'); arrDefs.Add('trg__TabVyrCisPrikaz_HDC_D');
arrDefs.Add('trg__TabPrikazMzdyAZmetky_HDC_D');
for i:=0 to arrDefs.Count-1 do for i:=0 to arrDefs.Count-1 do
begin 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) Helios.Error(#1'Akci můžete spustit jen nad dokladem Výdejky/převodky řady 231'#1)
else else
begin 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 if (tBid>0) then
begin 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; 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 if Helios.Prenos2 (tBid, 'ID', 'ID', oVar1, oVar2, podm, 'Vyberte položky', false, true, false, 1) then
begin begin
arrId:= helUtils.StrToArrayInt (VarToStr(oVar1), ','); arrId:= helUtils.StrToArrayInt (VarToStr(oVar1), ',');

View File

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

View File

@ -4,7 +4,7 @@ object formVyberTydne: TformVyberTydne
BorderIcons = [biSystemMenu] BorderIcons = [biSystemMenu]
BorderStyle = bsSingle BorderStyle = bsSingle
Caption = ' V'#253'robn'#237' t'#253'den' Caption = ' V'#253'robn'#237' t'#253'den'
ClientHeight = 473 ClientHeight = 451
ClientWidth = 311 ClientWidth = 311
Color = clBtnFace Color = clBtnFace
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
@ -82,11 +82,11 @@ object formVyberTydne: TformVyberTydne
OnChange = cbRokChange OnChange = cbRokChange
end end
object btnDnes: TButton object btnDnes: TButton
Left = 196 Left = 186
Top = 8 Top = 8
Width = 105 Width = 115
Height = 36 Height = 36
Caption = 'Dnes' Caption = 'Aktu'#225'ln'#237' t'#253'den'
TabOrder = 2 TabOrder = 2
OnClick = btnDnesClick OnClick = btnDnesClick
end 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, @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, @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 @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, @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, @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 @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) 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', 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, @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, @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 @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) 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', 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 @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) IF (@bi = 1)
SET @bi = 5200001 SET @bi = 5200001
SET @retVal = CONVERT(nvarchar, @bi) 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) 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 SELECT @idPHIdent=IdPHIdent, @idPHIdent2=IdPHIdent2, @idKmen=IDKmenZbozi, @sz=SkupZbo, @rc=RegCis, @mnoz=Mnozstvi, @paletList=PaletovyList, @sarze=Sarze
FROM dbo._TabVyroba_Objednavky WHERE ID=@idPol FROM dbo._TabVyroba_Objednavky WHERE ID=@idPol
SET @sarze = ISNULL(@sarze, N'')
SET @paletList = ISNULL(@paletList, N'') SET @paletList = ISNULL(@paletList, N'')
IF (@idKmen IS NOT NULL) 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 EXEC dbo.hp_InsertStavSkladu @IDKmen=@idKmen, @IDSklad=@sklad, @IDZboSklad=@idStav OUT
IF (@idStav IS NOT NULL) IF (@idStav IS NOT NULL)
BEGIN BEGIN
EXEC dbo.hp_InsertPolozkyOZ @Ident=@idPZ OUT, @IDDoklad=@idDokladOZDst, @DruhPohybu=@dpz, @CisloOrg=@cisOrg, @IDZboSklad=@idStav, @Mena=@dzMena, @Kurz=@dzKurz, @KurzEuro=@dzKurzE, EXEC dbo.hp_InsertPolozkyOZ @Ident=@idPZ OUT, @IDDoklad=@idDokladOZDst, @DruhPohybu=@dpz, @CisloOrg=@cisOrg, @IDZboSklad=@idStav, @Mena=@dzMena,
@JednotkaMeny=@jednM, @SazbaSD=NULL, @SazbaDPH=NULL, @ZakazanoDPH=NULL, @VstupniCena=@vstC, @Mnozstvi=@mnoz, @PovolitDuplicitu=1 @Kurz=@dzKurz, @KurzEuro=@dzKurzE, @JednotkaMeny=@jednM, @SazbaSD=NULL, @SazbaDPH=NULL, @ZakazanoDPH=NULL,
@VstupniCena=@vstC, @Mnozstvi=@mnoz, @PovolitDuplicitu=1
IF (@idPZ IS NOT NULL) IF (@idPZ IS NOT NULL)
BEGIN BEGIN
UPDATE dbo._TabVyroba_Objednavky SET Blokovano=1 WHERE ID=@idPol UPDATE dbo._TabVyroba_Objednavky SET Blokovano=1 WHERE ID=@idPol
UPDATE dbo.TabPohybyZbozi_EXT SET _HDCAPI_PHident=@idPol WHERE ID=@idPZ IF NOT EXISTS (SELECT 1 FROM dbo.TabPohybyZbozi_EXT WHERE ID=@idPZ)
IF (@@ROWCOUNT=0) INSERT dbo.TabPohybyZbozi_EXT (ID) VALUES (@idPZ)
INSERT dbo.TabPohybyZbozi_EXT (ID, _HDCAPI_PHident) SELECT @idPZ, @idPol 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 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 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 -- @idPZ
END -- @idStav 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.TabStavSkladu s ON (s.ID=p.IDZboSklad)
INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi) INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi)
INNER JOIN dbo.TabUmisteni u ON (u.ID=p.IDUmisteni) 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 OPEN c
WHILE (1=1) WHILE (1=1)
BEGIN BEGIN
@ -153,17 +153,29 @@ IF (@rada IN (N'251', N'261', N'281')) AND (@idSklad=@sklPekarna)
-- prijemky a storna na hlavni sklad -- prijemky a storna na hlavni sklad
IF (@rada IN (N'251', N'259', N'261', N'269')) AND (@idSklad=@sklMatHlavni) IF (@rada IN (N'251', N'259', N'261', N'269')) AND (@idSklad=@sklMatHlavni)
BEGIN 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) 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 SELECT p.ID, p.IDDoklad, p.IDZboSklad, vcp.Nazev, vcp.IDVyrCis, vcp.Mnozstvi, vcp.Nazev, vcs.Nazev1, p.IDUmisteni
FROM dbo.TabPohybyZbozi p 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.TabVyrCP vcp ON (vcp.IDPolozkaDokladu=p.ID)
INNER JOIN dbo.TabVyrCS vcs ON (vcs.ID=vcp.IDVyrCis) INNER JOIN dbo.TabVyrCS vcs ON (vcs.ID=vcp.IDVyrCis)
WHERE p.IDDoklad=@IDDoklad WHERE p.IDDoklad=@IDDoklad
-- AND k.Material=1
ORDER BY p.Poradi, vcp.ID ORDER BY p.Poradi, vcp.ID
-- odstran umisteni, delalo by problem pri vydeji -- odstran umisteni, delalo by problem pri vydeji
UPDATE dbo.TabPohybyZbozi SET IDUmisteni=NULL WHERE IDDoklad=@IDDoklad 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) SET @iTemp = ISNULL( (SELECT MAX(ID) FROM dbo.TabVyrCP), 0)
DBCC CHECKIDENT (TabVyrCP, RESEED, @iTemp) DBCC CHECKIDENT (TabVyrCP, RESEED, @iTemp)
END END

View File

@ -84,19 +84,29 @@ IF (@rada IN (N'231')) AND (@idSklad=@sklMatHlavni) AND (@idSkladPrev=@sklPekarn
CLOSE p CLOSE p
DEALLOCATE 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) 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 SELECT p.ID, p.IDDoklad, p.IDZboSklad, vcp.Nazev, vcp.IDVyrCis, vcp.Mnozstvi, vcp.Nazev, vcs.Nazev1, p.IDUmisteni
FROM dbo.TabPohybyZbozi p 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.TabVyrCP vcp ON (vcp.IDPolozkaDokladu=p.ID)
INNER JOIN dbo.TabVyrCS vcs ON (vcs.ID=vcp.IDVyrCis) INNER JOIN dbo.TabVyrCS vcs ON (vcs.ID=vcp.IDVyrCis)
WHERE p.IDDoklad=@IDDoklad WHERE p.IDDoklad=@IDDoklad
-- AND k.Material=1
ORDER BY p.Poradi, vcp.ID ORDER BY p.Poradi, vcp.ID
-- odstran umisteni, delalo by problem pri vydeji -- odstran umisteni, delalo by problem pri vydeji
UPDATE dbo.TabPohybyZbozi SET IDUmisteni=NULL WHERE IDDoklad=@IDDoklad UPDATE dbo.TabPohybyZbozi SET IDUmisteni=NULL WHERE IDDoklad=@IDDoklad
-- smaz vyrobni cisla, jejich evidenci vede ProHolding -- smaz vyrobni cisla/sarze materialu, jejich evidenci vede ProHolding - nesmi se mazat u vyrobenych polotovaru, u tech mame cislo paletoveho listu !!!
DELETE FROM dbo.TabVyrCP WHERE IDPolozkaDokladu IN (SELECT ID FROM dbo.TabPohybyZbozi WHERE IDDoklad=@IDDoklad) -- 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) SET @iTemp = ISNULL( (SELECT MAX(ID) FROM dbo.TabVyrCP), 0)
DBCC CHECKIDENT (TabVyrCP, RESEED, @iTemp) DBCC CHECKIDENT (TabVyrCP, RESEED, @iTemp)
END END

View File

@ -18,6 +18,7 @@ DECLARE
@errMsg NVARCHAR(500), @errMsg NVARCHAR(500),
@bChyba BIT, @bChyba BIT,
@iChyba INT, @iChyba INT,
@iTemp INT,
@debugXml XML, @debugXml XML,
@gKV XML, @gKV XML,
@kv XML, @kv XML,
@ -38,7 +39,7 @@ DECLARE
DECLARE DECLARE
@cOrg INT, @cOrg INT,
@sklMat NVARCHAR(30), @sklMat NVARCHAR(30)=N'311',
@sklTechnicky NVARCHAR(30), @sklTechnicky NVARCHAR(30),
@sklPek NVARCHAR(30), @sklPek NVARCHAR(30),
@sklProFin NVARCHAR(30)=N'312', @sklProFin NVARCHAR(30)=N'312',
@ -46,6 +47,7 @@ DECLARE
@radaTechVydej NVARCHAR(30)=N'223', @radaTechVydej NVARCHAR(30)=N'223',
@radaTechPrijem NVARCHAR(30)=N'', @radaTechPrijem NVARCHAR(30)=N'',
@sklVydejMat NVARCHAR(30), @sklVydejMat NVARCHAR(30),
@sklProVydej NVARCHAR(30),
@radaDZVydejka NVARCHAR(3)=NULL, @radaDZVydejka NVARCHAR(3)=NULL,
@radaDZPrevodV NVARCHAR(3)=NULL, @radaDZPrevodV NVARCHAR(3)=NULL,
@prevodka BIT=0, @prevodka BIT=0,
@ -124,7 +126,9 @@ DECLARE
@idVCS INT, @idVCS INT,
@idVCP INT, @idVCP INT,
@sz NVARCHAR(3), @sz NVARCHAR(3),
@sz2 NVARCHAR(3),
@rc NVARCHAR(30), @rc NVARCHAR(30),
@rc2 NVARCHAR(30),
@idUmist INT, @idUmist INT,
@sarze NVARCHAR(30), @sarze NVARCHAR(30),
@paletList NVARCHAR(30), @paletList NVARCHAR(30),
@ -137,7 +141,8 @@ DECLARE
@mnozEvid NUMERIC(19,6), @mnozEvid NUMERIC(19,6),
@idVazVP INT, @idVazVP INT,
@mnozVyssiReq NUMERIC(19,6), @mnozVyssiReq NUMERIC(19,6),
@mnozVyssiOdv NUMERIC(19,6) @mnozVyssiOdv NUMERIC(19,6),
@mnozVyssiOdvSum NUMERIC(19,6)
DECLARE DECLARE
@idStartStopOp INT, @idStartStopOp INT,
@ -162,6 +167,7 @@ DECLARE
DECLARE DECLARE
@idKZv INT, @idKZv INT,
@idKZn INT, @idKZn INT,
@idKZn2 INT,
@idPrKVazbyPolot INT, @idPrKVazbyPolot INT,
@idPrKVazbyNova INT, @idPrKVazbyNova INT,
@novaPriorita 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 @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 @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 @TabIDMzdy TABLE (ID INT NOT NULL)
DECLARE @TabNocniPrevodky TABLE (IDSklad NVARCHAR(30), IDDoklad INT)
-- tabulky pro generovani vydejky a odvodu -- tabulky pro generovani vydejky a odvodu
@ -338,15 +345,24 @@ DROP TABLE IF EXISTS #HDCTabDefiniceProZapisJSON
IF (@sklMat IS NULL) IF (@sklMat IS NULL)
SELECT @sklMat=Cislo FROM dbo.TabStrom WHERE Nazev=N'Hlavn<EFBFBD> sklad - Materi<72>l' 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 SET @sklProPolo = @sklMat
IF (@sklTechnicky IS NULL) IF (@sklTechnicky IS NULL)
SELECT @sklTechnicky=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%ne<6E><65>%' AND CisloStr LIKE N'2%' 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) IF (@sklPek IS NULL)
SELECT @sklPek=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'V<EFBFBD>roba - Pek<65>rna' 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) IF (@sklTechnicky IS NULL) AND (@sklPek IS NOT NULL)
SET @sklTechnicky=@sklPek SET @sklTechnicky=@sklPek
IF (@sklProFin IS NULL) IF (@sklProFin IS NULL)
SELECT @sklProFin=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Hlavn<EFBFBD> sklad - V<>robky / Zbo<62><6F>' 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) IF (@radaTechVydej IS NOT NULL)
SET @radaDZVydejka = @radaTechVydej SET @radaDZVydejka = @radaTechVydej
@ -529,12 +545,17 @@ WHILE (1=1)
IF (@sz=N'921') AND (@rc=N'001000') IF (@sz=N'921') AND (@rc=N'001000')
SET @vodaLitry = @mnoz 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 BEGIN
SET @moukaKgFin = @mnoz SET @moukaKgFin = @mnoz
SET @moukaKgNorma = @mnoz2 SET @moukaKgNorma = @mnoz2
END 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) 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) IF (@idKZ IS NOT NULL)
BEGIN BEGIN
@ -563,7 +584,7 @@ WHILE (1=1)
SET @kv = (SELECT * FROM @PrKVazby FOR XML AUTO) SET @kv = (SELECT * FROM @PrKVazby FOR XML AUTO)
IF (@subtypDokum='michani') OR (@subtypDokum=N'') IF (@subtypDokum=N'michani') OR (@subtypDokum=N'')
BEGIN BEGIN
SET @mnozEvid = ISNULL(@mnozEvid, 1) 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 -- 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) SET @gKV = (SELECT * FROM #TabPrKVazbyGen FOR XML AUTO)
-- u michani odmaz vodu -- u michani odmaz vodu
IF (@subtypDokum='michani') OR (@subtypDokum=N'') IF (@subtypDokum=N'michani') OR (@subtypDokum=N'')
BEGIN BEGIN
DELETE FROM #TabPrKVazbyGen WHERE nizsi=(SELECT ID FROM dbo.TabKmenZbozi WHERE SkupZbo=N'921' AND RegCis=N'001000') 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; 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 FROM dbo.TabPohybyZbozi p
INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad) INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad)
INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi) 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 OPEN vyPol
WHILE (1=1) WHILE (1=1)
BEGIN 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 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 -- u michani a mouky zadat i silo
IF (@subtypDokum='michani') OR (@subtypDokum=N'') IF (@subtypDokum=N'michani') OR (@subtypDokum=N'')
BEGIN 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) IF (@jsemMouka=1)
UPDATE dbo.TabPohybyZbozi_EXT SET _Mouka_Silo=@moukaSilo WHERE ID=@idPZ UPDATE dbo.TabPohybyZbozi_EXT SET _Mouka_Silo=@moukaSilo WHERE ID=@idPZ
END END
@ -753,50 +775,7 @@ WHILE (1=1)
-- begin: pomocna prijemka nedostatecneho materialu (jen materialu !!!) -- begin: pomocna prijemka nedostatecneho materialu (jen materialu !!!)
SET @idDZPomocPrij=NULL EXEC dbo.ep_Vyroba_Doklady_PomocPrijemka @idVydej=@idDZ
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
-- end: pomocna prijemka nedostatecneho materialu -- end: pomocna prijemka nedostatecneho materialu
@ -919,67 +898,95 @@ WHILE (1=1)
IF (@subtypDokum=N'michani') OR (@subtypDokum=N'') IF (@subtypDokum=N'michani') OR (@subtypDokum=N'')
BEGIN BEGIN
DECLARE vazP CURSOR LOCAL FOR IF ISNULL( (SELECT COUNT(ID) FROM dbo.TabVazbyPrikazu WHERE IDPrikaz=@idVPr), 0)>1
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)
BEGIN BEGIN
FETCH FROM vazP INTO @idVazVP, @idVPrVyssi, @mnozVyssiReq, @mnozVyssiOdv SET @idVPrVyssi = NULL
IF (@@FETCH_STATUS<>0) BREAK 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 IF (@idVPrVyssi IS NULL)
-- pokud jsem testo, odved me na vyssi prikaz DECLARE vazP CURSOR LOCAL FOR
IF EXISTS (SELECT 1 FROM dbo.TabKmenZbozi WHERE SkupZbo=N'701' AND ID=@dilec) 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 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 -- v pripade necelociselneho mnozstvi davky testa to na vyssim prikazu zaokrouhli vcetne vypoctu ztrat
IF (@doklKV IS NOT NULL) 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)) 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 BEGIN
SELECT TOP(1) @mnDavkaPred=mnoz_zad, @mnDavkaPo=CEILING(mnoz_zad), @mnBezZtrat=mnozstvi, @mnSeZtrat=mnozstviSeZtratou 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) 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) 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) 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) 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 -- uprav i vazbu prikazu testa na vyssi
UPDATE dbo.TabVazbyPrikazu SET Mnozstvi=CEILING(Mnozstvi) WHERE ID=@idVazVP AND Mnozstvi<>CEILING(Mnozstvi) UPDATE dbo.TabVazbyPrikazu SET Mnozstvi=CEILING(Mnozstvi) WHERE ID=@idVazVP AND Mnozstvi<>CEILING(Mnozstvi)
END END
-- pripoj to k evidenci operace -- pripoj to k evidenci operace
IF (@idMzda IS NOT NULL) IF (@idMzda IS NOT NULL)
BEGIN 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 DELETE FROM #TabOdved_IDMzdy
INSERT #TabOdved_IDMzdy (IDPrikaz, IDMzdy) SELECT @idVPr, @idMzda
END END -- jsem SZ 701
/* END
EXEC @idPZ=dbo.hp_OdvedeniPrikazuPrevodem @DatPripadu=@aktDatum, @KonecneOdvedeniNatvrdo=0, @IDPrikazZdroj=@idVPr, @IDPrikazCil=@IDVPrVyssi, CLOSE vazP
@Doklad=@doklKV, @IDDilec=@dilec, @mnozstvi=1, @IDOdvedeniVC=0, @IDZakazModif=@idZakazModif DEALLOCATE vazP
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 END
CLOSE vazP
DEALLOCATE vazP
IF ISNULL( (SELECT COUNT(ID) FROM dbo.TabVazbyPrikazu WHERE IDPrikaz=@idVPr), 0)=1
IF 1=ISNULL( (SELECT COUNT(ID) FROM dbo.TabVazbyPrikazu WHERE IDPrikaz=@idVPr), 0)
BEGIN BEGIN
SELECT @idVazVP=ID, @idVPrVyssi=IDPrikazVyssi FROM dbo.TabVazbyPrikazu WHERE IDPrikaz=@idVPr 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 @dilecVyssi=IDTabKmen FROM dbo.TabPrikaz WHERE ID=@idVPrVyssi
SELECT @dilec=IDTabKmen FROM dbo.TabPrikaz WHERE ID=@idVPr SELECT @dilec=IDTabKmen FROM dbo.TabPrikaz WHERE ID=@idVPr
-- pokud jsem testo, odved me na vyssi prikaz -- 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) IF (@subtypDokum IN (N'maceni', N'baleni')) AND (@jeOdvOperace=1) AND (@idMzda IS NOT NULL)
BEGIN BEGIN
SELECT @nazevDilce=k.Nazev1 FROM dbo.TabPrikazMzdyAZmetky pmz INNER JOIN dbo.TabKmenZbozi k ON (k.ID=pmz.IDTabKmen) WHERE pmz.ID=@idMzda 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%') 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 EXEC dbo.ep_Vyroba_GenOdvodZeMzdy @IDMzdy=@idMzda, @bezVyrCis=0, @radaOdvod=N'283', @skladOdvod=@sklProPolo, @realizujPrijem=1, @errMsg=@errMsg OUT
ELSE ELSE
EXEC dbo.ep_Vyroba_GenOdvodZeMzdy @IDMzdy=@idMzda, @bezVyrCis=0, @radaOdvod=N'273', @skladOdvod=@sklProFin, @realizujPrijem=1, @errMsg=@errMsg OUT 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) INSERT dbo._TabVyroba_Objednavky (IDPrijataDataJson, IdPHIdent, IdPHIdent2, SkupZbo, RegCis, PaletovyList, Sarze, Mnozstvi, DatPorizeni)
SELECT @idJson, @idPHIdent, @idPHIdent2, @sz, @rc, @paletList, @sarze, @mnoz, @datPorizeni SELECT @idJson, @idPHIdent, @idPHIdent2, @sz, @rc, @paletList, @sarze, @mnoz, @datPorizeni
SET @idPHObj = SCOPE_IDENTITY() 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') IF (@typDokum='micharna') AND (@subtypDokum='nocni')
UPDATE dbo._TabVyroba_Objednavky SET NocniObjednavka=1 WHERE ID=@idPHObj UPDATE dbo._TabVyroba_Objednavky SET NocniObjednavka=1 WHERE ID=@idPHObj
END END
@ -1217,20 +1226,23 @@ WHILE (1=1)
SET @dpz = 4 SET @dpz = 4
DECLARE p CURSOR LOCAL FOR DECLARE p CURSOR LOCAL FOR
SELECT ID, IDPHIdent FROM @TabPHObj SELECT ID, IDPHIdent, IDSklad FROM @TabPHObj
OPEN p OPEN p
WHILE (1=1) WHILE (1=1)
BEGIN BEGIN
FETCH NEXT FROM p INTO @idPHObj, @idPHIdent FETCH NEXT FROM p INTO @idPHObj, @idPHIdent, @sklProVydej
IF (@@FETCH_STATUS<>0) BREAK IF (@@FETCH_STATUS<>0) BREAK
SET @idDZ = (SELECT IDDoklad FROM @TabNocniPrevodky WHERE IDSklad=@sklProVydej)
IF (@idDZ IS NULL) IF (@idDZ IS NULL)
BEGIN 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 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 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.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 -- 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 END
IF (@idDZ IS NOT NULL) 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) SET @idKZ = (SELECT ID FROM dbo.TabKmenZbozi WHERE SkupZbo=@sz AND RegCis=@rc)
IF (@idKZ IS NOT NULL) IF (@idKZ IS NOT NULL)
BEGIN 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) 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) IF (@idSS IS NOT NULL)
BEGIN BEGIN
EXEC dbo.hp_InsertPolozkyOZ @ident=@idPZ OUT, @IDDoklad=@idDZ, @DruhPohybu=@dpz, @CisloOrg=0, @IDZboSklad=@idSS, @Mena=@menaDZ, @Kurz=@kurzDZ, 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 END
SET @idVCP = NULL SET @idVCP = NULL
IF (@paletList<>N'') IF (@paletList<>N'') -- Helios VyrCis
BEGIN BEGIN
SET @idVCK = (SELECT ID FROM dbo.TabVyrCK WHERE IDKmenZbozi=@idKZ AND Nazev1=@paletList) SET @idVCK = (SELECT ID FROM dbo.TabVyrCK WHERE IDKmenZbozi=@idKZ AND Nazev1=@paletList)
IF (@idVCK IS NULL) IF (@idVCK IS NULL)
@ -1286,51 +1298,73 @@ WHILE (1=1)
CLOSE p CLOSE p
DEALLOCATE p DEALLOCATE p
IF (@idDZ IS NOT NULL) DECLARE dok CURSOR LOCAL FOR
SELECT IDDoklad FROM @TabNocniPrevodky
OPEN dok
WHILE (1=1)
BEGIN BEGIN
UPDATE dbo.TabDokladyZbozi SET BlokovaniEditoru=NULL WHERE ID=@idDZ FETCH NEXT FROM dok INTO @idDZ
SET @logTyp=3 IF (@@FETCH_STATUS<>0) BREAK
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() IF (@idDZ IS NOT NULL)
EXEC dbo.hp_Realizuj_Vydej @ID=@idDZ, @DatumRealizace=@aktDatum, @Uzivatel=0, @Hlidat=0, @BylaChyba=@bChyba OUT
IF (@bChyba=0)
BEGIN BEGIN
-- je vygenerovana prijemka na druhe strane ? pokud ne, vygeneruj ji UPDATE dbo.TabDokladyZbozi SET BlokovaniEditoru=NULL WHERE ID=@idDZ
IF NOT EXISTS (SELECT 1 FROM dbo.TabPohybyZbozi WHERE IDOldPolozka IN (SELECT ID FROM dbo.TabPohybyZbozi WHERE IDDoklad=@idDZ)) SET @logTyp=3
BEGIN SET @logInt=@idDZ
SET @aktDatum = GETDATE() SET @logStr = @parZnak
EXEC dbo.hp_InsertHlavickyOZ @ident=@idDZDst OUT, @Sklad=@sklPek, @DruhPohybu=0, @RadaDokladu='281', SET @log4Mail = 1
@Mena=@menaDZ, @CisloOrg=0, @DatumPorizeni=@aktDatum SET @logText = N'Nelze realizovat v<>dejka no<6E>n<EFBFBD> p<>evodky'
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 @aktDatum = GETDATE()
SET @logInt=0
SET @logStr = N'' -- odchytni chybu pri realizaci, chceme aby tam doklad zustal a vyresili to rucne
SET @log4Mail = 0 BEGIN TRY
SET @logText = N'' EXEC dbo.hp_Realizuj_Vydej @ID=@idDZ, @DatumRealizace=@aktDatum, @Uzivatel=0, @Hlidat=0, @BylaChyba=@bChyba OUT
END END TRY
BEGIN CATCH
SET @bChyba=1 -- chyba, vetsinou kvuli nedostatku na skladu
UPDATE dbo.TabDokladyZbozi SET BlokovaniEditoru=NULL WHERE ID=@idDZ -- zrus priznak, ktery se nastavuje pri pokusu o realizaci
END CATCH
IF (@bChyba=0)
BEGIN
-- je vygenerovana prijemka na druhe strane ? pokud ne, vygeneruj ji
IF NOT EXISTS (SELECT 1 FROM dbo.TabPohybyZbozi WHERE IDOldPolozka IN (SELECT ID FROM dbo.TabPohybyZbozi WHERE IDDoklad=@idDZ))
BEGIN
SET @aktDatum = GETDATE()
EXEC dbo.hp_InsertHlavickyOZ @ident=@idDZDst OUT, @Sklad=@sklPek, @DruhPohybu=0, @RadaDokladu='281',
@Mena=@menaDZ, @CisloOrg=0, @DatumPorizeni=@aktDatum
IF (@idDZDst IS NOT NULL)
BEGIN
IF NOT EXISTS(SELECT 1 FROM dbo.TabDokladyZbozi_EXT WHERE ID=@idDZDst)
INSERT dbo.TabDokladyZbozi_EXT (ID) VALUES (@idDZDst)
UPDATE dbo.TabDokladyZbozi_EXT SET _Vyroba_IDPuvodniDoklad=@idDZ WHERE ID=@idDZDst
SELECT @datReal=DatRealizace FROM dbo.TabDokladyZbozi WHERE ID=@idDZ
EXEC dbo.hp_generuj_navazny_doklad @IDDokladDst=@idDZDst, @IDDokladSrc=@idDZ, @CisloOrgCil=0, @MUCil=NULL, @MenaCil=@menaDZ,
@KurzCil=NULL, @JednotkaMenyCil=NULL, @KurzEuroCil=NULL, @CisloZakCil=NULL, @NOkruhCil=NULL,
@StredNakladCil=NULL, @StredVynosCil=NULL, @FormaDopravyCil=NULL, @VozidloCil=NULL, @ObjednavkaCil=NULL,
@PopisDodavkyCil=NULL, @NavaznyDobropisCil=NULL, @ZamestnanecCil=NULL, @DodFakCil=NULL, @Nasobek=1,
@SlevaCil=NULL, @VytvaretDokladovouVazbu=1, @VytvaretPolozkovouVazbu=1, @ChybaSkladana=@errMsg OUT,
@KopirovaniDokladu=1
IF EXISTS(SELECT 1 FROM dbo.TabPohybyZbozi WHERE IDDoklad=@idDZDst)
AND EXISTS (SELECT 1 FROM dbo.TabDokladyZbozi WHERE Realizovano=1 AND ID=@idDZ)
EXEC dbo.hp_Realizuj_Prijem @ID=@idDZDst, @DatumRealizace=@datReal, @Uzivatel=0, @BylaChyba=@bChyba OUT, @RealMnoz=1, @RealFin=1, @VypnoutUpozorneniPriZajistovani=1
END
END
SET @logTyp=0
SET @logInt=0
SET @logStr = N''
SET @log4Mail = 0
SET @logText = N''
END -- @bChyba=0
END -- @idDZ IS NOT NULL
END END
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 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 -- BEGIN: ZAHAJENI OPERACE
IF (@akce=N'prikaz_zamena_material') IF (@akce=N'prikaz_zamena_material')
BEGIN 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 FROM #TabJSONData d
CROSS APPLY OPENJSON (d.doc, '$') CROSS APPLY OPENJSON (d.doc, '$')
WITH ([prikaz] NVARCHAR(MAX) AS JSON, [material] NVARCHAR(max) AS JSON) AS u WITH ([prikaz] NVARCHAR(MAX) AS JSON, [material] NVARCHAR(max) AS JSON) AS u
CROSS APPLY OPENJSON (prikaz) CROSS APPLY OPENJSON (prikaz)
WITH (id INT) AS u2 WITH (id INT) AS u2
CROSS APPLY OPENJSON (material) 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) IF EXISTS (SELECT 1 FROM dbo.TabPrikaz WHERE ID=@idVPr AND StavPrikazu=30)
BEGIN BEGIN
SET @idKZn = (SELECT ID FROM dbo.TabKmenZbozi WHERE SkupZbo=@sz AND RegCis=@rc)
SELECT @idKZv = (SELECT IDTabKmen FROM dbo.TabPrikaz WHERE ID=@idVPr) SELECT @idKZv = (SELECT IDTabKmen FROM dbo.TabPrikaz WHERE ID=@idVPr)
IF (@idVPr IS NOT NULL) AND (@idKZn IS NOT NULL) AND (@idKZn<>@idKZv) IF (@idVPr IS NOT NULL) AND (@idKZn IS NOT NULL) AND (@idKZn<>@idKZv)
BEGIN BEGIN
@ -1501,6 +1540,7 @@ WHILE (1=1)
END -- (@idPrKVazbyNova IS NOT NULL) END -- (@idPrKVazbyNova IS NOT NULL)
END -- (@idVPr IS NOT NULL) AND (@idKZn IS NOT NULL) END -- (@idVPr IS NOT NULL) AND (@idKZn IS NOT NULL)
END -- prikaz ve stavu 30 END -- prikaz ve stavu 30
END -- akce: END -- akce:
-- END: ZAHAJENI OPERACE -- END: ZAHAJENI OPERACE
@ -1513,6 +1553,40 @@ WHILE (1=1)
ROLLBACK TRAN ROLLBACK TRAN
SET @errMsg = ERROR_PROCEDURE() + N'/r.' + CONVERT(nvarchar, ERROR_LINE()) + N' >> ' + ERROR_MESSAGE() 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 UPDATE dbo._hdc_ph_PrijataJsonData SET PosledniChyba=@errMsg WHERE ID=@idJson
IF (@logTyp>0) IF (@logTyp>0)
@ -1547,5 +1621,3 @@ DROP TABLE IF EXISTS #TabPrKVazbyGenVC
-- pro jistotu -- pro jistotu
IF OBJECT_ID(N'tempdb..#TabJSONData', N'U') IS NOT NULL IF OBJECT_ID(N'tempdb..#TabJSONData', N'U') IS NOT NULL
DROP TABLE #TabJSONData 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), @dzKurz NUMERIC(19,6),
@dzKurzE 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, DECLARE @vydeje TABLE (SkupZbo NVARCHAR(3) NOT NULL, RegCis NVARCHAR(30) NOT NULL, IDKmenZbozi INT, IDPohybZbozi INT, IDVyrCS INT, IDPrikaz INT,
PRIMARY KEY (SkupZbo,RegCis) ) 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) INSERT @vydeje (SkupZbo, RegCis, IDKmenZbozi, IDPohybZbozi, IDPrikaz, IDVyrCS, Mnozstvi)
SELECT p.SkupZbo, p.RegCis, k.ID, p.ID, ISNULL(p.IDPrikaz, d.IDPrikaz), p.MnozstviDruhove 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 FROM dbo.TabPohybyZbozi p
INNER JOIN dbo.TabDokladyZbozi d ON (d.ID=p.IDDoklad) INNER JOIN dbo.TabDokladyZbozi d ON (d.ID=p.IDDoklad)
INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad) INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad)
INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi) 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 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.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) AND d.DruhPohybuZbo IN (0,1,3,4)
@ -115,6 +117,9 @@ IF (@tranPred=0)
BEGIN TRAN BEGIN TRAN
SET @idDZ = NULL
IF EXISTS (SELECT 1 FROM @vydeje WHERE Mnozstvi<>0 AND IDKmenZbozi IS NOT NULL) IF EXISTS (SELECT 1 FROM @vydeje WHERE Mnozstvi<>0 AND IDKmenZbozi IS NOT NULL)
BEGIN BEGIN
EXEC dbo.hp_InsertHlavickyOZ @ident=@idDZ OUT, @Sklad=@idSklad, @DruhPohybuZbo=@dpz, @RadaDokladu=@radaVydej, @CisloOrg=@cOrg, @DatumPorizeni=@datumDo 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) SELECT DISTINCT(IDKmenZbozi), SUM(Mnozstvi)
FROM @vydeje FROM @vydeje
WHERE IDKmenZbozi IS NOT NULL WHERE IDKmenZbozi IS NOT NULL
AND IDPohybZbozi IS NOT NULL
GROUP BY IDKmenZbozi GROUP BY IDKmenZbozi
OPEN p OPEN p
WHILE (1=1) WHILE (1=1)

View File

@ -5,19 +5,22 @@ IF OBJECT_ID(N'dbo._TabVyroba_Objednavky', N'U') IS NULL
IdPHIdent bigint NULL, IdPHIdent bigint NULL,
IdPHIdent2 bigint NULL, IdPHIdent2 bigint NULL,
PHOznaceni nvarchar(50) COLLATE Czech_CI_AS NULL, PHOznaceni nvarchar(50) COLLATE Czech_CI_AS NULL,
IDDokladOZ INT, -- IDDokladOZ INT,
-- IDPohybOZ INT,
Poznamka nvarchar(255) COLLATE Czech_CI_AS NULL, Poznamka nvarchar(255) COLLATE Czech_CI_AS NULL,
SkupZbo nvarchar(3) COLLATE Czech_CI_AS NULL, SkupZbo nvarchar(3) COLLATE Czech_CI_AS NULL,
RegCis nvarchar(30) COLLATE Czech_CI_AS NULL, RegCis nvarchar(30) COLLATE Czech_CI_AS NULL,
IDKmenZbozi int NULL, IDKmenZbozi int NULL,
Mnozstvi numeric(19, 6) DEFAULT 0.0 NOT 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, PaletovyList nvarchar(50) COLLATE Czech_CI_AS NULL,
Sarze nvarchar(30) COLLATE Czech_CI_AS NULL, Sarze nvarchar(30) COLLATE Czech_CI_AS NULL,
NocniObjednavka BIT NOT NULL DEFAULT 0, NocniObjednavka BIT NOT NULL DEFAULT 0,
Storno BIT NOT NULL DEFAULT 0, Storno BIT NOT NULL DEFAULT 0,
Vratka BIT NOT NULL DEFAULT 0, Vratka BIT NOT NULL DEFAULT 0,
Splneno BIT NOT NULL DEFAULT 0, Splneno BIT NOT NULL DEFAULT 0,
OdmitnutoSkladem BIT NOT NULL DEFAULT 0,
PocetPohybuOZ SMALLINT NOT NULL DEFAULT 0, PocetPohybuOZ SMALLINT NOT NULL DEFAULT 0,
Blokovano bit DEFAULT 0 NOT NULL, Blokovano bit DEFAULT 0 NOT NULL,
DatPorizeni datetime DEFAULT getdate() 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 */ /* 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'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'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 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 */ /* 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'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, IDPohybOZ INT NULL,
IDVyrCP INT NULL, IDVyrCP INT NULL,
SkupZbo NVARCHAR(3), SkupZbo NVARCHAR(3),
RegCis NVARCHAR(100), RegCis NVARCHAR(30),
Mnozstvi numeric(19, 6) DEFAULT 0.0 NOT NULL, Mnozstvi numeric(19, 6) DEFAULT 0.0 NOT NULL,
Sarze NVARCHAR(100) NULL, Sarze NVARCHAR(100) NULL,
PaletovyList 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' 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 DROP INDEX IF EXISTS EI__TabVyroba_Palety_Typ ON dbo._TabVyroba_Palety
CREATE NONCLUSTERED INDEX EI__TabVyroba_Palety_Typ ON dbo._TabVyroba_Palety (Typ) 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 SELECT @idObjHlav=IDHlava FROM dbo._TabVyroba_Objednavky_Pol WHERE IDPohybOZ=@id
DELETE 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 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) UPDATE dbo._TabVyroba_Objednavky SET MnozVydane=ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=@idObjHlav), 0) WHERE ID=@idObjHlav
WHERE ID=@idObjHlav
END END
END END
END END

View File

@ -37,8 +37,7 @@ BEGIN
SELECT @idObjHlav=IDHlava, @idObjPol=ID FROM dbo._TabVyroba_Objednavky_Pol WHERE IDPohybOZ=@id SELECT @idObjHlav=IDHlava, @idObjPol=ID FROM dbo._TabVyroba_Objednavky_Pol WHERE IDPohybOZ=@id
UPDATE dbo._TabVyroba_Objednavky_Pol SET Mnozstvi=@mnoz WHERE ID=@idObjPol UPDATE dbo._TabVyroba_Objednavky_Pol SET Mnozstvi=@mnoz WHERE ID=@idObjPol
IF OBJECT_ID(N'dbo._TabVyroba_Objednavky', N'U') IS NOT NULL 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) UPDATE dbo._TabVyroba_Objednavky SET MnozVydane=ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=@idObjHlav), 0) WHERE ID=@idObjHlav
WHERE ID=@idObjHlav
END END
END 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' FieldName = 'fSarze'
Size = 50 Size = 50
end end
object vtStrojefIDPaleta: TIntegerField
FieldName = 'fIDPaleta'
end
end end
object vtPlanZitra: TFDMemTable object vtPlanZitra: TFDMemTable
FetchOptions.AssignedValues = [evMode] FetchOptions.AssignedValues = [evMode]
@ -129,7 +132,7 @@ object dm: Tdm
Left = 143 Left = 143
Top = 89 Top = 89
object vtPlanZitrafIDPlan2: TIntegerField object vtPlanZitrafIDPlan2: TIntegerField
FieldName = 'fIDPlan' FieldName = 'fIDDavka'
end end
object vtPlanZitrafVyrobek: TStringField object vtPlanZitrafVyrobek: TStringField
FieldName = 'fVyrobek' FieldName = 'fVyrobek'
@ -142,6 +145,19 @@ object dm: Tdm
object vtPlanZitrafZakazka: TStringField object vtPlanZitrafZakazka: TStringField
FieldName = 'fZakazka' FieldName = 'fZakazka'
end 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 end
object dsPlanZitra: TDataSource object dsPlanZitra: TDataSource
DataSet = vtPlanZitra DataSet = vtPlanZitra
@ -149,6 +165,8 @@ object dm: Tdm
Top = 35 Top = 35
end end
object vtRozpracPL: TFDMemTable object vtRozpracPL: TFDMemTable
FieldDefs = <>
IndexDefs = <>
FetchOptions.AssignedValues = [evMode] FetchOptions.AssignedValues = [evMode]
FetchOptions.Mode = fmAll FetchOptions.Mode = fmAll
ResourceOptions.AssignedValues = [rvSilentMode] ResourceOptions.AssignedValues = [rvSilentMode]
@ -156,6 +174,7 @@ object dm: Tdm
UpdateOptions.AssignedValues = [uvCheckRequired, uvAutoCommitUpdates] UpdateOptions.AssignedValues = [uvCheckRequired, uvAutoCommitUpdates]
UpdateOptions.CheckRequired = False UpdateOptions.CheckRequired = False
UpdateOptions.AutoCommitUpdates = True UpdateOptions.AutoCommitUpdates = True
StoreDefs = True
Left = 238 Left = 238
Top = 90 Top = 90
object vtRozpracPLfIDEvidRozp: TIntegerField object vtRozpracPLfIDEvidRozp: TIntegerField
@ -163,6 +182,7 @@ object dm: Tdm
end end
object vtRozpracPLfIDStroj: TIntegerField object vtRozpracPLfIDStroj: TIntegerField
FieldName = 'fIDStroj' FieldName = 'fIDStroj'
Visible = False
end end
object vtRozpracPLfStroj: TStringField object vtRozpracPLfStroj: TStringField
FieldName = 'fStroj' FieldName = 'fStroj'

View File

@ -308,6 +308,11 @@ type
vtMaterialcolCisloZbozi: TStringField; vtMaterialcolCisloZbozi: TStringField;
vtMaterialcolIDPohyb: TIntegerField; vtMaterialcolIDPohyb: TIntegerField;
vtSarzecolIDPohybOZ: TIntegerField; vtSarzecolIDPohybOZ: TIntegerField;
vtStrojefIDPaleta: TIntegerField;
vtPlanZitrafIDPrikaz: TIntegerField;
vtPlanZitrafHodOd: TSmallintField;
vtPlanZitrafHodDo: TSmallintField;
vtPlanZitrafMnozstvi: TFloatField;
procedure DataModuleCreate (Sender: TObject); procedure DataModuleCreate (Sender: TObject);
procedure vtCCP1BeforeDelete (DataSet: TDataSet); procedure vtCCP1BeforeDelete (DataSet: TDataSet);
procedure vtCCP1BeforeInsert (DataSet: TDataSet); procedure vtCCP1BeforeInsert (DataSet: TDataSet);
@ -343,8 +348,9 @@ type
procedure NactiCCP1 (const f: TformKontrolaCCP1); procedure NactiCCP1 (const f: TformKontrolaCCP1);
procedure NactiCCP1ProNoveZaznamy (const f: TformKontrolaCCP1edt); procedure NactiCCP1ProNoveZaznamy (const f: TformKontrolaCCP1edt);
procedure NactiPlanStroje (const f: TformPekarna; const idStroj: integer); procedure NactiPlanStroje (const f: TformPekarna; const idStroj: integer; dnes: boolean=true);
procedure NactiRozpracovane (const f: TformPekarna); procedure NactiRozpracovane (const f: TformPekarna; const idStroj: integer);
procedure NactiOdpadStroje (const f: TformPekarna); procedure NactiOdpadStroje (const f: TformPekarna);
procedure NactiOdpady (const f: TformOdpady); procedure NactiOdpady (const f: TformOdpady);
@ -376,7 +382,7 @@ var
apiMod: boolean; apiMod: boolean;
apiServer, phServer, compName, url, sqlLang: string; apiServer, phServer, compName, url, sqlLang: string;
vyrobniDen: TDate; vyrobniDen: TDate;
aktIdStroj, aktIdKmen, aktIdPrikaz, aktIdKmenPlan, aktIdKmenRozprac, idZamMistr, cisZamMistr: integer; aktIdStroj, aktIdKmen, aktIdPrikaz, aktIDPaleta, aktIdKmenPlan, aktIdKmenRozprac, idZamMistr, cisZamMistr: integer;
bmIdStroj, bmIdPlanDnes, bmIdPrikaz: integer; // bookmarky bmIdStroj, bmIdPlanDnes, bmIdPrikaz: integer; // bookmarky
aktZakazka: string; aktZakazka: string;
@ -1088,6 +1094,7 @@ uses System.Variants, System.StrUtils, Winapi.Windows, System.DateUtils, IdHTTP,
end; end;
end; end;
vtObjednavkaMat.IndexFieldNames:= 'colCisloObj:D';
vtObjednavkaMat.First; vtObjednavkaMat.First;
end; end;
@ -1096,7 +1103,7 @@ uses System.Variants, System.StrUtils, Winapi.Windows, System.DateUtils, IdHTTP,
procedure Tdm.NactiZasobaObjednavky (const f: TformZasobaObjednavky); procedure Tdm.NactiZasobaObjednavky (const f: TformZasobaObjednavky);
var lSQL: string; var lSQL, regCis: string;
cnt, idKmen: integer; cnt, idKmen: integer;
begin begin
if not(vtZasobyObjednavky.Active) then 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:= '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:= 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 with Helios.OpenSQL(lSQL) do
begin begin
@ -1121,7 +1130,10 @@ uses System.Variants, System.StrUtils, Winapi.Windows, System.DateUtils, IdHTTP,
vtZasobyObjednavky.Append; vtZasobyObjednavky.Append;
vtZasobyObjednavky.FieldByName('colIDKmen').AsInteger:= idKmen; vtZasobyObjednavky.FieldByName('colIDKmen').AsInteger:= idKmen;
vtZasobyObjednavky.FieldByName('colSZ').AsString:= VarToStr(FieldByNameValues('SkupZbo')); 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('colNazev1').AsString:= VarToStr(FieldByNameValues('Nazev1'));
vtZasobyObjednavky.FieldByName('colMJ').AsString:= VarToStr(FieldByNameValues('MJEvidence')); 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; var lSQL: string;
begin begin
if (idStroj>0) then
begin
lSQL:= 'SELECT FROM ' + tblAdvKPlanDavky + ' WHERE DatumPripadu=' + IfThen(dnes, 'GETDATE()', '');
end;
if (idStroj>0) then if (idStroj>0) then
begin begin
lSQL:= 'SELECT ID FROM ' + tblVPr + ' WHERE StavPrikazu IN (20,30) AND ID NOT IN (SELECT r.IDPrikaz FROM ' + tblRozpracOper + ' h INNER JOIN ' + tblRozpracOperR; 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; var lSQL: string;
idVPr, idH, idS, idK, radaPrikaz, cisloPL: string; idVPr, idH, idS, idK, radaPrikaz, cisloPL: string;
mnVCP, mnZbytVCPP: Extended; mnVCP, mnZbytVCPP: Extended;
i1, i2: integer; i1, i2: integer;
begin begin
lSQL:= 'SELECT DISTINCT(vp.ID) FROM ' + tblPrPost + ' prp INNER JOIN ' + tblPrikaz + ' vp ON (vp.ID=prp.IDPrikaz)'; 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'; 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); procedure Tdm.NactiStrojeAPraci (const f: TformPekarna);
var lSQL: string; var lSQL, cisloPL, sarze: string;
idStroj, idVPr, cntVz: integer; idStroj, idVPr, cntVz: integer;
begin 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; 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('fVyrobek').AsString:= VarToStr(FieldByNameValues('Nazev1'));
vtStroje.FieldByName('fZakazka').AsString:= VarToStr(FieldByNameValues('RadaPrikaz')).Replace(' ',''); vtStroje.FieldByName('fZakazka').AsString:= VarToStr(FieldByNameValues('RadaPrikaz')).Replace(' ','');
vtStroje.FieldByName('fIDEvidRozpOper').AsString:= VarToStr(FieldByNameValues('ID')); 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('fCisloZbozi').AsString:= VarToStr(FieldByNameValues('CisloZbozi'));
vtStroje.FieldByName('fIDKmen').AsString:= VarToStr(FieldByNameValues('IDKmen')); 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'; 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; // vtRozpracPL.Append;
// dm.vtRozpracPL.FieldByName('') // dm.vtRozpracPL.FieldByName('')
// vtRozpracPL.Post; // vtRozpracPL.Post;

View File

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

View File

@ -6,7 +6,7 @@ uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, 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, 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, IdHTTP, IdSSLOpenSSL, System.JSON, IdBaseComponent, IdComponent, IdRawBase, IdRawClient, IdIcmpClient,
ddPlugin_TLB, JvExDBGrids, JvDBGrid; ddPlugin_TLB, JvExDBGrids, JvDBGrid, uPing;
{$I iConsts.inc} {$I iConsts.inc}
@ -111,6 +111,7 @@ uses System.StrUtils, System.Math,
if not(TryStrToFloat(edtNaPalete.Text, napal)) then if not(TryStrToFloat(edtNaPalete.Text, napal)) then
napal:= 0; napal:= 0;
if (mn>0) or (pal>0) then if (mn>0) or (pal>0) then
begin begin
mnSum:= mn; mnSum:= mn;
@ -182,6 +183,7 @@ uses System.StrUtils, System.Math,
sarze:= ''; sarze:= '';
paletovyList:= ''; paletovyList:= '';
try try
{
icmpCli.Host:= datMod.getDomainName (datMod.phServer); icmpCli.Host:= datMod.getDomainName (datMod.phServer);
try try
icmpCLi.Ping(); icmpCLi.Ping();
@ -190,20 +192,34 @@ uses System.StrUtils, System.Math,
except except
pingOK:= False; pingOK:= False;
end; 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:= ''; resp:= '';
if (pingOK) then {$ENDIF}
begin pingOK:= (i=0);
respStream:= TStringStream.Create('');
lHTTP.Post (datMod.phServer + '/order', lParamList, respStream); if (pingOK)
resp:= respStream.DataString.Replace('\/', '/'); {$IFDEF DEBUG} and (1=0) {$ENDIF}
end; 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 // log
if (helUtils.SQLObjectExists(Helios, tblHDCPHLog)) and (resp<>'') then 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); Helios.ExecSQL ('INSERT ' + tblHDCPHLog + ' (LogText, LogTextLong) SELECT N''Dotaz na objednávku materiálu (dle mnoz)'', N' + resp.QuotedString);
if (resp.Contains('neexistuje')) then if (resp.Contains('neexistuje')) then
errText:= 1; errText:= 1;
@ -240,6 +256,10 @@ uses System.StrUtils, System.Math,
else else
if (sarze='') and (paletovyList='') then if (sarze='') and (paletovyList='') then
begin 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:= '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 + ', N' + rc.QuotedString + ', ' + idKmen.ToString + ', N' + paletovyList.QuotedString + ', N' + sarze.QuotedString + ', ' + mnPL.ToString.Replace(',', '.');
lSQL:= lSQL + ', ' + ph1 + ', ' + ph2; lSQL:= lSQL + ', ' + ph1 + ', ' + ph2;

View File

@ -278,7 +278,7 @@ object formPekarna: TformPekarna
Top = 103 Top = 103
Width = 634 Width = 634
Height = 626 Height = 626
ActivePage = shRozpracovanePL ActivePage = shPlanDnes
Align = alClient Align = alClient
TabOrder = 2 TabOrder = 2
object shPlanDnes: TTabSheet object shPlanDnes: TTabSheet
@ -374,7 +374,6 @@ object formPekarna: TformPekarna
object shPlanZitra: TTabSheet object shPlanZitra: TTabSheet
Caption = ' Pl'#225'n v'#253'roby Z'#205'TRA ' Caption = ' Pl'#225'n v'#253'roby Z'#205'TRA '
ImageIndex = 1 ImageIndex = 1
TabVisible = False
object grdPlanZitra: TDBGrid object grdPlanZitra: TDBGrid
Left = 0 Left = 0
Top = 0 Top = 0
@ -568,7 +567,6 @@ object formPekarna: TformPekarna
Width = 624 Width = 624
Height = 509 Height = 509
Align = alClient Align = alClient
Color = 15790320
DataSource = dm.dsRozpracPL DataSource = dm.dsRozpracPL
DrawingStyle = gdsGradient DrawingStyle = gdsGradient
GradientEndColor = clActiveCaption GradientEndColor = clActiveCaption
@ -578,7 +576,7 @@ object formPekarna: TformPekarna
Font.Height = -16 Font.Height = -16
Font.Name = 'Segoe UI' Font.Name = 'Segoe UI'
Font.Style = [] 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 ParentFont = False
TabOrder = 1 TabOrder = 1
TitleFont.Charset = DEFAULT_CHARSET TitleFont.Charset = DEFAULT_CHARSET
@ -612,7 +610,7 @@ object formPekarna: TformPekarna
FieldName = 'fStroj' FieldName = 'fStroj'
Title.Alignment = taCenter Title.Alignment = taCenter
Title.Caption = 'Stroj' Title.Caption = 'Stroj'
Width = 208 Width = 204
Visible = True Visible = True
end end
item item
@ -636,7 +634,7 @@ object formPekarna: TformPekarna
FieldName = 'fSZ' FieldName = 'fSZ'
Title.Alignment = taCenter Title.Alignment = taCenter
Title.Caption = 'SK' Title.Caption = 'SK'
Width = 38 Width = 37
Visible = True Visible = True
end end
item item
@ -645,7 +643,7 @@ object formPekarna: TformPekarna
FieldName = 'fRC' FieldName = 'fRC'
Title.Alignment = taCenter Title.Alignment = taCenter
Title.Caption = 'Reg. '#269'.' Title.Caption = 'Reg. '#269'.'
Width = 94 Width = 92
Visible = True Visible = True
end end
item item
@ -654,7 +652,7 @@ object formPekarna: TformPekarna
FieldName = 'fAktPaletList' FieldName = 'fAktPaletList'
Title.Alignment = taCenter Title.Alignment = taCenter
Title.Caption = 'PL' Title.Caption = 'PL'
Width = 126 Width = 124
Visible = True Visible = True
end end
item item
@ -662,7 +660,7 @@ object formPekarna: TformPekarna
FieldName = 'fDatStart' FieldName = 'fDatStart'
Title.Alignment = taCenter Title.Alignment = taCenter
Title.Caption = 'Start' Title.Caption = 'Start'
Width = 122 Width = 120
Visible = True Visible = True
end end
item item
@ -671,7 +669,7 @@ object formPekarna: TformPekarna
FieldName = 'fColR' FieldName = 'fColR'
Title.Alignment = taCenter Title.Alignment = taCenter
Title.Caption = 'R' Title.Caption = 'R'
Width = 26 Width = 25
Visible = True Visible = True
end> end>
end end
@ -709,12 +707,11 @@ object formPekarna: TformPekarna
Left = 172 Left = 172
Top = 4 Top = 4
Width = 137 Width = 137
Height = 25 Height = 17
Align = alRight Align = alRight
Alignment = taRightJustify Alignment = taRightJustify
Caption = 'Vy'#345'adit z v'#253'roby paletu:' Caption = 'Vy'#345'adit z v'#253'roby paletu:'
Visible = False Visible = False
ExplicitHeight = 17
end end
object GridPanel16: TGridPanel object GridPanel16: TGridPanel
Left = 312 Left = 312
@ -1127,7 +1124,7 @@ object formPekarna: TformPekarna
object Label1: TLabel object Label1: TLabel
Left = 1 Left = 1
Top = 30 Top = 30
Width = 270 Width = 210
Height = 21 Height = 21
Align = alBottom Align = alBottom
Alignment = taCenter Alignment = taCenter
@ -1139,7 +1136,6 @@ object formPekarna: TformPekarna
Font.Name = 'Segoe UI' Font.Name = 'Segoe UI'
Font.Style = [fsBold] Font.Style = [fsBold]
ParentFont = False ParentFont = False
ExplicitWidth = 210
end end
end end
object memVyrobniPoznamka: TMemo object memVyrobniPoznamka: TMemo

View File

@ -304,6 +304,8 @@ var
f:= TformTiskyNahledy.Create (nil); f:= TformTiskyNahledy.Create (nil);
try try
f.idKmen:= datMod.aktIdKmen; f.idKmen:= datMod.aktIdKmen;
f.idPrikaz:= datMod.aktIdPrikaz;
f.idPaleta:= datMod.aktIDPaleta;
f.Helios:= Helios; f.Helios:= Helios;
f.HeliosHandle:= Application.Handle; f.HeliosHandle:= Application.Handle;
f.ShowModal; f.ShowModal;
@ -1014,11 +1016,8 @@ procedure TformPekarna.FormClose (Sender: TObject; var Action: TCloseAction);
grdRozpracovane.Font.Height:= Helios.FontHeight; grdRozpracovane.Font.Height:= Helios.FontHeight;
grdStroje.Font.Height:= Helios.FontHeight; grdStroje.Font.Height:= Helios.FontHeight;
pgCtrlPlan.ActivePage:= shPlanDnes;
shPlanZitra.TabVisible:= false;
runTimerRozprac:= true; runTimerRozprac:= true;
sgInfo.Cells[0, 0]:= 'Rok'; sgInfo.Cells[0, 0]:= 'Rok';
@ -1075,7 +1074,7 @@ procedure TformPekarna.FormClose (Sender: TObject; var Action: TCloseAction);
infoTimerTimer (Sender); infoTimerTimer (Sender);
dm.NactiDataPaneluStroje (self, arrStroje); dm.NactiDataPaneluStroje (self, arrStroje); // stroje strediska 211
if (dm.vtStroje.RecordCount>0) then if (dm.vtStroje.RecordCount>0) then
grdStrojeCellClick(grdStroje.Columns.Items[2]); grdStrojeCellClick(grdStroje.Columns.Items[2]);
@ -1121,7 +1120,7 @@ procedure TformPekarna.FormClose (Sender: TObject; var Action: TCloseAction);
if (dm.vtStroje.RecordCount>0) then if (dm.vtStroje.RecordCount>0) then
datMod.bmIdStroj:= dm.vtStroje.FieldByName('fIDStroj').AsInteger; 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; end;
@ -1315,6 +1314,8 @@ procedure TformPekarna.FormClose (Sender: TObject; var Action: TCloseAction);
aktIdKmen:= grdStroje.DataSource.DataSet.FieldByName('fIDKmen').AsInteger; aktIdKmen:= grdStroje.DataSource.DataSet.FieldByName('fIDKmen').AsInteger;
datMod.aktIdKmen:= aktIdKmen; datMod.aktIdKmen:= aktIdKmen;
datMod.aktIDPaleta:= grdStroje.DataSource.DataSet.FieldByName('fIDPaleta').AsInteger;
datMod.aktIdPrikaz:= grdStroje.DataSource.DataSet.FieldByName('fIDPrikaz').AsInteger; datMod.aktIdPrikaz:= grdStroje.DataSource.DataSet.FieldByName('fIDPrikaz').AsInteger;
datMod.bmIdPrikaz:= datMod.aktIdPrikaz; datMod.bmIdPrikaz:= datMod.aktIdPrikaz;
@ -1611,7 +1612,7 @@ procedure TformPekarna.FormClose (Sender: TObject; var Action: TCloseAction);
begin begin
edtNazevRozpracVyrobku.Text:= ''; edtNazevRozpracVyrobku.Text:= '';
edtRozpracZakazka.Text:= ''; edtRozpracZakazka.Text:= '';
dm.NactiRozpracovane (self); dm.NactiRozpracovane (self, datMod.aktIdStroj);
end; end;
end; end;
@ -1644,7 +1645,7 @@ procedure TformPekarna.FormClose (Sender: TObject; var Action: TCloseAction);
if (initOK) then if (initOK) then
begin begin
dm.NactiRozpracovane (self); dm.NactiRozpracovane (self, datMod.aktIdStroj);
dm.NactiPlanStroje (self, datMod.bmIdStroj); dm.NactiPlanStroje (self, datMod.bmIdStroj);
end; end;

View File

@ -75,6 +75,7 @@ type
HeliosHandle: integer; HeliosHandle: integer;
idKmen: integer; idKmen: integer;
idPrikaz: integer; idPrikaz: integer;
idPaleta: integer;
idStroj: Integer; idStroj: Integer;
sarze: string; sarze: string;
paletList: string; paletList: string;
@ -83,16 +84,17 @@ type
var var
formTiskyNahledy: TformTiskyNahledy; formTiskyNahledy: TformTiskyNahledy;
bidPalety: integer; bidPalety: integer;
idFormKA, idFormPS, idFormPL: integer;
implementation implementation
uses datMod, uses System.StrUtils,
frmZahajeniPalety, datMod,
helUtils; frmZahajeniPalety, helUtils;
{$R *.dfm} {$R *.dfm}
function ResourceNameToString(lpszName: PChar): string; function ResourceNameToString (lpszName: PChar): string;
begin begin
if Is_IntResource(lpszName) then if Is_IntResource(lpszName) then
Result:= '#' + IntToStr(NativeUInt(lpszName)) Result:= '#' + IntToStr(NativeUInt(lpszName))
@ -101,7 +103,7 @@ uses datMod,
end; end;
function ResourceTypeToString(lpszType: PChar): string; function ResourceTypeToString (lpszType: PChar): string;
begin begin
case NativeUInt(lpszType) of case NativeUInt(lpszType) of
NativeUInt(RT_CURSOR): NativeUInt(RT_CURSOR):
@ -113,12 +115,12 @@ uses datMod,
NativeUInt(RT_GROUP_ICON): NativeUInt(RT_GROUP_ICON):
Result:= 'RT_GROUP_ICON'; Result:= 'RT_GROUP_ICON';
else else
Result := ResourceNameToString(lpszType); Result := ResourceNameToString (lpszType);
end; end;
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 begin
TStrings(lParam).Add(ResourceNameToString(lpszName)); TStrings(lParam).Add(ResourceNameToString(lpszName));
result:= true; result:= true;
@ -126,56 +128,52 @@ uses datMod,
procedure TformTiskyNahledy.btnAVTisk1Click (Sender: TObject); procedure TformTiskyNahledy.btnAVTisk1Click (Sender: TObject);
var idF: integer; var idF: integer;
begin begin
if (datMod.aktIdKmen>0) then if (idKmen>0) then
begin 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 if (idF>0) then
Helios.PrintForm3 (bidDilce, idF, 'TabKmenZbozi.ID=' + datMod.aktIdKmen.ToString); Helios.PrintForm3 (bidDilce, idF, 'TabKmenZbozi.ID=' + idKmen.ToString);
end; end;
Close;
end; end;
procedure TformTiskyNahledy.btnAVTisk2Click (Sender: TObject); procedure TformTiskyNahledy.btnAVTisk2Click (Sender: TObject);
var lSQL: string; var lSQL, podm: string;
f: integer; idFormNastav: integer;
i: integer;
begin begin
if (idKmen>0) and (bidPalety>0) then if (bidPalety>0) and (idFormKA>0) then
begin begin
f:= helUtils.getHeliosIntVal (Helios, 0, 'SELECT ISNULL(_KL,0) FROM ' + tblKZe + ' WHERE ID=' + idKmen.ToString); lSQL:= 'SELECT TOP(1) ID FROM ' + tblTiskDef + ' WHERE FormDefID=' + idFormKA.ToString + ' AND LoginName IS NULL ORDER BY Prednastaveno DESC';
if (f>0) then idFormNastav:= helUtils.getHeliosIntVal (Helios, 0, lSQL);
if (idFormNastav=0) then
begin begin
lSQL:= 'SELECT COUNT(ID) FROM ' + datMod.constHvwVyrobaPalety + ' x WHERE x.IDKmen=' + idKmen.ToString; lSQL:= 'INSERT ' + tblTiskDef + ' (FormDefID, Nazev, Prednastaveno, Implicitni, LevyOkraj, HorniOkraj, TiskFronta) SELECT ' + idFormKA.ToString
if (paletList<>'') then + ', N''Tisk Zebra'', 1, 0, 0, 0, N''Zebra''' + CRLF + 'SELECT SCOPE_IDENTITY()';
lSQL:= lSQL + ' AND x.CisloPalety=N' + paletList.QuotedString idFormNastav:= helUtils.getHeliosIntVal (Helios, 0, lSQL);
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;
end; 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;
end; end;
procedure TformTiskyNahledy.btnAVTisk3Click (Sender: TObject); // paletovy listek procedure TformTiskyNahledy.btnAVTisk3Click (Sender: TObject); // paletovy listek
var f: integer; var f: integer;
f2: TformZahajeniPalety; f2: TformZahajeniPalety;
@ -186,6 +184,7 @@ uses datMod,
try try
f2.Helios:= Helios; f2.Helios:= Helios;
f2.opakTisky:= true; f2.opakTisky:= true;
f2.idPaleta:= idPaleta;
f2.f2:= self; f2.f2:= self;
f2.idPrikaz:= idPrikaz; f2.idPrikaz:= idPrikaz;
f2.idStroj:= datMod.bmIdStroj; f2.idStroj:= datMod.bmIdStroj;
@ -216,7 +215,6 @@ uses datMod,
if (idF>0) then if (idF>0) then
Helios.PrintForm3 (bidDilce, idF, 'TabKmenZbozi.ID=' + datMod.aktIdKmenPlan.ToString); Helios.PrintForm3 (bidDilce, idF, 'TabKmenZbozi.ID=' + datMod.aktIdKmenPlan.ToString);
end; end;
Close;
end; end;
@ -231,14 +229,14 @@ uses datMod,
if (idF>0) then if (idF>0) then
Helios.PrintForm3 (bidDilce, idF, 'TabKmenZbozi.ID=' + datMod.aktIdKmenRozprac.ToString); Helios.PrintForm3 (bidDilce, idF, 'TabKmenZbozi.ID=' + datMod.aktIdKmenRozprac.ToString);
end; end;
Close;
end; end;
procedure TformTiskyNahledy.FormShow (Sender: TObject); procedure TformTiskyNahledy.FormShow (Sender: TObject);
var sl: TStringList; var lSQL: string;
sl: TStringList;
hndl: NativeUInt; hndl: NativeUInt;
i: integer; i: integer;
icn: TIcon; icn: TIcon;
@ -278,6 +276,24 @@ uses datMod,
bidPalety:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT DPBID FROM ' + tblObecPrehled + ' WHERE NazevSys=N''hvw_Vyroba_Palety'''); 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;
end. end.

View File

@ -6,7 +6,7 @@ uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, 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, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls, Vcl.Mask, Vcl.Buttons,
IdHTTP, IdSSLOpenSSL, REST.Json, IdHTTP, IdSSLOpenSSL, REST.Json,
ddPlugin_TLB, JsonDataObjects, ColorButton; ddPlugin_TLB, JsonDataObjects, ColorButton, uPing;
{$I iConsts.inc} {$I iConsts.inc}
@ -81,6 +81,7 @@ var
tiskNa: byte; tiskNa: byte;
idKmen, idPalety, idFormKA, idFormPL, idFormPS: integer; idKmen, idPalety, idFormKA, idFormPL, idFormPS: integer;
mjEvid: string; mjEvid: string;
jeFinal, jePolotovar: boolean;
pocKA, pocKS, ksVKA: Extended; pocKA, pocKS, ksVKA: Extended;
prepKA2ks, prepKA2pal: Extended; prepKA2ks, prepKA2pal: Extended;
@ -339,6 +340,9 @@ uses DateUtils, Math, StrUtils,
begin begin
idKmen:= 0; idKmen:= 0;
mjEvid:= ''; mjEvid:= '';
jeFinal:= false;
jePolotovar:= false;
if (idVPr>0) then if (idVPr>0) then
begin 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 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')); edtSZ.Text:= VarToStr(FieldByNameValues('SkupZbo'));
edtRegCis.Text:= VarToStr(FieldByNameValues('RegCis')); edtRegCis.Text:= VarToStr(FieldByNameValues('RegCis'));
edtNazev1.Text:= VarToStr(FieldByNameValues('Nazev1')); 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; end;
pocKA:= NactiPocetKAZEvidRozpOperR; 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; var lSQL, lSQL2, podm, errMsg, a, novyPL, idMzdyS, idMezdS, skSubPrikaz, sTemp, sRnd, sklVyd, radaVyd: string;
nazevOp, mjDilce: string; nazevOp, mjDilce: string;
pocKA, pocKAOld, pocKS, noveMnoz, NPalPocKA, NPalPocKS, prepKA2ks, mnozProKoef, koefMn : extended; 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; bid, idF, idPalUkonceni, idPrac, idDZ, idDZVyd: integer;
spotrebaTesto, spotreba702, vydejOK: boolean; spotrebaTesto, spotreba702, vydejOK: boolean;
fSarzeVydej: TformSarzeVydej; 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 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, + ', @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''' lSQL:= lSQL + ', @skladOdvod=N''311'''
else else
lSQL:= lSQL + ', @skladOdvod=N''312'''; lSQL:= lSQL + ', @skladOdvod=N''312''';
lSQL:= lSQL + CRLF + 'SELECT @e'; lSQL:= lSQL + CRLF + 'SELECT @e';
errMsg:= helUtils.getHeliosStrVal (Helios, '', lSQL); errMsg:= helUtils.getHeliosStrVal (Helios, '', lSQL);
@ -800,7 +808,9 @@ uses DateUtils, Math, StrUtils,
resp:= ''; resp:= '';
respStream:= TStringStream.Create(''); 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 begin
lHTTP.Post (datMod.phServer + IfThen(datMod.phServer.EndsWith('/'), '', '/') + 'prikaz', lParamList, respStream); lHTTP.Post (datMod.phServer + IfThen(datMod.phServer.EndsWith('/'), '', '/') + 'prikaz', lParamList, respStream);
resp:= respStream.DataString.Replace('\/', '/'); resp:= respStream.DataString.Replace('\/', '/');

View File

@ -6,7 +6,7 @@ uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Mask, Vcl.ExtCtrls, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Mask, Vcl.ExtCtrls,
IdHTTP, IdSSLOpenSSL, REST.Json, JsonDataObjects, IdHTTP, IdSSLOpenSSL, REST.Json, JsonDataObjects,
ddPlugin_TLB, frmPekarna, frmTiskyNahledy; ddPlugin_TLB, frmPekarna, frmTiskyNahledy, uPing;
{$I iConsts.inc} {$I iConsts.inc}
@ -71,6 +71,7 @@ type
Helios: IHelios; Helios: IHelios;
idPrikaz: integer; idPrikaz: integer;
idStroj: integer; idStroj: integer;
idPaleta: integer;
datVyroba: TDateTime; datVyroba: TDateTime;
f: TformPekarna; f: TformPekarna;
f2: TformTiskyNahledy; f2: TformTiskyNahledy;
@ -85,6 +86,7 @@ var
m1, m2: integer; m1, m2: integer;
mn, mnSum, mn2: integer; mn, mnSum, mn2: integer;
idFormPL, idFormPS, idFormKA: integer; idFormPL, idFormPS, idFormKA: integer;
idFormKL: integer; // Kartonový štítek (Zebra)
implementation implementation
@ -359,7 +361,7 @@ uses System.DateUtils, System.StrUtils, System.Math,
procedure TformZahajeniPalety.btnTiskStitkuClick (Sender: TObject); procedure TformZahajeniPalety.btnTiskStitkuClick (Sender: TObject);
var lSQL, podm, a, errMsg, rc, nazev1, nazevOp, strojNazev, sarze: string; var lSQL, podm, a, errMsg, rc, nazev1, nazevOp, strojNazev, sarze: string;
n1, n2, n3: integer; n1, n2, n3: integer;
bid, idF: integer; bidPL, bidKA, idF, idFormNastav: integer;
d: integer; d: integer;
operace: TArray<TOperace>; operace: TArray<TOperace>;
jsemPeceni: boolean; jsemPeceni: boolean;
@ -367,6 +369,7 @@ uses System.DateUtils, System.StrUtils, System.Math,
mjDilce, szDilce: string; mjDilce, szDilce: string;
ksVKA: integer; ksVKA: integer;
mnozPec, mnozBal, mnoz, sumaMnoz, koefPec: extended; mnozPec, mnozBal, mnoz, sumaMnoz, koefPec: extended;
iPing: integer;
// cPal, typPal: string; // cPal, typPal: string;
i, ii, i2, ii2, id, idx, idVCPrikaz, idPalety, idEROp: integer; i, ii, i2, ii2, id, idx, idVCPrikaz, idPalety, idEROp: integer;
@ -378,7 +381,7 @@ uses System.DateUtils, System.StrUtils, System.Math,
lHTTP: TIdHTTP; lHTTP: TIdHTTP;
ssl: TIdSSLIOHandlerSocketOpenSSL; ssl: TIdSSLIOHandlerSocketOpenSSL;
lParamList, respStream: TStringStream; lParamList, respStream: TStringStream;
resp: string; resp, resp2: string;
joOut, joIn, itemsObj: TJSONObject; joOut, joIn, itemsObj: TJSONObject;
begin begin
// Tento výrobek nemá štítek, vytisknu pouze paletový // 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 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 if not(TryStrToInt(edtPocetPL.Text.Trim, n2)) then
n2:= 0; // pocetPalet n2:= 0; // pocetPalet
if not(TryStrToInt(edtPocetStitkuMax.Text.Trim, n3)) then 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 + ')'); 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 + ' ,' + idVCPrikaz.ToString + ', ' + idKmen.ToString + ', CONVERT(datetime, N' + edtDatSpotreby.Text.QuotedString + ', 104)' + CRLF + ' SET @i=SCOPE_IDENTITY()' + CRLF + ' END' + CRLF;
lSQL:= lSQL + CRLF + 'SELECT @i'; lSQL:= lSQL + CRLF + 'SELECT @i';
idPalety:= helUtils.getHeliosIntVal (Helios, 0, lSQL); 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 except on E:Exception do
begin begin
Helios.Error (#1'Chyba založení palety ' + pl.ToString + #1 + CRLF + E.Message); 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; 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) if (canCont) and not(opakTisky) then // jen pokud neni opakovany tisk (z Nahledu tisku)
begin begin
@ -564,7 +588,7 @@ uses System.DateUtils, System.StrUtils, System.Math,
// posli JSON o vyrobene palete // posli JSON o vyrobene palete
try try
resp:= GenerujJSON (idPrikaz, idVCPrikaz, idEROp, n1).ToJSON (true).Replace(#10,'').Replace(#9,'').Replace('''',''); resp:= GenerujJSON (idPrikaz, idVCPrikaz, idEROp, n1).ToJSON (true).Replace(#10,'').Replace(#9,'').Replace('''','');
{$IFNDEF DEBUG}
if (resp<>'') and (idPalety>0) and (datMod.phServer<>'') then if (resp<>'') and (idPalety>0) and (datMod.phServer<>'') then
begin begin
resp:= TJson.JsonEncode(resp); resp:= TJson.JsonEncode(resp);
@ -573,27 +597,30 @@ uses System.DateUtils, System.StrUtils, System.Math,
try try
lParamList:= TStringStream.Create(''); lParamList:= TStringStream.Create('');
lParamList.WriteString (resp); 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(''); respStream:= TStringStream.Create('');
resp:= '';
if (helUtils.PingHost (helUtils.NetGetHostName(datMod.phServer))) then iPing:= uPing.Ping (datMod.phServer, resp);
begin // 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); lHTTP.Post (datMod.phServer + IfThen(datMod.phServer.EndsWith('/'), '', '/') + 'prikaz', lParamList, respStream);
resp:= respStream.DataString.Replace('\/', '/'); resp:= respStream.DataString.Replace('\/', '/');
Helios.ExecSQL('UPDATE ' + tblPalety + ' SET JSONStartResp=N' + resp.QuotedString + ' WHERE ID=' + idPalety.ToString); Helios.ExecSQL('UPDATE ' + tblPalety + ' SET JSONStartResp=N' + resp.QuotedString + ' WHERE ID=' + idPalety.ToString);
end; // end;
finally finally
respStream.Free; respStream.Free;
lParamList.Free; lParamList.Free;
@ -602,7 +629,6 @@ uses System.DateUtils, System.StrUtils, System.Math,
lHTTP.Free; lHTTP.Free;
end; end;
end; end;
{$ENDIF}
except except
end; end;
end; // jen pokud neni opakovany tisk (z Nahledu tisku) end; // jen pokud neni opakovany tisk (z Nahledu tisku)
@ -610,41 +636,61 @@ uses System.DateUtils, System.StrUtils, System.Math,
if (canCont) then if (canCont) then
begin 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'''); // idF:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT ID FROM ' + tblFormDef + ' WHERE Nazev2=N''PEK-2''');
if (bid>100000) then if (bidPL>100000) then
begin begin
if (idFormKA>0) then
if (idFormKA>0) then // Kartonový štítek (Zebra)
begin 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 if (rbTiskNaObraz.Checked) then
begin begin
podm:= 'hvw_Vyroba_Palety.CisloPalety=N' + pl.ToString.QuotedString; if (idFormNastav>0) then
Helios.RunAction2 (bid, podm, 'ActionPrint'); Helios.ExecSQL ('UPDATE ' + tblTiskDef + ' SET ZobrazNahled=1 WHERE ID=' + idFormNastav.ToString);
// Helios.RunAction2 (bid, podm, 'ActionPrint');
end end
else else
if (idKmen>0) and (1=0) then
begin begin
podm:= 'TabKmenZbozi.ID=' + idKmen.ToString; if (idFormNastav>0) then
for i:=1 to n1 do Helios.ExecSQL ('UPDATE ' + tblTiskDef + ' SET ZobrazNahled=0 WHERE ID=' + idFormNastav.ToString);
Helios.PrintForm3 (bidKZ, idFormKA, podm); // kartonovy stitek
end; end;
podm:= 'hvw_Vyroba_Palety.CisloPalety=N' + pl.ToString.QuotedString;
// for i:=1 to n1 do
Helios.PrintForm3 (bidPL, idFormKA, podm);
end; end;
if (idFormPL>0) then
// paletovy list
if (bidPL>100000) and (idFormPL>0) then
begin begin
podm:= 'hvw_Vyroba_Palety.CisloPalety=N' + pl.ToString.QuotedString; podm:= 'hvw_Vyroba_Palety.CisloPalety=N' + pl.ToString.QuotedString;
if (rbTiskNaObraz.Checked) and (1=0) then if (rbTiskNaObraz.Checked) and (1=0) then
Helios.RunAction2 (bid, podm, 'ActionPrint') // Helios.RunAction2 (bid, podm, 'ActionPrint')
else else
for i:=1 to n2 do for i:=1 to n2 do
Helios.PrintForm3 (bid, idFormPL, podm); // paletovy list Helios.PrintForm3 (bidPL, idFormPL, podm); // paletovy list
end; end;
end; end;
end; end;
end; end;
dm.NactiStrojeAPraci (f); if not(opakTisky) then
dm.NactiStrojeAPraci (f);
Close; Close;
end; end;
@ -652,7 +698,7 @@ uses System.DateUtils, System.StrUtils, System.Math,
procedure TformZahajeniPalety.FormShow (Sender: TObject); procedure TformZahajeniPalety.FormShow (Sender: TObject);
var lSQL : string; var lSQL, dat : string;
mx: integer; mx: integer;
begin begin
if (datVyroba=0) then 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 edtPocetPL.Text:= '2'; // tiskne se jeden nebo dva paletove listy
idFormKA:= 0; idFormKA:= 0; // Kartonový štítek (Zebra)
idFormPS:= 0; idFormPS:= 0;
idFormPL:= 0; idFormPL:= 0;
@ -699,6 +745,22 @@ uses System.DateUtils, System.StrUtils, System.Math,
if not(TryStrToInt(VarToStr(FieldByNameValues('_PLKK')), idFormPL)) then if not(TryStrToInt(VarToStr(FieldByNameValues('_PLKK')), idFormPL)) then
idFormPL:= 0; idFormPL:= 0;
end; 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; 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); 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 !!! // typ palety je nove jen jeden, neurcuje se dle kmene !!!
cPal:= ''; 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)'; + ' 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; 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 begin
edtSZ.Text:= ''; edtSZ.Text:= '';
edtRC.Text:= ''; edtRC.Text:= '';