-- dbo.ef_Vyroba_VratNovyPaletovyList CREATE FUNCTION dbo.ef_Vyroba_VratNovyPaletovyList (@typ TINYINT=1, @radaVPr NVARCHAR(10)=N'', @cisloOrg INT=NULL, @idKmenZbozi INT=NULL) RETURNS NVARCHAR(50) AS BEGIN -- funkci neupravujte, stejne bude prepsana pri spusteni pluginu pro Planovani nebo Windows sluzbou HDC API DECLARE @retVal NVARCHAR(15), @bi BIGINT, @maska NVARCHAR(100)=NULL, @delka TINYINT, @sz NVARCHAR(3) DECLARE @skladNestd NVARCHAR(30)=N'211', @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) IF (@bi = 1) SET @bi = 5200001 SET @retVal = CONVERT(nvarchar, @bi) IF EXISTS(SELECT 1 FROM Information_schema.Routines WHERE Specific_schema=N'dbo' AND specific_name=N'ef_Vyroba_VratNovyPaletovyList1' AND Routine_Type=N'FUNCTION') SET @retVal = dbo.ef_Vyroba_VratNovyPaletovyList1 (@typ, @radaVPr, @cisloOrg, @idKmenZbozi) /* IF (@typ=2) BEGIN SET @delka = 0 IF (@radaVPr<>N'') BEGIN SET @maska=(SELECT MaskaProGenVyrCis FROM dbo.TabRadyPrikazu WHERE Rada=@radaVPr) IF (@maska IS NOT NULL) IF (@maska LIKE N'#%C') SET @delka = CONVERT(tinyint, LEFT(SUBSTRING(@maska, 2, 50), CHARINDEX(N'C', SUBSTRING(@maska, 2, 50))-1)) END SELECT @bi = 1 + MAX(ISNULL(TRY_PARSE(VyrCislo AS BIGINT), 0)) FROM dbo.TabVyrCisPrikaz SET @retVal = CONVERT(nvarchar, @bi) IF (@maska IS NULL) AND (@typ=2) BEGIN SELECT @bi = 1 + MAX(ISNULL(TRY_PARSE(VyrCislo AS BIGINT), 23000000)) FROM dbo.TabVyrCisPrikaz SET @retVal = CONVERT(nvarchar, @bi) END ELSE IF (@delka>0) SET @retVal = REPLICATE(N'0', @delka - LEN(@retVal)) + @retVal END IF (@typ=3) BEGIN SET @bi = 1 + ISNULL( (SELECT MAX(TRY_PARSE(CisloPalety AS BIGINT)) FROM dbo._TabVyroba_Palety WHERE Typ=1), 23000000) SET @retVal = CONVERT(nvarchar, @bi) END IF (@typ=1) -- prijem nestandard BEGIN SELECT @bi = 1 + ISNULL(MAX(x.num), 8200000) FROM (SELECT TRY_PARSE(vcs.Nazev1 AS BIGINT) AS num FROM dbo.TabPohybyZbozi p INNER JOIN dbo.TabDokladyZbozi d ON (d.ID=p.IDDoklad) INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad) INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi) INNER JOIN dbo.TabVyrCP vcp ON (vcp.IDPolozkaDokladu=p.ID) INNER JOIN dbo.TabVyrCS vcs ON (vcs.IDStavSkladu=p.IDZboSklad) WHERE k.Nazev1 LIKE N'%nestandart%' AND CONVERT(nvarchar, p.Poznamka)=N'Příjem nestandard' AND d.DruhPohybuZbo=0 AND d.IDSklad=@skladNestd AND ISNUMERIC(vcs.Nazev1)=1 AND d.RadaDokladu=@radaPrijemNestd ) x SET @retVal = CONVERT(nvarchar, @bi) END IF (@idKmenZbozi IS NOT NULL) AND (@typ<>1) BEGIN SELECT @sz=SkupZbo FROM dbo.TabKmenZbozi WHERE ID=@idKmenZbozi IF (@sz LIKE N'7%' AND @sz NOT LIKE N'70%') SET @bi = 1 + ISNULL( (SELECT MAX(TRY_PARSE(CisloPalety AS BIGINT)) FROM dbo._TabVyroba_Palety WHERE Typ=1), 5200000) IF (@sz LIKE N'6%') SET @bi = 1 + ISNULL( (SELECT MAX(TRY_PARSE(CisloPalety AS BIGINT)) FROM dbo._TabVyroba_Palety WHERE Typ=2), 6200000) IF (@sz LIKE N'1%') SET @bi = 1 + ISNULL( (SELECT MAX(TRY_PARSE(CisloPalety AS BIGINT)) FROM dbo._TabVyroba_Palety WHERE Typ=3), 7200000) IF (@sz LIKE N'60%') SET @bi = 1 + ISNULL( (SELECT MAX(TRY_PARSE(CisloPalety AS BIGINT)) FROM dbo._TabVyroba_Palety WHERE Typ=4), 8200000) SET @retVal = CONVERT(nvarchar, @bi) END */ RETURN @retVal END