-- dbo.ep_GenerovaniDokladuOZ_HDC CREATE PROCEDURE dbo.ep_GenerovaniDokladuOZ_HDC @IDDoklad INT AS SET NOCOUNT ON DECLARE @cnt INT, @errMsg NVARCHAR(500) DECLARE @idDZOld INT, @dpz TINYINT, @radaDokl NVARCHAR(3), @skl NVARCHAR(30), @cOrg INT, @idOrg INT, @dzDatPorizeni DATETIME, @dzMena NVARCHAR(3), @dzKurz NUMERIC(19,6), @dzKurzE NUMERIC(19,6), @vstC TINYINT, @jednM INT DECLARE @sklMatHlavni NVARCHAR(30), @sklTechnolog NVARCHAR(30), -- "technologicky" sklad, prijmy/vydeje z prikazu @sklPekarna NVARCHAR(30) SELECT @dpz=DruhPohybuZbo, @skl=IDSklad, @radaDokl=RadaDokladu, @cOrg=CisloOrg, @dzMena=Mena, @dzKurz=Kurz, @dzKurzE=KurzEuro, @dzDatPorizeni=DatPorizeni, @vstC=VstupniCena, @jednM=JednotkaMeny FROM dbo.TabDokladyZbozi WHERE ID=@IDDoklad IF (@sklMatHlavni IS NULL) SELECT @sklMatHlavni=Cislo FROM dbo.TabStrom WHERE Nazev=N'Hlavní sklad - Materiál' AND CisloStr LIKE N'3%' IF (@sklTechnolog IS NULL) SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NEÚČ%' AND Nazev NOT LIKE N'%polotov%' AND CisloStr LIKE N'2%' IF (@sklTechnolog IS NULL) SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%sklad%výdej%' AND CisloStr LIKE N'2%' IF (@sklPekarna IS NULL) SELECT @sklPekarna=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Výroba - Pekárna' AND CisloStr LIKE N'2%' IF (@dpz=4) -- vydej v evid.cene BEGIN IF (@radaDokl=N'231') -- prevodka BEGIN IF (@skl=@sklMatHlavni) -- na hlavnim skladu materialu BEGIN -- mam nejakeho predka ? SET @idDZOld = (SELECT TOP(1) IDOldDoklad FROM dbo.TabPohybyZbozi WHERE IDDoklad=@IDDoklad AND IdOldDoklad IS NOT NULL) -- jsem vydejka ze skladu materialu, puvodem z expedaku pozadavku na material ? (rada 550) IF EXISTS (SELECT 1 FROM dbo.TabDokladyZbozi WHERE ID=@idDZOld AND DruhPohybuZbo=9 AND RadaDokladu=N'550' AND IDSklad=@sklMatHlavni) BEGIN UPDATE dbo.TabDokladyZbozi SET DruhPohybuPrevod=0, TypPrevodky=N'281', IdSkladPrevodu=@sklPekarna, PrevodRealizovat=0 WHERE ID=@IDDoklad END END -- @skl=@sklMatHlavni END END