Temat: Aukcje 8.50.2 - błąd po aktualizacji ?
Przeanalizowaliśmy temat tych statusów i tak jak pisałem wejdzie zmiana do kolejnej wersji. Pisze od razu jednak tutaj przed wydaniem jakie są konsekwencje pracy z takimi transakcjami bo przy takiej dowolności jak jest teraz można sobie wygenerować niezły bałagan.
Rozpiszę to na przykładzie dla lepszego zrozumienia materii.
1. Załóżmy, że klient X wykonał zakup 1 szt towaru ABC w poniedziałek o 10.00 nie płacąc za nią ze wskazaniem odbioru w punkcie Paczkomaty.
2. Następnie o 10.15 wykonana została synchronizacja - program pobiera kontrahenta X i zakłada w nim adres dostawy bo taki adres dla tego typu zamówienia będzie podany.
3. Klient X wykonuje kolejny zakup bez płacenia za towar XYZ w poniedziałek o 13.00 wybiera, że chce fakturę przesyłke kurierska na adres do firmy.
4. O 14.00 uruchamiamy kolejną synchronizację, wpada nowe zamówienie nieopłacone do aukcji, nadpisywany jest adres kontrahenta bo ten chce fakturę więc ma wyższość nad poprzednim adresem domowym tego klienta
5. O 16.00 klient orientuje się, że nie płacił za te zakupy i robi zapłatę za obydwa w jednej płatności znowu zaznaczając, że chce fakturę i zmienia dane na zupełnie inne (podaje celowo abstrakcyjny przypadek, żeby pokazać mnogość dziwnych przypadków jakie mogą wystąpić).
6. O 17.00 uruchamiamy synchronizację danych i pojawiają się schody.
Program nie otrzyma informacji z Allegro, że to zamówienie, które teraz importuje to są de facto 2 poprzednie zamówienia. Może to ustalić jedynie na podstawie identyfikatora zakupu pojedynczej pozycji z tego zamówienia.
Mamy tu dwa przypadki jakie zdecydowałem się uwzględnić, jeden zakłada, że zamówienia nieopłacone z 10.00 oraz z 13.00 zostały przeniesione na zamówienia.
To jest przypadek Pana Tomasza gdzie chce uzyskać rezerwację towaru. Jest to przypadek bardziej skomplikowany.
W takim przypadku program przy włączeniu opcji automatycznego tworzenia zamówienia do maga z transakcji wykryje, że przyszło zamówienie na nowego kontrahenta (znowu mamy dane do faktury, więc wygenerowany zostanie nowy kontrahent na te dane. Poprzednie dane też były do faktury więc program ich nie nadpisze).
Ale transakcja nie przeniesie się na zamówienie kolejne bo nastąpi zdublowanie rezerwacji i potencjalny problem z towarami. Nie można też skasować poprzednich transakcji i zamówień bo nie wiadomo co pracownicy z nimi zrobili. Nie można zmienić w nich kontrahenta bo rozjadą się wydruki i ewentualne eksporty, które mogły być po drodze wykonane.
Program zatem zostawi tą transakcję w aukcjach i oznaczy ją w NOWEJ KOLUMNIE wykrzyknikiem, że wymaga ona ingerencji operatora systemu. Sam on podejmie czy anuluje poprzednie zamówienia i tworzy nowe na finalne dane, czy korzysta ze schowka pozycji i przenosi pozycje czy też realizuje po prostu 2 poprzednie na fakturę/paragon.
Drugi przypadek bardziej podstawowy Pana Michała ,zakłada tylko import takiej transakcji do aukcji celem ewentualnej obsługi zwrotów prowizji bez tworzenia zamówienia z rezerwacją.
W tym przypadku program wykryje, że owszem ma poprzednie transakcje ale nie przenoszone zostały do maga, więc wykona anulowanie poprzednich transakcji (przy założeniu, że żadna z nich nie jest przeniesiona do maga).
I w miejsce 2 poprzednich wstawi tą nową transakcje.
Zasada tworzenia kontrahentów i ich adresów w obydwu przypadkach jest taka sama.
Jak widać na powyższym jeśli ktoś chce importować takie stany pośrednie to będzie miał taką opcję (domyślnie jest ona wyłączona). Ale w tym przypadku nie można oczekiwać podejmowania w 100% przypadków automatycznych działań programu w każdym przypadku bo co firma to będą inne pomysły.
Indywidualne zachowania będzie można sobie oprogramować poprzez gniazda i wtedy każdy zrealizuje dalszą logikę wg swoich procesów w firmie.