Autor Thema: @Prompt([OKCANCELLISTMULT]  (Gelesen 5609 mal)

Offline Norbert20

  • Frischling
  • *
  • Beiträge: 28
  • Geschlecht: Männlich
@Prompt([OKCANCELLISTMULT]
« am: 01.03.05 - 09:15:12 »
Hilfe - was mache ich falsch?

Blutiger Anfänger sucht Hilfe!

Ich versuche, über @prompt eine Auswahlliste anzuzeigen und die ausgewählten Einträge in das Feld SendTo übertragen. Es wird jedoch immen nur der erste Eintrag übernommen.

FIELD Empfänger:=@Prompt([OKCANCELLISTMULT]:[NoSort]; "Auswahl der Mailempfänger"; "Wählen Sie einen oder mehrere Namen als Empfänger dieser Anfrage."; "alle"; "Name1":"Name2":"Name3"...:"alle");


@Command([MailComposeMemo]);
@Command([EditGotoField]; "EnterSendTo");
@Command([EditInsertText];Empfänger);
@Command([EditGotoField]; "Subject")

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: @Prompt([OKCANCELLISTMULT]
« Antwort #1 am: 01.03.05 - 09:28:41 »
Hi,

das Problem liegt hier:

 @Command([EditInsertText];Empfänger);

Dieser Formelbefehl kann nicht mit Listen umgehen, sondern nur mit Text. Daher nimmt er immer nur den ersten Eintrag.

Versuch's mal so:

FIELD Empfänger:=@Prompt([OKCANCELLISTMULT]:[NoSort]; "Auswahl der Mailempfänger"; "Wählen Sie einen oder mehrere Namen als Empfänger dieser Anfrage."; "alle"; "Name1":"Name2":"Name3"...:"alle");


@Command([MailComposeMemo]);
@Command([EditGotoField]; "EnterSendTo");
@SetField("Empfänger";Empfänger);
@Command([EditGotoField]; "Subject")

Axel
 
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: @Prompt([OKCANCELLISTMULT]
« Antwort #2 am: 01.03.05 - 09:32:36 »
Genau, Axel.

Alternnativ könnte man ein @Implode(Empfänger; ", ") machen.

Achtung:
Zitat
FIELD Empfänger:=@Prompt

Das FIELD hat hier IMHO nichts zu suchen, da "Empfänger" hier nur eine Variable ist.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Glombi

  • Gast
Re: @Prompt([OKCANCELLISTMULT]
« Antwort #3 am: 01.03.05 - 09:33:19 »
So sollte es gehen:

FIELD Empfänger:=@Prompt([OKCANCELLISTMULT]:[NoSort]; "Auswahl der Mailempfänger"; "Wählen Sie einen oder mehrere Namen als Empfänger dieser Anfrage."; "alle"; "Name1":"Name2":"Name3"...:"alle");


@Command([MailComposeMemo]);
@Command([EditGotoField]; "EnterSendTo");
@Command([EditInsertText];@Implode(Empfänger));
@Command([EditGotoField]; "Subject")

Andreas

Marinero Atlántico

  • Gast
Re: @Prompt([OKCANCELLISTMULT]
« Antwort #4 am: 01.03.05 - 09:55:07 »
Muss nicht noch -1 abgefangen werden?
Zitat
Wenn der Benutzer "Abbrechen" wählt, wird die Auswertung der Formel gestoppt, außer bei [YesNoCancel]; hier wird -1 zurückgegeben, wenn der Benutzer "Abbrechen" wählt.

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: @Prompt([OKCANCELLISTMULT]
« Antwort #5 am: 01.03.05 - 10:01:24 »
Nö, da ja hier [YesNoCancel] nicht verwendet wird  ;)
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Glombi

  • Gast
Re: @Prompt([OKCANCELLISTMULT]
« Antwort #6 am: 01.03.05 - 10:06:34 »
Da muss noch einiges geändert werden, damit das vernünftig läuft.

Aber das ist ja nicht der Sinn der Übung.

Andreas

Offline Norbert20

  • Frischling
  • *
  • Beiträge: 28
  • Geschlecht: Männlich
Re: @Prompt([OKCANCELLISTMULT]
« Antwort #7 am: 01.03.05 - 10:06:46 »
Vielen Dank für die schnellen Antworten. :D


@axel:  funktionert leider nicht.

Lösung von Andreas funktioniert. Klasse.

Frage: Gibt es noch eine Lösung zwischen den Einträgen ein ";" einzufügen?

Norbert

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: @Prompt([OKCANCELLISTMULT]
« Antwort #8 am: 01.03.05 - 10:08:13 »
Frage: Gibt es noch eine Lösung zwischen den Einträgen ein ";" einzufügen?

@Implode(Empfänger; "; ")
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Norbert20

  • Frischling
  • *
  • Beiträge: 28
  • Geschlecht: Männlich
Re: @Prompt([OKCANCELLISTMULT]
« Antwort #9 am: 01.03.05 - 10:14:56 »
Vielen Dank.

Klappt wunderbar.

P.S. Habe beim ersten Versuch deiner Lösung die Klammer falsch gesetzt.



Super schnelle Hilfe.

Norbert

Marinero Atlántico

  • Gast
Re: @Prompt([OKCANCELLISTMULT]
« Antwort #10 am: 01.03.05 - 10:25:57 »
Hm. Ist jetzt ein Schuss ins blaue, aber da gibt es sehr vermutlich noch ein paar Randbedingungen, die abgefangen werden müssen.
Was ist, wenn der User nix auswählt und per Kreuz schliesst, etc.

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: @Prompt([OKCANCELLISTMULT]
« Antwort #11 am: 01.03.05 - 10:33:00 »
Toll abfangen und auswerten wie etwa in LS geht da leider nicht wirklich AFAIK.

User wählt nix aus: da könnte man auf Empfänger = "" prüfen.

Cancel / Kreuz anklicken: Script bricht komplett ab und nichts pasiert mehr.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Glombi

  • Gast
Re: @Prompt([OKCANCELLISTMULT]
« Antwort #12 am: 01.03.05 - 10:36:57 »
So sähe das bspw. bei mir aus:

_Empfaenger := @Prompt([OKCANCELLISTMULT]:[NoSort]; "Auswahl der Mailempfänger"; "Wählen Sie einen oder mehrere Namen als Empfänger dieser Anfrage."; "alle"; "Name1":"Name2":"Name3"...:"alle");

@If(
 _Empfaenger = "" | @Text(_Empfaenger) = "1";
   @Return("");
 ""
);

@Command([MailComposeMemo]);
@Command([EditGotoField]; "EnterSendTo");
@Command([EditInsertText];@Implode(_Empfaenger;";"));
@Command([EditGotoField]; "Subject")


Andreas

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: @Prompt([OKCANCELLISTMULT]
« Antwort #13 am: 01.03.05 - 11:06:12 »
Das @Implode gefällt mir nicht - da wird ja explizit aus einem Array ein skalarer Wert gemacht, was durchaus zu Problemen führen kann. Warum nicht gleich ein @SetField mit dem _Empfaenger-Werten ?

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz