Skocz do zawartości

Sfera Zdarzeniowa - zapis ZK - pobieranie danych z cenników.

Polecane posty

Dzień Dobry,

Natknąłem się na pewny problem po aktualizacji subiekta do 61.0.4

Stworzyłem plugin sfery zdarzeniowej, który sprawdza ceny na zamówieniu do klienta na każdej pozycji i porównuje do cen z cennika. 
I Tutaj zaczęły się pojawia dziwne kwoty.

W tym miejscu sprawdzam czy ceny z dokumentu są zgodne:
 

bool flag = dokumentZK.WyliczenieVAT == 1 && pozycjaDokumentu.Cena.NettoPrzedRabatem != pozycjaDokumentu.CenaZCennika;



I dostaje informację, że towar kosztuj 14.20 zł. 
Jak sprawdzam w cenniku (cennik dodatkowy klienta) to widzę, że cena jest 13,90.

W momencie kiedy debuggerem sprawdzam jakie informacje są w pozycjaDokumentu to w polu CennikId jest null.

Sprawdzałem ustawienia cenników i wszystko jest skonfigurowane poprawnie (cennik nie jest zakończony, odpowiedni klient jest wybrany). 
Na zamówieniu też widzę, że cennik od tego klienta jest brany pod uwagę.

Co ciekawe cena 14.20 widnieje w innych cennikach klientów ale w podstawowym cenniku jest kompletnie inna.

Sam plugin działał już rok bez problemów - dopiero teraz został mi problem zgłoszony (1.5 tyg temu aktualizowałem z wersji 59 na 61).


 

Link to postu

Teraz zauważyłem - jak z menu cen na zamówieniu wybrałem przelicz ponownie pozycje to informacje o cenniku się zaciągnęły i zaczął poprawne dane widzieć.

Tylko, że jest to problem ponieważ jeśli to nie jest tworzenie nowego zamówienia tylko otworzenie istniejącego to nie koniecznie chcę na nowo przeliczać wszystkie pozycje.

Link to postu
W dniu 29.07.2026 o 13:16, Bartłomiej Warchoł napisał:

I dostaje informację, że towar kosztuj 14.20 zł. 
Jak sprawdzam w cenniku (cennik dodatkowy klienta) to widzę, że cena jest 13,90.

No tak, ale cena w polu CenaZCennika jest zapisywana na moment wystawiania dokumentu - nie jest później aktualizowana po edycji cennika. Zakładam więc, że powyższe zamówienie było wystawiane w momencie gdy w cenniku była cena 14.20, a potem zmieniła się ona na 13.90. Jeśli chce Pan mieć zawsze "świeże" ceny to należałoby się odwołać do tabeli pozycji cennika poprzez IPozycjeCennika.Dane.

W dniu 29.07.2026 o 13:16, Bartłomiej Warchoł napisał:

W momencie kiedy debuggerem sprawdzam jakie informacje są w pozycjaDokumentu to w polu CennikId jest null.

A jaka jest wartość w polu FunkcjaWyliczaniaCenyBazowej dla tej pozycji? Być może cena na tej pozycji była pobrana z plugina (np. ostatnia cena sprzedaży), a nie z cennika.

Jak powstało to zamówienie? Zostało dodane w programie ręcznie / jako realizacja np. oferty / sferą?

W dniu 29.07.2026 o 13:16, Bartłomiej Warchoł napisał:

Sam plugin działał już rok bez problemów - dopiero teraz został mi problem zgłoszony (1.5 tyg temu aktualizowałem z wersji 59 na 61).

Póki co nie wiązałbym tego z aktualizacją - wszystko na razie wskazuje na specyfikę danych w bazie.

Link to postu
Cytat

A jaka jest wartość w polu FunkcjaWyliczaniaCenyBazowej dla tej pozycji? Być może cena na tej pozycji była pobrana z plugina (np. ostatnia cena sprzedaży), a nie z cennika.

Jak powstało to zamówienie? Zostało dodane w programie ręcznie / jako realizacja np. oferty / sferą?

Niestety nie umiałem już tego wywołać. Próbowałem się kierować Pana poniższymi wyjaśnieniami ale niestety się nie udało.

Cytat

No tak, ale cena w polu CenaZCennika jest zapisywana na moment wystawiania dokumentu - nie jest później aktualizowana po edycji cennika. Zakładam więc, że powyższe zamówienie było wystawiane w momencie gdy w cenniku była cena 14.20, a potem zmieniła się ona na 13.90. 



Mimo to wziąłem pod uwagę Pana radę i cene pobieram prosto z cennika a nie z pola CenaZCennika.

  • Lubię to 1
Link to postu
×
×
  • Dodaj nową pozycję...