Hallo wieder einmal,
ich bin immer noch bei meiner Rechnungserstellung und deren Optimierung. Hier erst einmal der Sachverhalt.
Wir haben nicht nur Einzelmitglieder im Verein, wie haben Geschwisterkinder oder Eltern mit Kindern die alle unterschiedliche Beitragsermäßigungen bekommen. Dazu kommt, dass sowohl bei Geschwisterkindern als auch Kinder als Einzelmitglieder keiner der Zahler ist sondern ein erziehungsberechtigter Elternteil.
Ich möchte nicht unzählige zusätzliche Beitragsgruppen für Nichtzahler anlegen weil mir das dann zu unübersichtlich wird.
Meine Vorstellung wäre ich lege ein Zusatzfeld für den Rechnungsempfänger an und trage diesen Dann bei den minderjährigen Mitgliedern ein. Dieses Feld könnte ich dann im Formular verwenden. Nun aber das Problem ich natürlich nicht bei jedem Mitglied diesen Feld füllen, sonder nur da wo der Rechnungsempfänger_Name vom Mitgliedsnamen abweicht.
Meine Idee wäre das in einem Lesefeld zu behandeln, ist Rechnungsempfänger leer nimm Mitgliedsname.
Da meine Programmierkenntnisse sehr überschaubar sind meine Frage, hätte jemand einen solchen Codeschnipsel, oder hat jemand eine Webseite wo man so etwas alles findet. Ich habe schon nach Beanshellscripten gesucht aber leider nichts passendes gefunden.
Ich würde mich sehr über Hilfe von Euch freuen.
mfg Micha
Zusatzfeld für Rechnungsempfänger
Moderator: heiner
- m.j.w
- Beiträge: 18
- Registriert: Mittwoch 28. Juni 2017, 01:43
- Verein: TC Oranienburg
- Mitglieder: 130
- JVerein-Version: 2.8.17
- Betriebssystem: Win 10
Re: Zusatzfeld für Rechnungsempfänger
Hi @all,
ich versuche natürlich auch selbst mit meinem Problem voranzukommen, daher habe ich mal ein Beispielscript etwas abgewandelt auf meinen Fall ausprobiert. Leider bekomme ich immer Fehlermeldungen, dass das Script nicht gespeichert werden kann.
Hier ist mal mein ScriptCode.
als Fehlermeldung bekomme Ich.
Meine Suchmaschine hat mir leider nichts geliefert, womit ich etwas anfangen konnte.
wäre super, wenn mir jemand helfen könnte.
Danke vielmals
ich versuche natürlich auch selbst mit meinem Problem voranzukommen, daher habe ich mal ein Beispielscript etwas abgewandelt auf meinen Fall ausprobiert. Leider bekomme ich immer Fehlermeldungen, dass das Script nicht gespeichert werden kann.
Hier ist mal mein ScriptCode.
Code: Alles auswählen
String r = "";
if( rechnung_empfaenger_name != null )
r = rechnung_empfaenger_name;
else
r = mitglied_vornamename;
return r;
als Fehlermeldung bekomme Ich.
Code: Alles auswählen
Skript-Fehler:
Sourced file: inline evaluation of: ``String r = ""; if( rechnung_empfaenger_name != null ) r = rechnung_empfaenge . . . '' : Void assignment.
wäre super, wenn mir jemand helfen könnte.
Danke vielmals
-
- Beiträge: 294
- Registriert: Freitag 30. Juli 2010, 21:29
- Verein: Musica Margaretha Reutti e.V.
- Mitglieder: 51
- JVerein-Version: 2.8.17
- Betriebssystem: Windows
- Wohnort: Ulm
Re: Zusatzfeld für Rechnungsempfänger
Hallo Micha,
ich gehe davon aus, dass du das Feld rechnung_empfaenger_name über die Felddefinitionen angelegt hast.
Du kannst in den Lesefeldern auf die Felddefinitionen zugreifen, allerdings haben die Zusatzfelder einen anderen Namen - in deinem Fall mitglied_zusatzfeld_rechnung_empfaenger_name.
Im Dialog Lesefelder kannst du dir mit F6 die zur Verfügung stehenden Variablen anzeigen lassen und kopieren.
Dieser Code funktioniert:
Gruß Danzelot
ich gehe davon aus, dass du das Feld rechnung_empfaenger_name über die Felddefinitionen angelegt hast.
Du kannst in den Lesefeldern auf die Felddefinitionen zugreifen, allerdings haben die Zusatzfelder einen anderen Namen - in deinem Fall mitglied_zusatzfeld_rechnung_empfaenger_name.
Im Dialog Lesefelder kannst du dir mit F6 die zur Verfügung stehenden Variablen anzeigen lassen und kopieren.
Dieser Code funktioniert:
Code: Alles auswählen
String r = "";
if( mitglied_zusatzfeld_rechnung_empfaenger_name!= null )
r = mitglied_zusatzfeld_rechnung_empfaenger_name;
else
r = mitglied_vornamename;
return r;
- m.j.w
- Beiträge: 18
- Registriert: Mittwoch 28. Juni 2017, 01:43
- Verein: TC Oranienburg
- Mitglieder: 130
- JVerein-Version: 2.8.17
- Betriebssystem: Win 10
Re: Zusatzfeld für Rechnungsempfänger
Hallo Danzelot,
ich bin Dir unendlich dankbar, Du hattest vollkommen Recht. Ich hatte den Rechnungsempfänger als Zusatzfeld angelegt.
Nun muss ich leider zugeben, dass ich in der Doku auch schon gelesen hatte wie die Variablen für Zusatzfelder aussehen müssen, wenn man sie verwenden möchte. Ich bitte vielmals um Entschuldigung für diesen Anfängerfehler.
Der Code funktioniert und ich bin unendlich glücklich, dass ich mein Formular nun so verwenden kann, wie ich es mir vorgestellt hatte.
Der <Variablen anzeigen (F6)> Button ist mir auch schon aufgefallen, den hatte ich auch schon ausprobiert, da bekomme ich allerdings immer eine Fehlermeldung "Fehler beim Anzeigen der Variablen." Da kann man doch wohl nichts falsch machen, oder?
Nochmals vielen, vielen Dank an Dich Danzelot
Gruß Micha
ich bin Dir unendlich dankbar, Du hattest vollkommen Recht. Ich hatte den Rechnungsempfänger als Zusatzfeld angelegt.
Nun muss ich leider zugeben, dass ich in der Doku auch schon gelesen hatte wie die Variablen für Zusatzfelder aussehen müssen, wenn man sie verwenden möchte. Ich bitte vielmals um Entschuldigung für diesen Anfängerfehler.
Der Code funktioniert und ich bin unendlich glücklich, dass ich mein Formular nun so verwenden kann, wie ich es mir vorgestellt hatte.
Der <Variablen anzeigen (F6)> Button ist mir auch schon aufgefallen, den hatte ich auch schon ausprobiert, da bekomme ich allerdings immer eine Fehlermeldung "Fehler beim Anzeigen der Variablen." Da kann man doch wohl nichts falsch machen, oder?
Nochmals vielen, vielen Dank an Dich Danzelot

Gruß Micha
- m.j.w
- Beiträge: 18
- Registriert: Mittwoch 28. Juni 2017, 01:43
- Verein: TC Oranienburg
- Mitglieder: 130
- JVerein-Version: 2.8.17
- Betriebssystem: Win 10
Re: Zusatzfeld für Rechnungsempfänger
Hallo Danzelot, Hallo Rest der Welt,
Leider war meine Freude doch etwas verfrüht, das Script hat dann leider doch nur in wenigen Fällen funktioniert. In diesem Fall habe ich aber erstens selbst herausgefunden worin das Problem liegt bzw. lag und zweitens habe ich da Script so abgeändert, dass es nun richtig funktioniert.
Leider ist die Erklärung doch sehr umfangreich, hoffe es langweilt niemanden.
Der Effekt war der, dass der Rechnungsempfänger jetzt leer blieb bei Mitgliedern , wo kein Rechnungsempfänger in meinem Zusatzfeld eingetragen war.
Gleiches galt für mein zweites Lesefeld, dass mein Zusatzfeld für Name des Ehegatten prüfen sollte ob da was drin steht. Wenn ja sollte die folgende Ausgabe kommen.
Leider kam hier dann als Augabe bei Mitgliedern ohne Ehegatten im Verein z.B. "Hans Mustermann und "
Ursache:
Es gibt in der Datenbanktabelle "ZUSATZFELDER" zwei Zustände die zu einem Mitgliederdatensatz möglich sind.
1.Fall: Es gibt in dieser Tabelle für ein bestimmtes Zusatzfeld keine Zeile zu einem Mitgliederdatensatz. Das ist dann der Fall wenn im Programm die Daten eines Mitgliedes nach Anlegen eines neuen Zusatzfeldes noch nicht wieder gespeichert wurden.
In diesen Fall funktioniert auch die Prüfung im Script.
2.Fall: Es gibt bereits eine Zeile bei einem Mitgleider-DS für ein Zusatzfeld, allerdings ist das entsprechende Datenfeld für den anzuzeigenden Text leer, weil es keine abweichenden Rechnungsempfänger gibt.
In diesem Fall schlägt die Prüfung nun fehl.
Lösung:
Die Prüfung muss sowohl auf NULL als auch auf ein leeres Datenfeld erfolgen.
War für mich als Nichtprogrammierer ne ordentliche Sucherei, aber toll, wenn man es dann doch hinbekommen hat.
Gruß @ all
Leider war meine Freude doch etwas verfrüht, das Script hat dann leider doch nur in wenigen Fällen funktioniert. In diesem Fall habe ich aber erstens selbst herausgefunden worin das Problem liegt bzw. lag und zweitens habe ich da Script so abgeändert, dass es nun richtig funktioniert.
Leider ist die Erklärung doch sehr umfangreich, hoffe es langweilt niemanden.
Der Effekt war der, dass der Rechnungsempfänger jetzt leer blieb bei Mitgliedern , wo kein Rechnungsempfänger in meinem Zusatzfeld eingetragen war.
Gleiches galt für mein zweites Lesefeld, dass mein Zusatzfeld für Name des Ehegatten prüfen sollte ob da was drin steht. Wenn ja sollte die folgende Ausgabe kommen.
Code: Alles auswählen
e = mitglied_vornamename + " und " + mitglied_zusatzfeld_ehegatte_lebenspartner_name;
Ursache:
Es gibt in der Datenbanktabelle "ZUSATZFELDER" zwei Zustände die zu einem Mitgliederdatensatz möglich sind.
1.Fall: Es gibt in dieser Tabelle für ein bestimmtes Zusatzfeld keine Zeile zu einem Mitgliederdatensatz. Das ist dann der Fall wenn im Programm die Daten eines Mitgliedes nach Anlegen eines neuen Zusatzfeldes noch nicht wieder gespeichert wurden.
In diesen Fall funktioniert auch die Prüfung im Script.
Code: Alles auswählen
mitglied_zusatzfeld_rechnung_empfaenger_name != null
In diesem Fall schlägt die Prüfung nun fehl.
Lösung:
Die Prüfung muss sowohl auf NULL als auch auf ein leeres Datenfeld erfolgen.
Code: Alles auswählen
String r = "";
if( mitglied_zusatzfeld_rechnung_empfaenger_name != null && !mitglied_zusatzfeld_rechnung_empfaenger_name.equals( "" ))
r = mitglied_zusatzfeld_rechnung_empfaenger_name;
else
r = mitglied_vornamename;
return r;
War für mich als Nichtprogrammierer ne ordentliche Sucherei, aber toll, wenn man es dann doch hinbekommen hat.
Gruß @ all