Dokumente sperren aber einzelne Maskenfelder bearbeitbar lassen..??

  • Hallo,


    wie kann ich einmal erstellte Dokumente für zukünftige Bearbeitungen sperren, aber ein bestimmtes Feld der MAske für z.B. Notizen bearbeitbar lassen ?


    Jemand eine Idee??


    Danke!


    Gruss


    ut

  • Hi,
    erstelle einen Abschnitt mit kontrolliertem Zugriff. Dorthin packst Du alle Felder die nach einem bestimmten Status gesperrt sein sollen. Dann programmierst Du die Formel für den Abschnitt ungefähr so:
    @if(status = "Abgeschlossen"; "Bereich gesperrt"; "")
    Da müssen natürlich "status" und "Abgeschlossen" nach Deinen Bedürfnissen angepasst werden.


    Die Felder die auch danach noch bearbeitbar sein sollen legst Du außerhalb dieses Abschnitts. Und schon gehts

  • hm, das funzt nicht...
    das erstellte und dann gespeicherte und per "status" gesperrte dok
    soll dann nicht mehr änderbar sein, ein oder mehrere felder des doks jedoch schon...d.h. es sollen sozusagen nur noch zusätze möglich sein...


    das dok soll nach sperren durch niemanden änderbar sein...

  • Hallo,


    wenn Du das Dok auf keinen Fall mehr bearbeitbar machen willst, ( Revisionsanforderungen, etc. ), dann erstelle doch zusätzliche Dokumente, die Du als Antwort-Doks dranhängst.


    Das ist eine saubere Lösung, wo jeder sieht, das das orig. Dok nicht verändert wurde.


    Gruß von Ekki.

  • meine lösung wäre über zusätzliche berechnete werte:


    für jedes feld, das gesperrt werden soll, erstellst du noch einen berechneten wert. wenn das dokument neu ist (@IsNewDoc), dann zeigst du die editierbaren felder an und versteckst die berechneten werte. wenn das dok mind. 1x gespeichert wurde (!@IsNewDoc), dann versteckst du die editierbaren felder und zeigst nur die berechneten werte an.


    somit kann niemand mehr am dok etwas im nachhinein ändern.


    lg,
    ghostxxl

    • Offizieller Beitrag

    mit 2 Teilmasken, einer zum Erstellen des Dokumentes und einer zum Bearbeiten nur einiger Felder würde ich es lösen.


    In der Teilmaske zum Erstellen des Dokumentes sind alle Felder bearbeitbar und in der 2. Teilmaske sind alle Felder aus sich selbst berechnet, bis auf diese, die noch veränderten werden sollen.


    Vorteil Du brauchst keine HW-Formeln und je nach Anzahl der Felder wird die Maske beim Öffnen schneller.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Noch simpler wäre es, wenn man eine Kopie der Maske anfertigt (Copy & Paste), die bearbeitbaren Felder auf berechnet zur Anzeige ändert und die neuen Bemerkungsfelder dort anlegt.


    Abschließend ändert man den Maskennamen und Alias und natürlich sorgt man dafür daß die Dokumente bei der Sperrung den anderen Maskennamen erhalten. Geht in nichtmal 5 Minuten und kommt ohne Änderung der alten Maske aus.

  • Hallo,


    noch eine Möglichkeit. Öffne doch aus der Ansicht ( vielleich auch im Dok selber ) ein Dialog, wo die Daten bearbeitbar sind. Dann mußt nichts an der Maske selber mit Abschnitten, HideWhen etc. machen.


    Gruß von Ekki.

  • Also eigentlich ist das was du möchtest nicht möglich, weil mann brauchst keine maske um felder in ein dokument zu ändern, sondern ein agent kann es auch.
    Wenn du aber verhindern möchtest das jemand das dokument in bearbeitungs modus nimmt, dann ist das relativ einfach. wenn es abhängig von ein feldstatus ist, dann ein klitsches kleines bischen schwieriger.
    Erstelle einen Formel in PostOpen, welches einfach den Source.Document.EditMode = False setzt jenachdem mit den IF statement für den Kontrolle.
    Im QueryModeChange schreibst du einfach Continue = False, und eigentlich bist du dann fertig. Das dokument kann dann nicht mehr in bearbeitungsmodus gelangen..
    Welches allerdings nicht heißt das es nicht mehr geändert werden kann.. also achtung..