none
AutoStart Workflow: Microsoft.SharePoint.SPException: Recursive workflows are not permitted. RRS feed

  • Question

  • I can't seem to figure out this one. Sometimes it works and then again not.

    The setup is like this

    A list with a workflow which creates a document in a document library and writes the List Item - ID in a field in the new item in the DL.

    The DL has a workflow that starts whenever a new item is created. This workflow takes the value from the Item - ID field and writes it's Element - Url in a field (Multitext - Append) in the original List into the item that has the Item - ID. 

    ULS Viewer on the server shows this error Message

    The document library has a workflow attached that fires up whenever AutoStart Workflow: Microsoft.SharePoint.SPException: Recursive workflows are not permitted.     at Microsoft.SharePoint.Workflow.SPWorkflowAutostartEventReceiver.<>c__DisplayClass1.<AutoStartWorkflow>b__0(SPSite superUserSite, SPWeb superUserWeb)

     

     

    Any idea appreciated

     

    Thursday, November 24, 2011 3:15 PM

Answers

  • Maybe this helps someone else with the same requirements.

    I have choosen this workaround.

    The workflow in List A creates a document based on a customized template in document library B. The template is filled automatically with some of the values from the item in List A.

    The Owner of the Document library B gets a notification and kicks of manually the workflow in DL B.
    That's feasible as the arrival of a new document  has to be confirmed anyways. 

    The workflow fills a variable containing all the text of the field in List A wich holds the URL's for the documents in DL B - it then adds the new link to the existing text and writes the variable back to the field in List A.

    I now have the connection from a document to the corresponding item in List A and I have 1:n entries in List A to the items in DL B.

     

    Works well. I still have to find the limit of how much text a variable can hold. 

    • Marked as answer by Emir Liu Friday, December 2, 2011 5:34 AM
    Tuesday, November 29, 2011 9:21 AM

All replies

  • Hi

    what you said is something like

     

    LIST_A ------------> workflow1--->create a document in DL--->workflow2---->update LIST_A

    and so on.....

     

    If workflow1 start when an item in LIST_A is changed you will be the happy owner of a loop ! :)

     

    Force  workflow 1 to start only when an item is added in LIST_A ( or put an additional condition to start, if you want to start when an item is changed )

     

    Let me know that help, and mark as an answer. Regards

     


    Romeo Donca
    Thursday, November 24, 2011 4:54 PM
  • Hello Romeo

     

    Thanks for your reply.

     

    In List A I have a "triggerfield". When it is changed "Workflow of List - A" creates an item in the document library and fills the Field "ID of item in List - A".

    It then sets the "triggerfield" in List A back to default.

     

    In the document library there is a workflow that acts upon new items and takes the value of "ID of item in List - A" and stamps a Multitext field in List - A with the "ElementUrl" of the newly created document.

     

    The idea is to have a connection between the two corresponding items in List A and the document library.

    The workflow in the document library works well when kicked on manually from within the DL but still throws the error in the server log.

     

     

    Thursday, November 24, 2011 6:15 PM
  • Hi

    Why to re-write in LIST_A the URL for the new added document?

    it's enough to save in doc libraryfills the Field "ID of item in List - A"., and letter if you need to select from LIST_A all documents fro an item it's enough to make a connection between

    LIST_A:ID-----------------> DOC_LIB:"ID of item in List - A".


    Romeo Donca
    Thursday, November 24, 2011 6:22 PM
  • No it is not enough.

     

    List A is the master and users should have a link to the corresponding documents.

    That's the requirement


    And as the multitext field in List A is set to append changes there can be many documents pointing to the same item in list A.
    • Edited by Kurtbrae Monday, November 28, 2011 1:14 PM
    Thursday, November 24, 2011 6:33 PM
  • Maybe this helps someone else with the same requirements.

    I have choosen this workaround.

    The workflow in List A creates a document based on a customized template in document library B. The template is filled automatically with some of the values from the item in List A.

    The Owner of the Document library B gets a notification and kicks of manually the workflow in DL B.
    That's feasible as the arrival of a new document  has to be confirmed anyways. 

    The workflow fills a variable containing all the text of the field in List A wich holds the URL's for the documents in DL B - it then adds the new link to the existing text and writes the variable back to the field in List A.

    I now have the connection from a document to the corresponding item in List A and I have 1:n entries in List A to the items in DL B.

     

    Works well. I still have to find the limit of how much text a variable can hold. 

    • Marked as answer by Emir Liu Friday, December 2, 2011 5:34 AM
    Tuesday, November 29, 2011 9:21 AM