SaveBpmProcess

Синтаксис

SaveBpmProcessResult SaveBpmProcess(BpmProcessId tBpmProcess, BpmProcessInfoArg tArg)

Параметры

tBpmProcess. Моникёр открытого процесса.

tArg. Параметры выполнения операции.

Описание

Операция SaveBpmProcess сохраняет изменения в процессе.

Комментарии

Для выполнения операции укажите в поле tBpmProcess моникёр открытого процесса, а в поле tArg обновлённую информацию о структуре процесса. Моникёр может быть получен при выполнении операции OpenBpmProcess. Процесс должен быть открыт на редактирование.

Результатом выполнения операции будет обновлённая версия процесса.

Пример

Ниже приведён пример сохранения изменений в процессе. В запросе передаётся моникёр открытого процесса и настройки этапа и шагов. В ответе возвращается признак успешного сохранения изменений.

SOAP-запрос:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SaveBpmProcess xmlns="http://www.fsight.ru/PP.SOM.Som">
<tBpmProcess xmlns="">
  <id>PCMPFKDANKDAGOAEHGGCMAILKEKKFDIEKJCJBILJBEBFPLMF!M!S!BPGFFNKBEANKDAGOAEDJNBGLCJMDPBKHHEIKDLOLJJHKCKAIFG</id>
  </tBpmProcess>
<tArg xmlns="">
  <name>Процесс</name>
<stages>
<it>
<stage>
  <name>Этап 1</name>
  <index>0</index>
  <guid>{D198A63E-B5BD-4791-88F3-3E60C9DE7A54}</guid>
  </stage>
  <gtwType>No_gateway</gtwType>
  <isCondActive>false</isCondActive>
<stGroups>
<it>
<stGroup>
  <index>0</index>
  <guid>{322DDF61-B291-42CB-A075-53B7F4337743}</guid>
  </stGroup>
<steps>
<it>
  <isEnabled>true</isEnabled>
  <name>Ручной ввод данных</name>
  <type>ManualTask</type>
  <index>0</index>
  <guid>{13F3BEEB-009D-4FF7-88CC-F3C41A025A99}</guid>
  <roleId>PS-1-144122</roleId>
<maxDur>
  <periodType>Day</periodType>
  <amount>1</amount>
  </maxDur>
  </it>
<it>
  <isEnabled>true</isEnabled>
  <name>Согласование изменений</name>
  <type>Approval</type>
  <index>1</index>
  <guid>{0CF6521D-F5DB-48EB-A310-3897914390A6}</guid>
  <roleId>PS-1-1</roleId>
<maxDur>
  <periodType>Day</periodType>
  <amount>1</amount>
  </maxDur>
<data>
  <writeAccess>false</writeAccess>
  <frmKey>262317</frmKey>
  <authObjKey>317058</authObjKey>
  </data>
  </it>
  </steps>
  <isDefaultFlow>false</isDefaultFlow>
  </it>
  </stGroups>
  </it>
  </stages>
  </tArg>
  </SaveBpmProcess>
  </s:Body>
  </s:Envelope>

SOAP-ответ:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<SaveBpmProcessResult xmlns="http://www.fsight.ru/PP.SOM.Som" xmlns:q1="http://www.fsight.ru/PP.SOM.Som" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <parid xmlns="">1481</parid>
  </SaveBpmProcessResult>
  </soapenv:Body>
  </soapenv:Envelope>

JSON-запрос:

{
"SaveBpmProcess" :
{
"tBpmProcess" :
{
"id" : "PCMPFKDANKDAGOAEHGGCMAILKEKKFDIEKJCJBILJBEBFPLMF!M!S!BPGFFNKBEANKDAGOAEDJNBGLCJMDPBKHHEIKDLOLJJHKCKAIFG"
},
"tArg" :
{
"name" : "Процесс",
"stages" :
{
"it" :
{
"stage" :
{
"name" : "Этап 1",
"index" : "0",
"guid" : "{D198A63E-B5BD-4791-88F3-3E60C9DE7A54}"
},
"gtwType" : "No_gateway",
"isCondActive" : "false",
"stGroups" :
{
"it" :
{
"stGroup" :
{
"index" : "0",
"guid" : "{322DDF61-B291-42CB-A075-53B7F4337743}"
},
"steps" :
{
"it" :
[
{
"isEnabled" : "true",
"name" : "Ручной ввод данных",
"type" : "ManualTask",
"index" : "0",
"guid" : "{13F3BEEB-009D-4FF7-88CC-F3C41A025A99}",
"roleId" : "PS-1-144122",
"maxDur" :
{
"periodType" : "Day",
"amount" : "1"
}
},
{
"isEnabled" : "true",
"name" : "Согласование изменений",
"type" : "Approval",
"index" : "1",
"guid" : "{0CF6521D-F5DB-48EB-A310-3897914390A6}",
"roleId" : "PS-1-1",
"maxDur" :
{
"periodType" : "Day",
"amount" : "1"
},
"data" :
{
"writeAccess" : "false",
"frmKey" : "262317",
"authObjKey" : "317058"
}
}
]
},
"isDefaultFlow" : "false"
}
}
}
}
}
}
}

JSON-ответ:

{
"SaveBpmProcessResult" :
{
"parid" : "1481"
}
}
public static SaveBpmProcessResult SaveBpmProcess(string moniker, string newName, BpmStageInfo[] stages)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tGet = new SaveBpmProcess()
{
// Формирование моникёра объекта
tBpmProcess = new BpmProcessId() { id = moniker },
tArg = new BpmProcessInfoArg()
{
name = newName,
stages = stages
}
};
// Сохранение изменений
var result = somClient.SaveBpmProcess(tGet);
return result;
}

См. также:

Работа с процессами