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

Listenfeld per Workflow aktualisieren

bewertet von 0 Usern
Beantwortet Dieser Beitrag hat 1 Geprüfte Antwort | 7 Antworten | 2 Followers

Top-25-Beitragsschreiber
375 Beiträge
YoWoo erstellt in 30 Jun 2010 9:40

Hallo,

auf einem Listenelement wird ein Workflow ausgeführt. Während der Workflow läuft will ich per Code eine Zelle im Datensatz ändern, genau genommen den Genehmigungsstatus von Genehmigt auf Austehend. Mein Problem ist folgendes, ich schaffe es nicht der Wert zu ändern, auslesen kein Problem.

Ich habe schon mit SPContext gearbeitet, aber da stürtzt der Workflow ab, sobald der den Punkt SPSite erreicht.Mein Ziel war es mit folgendem Codeausschnitt den Wert zu aktualisieren.

SPLIstItem ListItem = List.Items[ItemID];

ListItem["Genehmigungsstatus"] = 2;

ListItem.Update()

 

Kann mir jemand helfen, wo mein Fehler ist?

 

Beantwortet Geprüfte Antwort

Top-25-Beitragsschreiber
375 Beiträge

Sehr seltsam, folgendes funktioniert:

WorkflowProperties.Item.Properties["Feld"] = 2;

WorkflowProperties.Item.Update()

 

folgendes funktioniert nicht:

workflowProperties.Item["Genehmigungsstatus"] = 2

WorkflowProperties.Item.Update()

Vielen Dank nochmal für die Hilfe - vielleicht haben wir anderen dadurch auch geholfen.

Alle Antworten

Top-25-Beitragsschreiber
375 Beiträge

public Guid workflowId = default(System.Guid);
        public Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties workflowProperties = new Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties();

        private void onWorkflowActivated1_Invoked(object sender, ExternalDataEventArgs e)
        {
            //WorkflowID in Variable WorkflowID übertragen
            workflowId = workflowProperties.WorkflowId;
        }

private void codeActivity1_ExecuteCode(object sender, EventArgs e)
        {
 
            workflowProperties.Item["Genehmigungsstatus"] = 2;
            workflowProperties.Item.Update(); 
        }

 

 

Ich seh im Debugger, dass der Wert auf 2 geändert wird, aber das Update fkt. nicht.

Top-10-Beitragsschreiber
1.714 Beiträge

hmmmm ich hab gerade mal nachgeschaut und ich schreibe in die Felder im folgendermaßen:

WorkflowProperties.Item.Properties["Feld"] = "Wert";

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Top-25-Beitragsschreiber
375 Beiträge

Ich sehe im Debugger das die 2 zugewiesen wird, aber in der Liste selbst wird der Status des Elements nicht wieder auf Ausstehend zurückgesetzt.

Top-75-Beitragsschreiber
168 Beiträge

Versuch mal: WorkflowProperties.Item.Update()

Top-25-Beitragsschreiber
375 Beiträge

Sehr seltsam, folgendes funktioniert:

WorkflowProperties.Item.Properties["Feld"] = 2;

WorkflowProperties.Item.Update()

 

folgendes funktioniert nicht:

workflowProperties.Item["Genehmigungsstatus"] = 2

WorkflowProperties.Item.Update()

Vielen Dank nochmal für die Hilfe - vielleicht haben wir anderen dadurch auch geholfen.

Top-75-Beitragsschreiber
194 Beiträge

Hi YoWoo,

ich weiß nicht ob sich das Thema inzwischen erledigt hat,

aber evtl trifft noch wer anders auf das Problem ;-)

 

Habe mich eben bei SharePoint 2010 mit dem Blog beschäftigt und bin da auf das Feld "Genehmigungsstatus" gestoßen.

SPListItem myItem = myList.Items[ItemID];

myItem["Genehmigungsstatus"] = "Wert";

myItem.Update();

funktioniert da ebenfalls nicht. SharePoint gibt zwar keinen Fehler aus, aber der Wert wird beim Update nicht übernommen.

 

Bei mir funktioniert es so:

myItem["_ModerationStatus"] = "Wert"; //Wert müsste auch als Int32 übergeben werden können!

myItem.Update();

 

In diesem Fall spreche ich das Feld über den InternalName an.

Ich weiß leider nicht, warum man sonst mit dem "Displaynamen" arbeiten kann und an dieser Stelle den InternalName nehmen muss...

Aber ich hoffe, dass diese Information einigen anderen weiterhilft und es so auch in SharePoint 2007 funktioniert! ;-)

VG

Top-25-Beitragsschreiber
375 Beiträge

Danke für den Hinweis, werde ich mal testen, aber mit dem Zusatz properties hat es dann auch bei mir fkt.

Seite 1 von 1 (8 Elemente) | RSS