Forum Użytkownikow Subiekt GT
NEXO => Subiekt NEXO => Wątek zaczęty przez: Rompel w 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ć ?
-
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.
-
Zrobiłem wszystko wg instrukcji. Utworzyłem takie same pola własne i niestety nie udaje się ....
(http://imageshack.com/a/img911/4752/TSmhKk.jpg)
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
}
}