بلاگ

مشاهده آخرین پست‌های مرتبط با شیرپوینت

19 مرداد

اجرای فرآیند نینتکس با استفاده از JavaScript

همانطور که مستحضرید با استفاده از فرآیندساز نینتکس (Nintex workflow) براحتی می‌توانیم سناریوهایی متفاوت گردش کار مورد نیاز در شرکت‌های متفاوت را اجرا کنیم. 

 همانطور که مستحضرید با استفاده از فرآیندساز نینتکس (Nintex workflow) براحتی می‌توانیم سناریوهایی متفاوت گردش کار مورد نیاز در شرکت‌های متفاوت را اجرا کنیم. عموما رویدادهایی که فرآیند نینتکس در آن رویداد فراخوانی و اجرا می‌شوند لحظه ثبت یا بروزرسانی آیتم ها در لیست یا library ها هستند، اما در بسیاری از موارد نیاز به اجرا فرآیند نینتکس در یک رویداد متفاوت تر داریم به عنوان مثال نیاز به یک دکمه داریم که هنگام کلیک برروی آن دکمه یک سایت ورک فلو (site workflow) اجرا گردد.
شرکت نینتکس با ارائه وب سرویس workflow.asmx این نیاز کاربران به خوبی پاسخ داده و این امکان فراهم ساخته تا در رویدهای متفاوت متدهای قابلیت های متفاوتی را از فرآیند ساز نینتکس اجرا کنیم ، تمامی این کارها با استفاده از وب سرویس workflow.asmx که از آدرس

portalURL/_vti_bin/NintexWorkflow/Workflow.asmx 

در دسترس است قابل اجراست. تمام این قابلیت های زیر با استفاده از فراخوانی وب سرویس فوق قابل اجراست. 

AddLongTermDelegationRule
AddWorkflowSchedule
AddWorkflowScheduleOnListItem
CheckConnectionNameExists
CheckConnectionStatus
CheckGlobalReuseStatus
CheckInForms
ConvertSession
CreateConnection
DelegateAllTasks
DelegateTask
DeleteConnection
DeleteLongTermDelegationRule
DeleteSnippet
DeleteWorkflow
EnsureWorkflowConsumption
ExportWorkflow
FixWorkflowsInSiteFromTemplate
GetConnections
GetFolders
GetListContentTypes
GetOutcomesForFlexiTask
GetRunningWorkflowTasks
GetRunningWorkflowTasksCollection
GetRunningWorkflowTasksForCurrentUser
GetRunningWorkflowTasksForCurrentUserForListItem
GetRunningWorkflowTasksForListItem
GetSessionAndConvert
GetTaskDetailsUsingStub
GetTaskStubsForCurrentUser
GetWorkflowHistory
GetWorkflowHistoryForListItem
HideTaskForApprover
HideWorkflow
ProcessFlexiTaskResponse
ProcessFlexiTaskResponse2
ProcessTaskResponse
ProcessTaskResponse2
ProcessTaskResponse3
ProcessTaskResponseUsingToken
PublishFromNWF
PublishFromNWFNoOverwrite
PublishFromNWFSkipValidation
PublishFromNWFSkipValidationNoOverwrite
PublishFromNWFXml
PublishFromNWFXmlNoOverwrite
PublishFromNWFXmlSkipValidation
PublishFromNWFXmlSkipValidationNoOverwrite
PublishWorkflow
PublishWorkflow2
QueryForMessages
RemoveWorkflowSchedule
RemoveWorkflowScheduleOnListItem
RequestOAuthRedirect
SaveFromNWF
SaveFromNWFNoOverwrite
SaveFromNWFXml
SaveFromNWFXmlNoOverwrite
SaveSnippet
SaveTemplate
SaveTemplate2
SaveWorkflow
SnippetExists
StartSiteWorkflow
StartWorkflow
StartWorkflowOnListItem
TemplateExists
TerminateWorkflow
TerminateWorkflowByName
TerminateWorkflowByNameForListItem
WorkflowExists
WorkflowFormProductSelected

در صورتیکه با فرم سازها ( مانند info path یا nintex form یا BPC Power form ) کار کرده باشید براحتی می‌توانید وب سرویس فوق را اجرا نموده و حسب نیاز سازمانی تان یکی از متدهای فوق (مثلا خاتمه دادن به اجرا فرآیند در یک شرایط خاص terminate workflow ) را اجرا نمایید .
در این مثال تصمیم داریم با استفاده از جاوااسکریپت یک فرآیند نینتکس را در رویداد کلیک یک دکمه فراخوانی نماییم. برای شروع باید یک صفحه ایجاد کنیم و در آن صفحه یک دکمه قرار دهیم به شکل زیر

- جهت قرار دادن دکمه در قسمت body صفحه یا palceholdermain باید کد زیر را قرار دهید

<button onclick=" StartNintexWF(ItemID, ListName, SiteURL, WFName)">اجرای فرآیند نینتکس</button>

توجه فرمایید که باید بجای itemID دقیقا ID آیتم مورد نظر را به تابع پاس دهید مثلا 1 . به جای ListName دقیقا نام نمایشی لیست (display name لیست) را وارد نمایید و به جای SiteUrl آدرس پرتال تان و WFName نامی را که برای فرآیند نینتکس اختصاص داده اید وارد نمایید. 

- سپس برای نوشتن تابعی که فرآیند نینتکس را فراخوانی نماید در قسمت <script> یا placeholderadditinalpagehead میتوانید کد زیر را وارد نمایید. 

function StartNintexWF(ItemID, ListName, SiteURL, WFName) {

var sr = '<?xml version="1.0" encoding="utf-8"?>'

    + '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" '

    + 'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" '

    + 'xmlns:m="http://nintex.com">'

    + '<soap:Header>'

    + '</soap:Header>'

    + '<soap:Body>'

    + '<m:StartWorkflowOnListItem>'

    + '<m:itemId>' + ItemID + '</m:itemId>'

    + '<m:listName>' + ListName + '</m:listName>'

    + '<m:workflowName>' + WFName + '</m:workflowName>'

    + '<m:associationData></m:associationData>'

    + '</m:StartWorkflowOnListItem>'

    + '</soap:Body>'

    + '</soap:Envelope>';


NWF$.ajax({

  url: SiteURL + "/_vti_bin/NintexWorkflow/Workflow.asmx",

  beforeSend: function (xhr) {

         xhr.setRequestHeader("SOAPAction",   "http://nintex.com/StartWorkflowOnListItem");

         //POINT[1]

         //xhr.setRequestHeader ("Authorization", "Basic " + window.btoa("login:pass"));

  },

  type: "POST",

  dataType: "xml",

  data: sr,

   // POINT [2]

   // username: "login",

   // password: "pass",

    success: function () {

          alert("success");

     },

    contentType: "text/xml; charset=utf-8",

    error: function (requestObject, error, errorThrown) {

           alert(requestObject.status + " " + error + " " + errorThrown);  }

    });

}

 

  • BLOG_RATING
  • 1740 Times

عضویت در ماهنامه شیرپوینت

در صورت تمایل می‌توانید با وارد کردن ایمیل خودتان و تایید آن به صورت رایگان در ماهنامه الکترونیکی ما عضو شوید