Skocz do zawartości

metoda Montuj (utworzenie kompletów)

Polecane posty

Montowanie kompletu za pomocą Sfery

Szanowni Państwo, próbuję na podstawie ZK zmontować komplety, ale nie wiem jak mogę utworzyć obiekt montownia?

                                IZlecenieProdukcyjneMontowania montownia = sfera.PodajObiektTypu<IZlecenieProdukcyjneMontowania>();  // TO OD RAZU NIE DZIAŁA :(

                                try
                                {
                                    var pozycjeZrodlowe = zamowienia.Dane.Wszystkie().Where(p => p.Id == zk.Dane.Id).FirstOrDefault();

                                    foreach (var item in pozycjeZrodlowe.Pozycje)
                                    {
                                        Asortyment a = asortyment.Dane.Wszystkie().Where(t => t.Id == item.AsortymentWybranyId).FirstOrDefault();
                                        if (a != null)
                                        {
                                            if (a.SkladnikiKompletu.Count() > 0)
                                            {
                                                montownia.WypelnijnaPodstawieZK(item, item.Ilosc);
                                                Logger.WriteLine($"montaż kompletu! dla {a.Symbol}, ilość={item.Ilosc}, MaksymalnaIloscKompletu wynosi: {montownia.PodajMaksymalnaIloscKompletu()}");
                                                montownia.Montuj(a);
                                            }
                                        }
                                    }

                                }
                                catch (Exception ex)
                                {
                                    Logger.WriteLine(Log.LogPriority.Error, "montowanie kompletu: " + ex.Message);
                                    montownia.WypiszBledy(Logger);
                                }
 

Link to postu

Nie robiłem tego, ale brakuje momentu utworzenia dokumentu, zapewne ZlecenieProdukcyjneMontowania. Podrzucę pomysł z głowy, bo widzę, że ma Pan nocną wenę :)Najlepiej, wzorować się na czymś w Sferze, co jest w manualu. Mamy tam np. Tworzenie zamówienia klienta.

IZamowieniaOdKlientow zamowienia = sfera.PodajObiektTypu<IZamowieniaOdKlientow>();
Konfiguracja konfZk = sfera.PodajObiektTypu<IKonfiguracje>().DaneDomyslne.ZamowienieOdKlienta;
using (IZamowienieOdKlienta zk = zamowienia.Utworz(konfZk))
{
zk.Zapisz();
}

W ten sposób powinna wyglądać podstawa Pana zlecenia produkcyjnego montowania - oczywiście zamienić na odpowiednie obiekty. Jeśli od razu wywala błąd i parser nie podpowiada, to może brakuje czegoś w using. Na szybko widzę, że ma pan źle "liczby mnogie", elementów "I"

IZleceniaProdukcyjneMontowania montownia = sfera.PodajObiektTypu<IZlecenieProdukcyjneMontowania>();

Czyli pewnie wyjdzie coś takiego:

IZleceniaProdukcyjneMontowania montownia = sfera.PodajObiektTypu<IZlecenieProdukcyjneMontowania>(); 
Konfiguracja konfZPM = sfera.PodajObiektTypu<IKonfiguracje>().DaneDomyslne.ZlecenieProdukcyjneMontowania;
using (IZamowienieOdKlienta zpm = montownia.Utworz(konfZPM))
{
zpm.Zapisz();
}

Co do WypełnijNaPodstawieZK, zaraz tutaj dodytuje inny wątek, w którym jest wypełnianie, to nakierunkuje :)

O tutaj co prawda inny temat, ale jest kawał kodu, tworzący WZ na podstawie ZK, co naprowadzi :)

 

 

Edytowane przez Radomił Ząbik
  • Lubię to 1
Link to postu
×
×
  • Dodaj nową pozycję...