Dariusz Żukowski 3 Napisano 15 Czerwca 2022 Udostępnij Napisano 15 Czerwca 2022 w Faktura zaliczkowa końcowa (edytowane) Jak uzyskać fakturę zaliczkową końcową w API. Faktura cząstowa wydaje się być oki, natomiast nie wiem jak uzyskać końcową i dodatkowo po najechaniu na znaczek FL (faktury zaliczkowej) ta niby końcowa ma dymek "Wydanie zewtnętrzne" (Ekran 1) i status "L" natomiast faktura końcowa wystawiona z NEXO ma prawidłowy status "W" a na dymku jest prawidłowo "Faktura sprzedaży zaliczkowa" (Ekran 2). To co robie w kodzie to w zasadzie tylko konfigurację i dodaje dokument w oby przypadkach metoda dok.Dane.Zaliczkowy(); zwraca true, natomiast metoda dok.Dane.ZaliczkowyKoncowy(); zwraca false, nie mam pomysło co zrocić/ustawić zeby metoda dok.Dane.ZaliczkowyKoncowy(); w przypadku koncowej zwrocila true. W GT jest łatwiej bo są osobne dwa dokumnety na zaliczkową i koncową. _konf = ((Uchwyt)Conn).PodajObiektTypu<IKonfiguracje>().DaneDomyslne.FakturaVATZaliczkowa; using (var dok = doki.Utworz(_konf)) { ParametryGrupowaniaDS parametryGrupowania = new ParametryGrupowaniaDS(); parametryGrupowania.MetodaGrupowaniaPozycji = MetodaGrupowaniaPozycji.BezKonsolidacji; parametryGrupowania.MetodaWyliczeniaCen = MetodaWyliczeniaCen.BezKonsolidacji; if (mDok.MiejsceDostawyTyp == (byte)MiejsceDostawyTyp.Reczny) { parametryGrupowania.MiejsceDostawy = mDok.MiejsceDostawy; parametryGrupowania.MiejsceDostawyTyp = MiejsceDostawyTyp.Reczny; } else if(mDok.MiejsceDostawyTyp == (byte) MiejsceDostawyTyp.Zamawiajacy ) { parametryGrupowania.MiejsceDostawy = mDok.MiejsceDostawyZewnetrzne; parametryGrupowania.MiejsceDostawyTyp = MiejsceDostawyTyp.Zamawiajacy; } else { zwrot = new Message { Result = false, Id = 0, Msg = "Nie obsłużono miejsca dostawy. Typ: " + mDok.MiejsceDostawyTyp, StackTrace = string.Empty }; } parametryGrupowania.NabywcaSprzedawca = mDok.NabywcaSprzedawcaWybrany; parametryGrupowania.OdbiorcaDostawca = mDok.OdbiorcaWybrany; parametryGrupowania.PrzeniesNatychmiastowe = PrzenoszeniePlatnosciNatychmiastowych.Przepisz; parametryGrupowania.PrzeniesPrzedplaty = PrzenoszeniePrzedplat.Przepisz; parametryGrupowania.OperacjePrzeliczaniaDokumentu = mDok.OperacjePrzeliczaniaDokumentu; //w przypadku cząstkowej dodaje dokument na podstawie zamówienia mDok = dokiZam.Dane.Wszystkie().Where(p => p.Id == doc.OrderID).FirstOrDefault(); dok.WypelnijNaPodstawieZK(mDok.Pozycje, mDok, parametryGrupowania); // w przypadku koncowej dodaje dokuemnt na podstawie pierwszej faktury cząstkowej mPar = dokiParam.Dane.Wszystkie().Where(p => p.Id == realizujacy).FirstOrDefault(); dok.WypelnijNaPodstawieDS(mPar.Pozycje, mPar, parametryGrupowania); } Edytowane 15 Czerwca 2022 przez Dariusz Żukowski Link to postu
Wojciech Szopiński 227 Napisano 20 Czerwca 2022 Udostępnij Napisano 20 Czerwca 2022 w Faktura zaliczkowa końcowa Metoda WypelnijNaPodstawieDS służy do wystawiania faktury detalicznej do paragonu. Proszę skorzystać z metody ZamknijNaPodstawieZaliczkowej z interfejsu IDokumentZaliczkowy: (dok as IDokumentZaliczkowy).ZamknijNaPodstawieZaliczkowej(mPar) Link to postu
Dariusz Żukowski 3 Napisano 28 Lipca 2022 Autor Udostępnij Napisano 28 Lipca 2022 w Faktura zaliczkowa końcowa Czy to ma się zdarzyć po utworzeniu dokumentu na podstawie zamówienia a następnie zapisie czy zamiast tego ? Jak w kodzie poniżej ? using (var dok = doki.Utworz(_konf)) { ParametryGrupowaniaDS parametryGrupowania = new ParametryGrupowaniaDS(); parametryGrupowania.MetodaGrupowaniaPozycji = MetodaGrupowaniaPozycji.BezKonsolidacji; parametryGrupowania.MetodaWyliczeniaCen = MetodaWyliczeniaCen.BezKonsolidacji; if (mDok.MiejsceDostawyTyp == (byte)MiejsceDostawyTyp.Reczny) { parametryGrupowania.MiejsceDostawy = mDok.MiejsceDostawy; parametryGrupowania.MiejsceDostawyTyp = MiejsceDostawyTyp.Reczny; } else if(mDok.MiejsceDostawyTyp == (byte) MiejsceDostawyTyp.Zamawiajacy ) { parametryGrupowania.MiejsceDostawy = mDok.MiejsceDostawyZewnetrzne; parametryGrupowania.MiejsceDostawyTyp = MiejsceDostawyTyp.Zamawiajacy; } else { zwrot = new Message { Result = false, Id = 0, Msg = "Nie obsłużono miejsca dostawy. Typ: " + mDok.MiejsceDostawyTyp, StackTrace = string.Empty }; } parametryGrupowania.NabywcaSprzedawca = mDok.NabywcaSprzedawcaWybrany; parametryGrupowania.OdbiorcaDostawca = mDok.OdbiorcaWybrany; parametryGrupowania.PrzeniesNatychmiastowe = PrzenoszeniePlatnosciNatychmiastowych.Przepisz; parametryGrupowania.PrzeniesPrzedplaty = PrzenoszeniePrzedplat.Przepisz; parametryGrupowania.OperacjePrzeliczaniaDokumentu = mDok.OperacjePrzeliczaniaDokumentu; //w przypadku cząstkowej dodaje dokument na podstawie zamówienia mDok = dokiZam.Dane.Wszystkie().Where(p => p.Id == doc.OrderID).FirstOrDefault(); dok.WypelnijNaPodstawieZK(mDok.Pozycje, mDok, parametryGrupowania); (dok as IDokumentZaliczkowy).ZamknijNaPodstawieZaliczkowej(mPar); } Link to postu
Dariusz Żukowski 3 Napisano 28 Lipca 2022 Autor Udostępnij Napisano 28 Lipca 2022 w Faktura zaliczkowa końcowa Wszystko działa, tylko na fakturze zaliczkowej trzeba dodać jeszcze aspektzaliczkowy na pozycjach i aspektzaliczkowy na dokumnecie, przepisać płatność z zamówienia decimal zaliczka = 0; foreach (PozycjaDokumentu poz in dok.Dane.Pozycje) { poz.AspektZaliczkiPozycji.Zaliczka.Brutto = poz.Wartosc.BruttoPoRabacie; zaliczka += poz.Wartosc.BruttoPoRabacie; } dok.Dane.AspektZaliczki.Zaliczka = zaliczka; PaymentFromOrder(mDok, dok, doc); i wtedy po zapisie dokumentu zaliczkowegokońcowego który tworzymy na postawie zamówienia należy dodać linie i wszystko działa prawidłowo (dok as IDokumentZaliczkowy).ZamknijNaPodstawieZaliczkowej(mPar); dok.Zapisz(); Link to postu
Wojciech Szopiński 227 Napisano 29 Lipca 2022 Udostępnij Napisano 29 Lipca 2022 w Faktura zaliczkowa końcowa Najpierw należy utworzyć fakturę zaliczkową na podstawie zamówienia (WypelnijNaPodstawieZK), a następnie utworzyć nowy dokument sprzedaży i wywołać na nim ZamknijNaPodstawieZaliczkowej gdzie jako parametr podajemy encję faktury zaliczkowej utworzonej w poprzednim kroku. Link to postu
Polecane posty