Ankündigung

Einklappen
Keine Ankündigung bisher.

In Prozess Booleanwert in Systemdatengruppe schreiben

Einklappen
X

In Prozess Booleanwert in Systemdatengruppe schreiben

Einklappen
  • Filter
  • Zeit
Alles löschen
neue Beiträge

  • In Prozess Booleanwert in Systemdatengruppe schreiben

    Hallo liebe Intrexx Community,

    ich bin mal wieder auf ein Problem aufgelaufen. Es geht darum in eine Systemdatengruppe einer Applikation zu schreiben, allerdings als Teil eines Prozesses
    Ich habe in einer Applikation eine Systemdatengruppe, die unter anderem zwei Boolean-Felder gespeichert werden. Der Grundgedanke ist einfach: Ich biete über eine Schaltfläche an der Oberfläche die Möglichkeit, einen Prozess zu deaktivieren (Generische Aktion, der Teil funktioniert einwandfrei)

    Nun wollte ich zusätzlich den jeweils "inaktiven" Button mit einer bedingten Anzeige verschwinden lassen und habe mir deswegen in der Systemdatengruppe meiner Applikation zwei Booleans geschaffen, die für mich als Flags arbeiten. Solange die Prozesse aktiv sind, sollen sie auf true stehen (weshalb man nur den "Stop" Knopf sehen kann) und umgekehrt.

    Allerdings bin ich beim Versuch in meinem Prozess tatsächlich diese Booleanfelder zu updaten auf Granit gestoßen. Die Systemdatengruppe lässt sich nicht per Datengruppenaktion ansprechen, SQL-Update Versuche via Groovy schlagen fehl weil die Relation sysprops nicht gefunden wird... und ich könnte zwar über einen Umweg an der Oberfläche den Benutzer durch eine Seite springen lassen, wo er dank Java Script eine Änderung an der Systemdatenrgruppe über versteckte Buttons und Eingabefelder abspeichert, aber das würde erfordern allen Benutzern das Recht einzuräumen, die Systemdatengruppe zu ändern (das würde ich lieber vermeiden)

    Lange Rede, kurzer Sinn, gibt es irgendeine vorgesehene Art aus einem Prozess heraus einen Boolean in einer Systemdatengruppe zu ändern?

    Wie immer vielen Dank für eure Tips

    Mit freundlichen Grüßen,
    Simon

  • #2
    Den Wert auslesen kannst du mit
    def B_PROZESS = g_sysDg.getValueByFieldGuid('D086F56DDE38A6A1DC508 E07837C287B4EE07A0E') // Systemdatengruppe
    g_log.info(B_PROZESS)

    und schreiben mit einer Updateanweisung
    Code:
    update lcappprops
    set TXTVALUE = 0             // 0/1SQL Server, kann bei anderen DB auch true/false sein
    where strappguid='C9C766D41AD3ABEF704EF7F83342EC420ACC5190'  // deine App-Guid
    and strname='B_PROZESS' // Datenfeldbezeichnung in der Datenbank

    Kommentar


    • #3
      Helpboy Kann man Werte aus Systemdatengruppen auch in Velocity mit so einem ähnlichem Befehl auslesen?

      Vielen Dank!

      Kommentar


      • #4
        #set($app = $RtCache.getApplication("<app_GUID>"))
        #set($appPropValue = $!app.getProperties().get("<propertyname>"))

        Kommentar


        • #5
          Vielen Dank!

          Kommentar


          • #6
            Für alle, so funktioniert's:
            Code:
            #set($DC = $Loader.getDataCollection())
            $DC.getPropertiesVH().get("Datenfeldname").getValue()

            Kommentar

            Lädt...
            X