Anfängerfragen - Berichte und Drucken

Wenn Sie nicht wissen, wohin mit Ihrer Frage, dann gehört sie hier hin.
Antworten
hpr
Interessent
Beiträge: 3
Registriert: Fr, 05 Aug, 2011 21:07

Anfängerfragen - Berichte und Drucken

Beitrag von hpr » Mi, 17 Aug, 2011 12:07

Liebes Team Schauries, liebe Forumsgemeinde,

ich benutze EuroKass im Echtbetrieb erst seit wenigen Tagen. Die Einrichtung eines Kontenrahmens, die Grundfunktione des Buchens (incl. Splitbuchungen, Budgetverwaltung, Import von Bankdaten etc.) funktionieren hervorragend.

Allerdings komme ich an einer Stelle (auch mit der integrierten Hilfe) gar nicht weiter - der Verwendung von Berichten und der Druckfunktion. Vielleicht ist es hilfreich, wenn ich meinen Fall einmal schildere und mir jemand dann auf die Sprünge helfen kann.

Ziel ist es, einen "Antrag auf Erstattung von Auslagen" zu drucken.
Grob stelle ich mir das so vor:

1. Auswahl des Antragstellers aus Adressliste über ein Dropdown-Feld
2. Manuelle Eingabe eines Betrages
3. Auswahl eines zugehörigen Kontos des Kontenrahmens (ohne Buchung, die erfolgt beim Abgleich mit dem Kontauszug)
4. Druck eines Formulars mit Word mit folgenden Angaben
a) Absenderinformationen des Antragstellers
b) Aktuelles Datum
c) Kontoinformationen des Antragstellers
d) ein paar Freitexte (z.B. "Hiermit beantrage ich dei Erstattung von Auslagen ...", "Ich erbitte die Überweisung auf folgendes Konto:")

Im Idealfall könnte ich mir noch vorstellen, eine Splitbuchung vorzubereiten, d.h. die Felder der Punkte 2 und 3 mehrfach einzufügen und ein Summenfeld zu erzeugen, aber das ist erstmal nicht so wichtig.

Kann mir jemand sagen, wie ich das grundlegend beginne?

Gruß Peter

Benutzeravatar
Team Schauries
Site Admin
Beiträge: 1058
Registriert: Mo, 17 Jan, 2005 20:25
Wohnort: Essen

Beitrag von Team Schauries » Di, 23 Aug, 2011 7:10

Hallo Peter,

im Prinzip gliedert sich Deine Anforderung in zwei Bereiche: einen Bericht erstellen und eine Druckvorlage in MSWord erstellen.

Der Bericht enthält mindestens die Felder:
Eingabefeld für Anschrift,
Schalter, um Anschrift aus der Adressverwaltung auszuwählen,
Währungsfeld für Betrag,
Datumsfeld für aktuelles Datum,
ein oder mehrere Textfelder für Freitext,
drei Eingabefelder für die Bankverbindung und
einen Schalter, um den Bericht in eine Druckvorlage zu exportieren.

Für den Adress-Schalter benötigst Du folgende Programmzeilen:

Code: Alles auswählen

Procedure SchalterAdresse_OnClick
  Var ContactGUID : String

  ContactGUID = Contacts.SelectContact(False)
  If ContactGUID > ""
    Contacts.ActiveIndex = Contacts.IndexOfGUID(ContactGUID)
    EingabefeldAntragsteller.Text = Contact(Contacts.ActiveIndex).PrintAddressSingleline
    EingabefeldKTO.Text = Contact(Contacts.ActiveIndex).BankAccountNumber
    EingabefeldBLZ.Text = Contact(Contacts.ActiveIndex).BankSortNumber
    EingabefeldBank.Text = Contact(Contacts.ActiveIndex).BankName
  EndIf

EndProcedure
Hier wird über die Methode Contacts.SelectContact(False) eine Adresse aus der Adressverwaltung ausgewählt und anschließend das Anschriftenfeld und die Felder der Bankverbindung mit den Inhalten der aktuell ausgewählten Adresse gefüllt.

Um den Bericht in eine Druckvorlage zu exportieren benötigst Du für den Export-Schalter folgende Programmzeilen:

Code: Alles auswählen

Procedure SchalterDrucken_OnClick

  Var ExportFilePath : String
  Var ExportFileName : String
  Var ExportFileNameUserItem : String

  ExportFilePath = Office.CreateDocumentMonthPath
  ExportFileNameUserItem = Contact(Contacts.ActiveIndex).FirstAndLastName
  ExportFileNameUserItem = StripFileName(ExportFileNameUserItem)
  ExportFileName = Office.CreateDocumentIncFileName(ExportFilePath,ExportFileNameUserItem,"Doc")
  PrintTemplate(Office.GetTemplateMSWordPath + "\Standard\Druckvorlage1.Doc",ExportFileName,True,False)

EndProcedure
Hier wird davon ausgegangen, dass die Druckvorlage Druckvorlage1.Doc heißt und im Unterordner Standard abgelegt wurde.
Der Dateiname des zu exportierenden Worddokuments bildet sich über die Funktion ExportFileNameUserItem = Contact(Contacts.ActiveIndex).FirstAndLastName und über Office.CreateDocumentIncFileName(…) wird dafür gesorgt, dass der Dateiname auf der Festplatte noch nicht existiert.

Die Druckvorlage selbst erstellst Du über Extras/Druckvorlagen/Schalter Neu.
Im EuroKass-Fenster "Druckvorlage bearbeiten" lassen sich nun über den Datentyp "Fließtext" und den Schalter "Assistent" alle Standard-Schlüsselwörter von EuroKass in die Druckvorlage übernehmen.
Eingabefelder eines Berichts müssen - zurzeit immer noch - manuell eingegeben werden.
Hier ein lauffähiges Beispiel:

Antragsteller:
<<Contact(Contacts.ActiveIndex).PrintAddressMultiline>>

Datum:
<<Frame("Kostenerstattung").Datumsfeld1.Date)>>

Betrag:
<<CurrencyToStr(Frame("Kostenerstattung").Waehrungsfeld1.Value)>>

Freitext 1:
<<Frame("Kostenerstattung").Textfeld1.Text>>

Freitext 2:
<<Frame("Kostenerstattung").Textfeld2.Text>>

Bankverbindung:
KTO: <<Frame("Kostenerstattung").EingabefeldKTO.Text>>
BLZ: <<Frame("Kostenerstattung").EingabefeldBLZ.Text>>
Bank: <<Frame("Kostenerstattung").EingabefeldBank.Text>>

Ich habe mal probeweise einen Beispielbericht erstellt und Dir als Anlage per Mail gesendet.

Viele Grüße und viel Erfolg,
Dirk Schauries
Team Schauries

hpr
Interessent
Beiträge: 3
Registriert: Fr, 05 Aug, 2011 21:07

Beitrag von hpr » Di, 23 Aug, 2011 22:52

Hallo Dirk,

huiuiui, ob ich das alles so schnell umsetzen kann :shock:

Ich werde mich morgen mal mal damit auseinandersetzen und schauen, ob es klappt. :roll:

Vielen Dank für deine Email - das nenne ich ja mal einen tollen Service! :)

Viele Grüße
Peter

Antworten