Formular bzw. Tabellenoperation nach Ende Script
Hallo liebes Forum, ich benötige wieder mal eure Hilfe bei folgendem Problem. Ich habe auf einen Button ein Script gelegt. Bei der Ausführung des Scripts wird eine Schleife durchlaufen und mehrere Datensätze in eine andere Tabelle geschrieben. Jetzt möchte ich gerne nachdem die Datenoperationen durch sind, eine andere Tabelle im Ansichtmodus öffnen.
Mit der Funktion closeAllRecords () sollte das eigentlich funktionieren. Mir ist nur noch nicht ganz klar, wie ich den Befehl im Script am Ende einsetze. Wenn ich diesen einfach ans Ende füge, passiert nichts. Bei einem Einzelbutton nur mit dem Befehl klappt es. Ich vermute, dass es daran liegt, dass ich den Befehl erst ausführen kann, wenn das Script durchgelaufen ist. Tipps sind willkommen.
5 Antworten
-
Ich würde es mit
openTable("TABELLENNAME","ANSICHTNAME")
probieren. Die Namen sollten genauso wie hier in Anführungszeichen eingetragen werden. M.E. braucht man dabei kein cloeAllRecors().
Leo
-
Hallo Leo, danke für den Tipp. Hatte ich auch bereits versucht,leider ohne Erfolg. Hier mal ein Teil des Scripts, vielleicht bringt das ja etwas Licht ins Dunkel
let myTitle := "Bitte bestätigen";
let myMessage := "Wollen Sie die Buchung in Weclapp wirklich vornehmen?";
let myChoices := ["Nein", "Ja"];
let NA := this.Newsartikel;
let Ct := cnt(select 'Kundenübersicht' where Newsartikel = NA);
if dialog(myTitle, myMessage, myChoices) = "Ja" and Ct > 1 then
do as server
delete (select Buchungstabelle);
let NA := this.Newsartikel;
let UD := this.Umrechnung_Datum;
let DUTX := this.DurationUTX;
let BE := this.'Beschreibung_Aktivität';
let p := (select 'Kundenübersicht' where Newsartikel = NA);
for i in p do
let new := (create Buchungstabelle);
new.(ProjectID := i.ProjectID);
new.(UserName := i.UserName);
new.(UserID := i.UserID);
new.(ProjectTaskID := i.ProjectTaskId);
new.('BeschreibungAktivität' := i.BE);
new.(DatumUTX := UD);
new.(DauerUTX := DUTX);
Status := 3;
openTable("Buchungstabelle", "Buchungsübersicht")
end
end
elseWie gesagt, wenn ich lediglich den OpenTable Befehl ohne das Script auf einen Button lege, funktioniert es. Sobald ich o.g. Script vorschalte klappt es nicht.
-
Ich würde mal versuchen, das openTable() außerhalb des "do as server"-Blocks auszuführen, also nach den beiden "end", vor dem "else".
-
Stimmt, User Interaktionen sind am Server sinnlos
-
Funktioniert nun außerhalb des "Do as server"-Befehls, das war das Problem....wieder was wichtiges gelernt von dem unermüdlichen um Lösungen bemühten Forum! Danke Copytexter, danke Leo!
Content aside
- vor 3 JahrenZuletzt aktiv
- 5Antworten
- 361Ansichten