0

Dyn. Multifunktionsfeld auswerten, Werte löschen und einem andern Dyn. Multifunktionsfeld zuweisen

Hallo Ninoxer,

ich habe es über replace versucht und dann den String wieder mittels Schleife in einen Array verwandelt. Eine Überprüfung des neu erhaltenen Array hat ergeben, dass es 4 Werte enthält.

Das Zuweisen des Array an ein Dyn. Multifunktionsfeld bekomme ich aber nicht. Was muss ich tun?

Vielen Dank für Eure Hilfe!

3 Antworten

null
    • + Maßanzug statt Massenware +
    • RonaldP
    • vor 23 Stunden
    • Gemeldet - anzeigen

    Moin  ,

    ich verstehe aus deiner Beschreibung noch nicht ganz genau was du machen willst....
    Grundsätzlich kannst du ein Dyn. Mehrfachauswahlfeld (DMAF) per Skript über die Datensatz-Nummern der entsprechenden Tabelle setzen.
    Das sieht dann so aus:

    DMAF:= for i in ARRAY do
            number(i)
        end

    So wie ich deinen Fall verstehe würde ich das mit einem Button machen:

    'Mehrfachauswahl (dynamisch) 2' := for i in ('Mehrfachauswahl (dynamisch)') do
            number(i)
        end;
    'Mehrfachauswahl (dynamisch)' := null

    Damit wird die aktive Auswahl von DMAF1 in DMAF2 geschrieben und anschließend DMAF geleert.
    Das bedingt natürlich das beide DMAF die selbe Tabelle verwenden!

    VG Ronald

      • + Maßanzug statt Massenware +
      • RonaldP
      • vor 23 Stunden
      • Gemeldet - anzeigen

      Korrektur:

      'Mehrfachauswahl (dynamisch) 2' := for i in numbers('Mehrfachauswahl (dynamisch)') do
              number(i)
          end;
      'Mehrfachauswahl (dynamisch)' := null
      
      • B²KC Klinger GmbH
      • Bjorn_Klinger
      • vor 8 Stunden
      • Gemeldet - anzeigen

       

      Hallo Ronald,

      bei mir funktioniert die Schleife leider nicht. Alle Werte kann ich ja auch einfach mit

      DMAF2 := DMAF1

      übertragen.

      ich möchte aus den Werten des DMAF1 noch 2 Werte löschen. Das habe ich gemacht und den wieder ein Array erzeugt:

      let myDMAF1alt := DMAF1;
      let myDMAF1repl := replace(replace(concat(numbers(myDMAF1alt)), "235, ", ""), ", 462", "");
      let myARRAY1 := split(myDMAF1repl, ", ");
      let myDMAF1neu := (
              let y := 0;
              for i in myARRAY1 do
                  let myZW := item(split(myDMAF1repl, ", "), y);
                  y := y + 1;
                  myZW
              end
          );
      

      Lasse ich mir in einem Formelfeld den Inhalt von myDMAF1neu mit concat anzeigen, bekomme ich auch die richtigen Werte angezeigt.

      Nutze ich

      DMAF2 := myDMAF1neu

      werden in DMAF2 ganz andere Werte ausgewählt. Es scheint mit meinem Array in myDMAF1neu etwas nicht zu stimmen, denn mit numbers kann ich mir den Inhalt nicht anschauen, nur mit concat. Bei numbers kommt die Fehlermeldung:

      "Die Funktion ist nicht definiert: numbers([string])"

      Hier dürfte also das Problem liegen. Hast Du noch eine weitere Idee?

Content aside

  • vor 8 StundenZuletzt aktiv
  • 3Antworten
  • 19Ansichten
  • 2 Folge bereits