SharePoint Designer 2007 -Schaltfläche in einer benutzerdefinierten ASPX -Datei, um einen Workflow in SharePoint 2007 auszulösen

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/19640

Frage

Darf ich wissen, wie ich eine Schaltfläche in einer benutzerdefinierten ASPX -Datei (entworfen von SharePoint Designer 2007) erstellen kann, die beim Drücken einen Workflow in einer SharePoint -Formbibliothek auslöst?

Szenario: Eine webbasierte Form (nicht Infopath-Form, sondern eine ASPX-kuddomisierte Form), die einen Workflow auslösen kann, der sich in einer SharePoint-Formbibliothek befindet.

War es hilfreich?

Lösung

Hier sind ein paar Beispiele von Websites, an denen ich dies implementiert habe. Beide Optionen basieren auf Hyperlinks (können jedoch an Schaltflächen angepasst werden). Dieses erste Beispiel zeigt, wie es direkt geht.

Ich habe einen DVWP mit diesem Markup:

<a href="https://my.spsite.com/sites/submit/_layouts/NintexWorkflow/StartWorkflow.aspx?List=4f988f8a-336e-4154-b045-d083fa0371a1&amp;ID={@ID}&amp;TemplateID=%7Beefc705f-b3ad-43fb-9fc8-615fb1226955%7D&amp;Source=https%3A%2F%2Fmy%2Espsite%2Ecom%2Fsites%2Fsubmit%2FPageLib%2FAdmin%2FDashboard%2Easpx">Copy Request</a>

Es wird in diesem Fall einen Nintex -Workflow angerufen, aber es könnte jeder Workflow sein, den Sie erstellt haben. Sie können alle Informationen sammeln, indem Sie zu einem Listenelement gehen und in den manuellen Initiationsbildschirm gehen.

Die andere Option habe ich einen DVWP mit diesem Code. Wenn Sie auf den Hyperlink klicken, wird ein jQuery ausgeführt, der meinen Workflow auslöst. Es verwendet Marc Anderson's Spservices Library.

<xsl:attribute name="id">
                    <xsl:text>WorkflowTD</xsl:text>
                    <xsl:value-of select="@ID" disable-output-escaping="yes"/>
                </xsl:attribute>
                <a href="#">
                    <xsl:attribute name="onclick">
                        <xsl:text>javascript:StartWorkflow(&apos;https://</xsl:text>
                        <xsl:value-of select="$Host" />
                        <xsl:value-of select="@FileRef" disable-output-escaping="yes"/>
                        <xsl:text>&apos;,&apos;</xsl:text>
                        <xsl:value-of select="@ID" disable-output-escaping="yes"/>
                        <xsl:text>&apos;);</xsl:text>
                    </xsl:attribute>Copy Request</a>

Dann habe ich ein Skript, das so aussieht:

<script type="text/javascript">
function StartWorkflow(ItemURL, ItemID) {
var workflowGUID = null;
$().SPServices({
  operation: "GetTemplatesForItem",
  item: ItemURL,
  async: false,
  completefunc: function (xData, Status) {
    $(xData.responseXML).find("WorkflowTemplates > WorkflowTemplate").each(function(i,e) {
      // hard coded workflow name
      if ( $(this).attr("Name") == "Copy" ) {              
        var guid = $(this).find("WorkflowTemplateIdSet").attr("TemplateId");        
        if ( guid != null ) {
          workflowGUID = "{" + guid + "}";
          }
        }
      });
  }
});

var workflowTD = '#WorkflowTD' + ItemID;
  $().SPServices({
    operation: "StartWorkflow",
    item: ItemURL,
    templateId: workflowGUID,
    workflowParameters: "<root />",
    completefunc: function() {
      $(workflowTD).html("Workflow Started");
    }
  });
}
</script>

Andere Tipps

Ich kann Ihren Code (unten) nicht zum Laufen bringen. Wenn der Link geklickt habe, erhole ich Fehler und die URL, dann zeigt ... ID = {@id} an, es dauert buchstäblich URL -ID -Bit und nicht den Wert.

<a href="https://my.spsite.com/sites/submit/_layouts/NintexWorkflow/StartWorkflow.aspx?List=4f988f8a-336e-4154-b045-d083fa0371a1&amp;ID={@ID}&amp;TemplateID=%7Beefc705f-b3ad-43fb-9fc8-615fb1226955%7D&amp;Source=https%3A%2F%2Fmy%2Espsite%2Ecom%2Fsites%2Fsubmit%2FPageLib%2FAdmin%2FDashboard%2Easpx">Copy Request</a>

Mein Code ist unten:

<a href="http://sp20104/HitsMissesApp/_layouts/IniWrkflIP.aspx?List={deff1c34-4aec-43ad-b1e8-00444d3ab674}&amp;ID={@ID}&amp;TemplateID={0db61b7a-1517-421b-86f6-ac2ee13c95cd}&amp;amp;Source=http%3A%2F%2Fsp20104%2FHitsMissesApp%2FLists%2FHitsandMisses%2FAllItems%2Easpx">clicke here</a>

Ich habe verschiedene Arten ausprobiert, aber es wird nicht verarbeitet. Gibt es eine Einstellung in SP, die ich verpasst habe?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top