Radomił Ząbik 310 Napisano 24 Stycznia 2023 Udostępnij Napisano 24 Stycznia 2023 w [Sfera] FS na podstawie WZ(ZK), a przenoszenie płatności z dokumentów Mam problem z jednym podmiotem i przenoszeniem płatności z dokumentów poprzedzających - płatność jest określana na ZK, potem jest określana na WZ. Nie ukrywam, że do tej pory chodziło to dobrze, bo nie było trzeba aktualizować NEXO w tym podmiocie, i chodził jeszcze na starych zasadach, z przed wiosny 2021. Obecnie działa tam 41.0.1, ale nie powinno to mieć wpływu. Kod wygląda następująco: // pobranie jednej WZ var wz = wydania.Dane.Wszystkie().Where(p => p.Id == docid).FirstOrDefault(); using (IDokumentSprzedazy fs = faktury.Utworz(konfFS)) { // przeniesnie parametrów ParametryGrupowaniaDS parametryGrupowania = new ParametryGrupowaniaDS(); parametryGrupowania.MetodaGrupowaniaPozycji = MetodaGrupowaniaPozycji.BezKonsolidacji; parametryGrupowania.MetodaWyliczeniaCen = MetodaWyliczeniaCen.PrzepisanieZDokumentuGlownego; parametryGrupowania.MiejsceDostawy = wz.MiejsceDostawy; parametryGrupowania.MiejsceDostawyTyp = MiejsceDostawyTyp.Nabywca; parametryGrupowania.NabywcaSprzedawca = wz.NabywcaSprzedawcaWybrany; parametryGrupowania.OdbiorcaDostawca = wz.OdbiorcaWybrany; parametryGrupowania.PrzeniesNatychmiastowe = PrzenoszeniePlatnosciNatychmiastowych.Przepisz; parametryGrupowania.PrzeniesPrzedplaty = PrzenoszeniePrzedplat.Przepisz; // wypełnienie pozycji na podstawie WZ foreach(var posadd in results.pos) { int posdocid; posdocid = posadd.id; var wzAdd = wydania.Dane.Wszystkie().Where(p => p.Id == posdocid).FirstOrDefault(); Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd H:mm:ss")+" - realizowane WZ: "+wzAdd.NumerWewnetrzny.PelnaSygnatura); fs.WypelnijNaPodstawieWZ(wydania.Dane.Wszystkie().Where(p => p.Id == posdocid),wzAdd,parametryGrupowania); } // co z tym kwiatkiem? fs.Platnosci.DodajPlatnosciDomyslne(); fs.Zapisz(); } } Założenie jest takie, że jeśli mamy na dokumencie ZK/FP jakąś przedpłatę, albo np. płatność pobraniową z cesją, to Sfera zachowa się jak Subiekt i Sobie ją przeniesie. Jeśli takowej nie ma, to powinno Sobie wziąć płatność z podmiotu. Niestety coś mi się kaszani. W jednym przypadku płatność cesyjna, mi się zdublowała, dając w efekcie 3 nierozliczone rozrachunki: - na klienta, z ZK - cesja na DHL, też z tego ZK - no i faktura znowu na DHL W drugim przypadku, znowu było za pobraniem, a na FS wskoczyła gotówka. Odpalenie w Subiekcie, wybranie przedpłaty za pobraniem i zapisanie, wszystkie rozrachunki poprawne. Strzelam, że fs.Platnosci.DodajPlatnosciDomyslne(); powoduje problem, ale pominąć go się nie da. Wieczorem będę jeszcze eksperymentować, ale może w międzyczasie, ktoś miałbym jakąś sugestię, co przeoczyłem. Przy okazji, przyda się chyba wątek odświeżający temat, na nowych zasadach płatności. Link to postu
Radomił Ząbik 310 Napisano 24 Stycznia 2023 Autor Udostępnij Napisano 24 Stycznia 2023 w [Sfera] FS na podstawie WZ(ZK), a przenoszenie płatności z dokumentów Póki co, wstawiłem płatności domyślne przed wypełnianiem i dodałem dodatkowe przeliczenie, więc dzisiejsze kilka faktur jest ok, ale będę testować dalej, może to tylko kolejność. fs.Platnosci.DodajPlatnosciDomyslne(); // wypełnienie pozycji na podstawie WZ foreach(var posadd in results.pos) { int posdocid; posdocid = posadd.id; var wzAdd = wydania.Dane.Wszystkie().Where(p => p.Id == posdocid).FirstOrDefault(); Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd H:mm:ss")+" - realizowane WZ: "+wzAdd.NumerWewnetrzny.PelnaSygnatura); fs.WypelnijNaPodstawieWZ(wydania.Dane.Wszystkie().Where(p => p.Id == posdocid),wzAdd,parametryGrupowania); } fs.Przelicz(); Link to postu
Wojciech Szopiński 227 Napisano 26 Stycznia 2023 Udostępnij Napisano 26 Stycznia 2023 w [Sfera] FS na podstawie WZ(ZK), a przenoszenie płatności z dokumentów W dniu 24.01.2023 o 09:10, Radomił Ząbik napisał: Strzelam, że fs.Platnosci.DodajPlatnosciDomyslne(); powoduje problem Z analizy naszego wewnętrznego kodu wynika, że tak gdyż ta metoda w pierwszej kolejności usuwa dotychczas wprowadzone płatności na dokumencie (o ile w parametrach płatności nie jest wybrane "Płatności domyślne = Nie obsługuj") i potem wypełnia kolekcję płatności odpowiednimi płatnościami domyślnymi zgodnie z ustawieniami klienta oraz stanowiska kasowego. Z tego co widzę również samo "WypelnijNaPodstawieXX" podczas przenoszenia płatności z realizowanego dokumentu wykonuje akcję p.t. "dopełnij płatnościami domyślnymi" co powoduje, że przeniesione płatności są zachowane, a pozostała kwota do zapłaty jest opłacana płatnościami domyślnymi więc wygląda na to, że wystarczy po prostu wykonać "WypelnijNaPodstawieXX" i nie trzeba więcej nic "dłubać". 1 Link to postu
Radomił Ząbik 310 Napisano 26 Stycznia 2023 Autor Udostępnij Napisano 26 Stycznia 2023 w [Sfera] FS na podstawie WZ(ZK), a przenoszenie płatności z dokumentów Przy okazji jedna prośba - w przykładach, w instrukcji w SDK, przydało by się coś, z użyciem parametryGrupowania, czyli zapewne jakieś wypełnij na podstawie, może akurat wystawienie FS na podstawie WZ, było by fajnym przykładem, bo właśnie płatności można by opisać. Link to postu
Wojciech Szopiński 227 Napisano 26 Stycznia 2023 Udostępnij Napisano 26 Stycznia 2023 w [Sfera] FS na podstawie WZ(ZK), a przenoszenie płatności z dokumentów Zanotowałem Link to postu
Polecane posty