documentgenerator.document.update
Изменить существующий документ
Описание
Метод documentgenerator.document.update обновляет документ новыми значениями полей.
Параметры
id
integer
обязательный
Идентификатор документа.
Получить идентификатор документа можно после создания документа или методом получения списка документов
values
object
необязательный
Значения полей документа вида {"КодПоля":"Значение"}
stampsEnabled
integer
необязательный
Режим печатей и подписей:
- 1 — включить
- 0 — выключить
По умолчанию 1
fields
object
необязательный
Описание того, как интерпретировать и форматировать значения из values (подробное описание).
Ключ объекта fields должен совпадать с кодом поля из шаблона.
Если передаете только обычный текст, параметр можно не указывать.
Пример структуры fields:
{
"CurrentDate": {
"TYPE": "DATE",
"FORMAT": {
"format": "d.m.Y"
},
"TITLE": "Дата договора"
}
}Параметр fields
TYPE
string
необязательный
Тип поля.
Типы, для которых можно указать форматирование:
- DATE — дата или дата-время
- NAME — ФИО
FORMAT
object
необязательный
Параметры формата для типа поля.
FORMAT не фиксирован одним значением, его нужно выбирать под ваш шаблон и требования к выводу.
Для DATE значение format задается в формате модификаторов даты генератора документов. Пример: {"format":"d.m.Y"}
Для NAME:
- format задает шаблон вывода частей имени, например #NAME# #LAST_NAME#
- case задает падеж
Пользовательская документация
PROVIDER
string
необязательный
Класс провайдера
TITLE
string
необязательный
Название поля
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":51,"values":{"DocumentNumber":"ДГ-2026-001","CurrentDate":"2026-03-20T00:00:00+03:00","ClientName":"ООО Ромашка","ClientPhone":"+7 999 123-45-67","Total":"130000","Comment":"Оплата в течение 3 рабочих дней после подписания","UserName":"Иван Петров"},"stampsEnabled":1}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/documentgenerator.document.update
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":51,"values":{"DocumentNumber":"ДГ-2026-001","CurrentDate":"2026-03-20T00:00:00+03:00","ClientName":"ООО Ромашка","ClientPhone":"+7 999 123-45-67","Total":"130000","Comment":"Оплата в течение 3 рабочих дней после подписания","UserName":"Иван Петров"},"stampsEnabled":1,"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/documentgenerator.document.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 DocumentUpdateResult = {
document: {
id: string
title: string
number: string
templateId: string
provider: string
value: string
values: Record<string, unknown>
stampsEnabled: boolean
downloadUrl: string
pdfUrl: string
imageUrl: string
printUrl: string
downloadUrlMachine: string
pdfUrlMachine: string
imageUrlMachine: string
printUrlMachine: string
publicUrl: string
publicUrlView: { time: ISODate | null }
isTransformationError: boolean
pullTag: string
emailDiskFile: number
createTime: ISODate | null
updateTime: ISODate | null
createdBy: string
updatedBy: number | null
}
}
try {
const response = await $b24.actions.v2.call.make<DocumentUpdateResult>({
method: 'documentgenerator.document.update',
params: {
id: 51,
values: {
DocumentNumber: 'DG-2026-001',
CurrentDate: '2026-03-20T00:00:00+03:00',
ClientName: 'Romashka LLC',
ClientPhone: '+7 999 123-45-67',
Total: '130000',
Comment: 'Payment within 3 business days after signing',
UserName: 'Ivan Petrov',
},
stampsEnabled: 1,
},
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.document.id, result.document.title, result.document.downloadUrl)
}
} 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 updateDocument() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'documentgenerator.document.update',
params: {
id: 51,
values: {
DocumentNumber: 'DG-2026-001',
CurrentDate: '2026-03-20T00:00:00+03:00',
ClientName: 'Romashka LLC',
ClientPhone: '+7 999 123-45-67',
Total: '130000',
Comment: 'Payment within 3 business days after signing',
UserName: 'Ivan Petrov',
},
stampsEnabled: 1,
},
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.document.id, result.document.title, result.document.downloadUrl)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', updateDocument)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.documentgenerator.document.update(
bitrix_id=51,
values={
"DocumentNumber": "ДГ-2026-001",
"CurrentDate": "2026-03-20T00:00:00+03:00",
"ClientName": "ООО Ромашка",
"ClientPhone": "+7 999 123-45-67",
"Total": "130000",
"Comment": "Оплата в течение 3 рабочих дней после подписания",
"UserName": "Иван Петров",
},
stamps_enabled=1,
).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.document.update',
[
'id' => 51,
'values' => [
'DocumentNumber' => 'ДГ-2026-001',
'CurrentDate' => '2026-03-20T00:00:00+03:00',
'ClientName' => 'ООО Ромашка',
'ClientPhone' => '+7 999 123-45-67',
'Total' => '130000',
'Comment' => 'Оплата в течение 3 рабочих дней после подписания',
'UserName' => 'Иван Петров',
],
'stampsEnabled' => 1,
]
);
$result = $response->getResponseData()->getResult();
print_r($result);
} catch (Throwable $e) {
echo $e->getMessage();
}
BX24.callMethod(
'documentgenerator.document.update',
{
id: 51,
values: {
DocumentNumber: 'ДГ-2026-001',
CurrentDate: '2026-03-20T00:00:00+03:00',
ClientName: 'ООО Ромашка',
ClientPhone: '+7 999 123-45-67',
Total: '130000',
Comment: 'Оплата в течение 3 рабочих дней после подписания',
UserName: 'Иван Петров'
},
stampsEnabled: 1
},
function(result)
{
if (result.error())
{
console.error(result.error());
}
else
{
console.log(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'documentgenerator.document.update',
[
'id' => 51,
'values' => [
'DocumentNumber' => 'ДГ-2026-001',
'CurrentDate' => '2026-03-20T00:00:00+03:00',
'ClientName' => 'ООО Ромашка',
'ClientPhone' => '+7 999 123-45-67',
'Total' => '130000',
'Comment' => 'Оплата в течение 3 рабочих дней после подписания',
'UserName' => 'Иван Петров',
],
'stampsEnabled' => 1,
]
);
print_r($result);
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "documentgenerator.document.update", b24.Params{
"id": 51,
"values": b24.Params{
"DocumentNumber": "ДГ-2026-001",
"CurrentDate": "2026-03-20T00:00:00+03:00",
"ClientName": "ООО Ромашка",
"ClientPhone": "+7 999 123-45-67",
"Total": "130000",
"Comment": "Оплата в течение 3 рабочих дней после подписания",
"UserName": "Иван Петров",
},
"stampsEnabled": 1,
})
if err != nil {
return fmt.Errorf("documentgenerator.document.update: %w", err)
}
// Метод заворачивает ответ в объект с ключом "document".
raw, ok := b24.Unwrap(res.Result, "document")
if !ok {
return fmt.Errorf("в ответе нет ключа document")
}
var item struct {
DownloadUrl string `json:"downloadUrl"`
PublicUrl string `json:"publicUrl"`
Title string `json:"title"`
Number string `json:"number"`
ID b24.ID `json:"id"`
CreateTime string `json:"createTime"`
}
if err := json.Unmarshal(raw, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.DownloadUrl, item.PublicUrl)
Ответ
HTTP-статус: 200
{
"result": {
"document": {
"downloadUrl": "/bitrix/services/main/ajax.php?action=documentgenerator.api.document.getfile&SITE_ID=s1&id=51&ts=1773844068",
"publicUrl": "https://mysite.ru/~bat5R",
"title": "SUPPLY_CONTRACT Template 1773843147554 ДГ-2026-001",
"number": "ДГ-2026-001",
"id": "51",
"createTime": "2026-03-18T17:27:48+03:00",
"createdBy": "503",
"updateTime": "2026-03-18T17:27:48+03:00",
"updatedBy": null,
"stampsEnabled": true,
"isTransformationError": false,
"value": "SUPPLY_CONTRACT_2026_015",
"values": {
"productsTableVariant": "",
"_creationMethod": "rest",
"stampsEnabled": true,
"CurrentDate": "2026-03-20T00:00:00+03:00",
"ClientName": "ООО Ромашка",
"ClientPhone": "+7 999 123-45-67",
"Total": "130000",
"Comment": "Оплата в течение 5 рабочих дней после подписания",
"UserName": "Иван Петров"
},
"publicUrlView": {
"time": "2026-03-19T15:08:05+03:00"
},
"templateId": "53",
"provider": "Bitrix\\DocumentGenerator\\DataProvider\\Rest",
"pullTag": "TRANSFORMDOCUMENT51",
"imageUrl": "/bitrix/services/main/ajax.php?action=documentgenerator.api.document.getimage&SITE_ID=s1&id=51&ts=1773844068",
"pdfUrl": "/bitrix/services/main/ajax.php?action=documentgenerator.api.document.getpdf&SITE_ID=s1&id=51&ts=1773844068",
"printUrl": "/bitrix/services/main/ajax.php?action=documentgenerator.api.document.showpdf&SITE_ID=s1&id=51&print=y&ts=1773844068",
"emailDiskFile": 5573,
"downloadUrlMachine": "https://mysite.ru/rest/documentgenerator.api.document.getfile.json?auth=1fe8bb690000071b00000844000001f7f0f107826a2f4f01a384d1dcdb624764d8ea63&token=documentgenerator%7CYWN0aW9uPWRvY3VtZW50Z2VuZXJhdG9yLmFwaS5kb2N1bWVudC5nZXRmaWxlJlNJVEVfSUQ9czEmaWQ9NTEmdHM9MTc3Mzg0NDA2OCZfPVptQjFqSzNTNlhtMm5EbUR6OFV6YlJydExGbGtaOGpF%7CImRvY3VtZW50Z2VuZXJhdG9yLmFwaS5kb2N1bWVudC5nZXRmaWxlfGRvY3VtZW50Z2VuZXJhdG9yfFlXTjBhVzl1UFdSdlkzVnRaVzUwWjJWdVpYSmhkRzl5TG1Gd2FTNWtiMk4xYldWdWRDNW5aWFJtYVd4bEpsTkpWRVZmU1VROWN6RW1hV1E5TlRFbWRITTlNVGMzTXpnME5EQTJPQ1pmUFZwdFFqRnFTek5UTmxodE1tNUViVVI2T0ZWNllsSnlkRXhHYkd0YU9HcEZ8MWZlOGJiNjkwMDAwMDcxYjAwMDAwODQ0MDAwMDAxZjdmMGYxMDc4MjZhMmY0ZjAxYTM4NGQxZGNkYjYyNDc2NGQ4ZWE2MyI%3D.Cifk0KKcqbktmPy6ARfXPn7dO71%2FP4MY5xys1%2FGF%2FBc%3D",
"imageUrlMachine": "https://mysite.ru/rest/documentgenerator.api.document.getimage.json?auth=1fe8bb690000071b00000844000001f7f0f107826a2f4f01a384d1dcdb624764d8ea63&token=documentgenerator%7CYWN0aW9uPWRvY3VtZW50Z2VuZXJhdG9yLmFwaS5kb2N1bWVudC5nZXRpbWFnZSZTSVRFX0lEPXMxJmlkPTUxJnRzPTE3NzM4NDQwNjgmXz1GOTV5aUg2SnN2UTlrZjRnQnNBN2Z6NXpxVjIxSzB1Zg%3D%3D%7CImRvY3VtZW50Z2VuZXJhdG9yLmFwaS5kb2N1bWVudC5nZXRpbWFnZXxkb2N1bWVudGdlbmVyYXRvcnxZV04wYVc5dVBXUnZZM1Z0Wlc1MFoyVnVaWEpoZEc5eUxtRndhUzVrYjJOMWJXVnVkQzVuWlhScGJXRm5aU1pUU1ZSRlgwbEVQWE14Sm1sa1BUVXhKblJ6UFRFM056TTRORFF3TmpnbVh6MUdPVFY1YVVnMlNuTjJVVGxyWmpSblFuTkJOMlo2TlhweFZqSXhTekIxWmc9PXwxZmU4YmI2OTAwMDAwNzFiMDAwMDA4NDQwMDAwMDFmN2YwZjEwNzgyNmEyZjRmMDFhMzg0ZDFkY2RiNjI0NzY0ZDhlYTYzIg%3D%3D.r2wwtKof5kdIyUr8xek%2B8XThT4RG48ZMcLABVjsa0Zk%3D",
"pdfUrlMachine": "https://mysite.ru/rest/documentgenerator.api.document.getpdf.json?auth=1fe8bb690000071b00000844000001f7f0f107826a2f4f01a384d1dcdb624764d8ea63&token=documentgenerator%7CYWN0aW9uPWRvY3VtZW50Z2VuZXJhdG9yLmFwaS5kb2N1bWVudC5nZXRwZGYmU0lURV9JRD1zMSZpZD01MSZ0cz0xNzczODQ0MDY4Jl89UnUxUGRvM2RWV0xXTEhXZDhhNW9VeThDTlVsWlJTd3M%3D%7CImRvY3VtZW50Z2VuZXJhdG9yLmFwaS5kb2N1bWVudC5nZXRwZGZ8ZG9jdW1lbnRnZW5lcmF0b3J8WVdOMGFXOXVQV1J2WTNWdFpXNTBaMlZ1WlhKaGRHOXlMbUZ3YVM1a2IyTjFiV1Z1ZEM1blpYUndaR1ltVTBsVVJWOUpSRDF6TVNacFpEMDFNU1owY3oweE56Y3pPRFEwTURZNEpsODlVblV4VUdSdk0yUldWMHhYVEVoWFpEaGhOVzlWZVRoRFRsVnNXbEpUZDNNPXwxZmU4YmI2OTAwMDAwNzFiMDAwMDA4NDQwMDAwMDFmN2YwZjEwNzgyNmEyZjRmMDFhMzg0ZDFkY2RiNjI0NzY0ZDhlYTYzIg%3D%3D.u%2Bkuio%2FsYEU93FKvdsODqjyEAZ7WpP0M9We%2BurZvjUk%3D",
"printUrlMachine": "https://mysite.ru/rest/documentgenerator.api.document.showpdf.json?auth=1fe8bb690000071b00000844000001f7f0f107826a2f4f01a384d1dcdb624764d8ea63&token=documentgenerator%7CYWN0aW9uPWRvY3VtZW50Z2VuZXJhdG9yLmFwaS5kb2N1bWVudC5zaG93cGRmJlNJVEVfSUQ9czEmaWQ9NTEmcHJpbnQ9eSZ0cz0xNzczODQ0MDY4Jl89cXFmSUhjODk1MTI4RXRWQXE3Nk5UNEdzN1dHWTlZdjU%3D%7CImRvY3VtZW50Z2VuZXJhdG9yLmFwaS5kb2N1bWVudC5zaG93cGRmfGRvY3VtZW50Z2VuZXJhdG9yfFlXTjBhVzl1UFdSdlkzVnRaVzUwWjJWdVpYSmhkRzl5TG1Gd2FTNWtiMk4xYldWdWRDNXphRzkzY0dSbUpsTkpWRVZmU1VROWN6RW1hV1E5TlRFbWNISnBiblE5ZVNaMGN6MHhOemN6T0RRME1EWTRKbDg5Y1hGbVNVaGpPRGsxTVRJNFJYUldRWEUzTms1VU5FZHpOMWRIV1RsWmRqVT18MWZlOGJiNjkwMDAwMDcxYjAwMDAwODQ0MDAwMDAxZjdmMGYxMDc4MjZhMmY0ZjAxYTM4NGQxZGNkYjYyNDc2NGQ4ZWE2MyI%3D.s%2F4zPE4fPTMvZImi5pumUXn5s0oB5nwVbw3rFIM34eo%3D"
}
},
"time": {
"start": 1773922099,
"finish": 1773922099.372946,
"duration": 0.37294602394104004,
"processing": 0,
"date_start": "2026-03-19T15:08:19+03:00",
"date_finish": "2026-03-19T15:08:19+03:00",
"operating_reset_at": 1773922699,
"operating": 0.13009309768676758
}
}
Возвращаемые данные
result
object
Корневой элемент ответа (подробное описание)
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": "0",
"error_description": "Документ не найден"
}
| Код | Описание | Значение |
|---|---|---|
400 |
100 |
Bitrix\DocumentGenerator\Document constructor must be is public |
400 |
0 |
Документ не найден |
400 |
0 |
You do not have permissions to view documents |

