Skript für Nachbearbeitung in Stundenvorlage

Hi zusammen,
ich habe ein Skript in einer Stundenvorlage für die Nachbearbeitung hinterlegt.
Die Stunden werden über den Scheduler oder ein Event generiert.
Beispielhaft wird einfach etwas zum Element-Titel hinzugefügt.
Nun ist es so, dass die Änderungen aber nicht abgespeichert werden.
Muss man in einem solchen Falle über das Skript nochmal irgendwie speichern?

var
  i: Integer;
  p: IPlaylistItem;
begin
  CurrentPlaylist.BeginUpdate;
  SystemLog('Test wurde aufgerufen.');
  try
    for i:=0 to CurrentPlaylist.GetCount-1 do begin
      SystemLog('Item ' + IntToStr(i) + ' - START');

      p := CurrentPlaylist.GetItem(i);

      p.SetTitle(p.GetTitle + ' - edited!');
      SystemLog('> ' + p.GetTitle);

      SystemLog('Item ' + IntToStr(i) + ' - ENDE');
    end;
  finally
    CurrentPlaylist.EndUpdate;
    SystemLog('Test Ende');
  end;
end.

Wenn du Änderungen an den Elementen vornimmst, musst du explizit das Customized-Flag setzen (entspricht dem orangenen Icon in der Playlist anstelle dem grünen):

p.SetCustomized(true);

Wenn du das nicht tust, speichert die Datenbank weiterhin nur Referenzen auf das Element in der Playlist anstelle den kompletten Datensatz, und wenn sie wieder in den Editor geladen wird, sind die Änderungen nicht mehr da.

1 Like