Skocz do zawartości

[Sfera] Pobranie asortymentów powiązanych z zleceniem serwisowym


Zobacz rozwiązanie Rozwiązane przez Alina Kowalska,

Polecane posty

Próbuję przenieść asortymenty, pomiędzy zleceniami serwisowymi. Generalnie, wydaje się, że funkcja WypelnijNaPodstawie powinna to już robić sama z Siebie, ale tego nie robi niestety. Dlatego chciałem pobrać wszystkie pozycje, z istniejącego zlecenia i wprowadzić je do tego nowego, niestety, z dokumentacji jedyne co znalazłem, to asortymenty powiązane, a te nic mi nie zwracają:

IZlecenieSerwisowe zlecenieZapisane = zlecenia.Znajdz(p => p.Id == identyfikatorZapisanegoZlecenia);
using (IZlecenieSerwisowe zlecenie = zlecenia.Utworz())
{
zlecenie.WypelnijNaPodstawie(zlecenieZapisane.Dane, true);
foreach (var a in zlecenieZapisane.Dane.AsortymentWymaganyDoWykonania)
  {
  zlecenie.DodajZPowiazanymi(a.Asortyment,(decimal)a.DomyslnaIlosc,a.DomyslnaJednostkaMiary);
  }
}

Gdzie w takim razie szukać asortymentów na zleceniu? Czy metoda dodawania tego asortymentu jest prawidłowa?

Swoją drogą w NEXO, Ctrl+D, także nie przenosi asortymentu.

Link to postu
  • Rozwiązanie

Pozycje zlecenia znajdują się w zlecenie.DokumentCRM.Pozycje. Ale tu jest pułapka, bo to się tyczy tylko zleceń utworzonych/edytowanych od wersji 30 (czyli takich, gdzie zlecenie.CzyAsortymentyWPostaciDokumentuCRM == true). Dla starszych zleceń znajdują się one w zlecenie.AsortymentWymaganyDoWykonania.

 

Aby wypełnić zlecenie asortymentami z istniejącego zlecenia, trzeba napisać

if (zlecenieZapisane.CzyAsortymentyWPostaciDokumentuCRM)
{
    zlecenie.WypelnijAsortymentNaPodstawieDokumentu(zlecenieZapisane.DokumentCRM);
}
Link to postu
×
×
  • Dodaj nową pozycję...