Bernard Opala Główny programista
Temat: [Procedury] Stan art. się nie aktualizuje po edycji...
Witam,Piszę aplikację mobilną, która ma za zadanie tworzenie i edycję dokumentów magazynowych (PW, RW, PZ, WZ). Procedur używam do dodawania nagłówka, poprawiania oraz usuwania, to samo jeśli chodzi o pozycje dokumentu.
Wszystkie powyższe procesy mam oprogramowane, jednak istnieje problem stanów magazynowych w dokumentach przychodowych, które jak się domyślam, aktualizowane są "gdzieś w tle" w procedurach, a aktualizowane są niepoprawnie... Mianowicie:
- przy dodawaniu pozycji do dokumentu stany są zwielokrotniane (na stanie Artykułu A było 7, dodałem 2 i jest "ponad dziesięć") - tej sytuacji byłem świadkiem tylko u klienta...
- przy poprawianiu pozycji, bez względu na to, czy zmniejszam ilość w pozycji, czy ją zwiększam, pozycja przyjmuje ilość jaką wpisałem, natomiast do stanu artykułu ilość jest dodawana (na stanie artykułu B było 7, a w pozycji dokumentu 4; poprawiam ilość pozycji np. na 2 i rzeczywiście ilość w pozycji zmienia się na 2, natomiast stan jest równy 9 [=7+2])
- przy usuwaniu stany nie są aktualizowane (na stanie artykułu C było 7, a w pozycji dokumentu 4; usuwam pozycję - pozycja się usuwa, ale na stanie pozostaje 7). Tak na marginesie, jeśli usunę cały dokument, to stan jest aktualizowany poprawnie.
Obroty magazynowe się zgadzają, widok HISTORIA_MAGAZYNU_NA_DZIEŃ zwraca mi poprawny stan, a w tabeli ARTYKULY - nie! Kontaktowałem się w tej sprawie z HelpDeskiem kilkukrotnie... niestety odnoszę wrażenie, iż konsultanci, są wyspecjalizowani w nieco innym aspekcie oprogramowania WF-Mag niż procedury i ich wykorzystanie. Bardzo proszę o rzeczowe przyjrzenie się sprawie i pomoc w tej kwestii. Żeby rozjaśnić sytuację poniżej przedstawiam jakich procedur używam do każdego z wymienionych wyżej procesów.
[DOKUMENT]
- Dodaj nagłówek:
AP_DodajWTleDokMag_Server
JL_SumujDokumentMagazynowy_Server
JL_PobierzFormatNumeracji_Server
JL_ZatwierdzDokumentMagazynowy_Server
- Popraw nagłówek (poprawiany jest za każdym razem gdy wykonuje się edycję pozycji: dodawanie/poprawianie/usuwanie - patrz poniżej)
- Usuń nagłówek
JL_AnulujDokumentMagazynowy (z parametrem "Del")
[POZYCJA DOK.]
- Dodaj:
JL_ZatwierdzPozycje_Server
UpdateKorekt*
JL_SumujDokumentMagazynowy_Server
JL_ZatwierdzZmianyDokumentuMagazynowego
- Popraw:
JL_ZatwierdzZmianePozycji_Server (z parametrem "Upd")
JL_SumujDokumentMagazynowy_Server
JL_ZatwierdzZmianyDokumentuMagazynowego
- Usuń:
JL_ZatwierdzZmianePozycji_Server (z parametrem "Del", ilość_new = 0, ilosc_old = 0)
JL_SumujDokumentMagazynowy_Server
JL_ZatwierdzZmianyDokumentuMagazynowego
*UpdateKorekt()
{
update POZYCJA_DOKUMENTU_MAGAZYNOWEGO
set ID_POZ_ORYGINALNEJ = @id_poz_dok
ID_OST_KOREKTY = @id_poz_dok
ID_POZ_KORYGOWANEJ = @id_poz_dok
ID_POW_KOREKTY = @id_poz_dok
FLAGA_STANU = 0
from pozycja_dokumentu_magazynowego p
where p.id_poz_dok_mag = @id_poz_dok
}