Kamil Ciszewski 0 Napisano 12 Marca Udostępnij Napisano 12 Marca w [Sfera] Próba zmiany ceny określonego asortymentu dla faktury (edytowane) Usecase: Chciałbym utworzyć fakturę z systemu e-commerce. Posiadam tam inne ceny, niż te w Subiekt Nexo. Szukałem rozwiązań w dokumentacji oraz na forum i nie potrafiłem znaleźć czegoś, co pomogłoby mi rozwiązać problem. Urywek kodu źródłowego dodającego asortyment jako pozycje do faktury: InsERT.Moria.ModelDanych.Asortyment asortyment = asortymenty.Dane.Wszystkie().Where(k => k.Id == asortymentId).Single(); if (asortyment != null) { Console.WriteLine("Assortiment Found in Subiekt: " + asortymentId); Cena cena = new Cena(); cena.BruttoPoRabacie = Convert.ToDecimal(orderItem.price_brutto); cena.BruttoPrzedRabatem = Convert.ToDecimal(orderItem.price_brutto); cena.NettoPrzedRabatem = orderItem.price_netto(); cena.NettoPoRabacie = orderItem.price_netto(); Console.WriteLine("Created pricing for: " + asortymentId); PozycjaDokumentu pozycjaDokumentu = new PozycjaDokumentu(); pozycjaDokumentu.AsortymentAktualny = asortyment; var pozycjaProdukt = invoice.Pozycje.Dodaj(asortyment.Symbol, Convert.ToDecimal(orderItem.quantity)); pozycjaProdukt.Cena = cena; invoice.Pozycje.AktualizujAsortyment(pozycjaProdukt); invoice.Przelicz(); Console.WriteLine("make invoice count for position: " + asortymentId); } Liczę na chociaż najmniejsze wsparcie z Państwa strony co do rozwiązania mojego problemu. PS: nie chciałbym dodawać nowego cennika dla danych produktów, ponieważ cena w e-commerce jest bardzo zmienna. Pozdrawiam. Edytowane 13 Marca przez Kamil Ciszewski estetyka Link to postu
Mateusz Matuszewski 91 Napisano 14 Marca Udostępnij Napisano 14 Marca w [Sfera] Próba zmiany ceny określonego asortymentu dla faktury Nie ma konieczności ręcznego tworzenia obiektów typu Cena i PozycjaDokumentu. Pozycja zwrócona przez metodę Pozycje.Dodaj jest już uzupełniona wszystkimi niezbędnymi danymi. W Pana przypadku powinno wystarczyć ustawienie ceny netto przed rabatem, a reszta cen wyliczy się automatycznie. InsERT.Moria.ModelDanych.Asortyment asortyment = asortymenty.Dane.Wszystkie().Where(k => k.Id == asortymentId).Single(); if (asortyment != null) { var pozycjaProdukt = invoice.Pozycje.Dodaj( asortyment, Convert.ToDecimal(orderItem.quantity), asortyment.PodstawowaJednostkaMiaryAsortymentu); pozycjaProdukt.Cena.NettoPrzedRabatem = orderItem.price_netto(); } 1 Link to postu
Polecane posty