Skocz do zawartości

MM KontrolaRezerwacjiTowaru

Polecane posty

Przy wystawianiu MM na towar, który jest zarezerwowany  GUI Subiekta GT wyświetla ostrzeżenie. 
Użytkownik może wybrać tam opcję aby Subiekt pominął rezerwację towaru i wystawia się MM ze skutkiem magazynowym.

 

Chciałbym coś takiego osiągnąć z poziomu Sfery:

Próbuję użyć parametru:
mm.KontrolaRezerwacjiTowaru = KontrolaRezerwacjiTowaruEnum.gtaKontrolaRezerwacjiPomin;

ale cały czas otrzymuję wyjątek z brakami towaru.

 

Czy coś jeszcze trzeba zrobić oprócz ustawienia parametru 

KontrolaRezerwacjiTowaru ?


Kod wygląda tak:

 

SuDokument mm = _subiekt.SuDokumentyManager.DodajMM();
                mm.MagazynNadawczyId = parametry.IdMagazynu;
                mm.MagazynOdbiorczyId = parametry.IdMagazynuDocelowego;
                mm.Wystawil = parametry.OsobaWystawiajaca;
                mm.Uwagi = parametry.Uwagi;
                                    mm.StatusDokumentu = SubiektDokumentStatusEnum.gtaSubiektDokumentStatusWywolany;
                
                    
                mm.KontrolaRezerwacjiTowaru = KontrolaRezerwacjiTowaruEnum.gtaKontrolaRezerwacjiPomin;

                foreach (var pozycja in parametry.Pozycje)
                {
                    var dodanaPozycja = (SuPozycja)mm.Pozycje.Dodaj(pozycja.IdTowaru);
                    dodanaPozycja.IloscJm = pozycja.Ilosc;
                    dodanaPozycja.Jm = pozycja.Jm;
                    dodanaPozycja.Opis = pozycja.Opis;
                }

                mm.Przelicz();
                try
                {
                    mm.Zapisz();
                }
                catch (COMException ex)
                {
                    LogError($"Podczas próby zapisania dokumentu MMwystąpił problem: {ex.Message}",
                        ex);
                    PrzechwycJesliBrakTowaru(mm, ex);
                    RzucZDodatkowymOpisem(ex);
                }	

 

Link to postu
  • 4 tygodnie później...

Powinno działać jeśli się z niego skorzysta, służy do tego od zawsze (od wersji 1.05 programów) właściwość "PomijanieRezerwacji" w obiekcie "SuBraki", cytat z pomocy do programu:

Cytat

Atrybut PomijanieRezerwacji

 
Określa, że do sprzedaży mogą zostać dopuszczone te towary, które były wcześniej zarezerwowane.

Uwagi

Zobacz także

Stosuje się do

kolekcja SuBraki

Wersja

Dostępność od wersji: 1.05 systemu InsERT GT. Biblioteka obiektowa: 1.0

 

 

Użyta właściwość służy do zupełnie czegoś innego, do obsługi realizacji zamówień, nie będę już cytował pomocy do programu z tematu "Parametry Subiekta".

Edytowane przez Daniel Kozłowski
  • Dziękuję 1
Link to postu
10 minut temu, Piotr Taraszkiewicz napisał:

Przykładowo można dodać przed zapisem:
mm.ZapiszSymulacja();
a jak zostanie zgłoszony wyjątek z brakami to:
mm.PozycjeBrakujace.PomijanieRezerwacji = true;

To wygeneruje dodatkowe, zbędne, obciążające operacje, jeśli z założenia chcemy pomijać rezerwacje towarów, to w Sferze można to zrobić przed zapisem dokumentu.

  • Dziękuję 1
Link to postu
  • 2 tygodnie później...
13 godzin temu, Piotr Taraszkiewicz napisał:

Tak zrobiliśmy aby ustawiać flagę bez wywoływania symulacji zapisu.

Jeśli dobrze rozumiem problem, to też nie tak, to nie jest optymalne, zalecane rozwiązanie, jeśli chcemy ustawić flagę to można i należy dokładnie to zrobić, nic więcej, czyli nie należy edytować całego dokumentu, są dostępne do tego dedykowane metody jak "UstawFlageWlasna" obiektu "Subiekt".

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