Autor Wątek: Navireo SuBraki - problem z zapisaniem dokumentu  (Przeczytany 1918 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline butik_slubice

  • Nowy użytkownik
  • *
  • Wiadomości: 15
  • Reputacja +0/-0
  • Wersja programu: 1.60
Navireo SuBraki - problem z zapisaniem dokumentu
« dnia: Sierpień 30, 2021, 13:39:55 »
Wiem, że forum dotyczy Subiekta, ale w Navireo jest niemal identycznie.

Natknąłem się na problem z zapisem dokumentu w przypadku, gdy dostępność towarów jest mniejsza niż ta, którą wpisuję na dokumencie. Próbuję przy zapisie ignorować wcześniejsze rezerwacje towaru, ale wątek zawiesza się na metodzie SuDokument.zapisz(). Mimo, że symulacja zapisu przechodzi bez problemu.

W interfejsie jako ten sam użytkownik wykonuję te kroki. Jednak przy zapisie dokumentu z brakami jest inaczej niż w Subiekt GT. Występuje okienko z informacją:

"Uwaga! Istnieją wcześniejsze rezerwacje stanów. Czy przerwać realizację zamówienia?"

i dopiero po kliknięciu "Tak" jest to samo okienko co w Subiekt.

Zgaduję więc, że dokument jest realizowany i wyświetla się to okienko i program czeka na reakcję. Czy ktoś z Państwa ma pomysł jak przeskoczyć to okienko?

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17059
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Navireo SuBraki - problem z zapisaniem dokumentu
« Odpowiedź #1 dnia: Sierpień 30, 2021, 14:10:57 »
W GT i Navireo jest tak samo tylko mylisz funkcjonalności - braki z kolejnością rezerwacji. Pominięcie kolejności rezerwacji nie było obsługiwane w Sferze, nie wiem czy już zostało dodane, czy też nie.
« Ostatnia zmiana: Sierpień 30, 2021, 21:30:42 wysłana przez dkozlowski »
Daniel, Białystok.

Offline butik_slubice

  • Nowy użytkownik
  • *
  • Wiadomości: 15
  • Reputacja +0/-0
  • Wersja programu: 1.60
Odp: Navireo SuBraki - problem z zapisaniem dokumentu
« Odpowiedź #2 dnia: Sierpień 30, 2021, 14:22:09 »
W pomocy czytam:

"W przykładzie zaprezentowano procedurę, która wczytuje dokument z brakami towarów (FS 17/2005). Dokument wcześniej zapisano w Subiekcie bez wywołanego skutku magazynowego. Następnie w okienku Immediate Window listowane są towary brakujące do zrealizowania dokumentu. Zadaniem użytkownika jest podjęcie decyzji, czy zmniejszyć ilości towarów do tego, co jest dostępne na magazynie (jednocześnie pomijając rezerwacje), czy pozostawić dokument "bez wywołanego skutku magazynowego"."

oBraki.PomijanieRezerwacji = True

Czyli niestety nie da się z poziomu sfery tego wykonać? Pozostaje w bazie zmienić na chwilę status ZK, które rezerwują towar i po zapisie przywrócić?

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17059
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Navireo SuBraki - problem z zapisaniem dokumentu
« Odpowiedź #3 dnia: Sierpień 30, 2021, 14:59:35 »
Ech, nie postarałeś się... Sprawdziłem, w IntelliSense, czytam: SuDokument.KontrolaRezerwacjiTowaru. Ja wspominałem miała to być świeża funkcjonalność i jeszcze nie doczekała się opisu w pomocy.

ps.
W odróżnieniu od GT powinieneś mieć kogo pytać o takie rzeczy.
Daniel, Białystok.

Offline butik_slubice

  • Nowy użytkownik
  • *
  • Wiadomości: 15
  • Reputacja +0/-0
  • Wersja programu: 1.60
Odp: Navireo SuBraki - problem z zapisaniem dokumentu
« Odpowiedź #4 dnia: Sierpień 30, 2021, 20:43:00 »
Dzięki za podpowiedź. Prawie działa :)

Teraz nie zawiesza mi się już na metodzie Zapisz() a leci wyjątek "Brak towaru w magazynie". Próbuję więc jak wcześniej "suDokument.PozycjeBrakujace.PomijanieRezerwacji = true;". Nic to nie daje a po sprawdzeniu w kolekcji SuBraki okazuje się, że więcej jest dostępne w magazynie niż wymagane.

                        try
                        {
                            suDokument.Zapisz();
                            dokumentVO.wartosc = suDokument.WartoscNetto;
                            log("Zapisałem dokument " + suDokument.Numer);
                        }
                        catch (Exception e)
                        {
                            log("Błąd " + e.Message);
                            if (e.Message.Contains("80040F60") || e.Message.Contains("Brak towaru w magazynie"))
                            {
                                try
                                {
                                    suDokument.PozycjeBrakujace.PomijanieRezerwacji = true;
                                    suDokument.PozycjeBrakujace.ZmniejszIlosciNaPozycjach();
                                    suDokument.Zapisz();
                                    dokumentVO.wartosc = suDokument.WartoscNetto;
                                    dokumentVO.RemoteId = suDokument.Identyfikator;
                                }
                                catch (Exception ex)
                                {
                                    log("Błąd " + e.Message);
                                    SuBraki braki = suDokument.PozycjeBrakujace;
                                    for (int i = 1; i <= brakiFinal.Liczba; i++)
                                    {
                                        SuBrak brak = brakiFinal[i];
                                        err("Niewystarczająca ilość towaru: " + brak.TowarNazwa + ". Dostępne w mag: " +
                                              brak.MagazynStan + ", wymagane: " + brak.IloscJm + ".");
                                    }
                                    return false;
                                }
                            }                         
                            log("Zapisałem dokument " + suDokument.Numer);
                            return true;
                        }

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17059
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Navireo SuBraki - problem z zapisaniem dokumentu
« Odpowiedź #5 dnia: Sierpień 30, 2021, 20:49:40 »
Skąd taka logika - generować błąd, a później go obsługiwać zamiast go unikać ? Spróbuj ustawić pomijanie rezerwacji przed zapisem dokumentu.
Daniel, Białystok.

Offline butik_slubice

  • Nowy użytkownik
  • *
  • Wiadomości: 15
  • Reputacja +0/-0
  • Wersja programu: 1.60
Odp: Navireo SuBraki - problem z zapisaniem dokumentu
« Odpowiedź #6 dnia: Sierpień 30, 2021, 20:56:38 »
Tak też próbowałem. Nad wklejonym kodem mam:

                    suDokument.KontrolaRezerwacjiTowaru = KontrolaRezerwacjiTowaruEnum.gtaKontrolaRezerwacjiPomin;
                    suDokument.Przelicz();

Próbowałem też zamieniać je miejscami - różne kombinacje.

Offline butik_slubice

  • Nowy użytkownik
  • *
  • Wiadomości: 15
  • Reputacja +0/-0
  • Wersja programu: 1.60
Odp: Navireo SuBraki - problem z zapisaniem dokumentu
« Odpowiedź #7 dnia: Sierpień 30, 2021, 21:06:08 »
Ok, tu jakaś hybryda jest wymagana. Zdziałało, jak przed suDokument.zapisz() dodałem te linie:

                    suDokument.KontrolaRezerwacjiTowaru = KontrolaRezerwacjiTowaruEnum.gtaKontrolaRezerwacjiPomin;
                    suDokument.PozycjeBrakujace.PomijanieRezerwacji = true;
                    suDokument.Przelicz();

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17059
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Navireo SuBraki - problem z zapisaniem dokumentu
« Odpowiedź #8 dnia: Sierpień 30, 2021, 21:30:02 »
Ok, tu jakaś hybryda jest wymagana. Zdziałało, jak przed suDokument.zapisz() dodałem te linie:

To po prostu dwie różne funkcjonalności - uwzględnienie rezerwacji i uwzględnianie kolejności rezerwacji / kontrola rezerwacji towaru - stąd dwie oddzielne flagi do ustawienia i wyłączanie ich w dwóch miejscach.
Daniel, Białystok.

Forum Użytkownikow Subiekt GT

Odp: Navireo SuBraki - problem z zapisaniem dokumentu
« Odpowiedź #8 dnia: Sierpień 30, 2021, 21:30:02 »