Hallo zusammen,
ich stehe vor folgender Aufgabe:
monatlich muss ich einige (<10) Gutschriften erstellen. Da bietet sich doch eine Formatforlage mit Variablen und Eingabefeldern an.
So wird der Abrechnunsmonat und Jahr über Eingabefelder abegfragt und an den richtigen Stellen der Gutschrift platziert.
Das ganze sollen ein paar bedingte Texte abrunden.
Nur mit den Anschriften der begünstigten ist es etwas lästig mit bedingten Texten das zu erledigen.
Meine Idee ist da eher die Adressen in einer Tabelle zu pflegen und diese dann über die Serienbrief-Funktionalität einzubinden.
Ich würde gerne dafür wiederum ein Eingabefeld definieren in dem die Nummer des Begünstigten eingegeben wird. Entsprechend der Nummer wäre dann der
entsprechnde Datensatz der Tabelle genommen. Ist dies mit einfachen Mitteln - z.B. über eine Variable, die die Feldnummer der Datenquelle festlegt - zu realisieren?
Klar kann man die Serienbrief-Maske verwenden. Das würde aber meine Frau, die relativ Computerfob ist, doch vor der Verwendung abschrecken.
Ein weiteres Problem ist die fortlaufende Nummerierung der Gutschriften. Ich brauche so etwas wie einen globalen Zähler, der eine Variable immer hochzäzhlt, damit keine Gutschriftennummern doppelt vorkommen. Dafür würde sich doch die Vormatvorlage für die Gutschrift ideal eignen. Kann ich eine Variable in der Formatvorlage definieren, welche beim Erzeugen eines Dokuments aus der Voralge inkrementiert wird?
Für sachdienliche Hinweise einen herzlichen Dank im Voraus,
Ed
Variable mit externer Datenbasis verknüpfen, globale Zähler
Moderator: Moderatoren
Re: Variable mit externer Datenbasis verknüpfen, globale Zähler
Lies mal das hier durch, da wird der Datenbank-Beamer auf diesen einen Datensatz reduziert. Ist ein etwas anderes Vorgehen, aber mit gleichem Ziel und auch anwenderfreundlich.edi-siem hat geschrieben:Ich würde gerne dafür wiederum ein Eingabefeld definieren in dem die Nummer des Begünstigten eingegeben wird. Entsprechend der Nummer wäre dann der
entsprechnde Datensatz der Tabelle genommen. Ist dies mit einfachen Mitteln - z.B. über eine Variable, die die Feldnummer der Datenquelle festlegt - zu realisieren?
Da macht die Dokumentlogik nicht mit. Der Zähler müsste ja in der Dokumentvorlage hochgezählt werden, d.h. die Dokumentvorlage müsste geändert und gespeichert werden. Das ist ja aber nicht der Fall, wenn Du ein neues Dokument erstellst.Ein weiteres Problem ist die fortlaufende Nummerierung der Gutschriften. Ich brauche so etwas wie einen globalen Zähler, der eine Variable immer hochzäzhlt, damit keine Gutschriftennummern doppelt vorkommen. Dafür würde sich doch die Vormatvorlage für die Gutschrift ideal eignen. Kann ich eine Variable in der Formatvorlage definieren, welche beim Erzeugen eines Dokuments aus der Voralge inkrementiert wird?
Wenn Du das mit OO machen willst, würde ich einen Nummernkreis wählen, der sich z.B. mit Datums- und Zeitwerten generieren lässt:
Einfügen/Datum(fix), Format: JJMMTT
Bindestrich
Einfügen/Zeit(fix), Format: HHMM
ergäbe sowas: 080204-1246
Oder eine Kombination mit einer Kundennummer.
Etwas anderes ist mit einfachen Mitteln nicht zu erreichen. Dazu müsstest Du mit Makros arbeiten. Such mal hier im Forum, da findest Du z.B. das hier.
mfG
Re: Variable mit externer Datenbasis verknüpfen, globale Zähler
Danke für den Hinweis. Das hilft etwas weiter.Lies mal das hier durch, da wird der Datenbank-Beamer auf diesen einen Datensatz reduziert. Ist ein etwas anderes Vorgehen, aber mit gleichem Ziel und auch anwenderfreundlich.
Das entscheidende ist immer noch, dass man mit F4 das Datenpanel manuell öffnen muss und immer noch manuell das richtige Feld (Daten in Felder) anklicken muss.
Lassen sich diese Schrite automatisieren?
Übrigens mit man muss doch eine Zählervariable mit dem Datenbank-Modul realisieren können? Muss man dafür zwingend SQL bemühen, oder geht es auch mit "Bordmitteln" Ich meine einfach eine Zelle in einer Calc-Tabelle innerhalb einer Zelle inkrementieren?
Gruß,
Ed
Re: Variable mit externer Datenbasis verknüpfen, globale Zähler
Ich hab dieses Makro aufgezeichnet:edi-siem hat geschrieben:Danke für den Hinweis. Das hilft etwas weiter.Lies mal das hier durch, da wird der Datenbank-Beamer auf diesen einen Datensatz reduziert. Ist ein etwas anderes Vorgehen, aber mit gleichem Ziel und auch anwenderfreundlich.
Das entscheidende ist immer noch, dass man mit F4 das Datenpanel manuell öffnen muss und immer noch manuell das richtige Feld (Daten in Felder) anklicken muss.
Lassen sich diese Schrite automatisieren?
Code: Alles auswählen
sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ViewDataSourceBrowser"
args1(0).Value = true
dispatcher.executeDispatch(document, ".uno:ViewDataSourceBrowser", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ViewDataSourceBrowser"
args2(0).Value = true
dispatcher.executeDispatch(document, ".uno:ViewDataSourceBrowser", "", 0, args2())
end sub
Natürlich. Das würde aber heissen, dass Du pro Rechnung/Gutschrift einen Datensatz anlegst.Übrigens mit man muss doch eine Zählervariable mit dem Datenbank-Modul realisieren können? Muss man dafür zwingend SQL bemühen, oder geht es auch mit "Bordmitteln" Ich meine einfach eine Zelle in einer Calc-Tabelle innerhalb einer Zelle inkrementieren?
Und das wiederum würde heissen, dass Du richtigerweise zumindest mit zwei Datentabellen arbeitest: Der Adresstabelle und der Rechnungstabelle. Das wäre dann die Datenbanklösung. Da müsstest Du Dir dann noch langsam Gedanken zur Datenerfassung machen.
mfG