/*
Zmiana indeksu na pozycjiprzyjęcia dokumentu magazynowego
działa tylko w tym przypadku
*/

declare @olditemid uniqueidentifier = '790f2cd2-75a4-e811-80d2-9c8e994dc647'
declare @newitemid uniqueidentifier = '8d17d68b-864c-e511-80c3-9c8e994dc647'
declare @lineid uniqueidentifier = '28a2952c-55bd-e811-80d4-9c8e994dc647'

/*
1. check: Sprawdzenie czy nie ma powiązanych dokumentów rozchodowych
*/
if exists (select * from document.documentline where
([sourceDocumentLineID]   = @lineid or  [initialIncomeSourceLineID]= @lineid )
and documentlineid != @lineid --eliminacja samego siebie
)
Begin
	Print 'Nie można aktualizować'
	return
End

--aktualizacja
update document.documentline  set itemid = @newitemid where  documentlineid =@lineid

--naprawienie stanów
exec wms.stockBalanceFix @itemID = @olditemid, @username = 'sys'
exec wms.stockBalanceFix @itemID = @newitemid, @username = 'sys'
