Autor Wątek: Wzorzec wydruku  (Przeczytany 8179 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Rompel

  • Nowy użytkownik
  • *
  • Wiadomości: 46
  • Reputacja +0/-0
  • Wersja programu: Nexo PRO 9.0.1
Wzorzec wydruku
« dnia: Październik 16, 2015, 11:39:04 »
Witam,
Muszę sprawić, żeby na wzorcu wydruku ZD pojawiło się pole własne z dokumentu. Ktoś wie może jak to zrobić ?

Offline fosuk

  • Nowy użytkownik
  • *
  • Wiadomości: 33
  • Reputacja +7/-0
  • Wersja programu: nexo
Odp: Wzorzec wydruku
« Odpowiedź #1 dnia: Październik 16, 2015, 12:06:40 »
Procedura dodania pól własnych zaawansowanych dla dokumentu wygląda następująco:
1. Zakładam, że mamy dodane dwa pola: Numer umowy (tekst), Data umowy (data)
2. Powielamy wzorzec wydruku i wybierając opcję Popraw wzorzec uruchamiamy edytor (Designer).
3. Do referencji raportu, do których docieramy przez kartę Properties , na której z kolei wybieramy ZdStandard Report - dalej na liście otwieramy ReferencedAssemblies i dodajemy:

InsERT.Moria.Wydruki.dll  
InsERT.Moria.ModelDanych.dll  
InsERT.Mox.Core.dll  
InsERT.Mox.EntityFrameworkSupport.dll  
InsERT.Mox.EntityFramework.Core.dll  

4. Na zakładce Code, w klasie ZdStandard dodajemy następujące trzy metody:

private DokumentZD DokumentZD()  
{
return (Dokument.BusinessObjectValue as DokumentDlaWydruku).encjaDokumentu as DokumentZD;  
}  
private object NumerUmowy()  
{  
return DokumentZD().PolaWlasneAdv.Numerumowy;  
}  
private object DataUmowy()  
{  
return Format("{0:dd-MM-yyyy}", DokumentZD().PolaWlasneAdv.Dataumowy);  
}  

oraz usingi:

using InsERT.Moria.Dokumenty.Logistyka;  
using InsERT.Moria.Wydruki.Logistyka;  
using InsERT.Moria.ModelDanych;  

5. Na zakładce Raport - strona pierwsza np. w polu np. Zamawiający, do istniejącej zawartości pola dodajemy:

Umowa nr {NumerUmowy()} z dnia {DataUmowy()}  
6. Zapisujemy raport, zamykamy edytor.


Offline Rompel

  • Nowy użytkownik
  • *
  • Wiadomości: 46
  • Reputacja +0/-0
  • Wersja programu: Nexo PRO 9.0.1
Odp: Wzorzec wydruku
« Odpowiedź #2 dnia: Październik 16, 2015, 20:43:59 »
Zrobiłem wszystko wg instrukcji. Utworzyłem takie same pola własne i niestety nie udaje się ....



Code wygląda następująco:
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Data;
using Stimulsoft.Controls;
using Stimulsoft.Base.Drawing;
using Stimulsoft.Report;
using Stimulsoft.Report.Dialogs;
using Stimulsoft.Report.Components;
using InsERT.Moria.Wydruki.Enums;
using InsERT.Moria.Wydruki.Helpers;
using InsERT.Moria.Dokumenty.Logistyka;
using InsERT.Moria.Wydruki.Logistyka;
using InsERT.Moria.ModelDanych;

namespace Reports
{
    public class ZdStandard : Stimulsoft.Report.StiReport
    {
        public ZdStandard()        {
            this.InitializeComponent();
        }

private string Formatuj(bool pokazTekst, string format, params string[] dane)
{
return pokazTekst ? string.Format(format, dane) : null;
}

private string PodajTekstDostawcy()
{
return Formatuj(PokazNazweDostawcy, "{0}\n", Dostawca.Podmiot.NazwaSkrocona)
+ Formatuj(PokazPelnaNazweDostawcy, "{0}\n", Dostawca.Podmiot.JestOsoba ? Dostawca.Podmiot.NazwaSkrocona : Dostawca.Podmiot.Nazwa)
+ Formatuj(PokazAdresDostawcy , "{0}\n", Dostawca.AdresPodstawowy.LiniaCalosc)
+ Formatuj(PokazSymbolDostawcy , "Symbol: {0}\n", Dostawca.Podmiot.Sygnatura.PelnaSygnatura)
+ (CzyDrukowacVATIN ? Formatuj(PokazNIPDostawcy , "VATIN: {0}\n", Dostawca.Podmiot.NIPUE) : Formatuj(PokazNIPDostawcy , "NIP: {0}\n", Dostawca.Podmiot.NIPSformatowany))
+ Formatuj(PokazPeselDostawcy , "PESEL: {0}\n", Dostawca.Podmiot.PESEL)
+ Formatuj(PokazRachunekDostawcy , "{0}\n{1}\n",
Dostawca.RachunekPodstawowy.Nazwa,
Dostawca.RachunekPodstawowy.Numer)
+ Formatuj(PokazTelefonDostawcy , "Tel.: {0}\n", Dostawca.Podmiot.Telefon);
}

private DokumentZD DokumentZD()
{
return (Dokument.BusinessObjectValue as DokumentDlaWydruku).encjaDokumentu as DokumentZD;
}
private object NumerUmowy()

return DokumentZD().PolaWlasneAdv.Numerumowy;
}
private object DataUmowy()
{
return Format("{0:dd-MM-yyyy}", DokumentZD().PolaWlasneAdv.Dataumowy);
}

private string PodajTekstZamawiajacego()
{
return Formatuj(PokazNazweZamawiajacego, "{0}\n", Zamawiajacy.Podmiot.NazwaSkrocona)
+ Formatuj(PokazPelnaNazweZamawiajacego, "{0}\n", Zamawiajacy.Podmiot.JestOsoba ? Zamawiajacy.Podmiot.NazwaSkrocona : Zamawiajacy.Podmiot.Nazwa)
+ Formatuj(PokazAdresZamawiajacego , "{0}\n", Zamawiajacy.AdresPodstawowy.LiniaCalosc)
+ (CzyDrukowacVATIN ? Formatuj(PokazNIPZamawiajacego , "VATIN: {0}\n", Zamawiajacy.Podmiot.NIPUE) : Formatuj(PokazNIPZamawiajacego , "NIP: {0}\n", Zamawiajacy.Podmiot.NIPSformatowany))
+ Formatuj(PokazRachunekZamawiajacego , "{0}\n{1}\n",
Zamawiajacy.RachunekPodstawowy.Nazwa,
Zamawiajacy.RachunekPodstawowy.Numer)
+ Formatuj(PokazTelefonZamawiajacego , "Tel.: {0}\n", Zamawiajacy.Podmiot.Telefon);
}

private string PodajTekstOdbiorcy()
{
return Formatuj(PokazNazweOdbiorcy, "{0}\n", Odbiorca.Podmiot.NazwaSkrocona)
+ Formatuj(PokazPelnaNazweOdbiorcy, "{0}\n", Odbiorca.Podmiot.JestOsoba ? Odbiorca.Podmiot.NazwaSkrocona : Odbiorca.Podmiot.Nazwa)
+ Formatuj(PokazAdresOdbiorcy , "{0}\n", Odbiorca.AdresPodstawowy.LiniaCalosc)
+ (CzyDrukowacVATIN ? Formatuj(PokazNIPOdbiorcy , "VATIN: {0}\n", Odbiorca.Podmiot.NIPUE) : Formatuj(PokazNIPOdbiorcy , "NIP: {0}\n", Odbiorca.Podmiot.NIPSformatowany))
+ Formatuj(PokazRachunekOdbiorcy , "{0}\n{1}\n",
Odbiorca.RachunekPodstawowy.Nazwa,
Odbiorca.RachunekPodstawowy.Numer)
+ Formatuj(PokazTelefonOdbiorcy , "Tel.: {0}\n", Odbiorca.Podmiot.Telefon);
}

private string PodajTekstAdresuDostawy(int typAdresuDostawy)
{
string adresDostawy = string.Empty;
if ((MiejsceDostawyTyp)typAdresuDostawy == MiejsceDostawyTyp.Reczny)
{
adresDostawy = Formatuj(PokazAdresDostawy, "{0}\n", Dokument.encjaDokumentu.MiejsceDostawy.LiniaCalosc);
adresDostawy += Formatuj(PokazAdresDostawy && PokazPanstwoDlaAdresuDostawy, "{0}\n", Dokument.encjaDokumentu.MiejsceDostawy.Panstwo.Nazwa);
}
else
{
adresDostawy = Formatuj(PokazAdresDostawy, "{0}\n", Dokument.encjaDokumentu.MiejsceDostawyZewnetrzne.LiniaCalosc);
adresDostawy += Formatuj(PokazAdresDostawy && PokazPanstwoDlaAdresuDostawy, "{0}\n", Dokument.encjaDokumentu.MiejsceDostawyZewnetrzne.Panstwo.Nazwa);
    }
    return adresDostawy;
    }

    private string PodajOznaczenieTypuDokumentu(int typ)
    {
switch ((TypDokumentuHandlowego)typ)
{
case TypDokumentuHandlowego.Puste:
return string.Empty;
case TypDokumentuHandlowego.Oryginal:
return "oryginał";
case TypDokumentuHandlowego.OryginalKopia:
return "oryginał/kopia";
case TypDokumentuHandlowego.Kopia:
return "kopia";
default:
return string.Empty;
}
    }

    private string PodajTekstDuplikatu()
    {
return string.Format("DUPLIKAT z dnia {0}", Format("{0:dd-MM-yyyy}", DataDuplikatu));
    }

    private string PodajLiczbeSlownie(decimal liczba, int precyzja, string symbolWaluty)
    {
return KonwerterKwotyNaTekstPolski.LiczbaSlownie(liczba, precyzja, symbolWaluty);
    }

private string PodajOpisPlatnosci()
{
String opis = Dokument.PlatnosciDokumentow.Nazwa;

// operuje na bieżącym elemencie w kolekcji PlatnosciDokumentow
if (Dokument.PlatnosciDokumentow.Kurs.Wartosc != 0m && Dokument.PlatnosciDokumentow.WalutaPlatnosci.Id != Dokument.WalutaBazowaDokumentu.Id)
{
opis += string.Format(", {0} {1} = {2}",
Dokument.PlatnosciDokumentow.Platnosc.KursWalutyDokumentu.LiczbaJednostek,
Dokument.PlatnosciDokumentow.SymbolWalutyPrzeliczanej,
Dokument.PlatnosciDokumentow.Kurs.WartoscZSymbolemWFormacie);
}

return opis;
}


private string PodajOpisPrzedplaty()
{
String opis = Przedplaty.NumerDokumentu + ", " + Format("{0:dd-MM-yyyy}", Przedplaty.DataDokumentu);

if (Dokument.PlatnosciDokumentow.Kurs.Wartosc != 0m && Przedplaty.Waluta.Id != Dokument.WalutaBazowaDokumentu.Id)
{
string walutaZLewej = "";
if (Przedplaty.Waluta.Id == Dokument.WalutaSystemowa.Id && Przedplaty.Waluta.Id != Dokument.WalutaBazowaDokumentu.Id)
                    walutaZLewej = Dokument.WalutaBazowaDokumentu.Symbol;
            else if (Przedplaty.Waluta.Id != Dokument.WalutaSystemowa.Id)
                    walutaZLewej = Przedplaty.Waluta.Symbol;

string walutaZPrawej = "";
if (Przedplaty.Waluta.Id == Dokument.WalutaBazowaDokumentu.Id)
walutaZPrawej = Dokument.WalutaBazowaDokumentu.Symbol;
else
walutaZPrawej = Dokument.WalutaSystemowa.Symbol;

opis += string.Format(", {0} {1} = {2}",
Przedplaty.Platnosc.KursWalutyDokumentu.LiczbaJednostek,
walutaZLewej,
Przedplaty.Platnosc.KursWalutyDokumentu.Kurs + " " + walutaZPrawej);
}

    return opis;
}

    #region StiReport Designer generated code - do not modify
#endregion StiReport Designer generated code - do not modify
    }
    }
 

Forum Użytkownikow Subiekt GT

Odp: Wzorzec wydruku
« Odpowiedź #2 dnia: Październik 16, 2015, 20:43:59 »