Script funktioniert nach Update nicht mehr
Hallo zusammen,
das nachfolgende Script dupliziert einen Datensatz inkl. Untertabelle und ändert inhaltlich danach noch einige Datenbankfelder im duplizierten Datensatz ab. Das hat auch alles wunderbar bis zum letzten oder vorletzten Update von Ninox funktioniert.
Führe ich das Script nun aus, wird nur noch der Datensatz an sich dupliziert ohne Untertabelle und die Modifikationen am Duplikat werden nicht mehr durchgeführt.
Hier nun das Skript:
let me := this;
let myRGNR := 'Rg-Nr.:';
let myDat := 'Rg.-Dat.:';
let myAnforderer := number(Anforderer);
let myChoise := dialog("Krankenkassenabrechnung", "Welche Krankenkassenabrechnung soll durchgeführt werden?", ["DEBEKA", "Beihilfe", "Abbruch"]);
switch myChoise do
case "DEBEKA":
for i in (select RechnungsManagement)['Rg-Nr.:' = myRGNR and (Zahlungsart = 12 or Zahlungsart = 6) and 'Rg.-Dat.:' = myDat] do
let new := duplicate(i);
new.('Rg.-Dat.:' := today());
let mycount := cnt((select RechnungsManagement)[year('Rg.-Dat.:') = year(today())]) + 1;
let 'myRechnung-ID:' := "RE-" + year(today()) + "-" + format(mycount, "0000");
new.('FS-ID' := null);
new.('SP-ID' := null);
new.('Rg-Nr.:' := myRGNR + "-Debeka");
new.('Rechnung-ID:' := null);
new.(festgeschrieben := 0);
new.('Rechnung-ID:' := 'myRechnung-ID:');
new.(Zahlungsart := 9);
new.'Zahlaufträge'.(Betrag := null);
if myAnforderer = 1 then
new.Rechnungspositionen.(Rabatt := 80)
else
new.Rechnungspositionen.(Rabatt := 50)
end;
alert("Die DEBEKA-Abrechnung wurde angelegt.");
Debeka := 1;
popupRecord(new)
end
case "Beihilfe":
for i in (select RechnungsManagement)['Rg-Nr.:' = myRGNR and (Zahlungsart = 12 or Zahlungsart = 6) and 'Rg.-Dat.:' = myDat] do
let new := duplicate(i);
new.('Rg.-Dat.:' := today());
let mycount := cnt((select RechnungsManagement)[year('Rg.-Dat.:') = year(today())]) + 1;
let 'myRechnung-ID:' := "RE-" + year(today()) + "-" + format(mycount, "0000");
new.('FS-ID' := null);
new.('SP-ID' := null);
new.('Rg-Nr.:' := myRGNR + "-Beihilfe");
new.('Rechnung-ID:' := null);
new.(festgeschrieben := 0);
new.('Rechnung-ID:' := 'myRechnung-ID:');
new.(Zahlungsart := 9);
new.'Zahlaufträge'.(Betrag := null);
if myAnforderer = 1 then
new.Rechnungspositionen.(Rabatt := 20)
else
new.Rechnungspositionen.(Rabatt := 50)
end;
alert("Die Beihilfe-Abrechnung wurde angelegt.");
Beihilfe := 1;
popupRecord(new)
end
case "Abbruch":
void
end
es macht im Grunde zwei mal das gleiche. Einmal für die Beihilfe und das andere mal für die DEBEKA.
Hat einer eine Idee woran es liegen könnte?
VG
Michael
6 Antworten
-
Ich sollte vielleicht noch erwähnen, dass es sich hierbei um die App-Version handelt.
-
Die Duplicate-Version in der neuesten Ninox-Version für den Mac funktioniert leider nicht mehr. Alles, was nach duplicate() ausgeführt wird, wird ignoriert. Ich habe dem Support schon geschrieben und sie arbeiten dran. Auf einer älteren Ninox-App-Version (am besten über TimeMachine besorgen) und auch auf dem iPad sollte es noch gehen.
-
Gestern ist die neue Version 3.11.7 erschienen - der duplicate()-Bug ist leider immer noch da. Sehr ärgerlich!
-
Gute Nachricht: die Version 3.12 ist da und die duplicate-Funktion funktioniert wieder :)
Content aside
- Status Answered
- vor 4 MonatenZuletzt aktiv
- 6Antworten
- 151Ansichten
-
3
Folge bereits