Archiv des Intrexx Live! Forums

Hier sehen Sie die Foreneinträge aus dem Intrexx Live! Forum. Bis November 2016 war es das Forum für alle Fragen rund um die Software Intrexx von United Planet.
Seit November 2016 gibt es ein neues moderiertes Forum, das Intrexx Community Forum. Nutzen Sie bitte unbedingt dieses für aktuelle Fragen, Antworten und Informationen.

Wichtig: Dieses Forum dient als Archiv. Die Einträge beziehen sich oft auf ältere Versionen von Intrexx und entsprechen nicht mehr den aktuellen technischen Gegebenheiten.
Daher sollten alle Inhalte ausschließlich von Experten genutzt werden. Bei unsachgemäßer Anwendung kann es zu zeitaufwändigen Problemen oder Datenverlust kommen.
Übersicht > Intrexx Compact: Compact Intrexx > Zustand eines Datenfeldes (Status) ändern

Zustand eines Datenfeldes (Status) ändern

Hallo zusammen,

In meiner Applikation gibt es ein Datefeld "Status" (string). Durch die Betätigung einer Schaltfläche soll sich der Zustand des Datenfeldes "Status" ändern.
Bisher habe ich mein Glück mit den Prozessen versucht. Da hat man die möglichkeit einem Datenfeld einen festen Wert (string) zuzuordnen (siehe Anlage). Das funktioniert doch sicher auch mit Java?
Vielleicht hat jemand eine Idee attention

LG

mcb
05.03.2013 09:00 von mcb_2013
Hi,

dazu müsste eine Javaklasse geschrieben werden, die dann eingebunden wird.
05.03.2013 09:28 von Khal_Drogo
Hallo,
erstmal vielen Dank für die flotte Antwort. Was Java angeht .. bin ich eine totale Niete attention

function status()
{
status=getElement(GUID des Datenfelds);
status.value="in Arbeit";
return true;
}

sowas in die Richtung?
05.03.2013 11:59 von mcb_2013
Hi,

sorry, das ist JavaScript, habs jetzt erst verstanden, was du willst.
function setStatus(guid){
Browser.setValue(getElement(guid), "hier_dein_status"));
return true;
}

05.03.2013 12:46 von Khal_Drogo
Hallo mcb_2013

Dein Code sieht auch o.k. aus; Voraussetzung, das Feld ist ein Eingabefeld. Ich setze vor die Variablendefinition noch ein var
var status = ...

Das Script kannst Du dann beim Laden der Seite oder beim Klick auf die Schaltfläche auslösen.

Gutes Gelingen - Evelin
05.03.2013 13:04 von Evelin
Hi,

nein sieht leider nicht ok aus.
status ist eine vorbelegte "Property" von window
05.03.2013 13:16 von Khal_Drogo
Sorry

Aber dann siehst Du mehr als ich. Sieht doch so aus, als sollte ein Feld in einer "normalen" Applikationstabelle mit einem Wert belegt werden. Woran sehe ich, dass das nicht so ist?

Gruß Evelin
05.03.2013 13:37 von Evelin
Hi,

das würde auch funktionieren, aber die "Property" status vom window würde überschrieben werden mit der function status().
Sollte widererwarten früher oder später in dem gleichen Kontext mit window.status die ursprüngliche "Property" mal gelesen werden wollen, käme diese nicht mehr zurück.

Da das gemeinhin als unsauber gilt, habe ich gemäkelt attention
05.03.2013 13:43 von Khal_Drogo
Hi

Verstehe! Der Funktionsname "status()" sollte gemieden werden. War mir so noch gar nicht bewusst. Lerne gerne dazu.

Gruß Evelin
05.03.2013 13:58 von Evelin
Hallo,

wow super wie schnell hier antworten kommen.

Hab es mal getestet.

function setStatus()
{
Browser.setValue(getElement("GUID des Datenfelds Status"), "offen");
return true;
}

anschließend in den Eigenschaften der gewünschten Schaltfläche ein onClick-Event hinzugefügt und das erstellte Script gewählt "setStatus()"

Nach Veröffenlichung der Applikation habe ich die Schaltfläche angeklickt und es kommt eine Fehlermeldung unten rechts auf: siehe Anlage
05.03.2013 14:01 von mcb_2013
Hi

Wie hast Du die Verknüpfung zum Feld hergestellt? Ich vermute, dass dort etwas verkehrt ist. Post doch mal das Originalscript.

Gruß Evelin
05.03.2013 14:18 von Evelin
Guten Morgen,

anbei das Script. Welche Verknüpfung meinst du?

Liebe Grüße
06.03.2013 07:45 von mcb_2013
Hallo

Damit das Script funkitioniert, muss das Feld "Status" als Eingabefeld auf der Seite sein. Verwendet wird dann das GUID des Eingabefelds. Überprüf nochmal das verwendete GUID.

Gruß Evelin
06.03.2013 08:04 von Evelin
Hi,

was ich insgesamt nicht verstehe und das richtet sich an den TE:
Warum das ganze unsicher mit Javascript frickeln, wenn der Prozess die vollständige Überprüfung serverseitig bereits zur Verfügung stellt?
Genauer: Was hat der Benutzer davon, wenn der Status im Frontend gesetzt wird, außer dass er ihn manipulieren könnte und du es dadurch schwerer haben wirst den Status auf Plausibilität zu prüfen? attention
06.03.2013 08:17 von Khal_Drogo
und es scheint zu funktionieren attention Vielen Dank Evelin.

(at) Khal Drogo, wie soll der Benutzer den Status manipulieren können?
06.03.2013 08:35 von mcb_2013
Hi

Warum das ganze unsicher mit Javascript frickeln, wenn der Prozess die vollständige Überprüfung serverseitig bereits zur Verfügung stellt?

Es kommt auf die Anforderung an:
- Was soll die Änderung des Status reflektieren?
- Ist der User in einem Workflow eingebunden oder soll er immer die Möglichkeit haben den Status anzupassen?
- Sollen Admin - Bearbeitungs-Seiten erstellt werden?

Gruß
Boris
06.03.2013 09:00 von BorisWenzel
Hi,

(at)BorisWenzel: Da geb ich dir vollkommen Recht, leider scheinen die Anforderungen aber gar nicht zu stehen, zumindest geht das derzeit nirgends hervor.
(at)mcb_2013: Alles was im Web ausgeliefert wird, kann vom Benutzer manipuliert werden. Er hat es ja schließlich übermittelt bekommen und darf damit tun und lassen, was er will. attention
06.03.2013 09:26 von Khal_Drogo
da ich das Eingabefeld jeweils in den versteckten Bereich verschoben habe, hat der User keine chance das feld zu beeinflussen. Durch ein onclick-Event ändert sich der default-wert des versteckten Eingabefelds.
Bei den Tabellen in denen die Daten angezeigt werden sollen, sind entsprechende Filter eingesetzt, damit die gewünschten Daten angezeigt werden. Klappt alles super und ich bin sehr zu frieden!
thumbsup


Vielen Dank für eure Hilfe
06.03.2013 10:54 von mcb_2013
Hi,
also ich will die Lösung überhaupt nicht kritisieren - ich setze auch versteckte Felder und Scripts im OnClick - Ereignis ein.

Der "normale" User hat natürlich keine Möglichkeit die Vorgänge zu beeinflussen, da ja keine Funktion dazu zur Verfügung steht.

Angenommen, ich entwickele keine Bestandsverwaltung, sondern ein Konto - System für eine Bank oder Sparkasse dann ist die Sicherheit eine Kernfrage und eine theoretische Schwachstelle kann eines Tages zu einem Problem werden.

Noch ein Beispiel:
Die Mitgliederliste eines Sportvereins hat auch die Spalte Status. Mögliche Stati sind:

- Mitglied
- Ehrenmitglied (beitragsfrei)
- ausgeschieden
- verstorben

Ganz klar, dass die Mitglieder zwar die Daten einsehen können aber nicht ändern dürfen.
Die amtliche Lösung geht über die Sicherheit von Intrexx. Du brauchst dann 2 Datengruppen. In der einen Datengruppe stehen die Daten, die das jeweilige Mitglid ändern darf, in der anderen Datengruppe die Daten, die nur von der Vereinsverwaltung abgeändert werden sollen.

Gruß
Boris
06.03.2013 15:20 von BorisWenzel
Zurück | Alles über Intrexx | Impressum | Datenschutzerklärung

Über United Planet
© 2019 United Planet GmbH
Schnewlinstraße 2
79098 Freiburg