68 lines
2.1 KiB
Transact-SQL
68 lines
2.1 KiB
Transact-SQL
-- 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
|
|
|