Marcin
Niemczak
Prokurent, APS Glass
& Bar Supply Sp. z
o.o.
Temat: Pytanie do dev - procedura działa tylko poza Wf-Mag
Napisałem procedurę wywołującą w pętli przeliczanie cen dla dokumentów rozchodu wycenianych w cenach zakupu (normalnie procedura działa dla jednego dokumentu a chcieliśmy ją np. za cały miesiąc puszczać automatycznie). Procedura nie otwiera własnej transakcji. Woła w pętli dla odpowiednich dokumentów PZ procedurę AP_PrzeliczRozchodyWcenachZakupu i zjada komunikat o braku dokumentów powiązanych. Zagadka jest taka że jak ją puszczę testowo spoza WF-Mag (SSMS, Squirrel Sql lub inny klient) to działa. Jak ją puszcze z Wf-Mag z operacji dodatkowych w dokumentach magazynowych to brak jest błędów jednak zmiany się nie zatwierdzają (dokumenty rozchodu się nie przeliczają). Wszelkie wskazówki mile widziane :-) Poniżej istotny fragment:declare c_pz cursor local fast_forward for
select PZC.ID_DOK_MAGAZYNOWEGO
from DOKUMENT_MAGAZYNOWY PZC
where PZC.RODZAJ_DOKUMENTU='PZ'
and PZC.DOK_KOREKTY is null
and PZC.DATA >= @zakres_daty_od
and PZC.DATA <= @zakres_daty_do
open c_pz
while 1=1
begin
FETCH NEXT FROM c_pz INTO
@id_dok
if @@fetch_status<>0 break
begin try
EXEC AP_PrzeliczRozchodyWcenachZakupu 1, @id_dok, @id_uzytkownika
end try
begin catch
if ERROR_MESSAGE() != 'Brak dokumentów rozchodu wycenianych w cenach zakupu powiązanych z danym dokumentem.'
begin
set @errmsg = ERROR_MESSAGE()
goto Error
end
end catch
end
close c_pz
deallocate c_pz