[gelöst] Variablen einen Optionsstring aus Tabelle zuweisen

4. Juni 2013 14:56

Hallo,

ich möchte einen Report erstellen, der Daten in der Tabelle Customer aktualisiert. Es soll ein Tabellenfeld vom TYP Option aktualisiert werden.

Der User setzt einen Filter und soll dann (Damit der User keinen "Müll" Reinschreibt) einen Wert aus dem Optionsfeld auswählen dürfen.

Um es einfach zu machen dachte ich mir erstelle ich ein RequestForm mit einem Textfeld und einer Variablen.
Der Variablen (vom Type Option) weiße ich dann den Option String aus der Tabelle zu. (Nicht ein einzelner Optionswert!)

Variable := Customer."Application Method"::OptionString; geht jedenfalls nicht.

Wie mache ich das?

Gruß
Ralf
Zuletzt geändert von ralf5 am 6. Juni 2013 15:19, insgesamt 1-mal geändert.

Re: Variablen einen Optionsstring aus Tabelle zuweisen

4. Juni 2013 20:13

ralf5 hat geschrieben:Variable := Customer."Application Method"::OptionString;

Was wolltest du (und zu welchem Zeitpunkt) mit dieser Codestelle erreichen?

Wenn der OptionString deiner Variablen auf der RequestForm (dort zusätzlich OptionCaption) genauso lautet wie in deinem Tabellenfeld, dann kannst du dem Tabellenfeld den Optionswert so zuweisen:
Code:
Tabelle.DeinFeld := DeineExtraOptionsvariable;

Re: Variablen einen Optionsstring aus Tabelle zuweisen

4. Juni 2013 21:10

Hi Ralf,

ich denke was du erreichen möchtest klappt am besten, wenn du dir eine zusätzliche globale Variable von Typ Record 18 erstellst und das entsprechende Optionsfeld als SourceExpression für das Feld nutzt. Noch die Caption setzen, dann hast du ein Optionsfeld in der RequestForm.

Auf dieses kannst du dann in OnPreDataItem() noch zusätzlich filtern und alles wird gut:

Code:
SETRANGE(Blocked,SelectionCustomer.Blocked);

Optionstring aus Tabelle Customer auslesen und zuweisen

5. Juni 2013 09:33

Hallo, Danke für eure Antworten.

Ich hab eure Antworten nicht verstanden. :-?

Ich möchte in der Requestform ein Auswahlfeld.
Im Auswahlfeld soll nur das ausgewählt werden können was auch in der Tabelle Customer im Feld Blocked ausgewählt werden kann.

Einfache Lösung:
Ich kann in dem Feld auf der Requestform den OptionsString per Hand eingeben: ,Ship,Invoice,All.

Problem:
Ändere ich den Optionsstring in der Tabelle Customer ändert sich mein Feld auf der Requestform nicht. (ist ja auch klar)

Frage:
Wie kann ich den Optionstring aus der Tabelle Customer auslesen und meinem Feld zuweisen?

Gruß
Ralf

Re: Variablen einen Optionsstring aus Tabelle zuweisen

5. Juni 2013 09:42

Laß das Feld doch einfach auf dem Feld aus der Tabelle Customer (evtl. als temporäre Tabelle) basieren. Dann ändern sich auch die möglichen auswählbaren Optionen, wenn das Feld in der Tabelle geändert wird. Ich glaube, das wollten dir die beiden sagen.

Re: Optionstring aus Tabelle Customer auslesen und zuweisen

5. Juni 2013 09:57

ralf5 hat geschrieben:Problem:
Ändere ich den Optionsstring in der Tabelle Customer ändert sich mein Feld auf der Requestform nicht. (ist ja auch klar)

Frage:
Wie kann ich den Optionstring aus der Tabelle Customer auslesen und meinem Feld zuweisen?

Das geht nicht - wir machen das (leider) genau so, wie du das schon selbst vorgeschlagen hast.

Re: Variablen einen Optionsstring aus Tabelle zuweisen

6. Juni 2013 15:18

HattrickHorst hat geschrieben:Laß das Feld doch einfach auf dem Feld aus der Tabelle Customer (evtl. als temporäre Tabelle) basieren. Dann ändern sich auch die möglichen auswählbaren Optionen, wenn das Feld in der Tabelle geändert wird. Ich glaube, das wollten dir die beiden sagen.

Wenn ich dem Feld in der 'SourceExpr' das Feld aus der Tabelle Customer zuweise (cust.Blocked) und nach dem starten des Reports auf den DropDown klicke bekomme ich folgende Fehlermeldung:

Drop-down kann hier nicht verwendet werden, da es keine Auswahlen gibt.

Naja, dann hat Natalie wohl (leider) recht.

Danke und Gruß
Ralf

Re: [gelöst] Variablen einen Optionsstring aus Tabelle zuwei

6. Juni 2013 15:47

RTC oder Classic report?

Re: [gelöst] Variablen einen Optionsstring aus Tabelle zuwei

6. Juni 2013 16:14

Nur so ein Gedanke, wenn es unbedingt dynamisch sein soll:
Man könnte es mit Options-Buttons versuchen, deren Labels man als Textfelder anhand der ausgelesenen Optionsliste befüllt (insofern es der CC ist).

Re: [gelöst] Variablen einen Optionsstring aus Tabelle zuwei

6. Juni 2013 16:23

Aber warum im Request Form umständlich filtern?
Ist nicht der normale Weg im DataItem "Customer" den Filter auf das Feld "Blocked" setzen zu lassen.

mfg,
winfy
Zuletzt geändert von winfy am 6. Juni 2013 16:29, insgesamt 1-mal geändert.

Re: [gelöst] Variablen einen Optionsstring aus Tabelle zuwei

6. Juni 2013 16:29

Ralf möchte ja nicht darauf filtern, sondern einen Wert zurück erhalten, der geschrieben werden soll.

Re: [gelöst] Variablen einen Optionsstring aus Tabelle zuwei

6. Juni 2013 16:38

ralf5 hat geschrieben:Der User setzt einen Filter und soll dann (Damit der User keinen "Müll" Reinschreibt) einen Wert aus dem Optionsfeld auswählen dürfen.


Hmm, ich hab das so verstanden.

Ansonsten wüsste ich auch keine elegantere Variante, außer den OptionString fest anzugeben.
Sooft ändert sich das Feld "Blocked" in der "Customer" Tabelle ja auch nicht. :mrgreen:

In der 3er Version war das Feld übrigens noch ein Booleanfeld.
Also alles völlig dynamisch halten geht sowieso nie.

mfg,
winfy