Michał Araszkiewicz 0 Napisano 8 Czerwca 2020 Udostępnij Napisano 8 Czerwca 2020 w Wydruk korekty dokumentu sprzedaży Witam, Potrafie drukować do PDF dokumenty, sprzedaży. Niestety podobna metoda nie działa do druku korekt dokumentu sprzedaży Program, nie zwraca błędu. Po prostu nie generuje plików. IKorektyDokumentowSprzedazy dokumenty = sfera.PodajObiektTypu<IKorektyDokumentowSprzedazy>(); //DokumentKDS dokument Dokument idokument = dokumenty.Dane.Wszystkie().Where(a => a.Id == dokument.Id).FirstOrDefault(); if (idokument == null) throw new Exception("Brak dokumentu w bazie"); IWydruki manager = sfera.PodajObiektTypu<IWydruki>(); using (IWydruk wydruk = manager.Utworz(TypWzorcaWydruku.KorektaDokumentuSprzedazy)) { wydruk.ObiektDoWydruku = idokument; wydruk.ParametryDrukowania.NazwaDokumentuUzytkownika = dokument.DokumentDoKsiegowania.NumerDokumentu.Replace(@"/", "_"); wydruk.ParametryDrukowania.SciezkaEksportu = System.IO.Path.GetDirectoryName(filename); wydruk.Eksport(); } Gdzie popełniam błąd? Link to postu
Radomił Ząbik 306 Napisano 8 Czerwca 2020 Udostępnij Napisano 8 Czerwca 2020 w Wydruk korekty dokumentu sprzedaży Na moje w using, gdzie powinno być: KorektaFakturySprzedazy Jak coś, mój działający kod, z wybieraniem wzorca przypisanego do klienta i wersji dokumentu, tylko, że eksport do PDF, to może coś się przyda int id; id = results.id; // uzyskanie dokumentu do wydruk IKorektyDokumentowSprzedazy dokumenty = sfera.PodajObiektTypu<IKorektyDokumentowSprzedazy>(); DokumentKDS dokument = dokumenty.Dane.Wszystkie().Where(d => d.Id == id).Single(); if(dokument == null) { Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd H:mm:ss")+" - Wskazany do wydruku dokument nie istnieje!"); response = "{ \"error\":\"Dokument nie istnieje!\" }"; } { Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd H:mm:ss")+" - Drukowanie KFSki: "+dokument.NumerWewnetrzny.PelnaSygnatura); //pobranie managera drukowania IWydruki manager = sfera.PodajObiektTypu<IWydruki>(); // utworzenie zadania drukowania using (IKorektaDokumentuSprzedazy kds = dokumenty.Znajdz(dokument)) using (IWydruk wydruk = manager.Utworz(TypWzorcaWydruku.KorektaFakturySprzedazy)) { // wskazanie obiektu do wydruku wydruk.ObiektDoWydruku = kds.Dane; using (var podmiot = sfera.PodajObiektTypu<IPodmioty>().Znajdz(dokument.Podmiot)) { IOperacjePodmiotuDlaDokumentu operacje = podmiot.OperacjePodmiotuDlaDokumentu[dokument.Konfiguracja]; wydruk.ParametryDrukowania.WybranyWzorzec = operacje.WzorzecWydrukuKorekty; // sposób ustawienia "kopia" na wydruku IWydrukParametryExtension param = (IWydrukParametryExtension)wydruk.ParametryDrukowania; if(results.type=="copy") ((IWydrukParametryDokument)wydruk.ParametryDrukowania).SposobWydrukuOryginalKopia = SposobWydrukuOryginalKopia.Kopia; if(results.type=="org") ((IWydrukParametryDokument)wydruk.ParametryDrukowania).SposobWydrukuOryginalKopia = SposobWydrukuOryginalKopia.Oryginal; param.ZastapPliki = true; // wyeksportowanie dokumentu do pliku wydruk.ObiektDoWydruku = kds.Dane; string filename; if(Globals.mode=="developer") filename = "kfs"+dokument.Id+"_"+results.type+"_DEV"; else filename = "kfs"+dokument.Id+"_"+results.type; wydruk.ParametryDrukowania.NazwaDokumentuUzytkownika = filename; wydruk.ParametryDrukowania.SciezkaEksportu = @"N:\"; wydruk.Eksport(); Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd H:mm:ss")+" - Wydrukowano: " +wydruk.ParametryDrukowania.NazwaDokumentuUzytkownika+".pdf"); response = "{ \"number\":\""+dokument.NumerWewnetrzny.PelnaSygnatura+"\", \"filename\":\""+filename+"\", \"id\":\""+dokument.Id+"\" }"; } } } Link to postu
Wojciech Szopiński 224 Napisano 9 Czerwca 2020 Udostępnij Napisano 9 Czerwca 2020 w Wydruk korekty dokumentu sprzedaży using (IKorektaDokumentuSprzedazy kds = dokumenty.Znajdz(dokument)) Ta linia w kodzie Pana Radomiła jest istotna. Do wydruku korekty wymagane jest załadowanie obiektu biznesowego IKorektaDokumentuSprzedazy. Link to postu
Michał Araszkiewicz 0 Napisano 12 Czerwca 2020 Autor Udostępnij Napisano 12 Czerwca 2020 w Wydruk korekty dokumentu sprzedaży IWydruki manager = sfera.PodajObiektTypu<IWydruki>(); IKorektyDokumentowSprzedazy dokumentyK = sfera.PodajObiektTypu<IKorektyDokumentowSprzedazy>(); using (IKorektaDokumentuSprzedazy kds = dokumentyK.Znajdz(dokument)) using (IWydruk wydruk = manager.Utworz(TypWzorcaWydruku.KorektaFakturySprzedazy)) { wydruk.ObiektDoWydruku = kds.Dane; using (var podmiot = sfera.PodajObiektTypu<IPodmioty>().Znajdz(dokument.Podmiot)) { IOperacjePodmiotuDlaDokumentu operacje = podmiot.OperacjePodmiotuDlaDokumentu[dokument.Konfiguracja]; wydruk.ParametryDrukowania.WybranyWzorzec = operacje.WzorzecWydrukuKorekty; // sposób ustawienia "kopia" na wydruku ((IWydrukParametryDokument)wydruk.ParametryDrukowania).SposobWydrukuOryginalKopia = SposobWydrukuOryginalKopia.Oryginal; // wyeksportowanie dokumentu do pliku wydruk.ObiektDoWydruku = kds.Dane; wydruk.ParametryDrukowania.NazwaDokumentuUzytkownika = dokument.DokumentDoKsiegowania.NumerDokumentu.Replace(@"/", "_").Replace(" ", ""); wydruk.ParametryDrukowania.SciezkaEksportu = System.IO.Path.GetDirectoryName(filename); wydruk.Eksport(); MessageBox.Show((kds.Dane ==null?"Puste":"jest") + " - Wydrukowano: " + wydruk.ParametryDrukowania.NazwaDokumentuUzytkownika + ".pdf"); } } Zmodyfikowałem kod. Nadal skrypt nie generuje faktur i nie wyrzuca błędów... Link to postu
Radomił Ząbik 306 Napisano 12 Czerwca 2020 Udostępnij Napisano 12 Czerwca 2020 w Wydruk korekty dokumentu sprzedaży A jakie błędy generuje? Link to postu
Michał Araszkiewicz 0 Napisano 15 Czerwca 2020 Autor Udostępnij Napisano 15 Czerwca 2020 w Wydruk korekty dokumentu sprzedaży Dnia 12.06.2020 o 12:56, Radomił Ząbik napisał: A jakie błędy generuje? Nie generuje błędów, po prostu nie generuje dokumentów. Link to postu
Radomił Ząbik 306 Napisano 15 Czerwca 2020 Udostępnij Napisano 15 Czerwca 2020 w Wydruk korekty dokumentu sprzedaży Rozumiem, że zweryfikował Pan, czy obiekt dokument, został wybrany prawidłowo - nie ma Pan tego w części kodu. Nie wiem, jaki to rodzaj aplikacji, jeśli konsolowy, to na testy wyrzuciłbym Sobie jakieś info do debugowania. Link to postu
Michał Araszkiewicz 0 Napisano 15 Czerwca 2020 Autor Udostępnij Napisano 15 Czerwca 2020 w Wydruk korekty dokumentu sprzedaży Aplikacja jest w WPF. Wcześniejsza część kodu pobiera dane z dokumentu dotyczące płatnika, kwot itp, ponad 20 pól i to zapisuje do pliku XML i tu jest obsługa błędów.. Oprócz pliku XML powinien być PDF z fakturą, plik XML z danymi dokumentu się generuje, ale PDF nie. Jeśli sprawa dotyczy zwykłych dokumentów sprzedaży to generowane są dane PDF i XML. Problem dotyczy korekt. Link to postu
Wojciech Szopiński 224 Napisano 15 Czerwca 2020 Udostępnij Napisano 15 Czerwca 2020 w Wydruk korekty dokumentu sprzedaży Czy debugował Pan wykonanie kodu odpowiedzialnego za wydruk korekty z włączonym wychwytywaniem wyjątków? Link to postu
Polecane posty