Skocz do zawartości

[Sfera] Ustawienie proformy gotowej do realizacji


Zobacz rozwiązanie Rozwiązane przez Wojciech Szopiński,

Polecane posty

Mam problem z ustawieniem gotowości do realizacji zamówienia, chciałbym używając metod sferycznych ustawić gotowość zamówienia w UI tak tak wygląda, wciakając Ctrl + G na proformie pojawia się okienko:
image.png.74775ebeac9c2e32cce08684c2e17d58.png

i po kliknięciu zmienia stan realizacji:

Przykładowy kod sferyczny którego próbowałem użyć wygląda w taki sposób:
 

var idZamowienia = 1000;
var zamowienieNexo = _polaczenieNexo.Uchwyt
  .PodajObiektTypu<IZamowieniaOdKlientow>().Dane
  .Wszystkie(x => x.Id == idZamowienia)
  .First();

using (var obiektZamowienia = _polaczenieNexo.Uchwyt
       .PodajObiektTypu<IZamowieniaOdKlientow>()
       .Znajdz(zamowienieNexo))
{
  obiektZamowienia.Dane.StanRealizacjiZamowienia.StanGotowosci = (byte)StanGotowosciDoRealizacji.Gotowe;
  obiektZamowienia.Zapisz();
}

i dostaję błąd:

Cytat

Modyfikacja pola StanGotowosci encji StanRealizacjiZamowienia nie powiodła się, ponieważ albo encja nie została przyłączona do obiektu kontrolującego modyfikację danych (biznesowego), albo ten, do którego jest przyłączona nie pozwala na zmianę tego konkretnego pola.

Próbowałem również wykonać modyfikację pobierając obiekt typu: IStanyRealizacjiZamówienia ale również dostaję info, że nie można modyfikować istniejącej encji.

W jaki sposób mogę to sferycznie przestawić?

Edytowane przez Grzegorz Święch
Link to postu
  • Rozwiązanie

Pola encji StanRealizacjiZamowienia są aktualizowane automatycznie przy zapisie zamówienia i nie powinny być modyfikowane ręcznie. Stan gotowości do realizacji dla zamówienia jest wyznaczany na podstawie stanów gotowości poszczególnych pozycji więc wystarczy odpowiednio ustawić pole GotowaDoRealizacji dla wszystkich pozycji zamówienia i je zapisać:

using (var obiektZamowienia = _polaczenieNexo.Uchwyt
       .PodajObiektTypu<IZamowieniaOdKlientow>()
       .Znajdz(zamowienieNexo))
{
  foreach (PozycjaDokumentu pozycjaZamowienia in obiektZamowienia.Dane.Pozycje)
    pozycjaZamowienia.GotowaDoRealizacji = true;
  obiektZamowienia.Zapisz();
}

 

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