Hallo, ich versuche mich gerade daran mithilfe eines Berichts eine Buchung auszuführen.
Dazu habe ich die ganz normalen Buchungsfelder (also Quellkonto, Zielkonto, Betrag, Datum,...) und auch einige eigene Felder in dem Bericht angelegt.
Wenn ich jetzt eine Buchung mit den normalen Buchungsfelder (über Bookings.AddBooking) ausführe funktioniert alles und die Buchung erscheint in der Buchungsliste. Wie binde ich aber jetzt meine eigenen Felder in die Buchung mit ein? Damit auch die Werte meiner selbst angelegten Felder mit in der Buchung erscheinen?
Meine zweite Frage wäre ist es möglich dass wenn ich in einer Tabelle am Rand meines Berichtes über einen manuellen Buchungsfilter mir meine Buchungen anzeigen lasse, eine davon anzuklicken damit diese ausgewählt wird und in meine Buchungsmaske im Bericht angezeigt bzw. übertragen wird? Also so das das Quellkonto im Feld Quellkonto angezeigt wird und der Betrag im Feld Betrag....
Ich hoffe das ist einigermaßen verständlich. Ich möchte halt eine fertige Buchung auswählen und diese dann in den verschiedenen Feldern anzeigen lassen um diese bei Bedarf zu ändern.
So das ist zwar ziemlich viel auf einmal aber ich hoffe ihr könnt mir helfen.
Vielen Dank
Kuschel1234
Buchen über einen Bericht
-
- Profi
- Beiträge: 43
- Registriert: So, 24 Okt, 2010 14:26
- Team Schauries
- Site Admin
- Beiträge: 1058
- Registriert: Mo, 17 Jan, 2005 20:25
- Wohnort: Essen
Hallo Kuschel1234,
zunächst würde ich mit Bookings.AddBooking eine neue Buchung anlegen und im Anschluss daran die gewünschten "Eigenen Felder" über Booking(x).UserField(x).Asxxxx mit Werten belegen.
Hier ein Beispiel:
Hinweis:
Das erste Feld mit dem Index 0 stellt ein Textfeld und das zweite mit dem Index 1 ein Währungsfeld dar.
In der Variablen i wird der Index der soeben erzeugten Buchung gespeichert. Über Booking(i). xxx kannst Du jetzt beliebige weitere Operationen mit dieser Buchung vornehmen.
Zur Frage 2.
Ab dem kommenden Update kann zum einen über die Eigenschaft Tabelle.Row(x).Index der Buchungsindex einer Buchung abgefragt und über die Eigenschaft Tabelle.SelectedIndex der aktuell angewählte Index abgefragt werden.
Im Ereignis "Beim Fokussieren einer Zeile" einer Tabelle kann so der Buchungsindex abgefragt und die entsprechenden Eingabefelder des Berichts gefüllt werden.
Beim Ändern der Eingabefelder kann umgekehrt im jeweiligen Ereignis "Beim Ändern" die entsprechende Buchung über Booking(Tabelle.SelectedIndex).xxx Feld für Feld gespeichert werden.
Viele Grüße,
Dirk Schauries
zunächst würde ich mit Bookings.AddBooking eine neue Buchung anlegen und im Anschluss daran die gewünschten "Eigenen Felder" über Booking(x).UserField(x).Asxxxx mit Werten belegen.
Hier ein Beispiel:
Code: Alles auswählen
Procedure Schalter1_OnClick
Var I : Integer
|Neue Buchung anlagen…
i = Bookings.AddBooking("14.02.2011","Quellkonto","Zielkonto",55.20,"Verwendungszweck","Kategorie")
|Und jetzt die "Eigenen Felder" zuweisen…
Booking(i).UserField(0).AsString = "TextVomErstenFeld"
Booking(i).UserField(1).AsDouble = 55.20
EndProcedure
Das erste Feld mit dem Index 0 stellt ein Textfeld und das zweite mit dem Index 1 ein Währungsfeld dar.
In der Variablen i wird der Index der soeben erzeugten Buchung gespeichert. Über Booking(i). xxx kannst Du jetzt beliebige weitere Operationen mit dieser Buchung vornehmen.
Zur Frage 2.
Ab dem kommenden Update kann zum einen über die Eigenschaft Tabelle.Row(x).Index der Buchungsindex einer Buchung abgefragt und über die Eigenschaft Tabelle.SelectedIndex der aktuell angewählte Index abgefragt werden.
Im Ereignis "Beim Fokussieren einer Zeile" einer Tabelle kann so der Buchungsindex abgefragt und die entsprechenden Eingabefelder des Berichts gefüllt werden.
Beim Ändern der Eingabefelder kann umgekehrt im jeweiligen Ereignis "Beim Ändern" die entsprechende Buchung über Booking(Tabelle.SelectedIndex).xxx Feld für Feld gespeichert werden.
Viele Grüße,
Dirk Schauries
Team Schauries