documentgenerator.template.update
Изменить шаблон
Описание
Метод documentgenerator.template.update обновляет существующий шаблон.
Параметры
id
integer
обязательный
Идентификатор шаблона.
Получить идентификатор шаблона можно после создания шаблона или методом получения списка шаблонов
fields
object
обязательный
Поля шаблона для обновления (подробное описание)
Параметр fields
name
string
необязательный
Название шаблона
file
file
необязательный
Новый файл шаблона. Можно передать тремя способами:
- строкой base64
- массивом ["имя_файла.docx","base64_контент"]
- как файл multipart/form-data
Частые кейсы и сценарии
numeratorId
integer
необязательный
Идентификатор нумератора
region
string
необязательный
Регион шаблона, например ru
code
string
необязательный
Символьный код шаблона
users
array
необязательный
Пользователи, у которых будет доступ к шаблону.
Возможные значения:
U{id}— пользовательG{id}— группа пользователейAU— все авторизованные пользователиUA— все пользователиD{id}— отделDR{id}— отдел с подотделамиSG{id}— рабочая группа или проектSG{id}_A— владелец рабочей группы или проектаSG{id}_E— модераторы рабочей группы или проектаSG{id}_K— все члены рабочей группы или проекта
providers
array
необязательный
Список провайдеров данных
active
char
необязательный
Активность. Возможные значения:
- Y — активен
- N — не активен
withStamps
char
необязательный
Подставлять печати и подписи. Возможные значения:
- Y — да
- N — нет
sort
integer
необязательный
Индекс сортировки
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":57,"fields":{"name":"SUPPLY_CONTRACT_NEW Template","numeratorId":3,"code":"REST_TEMPLATE","users":["U503"],"sort":700}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/documentgenerator.template.update
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":57,"fields":{"name":"SUPPLY_CONTRACT_NEW Template","numeratorId":3,"code":"REST_TEMPLATE","users":["U503"],"sort":700},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/documentgenerator.template.update
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame, ISODate } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of the payload returned in result (match the "response handling" section of the page)
type TemplateUpdateResult = {
template: {
id: string
name: string
region: string
code: string
download: string
downloadMachine: string
active: string
moduleId: string
numeratorId: string
withStamps: string
providers: Record<string, string>
users: Record<string, string>
isDeleted: string
sort: string
createTime: ISODate | null
updateTime: ISODate | null
}
}
try {
const response = await $b24.actions.v2.call.make<TemplateUpdateResult>({
method: 'documentgenerator.template.update',
params: {
id: 57,
fields: {
name: 'SUPPLY_CONTRACT_NEW Template',
numeratorId: 3,
code: 'REST_TEMPLATE',
users: ['U503'],
sort: 700,
},
},
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info(result.template.id, result.template.name, result.template.updateTime)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function updateTemplate() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'documentgenerator.template.update',
params: {
id: 57,
fields: {
name: 'SUPPLY_CONTRACT_NEW Template',
numeratorId: 3,
code: 'REST_TEMPLATE',
users: ['U503'],
sort: 700,
},
},
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info(result.template.id, result.template.name, result.template.updateTime)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', updateTemplate)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
template_fields = {
"name": "SUPPLY_CONTRACT_NEW Template",
"numeratorId": 3,
"code": "REST_TEMPLATE",
"users": [
"U503",
],
"sort": 700,
}
try:
bitrix_response = client.documentgenerator.template.update(
bitrix_id=57,
fields=template_fields,
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service->core->call(
'documentgenerator.template.update',
[
'id' => 57,
'fields' => [
'name' => 'SUPPLY_CONTRACT_NEW Template',
'numeratorId' => 3,
'code' => 'REST_TEMPLATE',
'users' => ['U503'],
'sort' => 700,
],
]
);
$result = $response->getResponseData()->getResult();
print_r($result);
} catch (Throwable $e) {
echo $e->getMessage();
}
BX24.callMethod(
'documentgenerator.template.update',
{
id: 57,
fields: {
name: 'SUPPLY_CONTRACT_NEW Template',
numeratorId: 3,
code: 'REST_TEMPLATE',
users: ['U503'],
sort: 700
}
},
function(result)
{
if (result.error())
{
console.error(result.error());
}
else
{
console.log(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'documentgenerator.template.update',
[
'id' => 57,
'fields' => [
'name' => 'SUPPLY_CONTRACT_NEW Template',
'numeratorId' => 3,
'code' => 'REST_TEMPLATE',
'users' => ['U503'],
'sort' => 700,
],
]
);
print_r($result);
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "documentgenerator.template.update", b24.Params{
"id": 57,
"fields": b24.Params{
"name": "SUPPLY_CONTRACT_NEW Template",
"numeratorId": 3,
"code": "REST_TEMPLATE",
"users": []string{"U503"},
"sort": 700,
},
})
if err != nil {
return fmt.Errorf("documentgenerator.template.update: %w", err)
}
// Метод заворачивает ответ в объект с ключом "template".
raw, ok := b24.Unwrap(res.Result, "template")
if !ok {
return fmt.Errorf("в ответе нет ключа template")
}
var item struct {
ID b24.ID `json:"id"`
Name string `json:"name"`
Region string `json:"region"`
Code string `json:"code"`
Download string `json:"download"`
Active string `json:"active"`
}
if err := json.Unmarshal(raw, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.ID, item.Name)
Ответ
HTTP-статус: 200
{
"result": {
"template": {
"id": "57",
"name": "SUPPLY_CONTRACT_NEW Template",
"region": "ru",
"code": "REST_TEMPLATE",
"download": "https://mysite.ru/bitrix/services/main/ajax.php?action=documentgenerator.api.template.download&SITE_ID=s1&id=57&ts=0",
"active": "Y",
"moduleId": "rest",
"numeratorId": "3",
"withStamps": "N",
"providers": {
"bitrix\\documentgenerator\\dataprovider\\rest": "bitrix\\documentgenerator\\dataprovider\\rest"
},
"users": {
"U503": "U503"
},
"isDeleted": "N",
"sort": "700",
"createTime": "2026-03-23T16:51:25+03:00",
"updateTime": "2026-03-23T17:26:39+03:00",
"downloadMachine": "https://mysite.ru/rest/documentgenerator.api.template.download.json?auth=6d53c1690000071b00000844000001f7f0f1075612a492ef6fe0b4127e521b543e4376&token=documentgenerator%7CYWN0aW9uPWRvY3VtZW50Z2VuZXJhdG9yLmFwaS50ZW1wbGF0ZS5kb3dubG9hZCZTSVRFX0lEPXMxJmlkPTU3JnRzPTAmXz1UdDBpNDBOU2hvQkxtN1Y5VmhEZm1MbTU2ZmQ0d3puNA%3D%3D%7CImRvY3VtZW50Z2VuZXJhdG9yLmFwaS50ZW1wbGF0ZS5kb3dubG9hZHxkb2N1bWVudGdlbmVyYXRvcnxZV04wYVc5dVBXUnZZM1Z0Wlc1MFoyVnVaWEpoZEc5eUxtRndhUzUwWlcxd2JHRjBaUzVrYjNkdWJHOWhaQ1pUU1ZSRlgwbEVQWE14Sm1sa1BUVTNKblJ6UFRBbVh6MVVkREJwTkRCT1UyaHZRa3h0TjFZNVZtaEVabTFNYlRVMlptUTBkM3B1TkE9PXw2ZDUzYzE2OTAwMDAwNzFiMDAwMDA4NDQwMDAwMDFmN2YwZjEwNzU2MTJhNDkyZWY2ZmUwYjQxMjdlNTIxYjU0M2U0Mzc2Ig%3D%3D.6kAmDGdiQCSZI%2Bcm%2Fg86RUqVH5dMvSDxHbx20yjOYK4%3D"
}
},
"time": {
"start": 1774275999,
"finish": 1774275999.631086,
"duration": 0.6310861110687256,
"processing": 0,
"date_start": "2026-03-23T17:26:39+03:00",
"date_finish": "2026-03-23T17:26:39+03:00",
"operating_reset_at": 1774276599,
"operating": 0
}
}
Возвращаемые данные
result
object
Корневой элемент ответа (подробное описание)
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": "0",
"error_description": "Шаблон не найден"
}
| Код | Описание | Значение |
|---|---|---|
400 |
100 |
Bitrix\DocumentGenerator\Template constructor must be is public |
400 |
100 |
Could not find value for parameter {fields} |
400 |
0 |
Шаблон не найден |
400 |
0 |
You do not have permissions to modify this template |
400 |
0 |
You do not have permissions to modify templates |

