Temat: pole dodatkowe wypełniane przez funkcję SQL
Witam!
Odświeżam temat po kilku latach :)
Kilka lat, nowe umiejetnosci, nowe wyzwania i nowe problemy.
Mam juz wersje prestiz plus WaproMaga. i chce wykorzystywać Gniazda rozszerzen.
W chwili obecnej dla dokumentu handlowego mam zdefiniowane pole1 Sprzedawca - pole wymagane.
Pole2 to Oddzial.
Mam zdefiniowanego w Pracowniku Pola1 = Sprzedawca i Pole3 = Oddzial.
Chce by po zapisaniu, zmodyfikowaniu dokumentu handlowego wykonalo sie gniazdo rozszerzen, i przypisalo odzial wzgledem pracownika.
Napisałem procedure:
create procedure [dbo].[MAGSRC_Pobieranie_Oddzial]
(
@IdObiektu numeric (18, 0),
@oddzial varchar(100) OUTPUT
)
AS
BEGIN
SET @oddzial = (select top 1 p.pole3 from PRACOWNIK p inner join DOKUMENT_HANDLOWY dh on p.pole1=dh.pole1 where dh.ID_DOKUMENTU_HANDLOWEGO = @IdObiektu);
declare @errmsg varchar(255)
begin
set xact_abort on
set transaction isolation level REPEATABLE READ
begin transaction
update DOKUMENT_HANDLOWY set POLE2=@oddzial where ID_DOKUMENTU_HANDLOWEGO = @IdObiektu and TYP_DOKUMENTU = 's'
if @@trancount>0 commit transaction
goto Koniec
Error:
raiserror (@errmsg,16,1)
if @@trancount>0 rollback tran
goto Koniec
Koniec:
set transaction isolation level READ COMMITTED
return
end
end
GO
w gniezdzie rozszerzen dla poprawianego po dokumentu handlowego i po dodaniu dokumentu handlowego jest dodane nowe gniazdo:
Nazwa: MAGSRC_ Pobieranie_Oddzial
Lista parametrów: @IdObiektu numeric, @oddzial varchar
Gdy dodaje/poprawiam Dokument handlowy, wyskakuje ostrzeżenie:
Incorrect syntax near '&'. i nic sie nie zapisalo.
Jak robie na "sztywno" zapytania dla danego id_dokumentu_handlowego - dane pobieraja sie ok, updatuja tez... ale zapytanie procedura nie rusza...
Czy znacie pomysl, sugetsie na rozwiazanie?