Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Изменить шаблон бизнес-процесса bizproc.workflow.template.update», проанализируем лучшие практики и покажем, как правильно использовать bizproc.workflow.template.update в реальных задачах.
Изменить шаблон бизнес-процесса bizproc.workflow.template.update
> Scope: bizproc
>
> Кто может выполнять метод: администратор
Метод обновляет шаблон бизнес-процесса.
С его помощью можно обновить шаблоны, которые были созданы методом bizproc.workflow.template.add. Эти шаблоны привязаны к приложению и могут быть обновлены только в контексте того же приложения, которым они были созданы.
Параметры метода
Названиетип | Описание |
|---|---|
IDstring | Идентификатор шаблона, который нужно обновить |
FIELDSobject | Объект с полями шаблона бизнес-процесса. Обновить можно поля: |
Параметр FIELDS {#parametr-fields}
Названиетип | Описание |
|---|---|
NAMEstring | Название шаблона |
DESCRIPTIONstring | Описание шаблона |
TEMPLATE_DATAfile | Контент файла с шаблоном бизнес-процесса в формате .bpt.Подробнее о способах передачи файлов — в статье [](../../files/how-to-update-files) |
AUTO_EXECUTEinteger | Настройки автозапуска шаблона. Может иметь значение: — По умолчанию — |
Примеры кода
- cURL (OAuth)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"ID":525,"FIELDS":{"NAME":"Вывести время","DESCRIPTION":"Шаблон показывает сообщение с локальным и серверным временем","AUTO_EXECUTE":0},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/bizproc.workflow.template.update- JS
try
{
const response = await $b24.callMethod(
'bizproc.workflow.template.update',
{
ID: 525,
FIELDS: {
NAME: 'Вывести время',
DESCRIPTION: 'Шаблон показывает сообщение с локальным и серверным временем',
AUTO_EXECUTE: 0,
}
}
);
const result = response.getData().result;
console.log(result);
}
catch( error )
{
alert("Error: " + error);
}- PHP
try {
$response = $b24Service
->core
->call(
'bizproc.workflow.template.update',
[
'ID' => 525,
'FIELDS' => [
'NAME' => 'Вывести время',
'DESCRIPTION' => 'Шаблон показывает сообщение с локальным и серверным временем',
'AUTO_EXECUTE' => 0,
],
]
);
$result = $response
->getResponseData()
->getResult();
if ($result->error()) {
echo 'Error: ' . $result->error();
} else {
echo 'Success: ' . print_r($result->data(), true);
}
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error updating workflow template: ' . $e->getMessage();
}- BX24.js
BX24.callMethod(
'bizproc.workflow.template.update',
{
ID: 525,
FIELDS: {
NAME: 'Вывести время',
DESCRIPTION: 'Шаблон показывает сообщение с локальным и серверным временем',
AUTO_EXECUTE: 0,
}
},
function(result)
{
if(result.error())
alert("Error: " + result.error());
else
console.log(result.data());
}
);- PHP CRest
require_once('crest.php');
$result = CRest::call(
'bizproc.workflow.template.update',
[
'ID' => 525,
'FIELDS' => [
'NAME' => 'Вывести время',
'DESCRIPTION' => 'Шаблон показывает сообщение с локальным и серверным временем',
'AUTO_EXECUTE' => 0
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';Обработка ответа
HTTP-статус: 200
{
"result": 525,
"time": {
"start": 1737534421.172673,
"finish": 1737534421.209758,
"duration": 0.037085056304931641,
"processing": 0.010869026184082031,
"date_start": "2025-01-22T11:27:01+03:00",
"date_finish": "2025-01-22T11:27:01+03:00",
"operating_reset_at": 1737535021,
"operating": 0
}
}Возвращаемые данные
Названиетип | Описание |
|---|---|
resultobject | Идентификатор обновленного шаблона бизнес-процесса |
timetime | Информация о времени выполнения запроса |
Обработка ошибок
HTTP-статус: 400
{
"error": "ERROR_TEMPLATE_NOT_OWNER",
"error_description": "You can update ONLY templates created by current application",
}Возможные коды ошибок
| Код | Сообщение об ошибке | Описание |
|---|---|---|
ACCESS_DENIED | Application context required | Токен доступа не из приложения |
ACCESS_DENIED | Access denied! | Метод запустил не администратор |
ERROR_TEMPLATE_VALIDATION_FAILURE | No fields to update. | Не указаны поля для обновления |
ERROR_TEMPLATE_NOT_FOUND | Workflow template not found. | Не найден шаблон с заданным ID |
ERROR_TEMPLATE_NOT_OWNER | You can update ONLY templates created by current application | Данный шаблон нельзя редактировать через это приложение |
ERROR_TEMPLATE_VALIDATION_FAILURE | Empty template name! | Указано пустое название шаблона |
ERROR_TEMPLATE_VALIDATION_FAILURE | Incorrect field AUTO_EXECUTE! | Указан неверный код автозапуска |
ERROR_TEMPLATE_VALIDATION_FAILURE | Incorrect field TEMPLATE_DATA! | Указаны неверные данные шаблона |
- [](./index)
- [](./bizproc-workflow-template-add)
- [](./bizproc-workflow-template-list)
- [](./bizproc-workflow-template-delete)
💡 Экспертное мнение и рекомендации
Ключевые выводы по теме «Изменить шаблон бизнес-процесса bizproc.workflow.template.update»:
Использование современных стандартов D7 при работе с bizproc.workflow.template.update позволяет писать чистый, масштабируемый и безопасный код. Не забывайте обрабатывать исключения (try/catch) и проверять права доступа текущего пользователя перед выполнением критических операций.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru