SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Infopath Formular veröffentlichen: Bearbeitung von Dateien in diesem Feld mit Datenblättern oder Eigenschaftenseite durch Benutzer zulassen

Dieser Beitrag hat 9 Antworten

Ohne Rang
186 Beiträge
Benjamin Aicheler erstellt 12 Aug. 2009 09:01
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

ich habe eine Frage zur im Betreff erwähnten Option "Bearbeitung von Dateien in diesem Feld mit Datenblättern oder Eigenschaftenseite durch Benutzer zulassen" die man bei der Definition der Spalten beim Veröffentlichen eines Infopath Formulars in einer Formularbibliothek auswählen kann.

Dadurch soll es wohl möglich sein, in einer Formularbibliothek gespeicherte, ausgefüllte Formulare über die Eigenschaftenseite zu bearbeiten, und nicht das Formular öffnen zu müssen (hilfreich bei Kalenderansicht, da kein Link zum Formular vorhanden).

Das funktioniert auch für Textfelder/Zahlenfelder problemlos. Änderungen auf der Eigenschaftenseite werden ins Formular übernommen.

Problematischer ist das ganze bei Checkboxen. Verändert man hier auf der Eigenschaftenseite die gesetzen Häkchen wird das vom Formular ignoriert, und die Daten stimmen nichtmehr überein.

Ein weiteres Problem sind Dropdown Felder. Diese werden in der Eigenschaftenseite als Freitextfeld dargestellt. Gibt man ganz exakt eine der im Formular erlaubten Optionen ein, wird diese ins Formular übernommen. Wenn nicht, wird die Auswahl im Formular auf den Standardwert gesetzt (vermutlich weil er die Eingabe bei den Auswahloptionen nicht findet).

Könnte man bei den Dropdown Feldern das Feld in der Sharepoint Bibliothek von Text auf Auswahl ändern und die selben Optionen wie im Formular eingeben, damit es funktioniert? Wie sieht es mit den Checkboxen aus?

Oder gibt es vielleicht eine Möglichkeit in der Kalenderansicht irgendwie einen Link auf das Formular und nicht auf die Eigenschaftenseite anzuzeigen?

Gruß

Benjamin

Alle Antworten

Ohne Rang
292 Beiträge
Florian Willmes Als Antwort am 13 Aug. 2009 11:10
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Benjamin,

ich habe beim definieren der Spalte als "Bearbeitbar in SharePoint" zumindest einen Hinweis gefunden, wieso diese erweiterten Funtkionen bei den Spalten nicht funktionieren könnten:

Sie haben die Bearbeitung in Windows SharePoint Services zugelassen. Dies stellt ein potentielles Risiko für die daten des Formulars dar. Wenn das Feld in SharePoint bearbeitet wird, wird die Geschäftslogik des Formulars, z.B. die Datenüberprüfung, Regeln, Formeln, Code und Skripts, nicht ausgeführt.

 

Gruß

Flo

Gruß
Florian

Ohne Rang
186 Beiträge
Benjamin Aicheler Als Antwort am 13 Aug. 2009 12:29
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das ist richtig. Es erklärt aber nicht, warum die Feldwerte nicht richtig synchronisiert werden. Mir ist klar, dass wenn durch eine Änderung in einem Feld im Formular eine Datenüberprüfung oder Regel bspw. ausgelöst wird, diese bei der selben Änderung in Sharepoint nicht funktioniert. Aber sowas habe ich ja garnicht an dieser Stelle im Formular. Ich möchte bspw. einfach das Häkchen einer Checkbox ändern.

Jemand füllt zb ein Formular aus, setzt dabei verschiedene Häkchen, und sendet es ab. Es wird dabei in der Sharepoint Formularbibliothek gespeichert. Nun öffnet jemand die "Eigenschaften bearbeiten" Seite dieses Formulars. Hier werden nun in der EditForm alle Daten angezeigt, auch eben diese Häkchen, so wie sie der "Ausfüller" des Formulars im Formular selbst gesetzt hat (wird also vom Formular in die Eigenschaftenseite übernommen). Ändert man nun aber die gesetzten Häkchen und klickt OK werden diese nicht zurück in das Formular übernommen. Bei Textfeldern funktioniert das aber ohne Probleme. Bei Dropdown Auswahlfelder funktioniert es nur eingeschränkt.

Ohne Rang
292 Beiträge
Florian Willmes Als Antwort am 17 Aug. 2009 16:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Benjamin,

da fällt mir leider zur Zeit auch nichts ein, sorry!

 

Gruß

Flo

Gruß
Florian

Ohne Rang
292 Beiträge
Florian Willmes Als Antwort am 19 Aug. 2009 09:24
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Benjamin,

 

hast du in deiner Lösung auch ein mal versucht, eine editierbare InfoPath-Spalte mit einem SP-Designer Workflow zu verändern?

An dieser Stelle habe ich derzeit Probleme, da der Workflow abbricht, da das Systemkonto keinen Zugriff auf diese Spalte hat, obwohl sie als bearbeitbar definiert ist.

 

Gruß

Flo

Gruß
Florian

Ohne Rang
292 Beiträge
Florian Willmes Als Antwort am 19 Aug. 2009 10:33
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich noch mal!

Das Problem, dass der Workflow diese Spalte nicht ändern kann hat nichts mit InfoPath zu tun!

 

Grundsätzlich wird ein Workflow im Kontext des Element-Erstellers oder des Workflow-Initierers ausgeführt. Um eine Spalte per Workflow ändern zu können, benötigt der Element-Ersteller oder des Workflow-Initierer Rechte zum Bearbeiten von Elementen in der zugehörigen Liste.

Hier gibt es für mich das Problem, dass die Formulare in einer Bibliothek landen, auf welche der Formularersteller nur lesenden Zugriff hat! Trotzdem sollen hier Automatisch Workflows angestossen werden, welche verschiedene Spalten ändern.

Da der Forumlar-Ersteller jedoch keine Berechtigung zum bearbeiten des Elements hat, kann der Workflow die Spalten nicht ändern.

 

Hast du oder jmd. anders da eine Idee, wie ich das Problem lösen könnte?

 

Danke

Flo

Gruß
Florian

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 19 Aug. 2009 11:22
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hier (http://spdactivities.codeplex.com) findest Du Workflowaktionen, mit denen Du die Berechtigungen auf Elemente ändern kannst. Du könntest dem Ersteller nie notwendigen Rechte geben, das Feld ändern und dann die Rechte wieder zurücksetzen.

Ob das der richtige Weg ist oder ein ganz anderes Konzept besser wäre, kann ich aber so nicht sagen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
186 Beiträge
Benjamin Aicheler Als Antwort am 19 Aug. 2009 13:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Flo,

grundsätzlich scheint es so zu sein, dass du die Werte von Infopath Feldern nicht wie bei "normalen" Listen so einfach ändern kannst in einem Workflow. Unter dem von Andi genannten Link gibt es dazu spezielle Aktionen, die genau dazu da sind, Daten in Formularen zu ändern. Ich denke diese könntest zu verwenden.

  • Get InfoPath field inner text
  • Get InfoPath field inner xml
  • Set InfoPath field inner text
  • Set InfoPath field inner xml
  •  

    Das mit den Berechtigungen ist richtig. Als Alternative zum Vergeben und wieder Wegnehmen von Berechtigungen könntest du versuchen ob es funktioniert (es sollte zumindest) wenn du die entsprechende(n) Aktivität(en) von Andi's Link mit SPSecurity.RunWithElevatedPrivileges erweiterst (falls diese das nicht schon so machen). Ansonsten könntest du auch eigene entsprechende Aktivitäten entwickeln, sofern du davon ausgehst diese öfter zu brauchen.

    Gruß

    Benjamin

    Ohne Rang
    19231 Beiträge
    Andi Fandrich Als Antwort am 19 Aug. 2009 13:39
    SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

    Hallo Benjamin,

    die von Dir genannten Aktionen hatte ich völlig vergessen. Das ist natürlich der eindeutig bessere Weg. Ich glaube, ich werde alt...

    Viele Grüße
    Andi
    af @ evocom de
    Blog
    Ohne Rang
    292 Beiträge
    Florian Willmes Als Antwort am 24 Aug. 2009 15:49
    SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

    Hallo zusammen,

    die empfohlenen zusätzlichen Workflow-Aktivitäten habe ich getestet und teilweise in meinem Workflow implementiert.

     

    Ich habe leider trotzdem noch eine weiteres Problem!

    Wie beschrieben haben die User in einer Bibliothek nur lesenden Zugriff auf ihre Elemente. In einem Workflow kann man nun den User temporär Schreibberechtigungen geben, um Spalten zu ändern, oder aber die Workflow-Aktion "Set InfoPath field inner xml" verwenden. Das funktioniert alles ohne Probleme.

    Leider ist es so vorgesehen, dass die Benutzer ihre Anträge bei Bedarf stornieren sollen. Für die Stornierung würde ich einen eigenständigen Workflow definieren.

    Aber wie soll dieser Workflow vom Benutzer gestartet werden, er hat ja nur lesenden Zugriff auf das zugehörige Element.

     

    Gibt es da eine Lösung? Oder gäbe es ein anderes Konzept, mit welchem diese Szenario realisierbar wäre?

     

    Danke

    Flo

    Gruß
    Florian