Felder neuberechnen

  • Hallo Leute,


    ich hab da eine Datenbank mit ca. 3000 Dokumenten, über die ich jede Nacht einen Agent zur Neuberechnung laufen lasse.
    Der Agent läuft auch - hab ich im Logfile ko0ntrolliert, bloß manche Felder - nicht alle ! - werden nicht neuberechnet.
    Ich hab probiert, über einzelne dieser Dokumente einen Agent mit "ComputeWithForm" manuell drüberzulassen, hilft genausowenig.
    Wenn ich allerdings ein Dokument öffne, und dann mit "F9" update, dann werden alle Felder anständig berechnet.


    Was würdet Ihr empfehlen, eine neue Kopie der Datenbank (möchte ich vermeiden, da ja dann vielleicht die Links nicht mehr treffen), oder .. ?


    Danke & Viele Grüße


    Günther

  • Vermutlich werden diese Felder nicht per Formelsprache in den Feldern berechnet sondern in den Events der Maske.


    Und diese musst du dann manuell nachberechnen bzw das Script aus den Events in deinen Agenten übernehmen

  • Nein, das sind wirklich "Berechnete Felder", und im Wert steht die entsprechende Formel drin.
    Eins noch, die Felder sind nur für gewisse User sichtbar ("Absatz verbergen vor ..."), und der Server - der ja den Agent exekutiert - ist keiner dieser User. Kanns daran liegen ?


    Update : hab Felder kopiert und sichtbar für alle gemacht. Gleiches Problem.
    Update geschieht nicht durch "Compute with Form", aber durch @Command([ToolsRefreshAllDocs]) schon ...
    Nach dem Öffnen werden die Felder erst nit "F9" (Refresh) upgedatet, falls nicht "nach Validierung berechnen" angekreuzt ist.

  • Probiere mal nach deinen


    Call doc.ComputeWithForm(True, False)
    und
    Call doc.save (True, True, False)


    für die "Problemfelder" (für jeden Item einzeln!)


    Set nitem = doc.GetFirstItem ("Problemfeld")
    (oder
    Set nitem = doc.ReplaceItemValue("Problemfeld", Wert) )
    nitem.IsSummary = True


    und zum Schluss noch mal
    Call doc.save (True, True, False)