API: item rpc_itemslib::isDone setzen verursacht Verdoppelung des gesamten protokolls

  • Hi, ich vermute dass ich ein Fehler im Skript habe, finde ihn aber nicht..


    Folgendes verursacht, dass ich nach Ausführung im Systemprotokoll genau den selben Eintrag (inkl. "Die Nachricht wurde empfangen (Konto: www.foxxshirts.de).



    Ich danke schon mal der Community! LG, Steffen

  • Hallo,
    das Problem liegt darin, dass beim Speichern eines Elements mit "Put" Protokolle und Anmerkungen nicht ersetzt werden, sondern hinzugefügt werden. D.h. wenn man ein Element mit Get holt und anschließend mit Put schreibt, ohne vorher die Eigenschaften Protocol und Remarks zu leeren (auf leere Arrays zu setzen), dann dupliziert man die Protokolleinträge und Anmerkungen des Elements (da die bisherigen dann erneut hinzugefügt werden).


    Das ist zugegebenermaßen etwas unglücklich in der RPC-Schnittstelle gelöst, lässt sich aber leider nachträglich nicht mehr ändern (sonst wäre die Schnittstelle nicht mehr abwärtskompatibel). Generell lassen sich Protokolleinträge und Anmerkungen immer nur hinzufügen und nicht löschen oder ersetzen, da dies dem Konzept der Software widersprechen würde (Protokoll und Anmerkungen sollen nicht rückwirkend manipulierbar sein).


    Also: wenn man ein Element mit Get abruft und später mit Put wieder zurück schreiben möchte, dann immer vorher die Eigenschaften Protocol und Remarks leeren. ;)