Skocz do zawartości

[Sfera] Eksport do PDF w wersji 22

Polecane posty

Czy coś się zmieniło w kwestii wydruków - nie drukują nam się wydruki związane z wzorcami dla dokumentów, jak WZ i FS. Sfera przetwarza żądanie, nie zwraca błędu, a pliku nie ma. Wydruki na podstawie RTF jak np. urlopy, działają bez problemu.

Kod na WZ:

                  int id; id = results.id;          	
                  // uzyskanie dokumentu do wydruku
                  IWydaniaZewnetrzne dokumenty = sfera.PodajObiektTypu<IWydaniaZewnetrzne>();
                  Dokument 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 WZki: "+dokument.NumerWewnetrzny.PelnaSygnatura);
                    //pobranie managera drukowania
                  	IWydruki manager = sfera.PodajObiektTypu<IWydruki>();
                  	// utworzenie zadania drukowania
                  	using (IWydruk wydruk = manager.Utworz(TypWzorcaWydruku.WydanieZewnetrzne))
                  	  {
                  	  // wskazanie obiektu do wydruku
                  	  wydruk.ObiektDoWydruku = dokument;
                  	  using (var podmiot = sfera.PodajObiektTypu<IPodmioty>().Znajdz(dokument.Podmiot))
                  	    {
                 	    IOperacjePodmiotuDlaDokumentu operacje = podmiot.OperacjePodmiotuDlaDokumentu[dokument.Konfiguracja];
                 	    wydruk.ParametryDrukowania.WybranyWzorzec = operacje.WzorzecWydruku;

                 	    // 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 = dokument;
                 	    string filename;
                 	    if(Globals.mode=="developer") filename = "wz"+dokument.Id+"_"+results.type+"_DEV"; else filename = "wz"+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

To samo z wydrukowanie na koniec wystawiania WZ:

    IWydruki manager = sfera.PodajObiektTypu<IWydruki>();                       
    using (IWydruk wydruk = manager.Utworz(TypWzorcaWydruku.WydanieZewnetrzne))
      {
      wydruk.ObiektDoWydruku = wz.Dane;
      var wzorzec = wydruk.ParametryDrukowania.DostepneWzorce.Where(p => p.Id == 100175).FirstOrDefault();
      
      //IOperacjePodmiotuDlaDokumentu operacje = podmiot.OperacjePodmiotuDlaDokumentu[dokument.Konfiguracja];
      //           	    wydruk.ParametryDrukowania.WybranyWzorzec = operacje.WzorzecWydruku;
      
      
      wydruk.ParametryDrukowania.WybranyWzorzec = wzorzec;
      wydruk.ParametryDrukowania.NazwaDokumentuUzytkownika = "wz" +wz.Dane.Id;
      wydruk.ParametryDrukowania.SciezkaEksportu = @"N:\";
      wydruk.Eksport();
      }

 

Link to postu

Czy może pan sprawdzić, jakie błędy zgłasza Sfera? Oto przykładowy kod do sprawdzenia błędów wydruku: 

private static void DrukujDokument(InsERT.Moria.ModelDanych.DokumentDS dokument, IWydruki manager)
{
	using (IWydruk wydruk = manager.Utworz(InsERT.Moria.Wydruki.Enums.TypWzorcaWydruku.FakturaSprzedazy))
	{
		wydruk.ObiektDoWydruku = dokument;
		wydruk.Drukuj();
		if (!wydruk.OstatniaOperacjaZakonczonaSukcesem)
		{
			foreach (var blad in wydruk.PobierzListeBledow())
			{
				// zapisz lub wyświetl błąd
			}
		}
	}
}

 

Link to postu
Cytat

Łączenie ze Sferą INVEST-TECH [DEV]...połączono!
Nasłuchuję na adresie: 10.1.1.13:11000
2018-10-19 13:54:20 - Drukowanie WZki: WZ 18100877/C100
Nie można załadować pliku lub zestawu 'Stimulsoft.Data, Version=2018.2.3.0, Culture=neutral, PublicKeyToken=ebe6666cba19647a' lub jednej z j
ego zależności. Nie można odnaleźć określonego pliku.

2018-10-19 13:54:25 - Wydrukowano: wz301230_org_DEV.pdf

 

Coś z wzorcem?

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