Skocz do zawartości

Korygowanie zerowej pozycji przez rozszerzenie SFERA

Polecane posty

Mam fakturę sprzedaży VAT i do niej wystawioną korektę zerującą wszystkie pozycje (klient odstąpił od umowy). Mam program do robienia korekt, który opiera się o rozszerzenie SFERA. Okazuje się, że program pozwala na zrobienie ponownej korekty do wyżej opisanej sytuacji, która koryguje pozycje zerowe (bo zostały skorygowane poprzednią korektą) na wartość -1 (czego nie pozwala interfejs robiąc taką korektę ręcznie, bo wyskakuje dymek o treści "Należy wprowadzić liczbę większą lub równą zero"). To jest przykład, gdzie interfejs zapobiega ustawieniu niepoprawnej wartości na dokumencie czego nie udało mi się wychwycić programem napisanym w oparciu o rozszerzenie SFERA. Zastanawiam się, czy w zasobach SFERA istnieje jakaś funkcja, która pomoże takie sytuacje wychwycić? Oczywiście mogę w swoim programie dodać warunek, żeby nie pozwolił wprowadzić takiej wartości ale chciałbym na przyszłość się zabezpieczyć w innych programach, żeby nie dochodziło do takiej sytuacji. Coś co wychwyci dymek lub takie mechanizmy.

Za porady i sugestie z góry dziękuję.

image.png

image.png

Link to postu

Sfera pozwala zrobić wiele rzeczy inaczej niż wynika z ustawień standardowych Subiekta dostępnych przez interfejs, nawet tak aby interfejs był zupełnie niewidoczny. Należałoby spytać autora tego rozwiązania, czy może je dostosować do Pana potrzeb. Dokumentacja Sfery jest dostępna w menu Pomoc - Infosfera - hiperłącze na dole strony Informacje zaawansowane i dalej hiperłącze Pomoc. 

Link to postu
44 minuty temu, mamut maniek napisał:

Za porady i sugestie z góry dziękuję.

Proszę zrobić tak:

44 minuty temu, mamut maniek napisał:

Oczywiście mogę w swoim programie dodać warunek, żeby nie pozwolił wprowadzić takiej wartości...

do momentu poprawy przez producenta.

Link to postu

Tak jak koledzy radzą, przy czym to i tak jest szczęśliwy przypadek, bo da się stwierdzić że wyszło <0.

Gorzej kiedy np chcemy zmienić ilość na zablokowanej (wyszarzonej) pozycji dokumentu przyjęcia.

Z poziomu Subiekta tego się zrobić nie da, a sferą jak najbardziej. Błąd wychodzi dopiero przy zapisie i nie wiadomo której pozycji dotyczy.

Link to postu

Najgorsze jest to, że natrafiłem na taką korektę przez przypadek i może być ich więcej u mnie w systemie. Chciałbym je wyszukać ale mam problemy z napisaniem odpowiedniego zapytania. Chodzi o zapytanie, które wyszuka wszystkie korekty, które w polu 'Ilość po korekcie' mają wartość mniejszą niż zero.

Kombinuje z tablicami dok__Dokument i dok_Pozycja. Muszę powiązać pozycje korekty i faktury i porównać ich ilość z pola ob_Ilosc, zgadza się?

Link to postu

Chyba udało się takie zapytanie napisać

SELECT DISTINCT dok_NrPelny
FROM dok_Pozycja POZ1
LEFT JOIN dok__Dokument DOK ON POZ1.ob_DokHanId = dok_Id

GROUP BY dok_NrPelny, POZ1.ob_Id, POZ1.ob_Ilosc
HAVING (SELECT SUM(POZ2.ob_Ilosc) FROM dok_Pozycja POZ2 WHERE POZ1.ob_Id = POZ2.ob_DoId) > POZ1.ob_Ilosc
Edytowane przez mamut maniek
Link to postu
×
×
  • Dodaj nową pozycję...