crm.documentgenerator.document.update
Обновить документ
Описание
Метод crm.documentgenerator.document.update обновляет существующий документ.
Параметры
id
integer
необязательный
Идентификатор документа
values
object
необязательный
Объект со значениями полей документа.
Формат:
{
"field_1": "value_1",
"field_2": "value_2"
}
где:
- field_n — код поля документа
- value_n — значение поля
Список доступных полей зависит от шаблона и документа.
Посмотреть поля можно методом crm.documentgenerator.document.getfields
stampsEnabled
integer
необязательный
Подставлять печать и подпись:
- 1 — подставлять
- 0 — не подставлять
По умолчанию 1
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":61,"values":{"DocumentNumber":"2026-002"},"stampsEnabled":1}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.documentgenerator.document.update
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":61,"values":{"DocumentNumber":"2026-002"},"stampsEnabled":1,"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.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
createTime: ISODate
updateTime: ISODate
createdBy: string | null
updatedBy: number | null
changeStampsEnabled: boolean
changeStampsDisabledReason: string
changeQrCodeEnabled: boolean
qrCodeEnabled: boolean
changeQrCodeDisabledReason: string
products: {
currencyId: string
totalSum: string
totalRows: number
}
stampsEnabled: boolean
downloadUrl: string
downloadUrlMachine: string
publicUrl: string | null
isTransformationError: boolean
templateId: string
pullTag: string
emailDiskFile: number
entityTypeId: string
entityId: string
values: Record<string, unknown>
imageUrl: string
pdfUrl: string
}
}
try {
const response = await $b24.actions.v2.call.make<DocumentUpdateResult>({
method: 'crm.documentgenerator.document.update',
params: {
id: 61,
values: {
DocumentNumber: '2026-002',
},
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.number, result.document.title)
}
} 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: 'crm.documentgenerator.document.update',
params: {
id: 61,
values: {
DocumentNumber: '2026-002',
},
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.number, result.document.title)
} 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.crm.documentgenerator.document.update(
bitrix_id=61,
values={
"DocumentNumber": "2026-002",
},
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(
'crm.documentgenerator.document.update',
[
'id' => 61,
'values' => [
'DocumentNumber' => '2026-002',
],
'stampsEnabled' => 1,
]
);
$result = $response
->getResponseData()
->getResult();
echo '<pre>';
print_r($result);
echo '</pre>';
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error updating document: ' . $e->getMessage();
}
BX24.callMethod(
'crm.documentgenerator.document.update',
{
id: 61,
values: {
DocumentNumber: '2026-002',
},
stampsEnabled: 1,
},
(result) => {
result.error()
? console.error(result.error())
: console.info(result.data())
;
},
);
require_once('crest.php');
$result = CRest::call(
'crm.documentgenerator.document.update',
[
'id' => 61,
'values' => [
'DocumentNumber' => '2026-002',
],
'stampsEnabled' => 1,
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "crm.documentgenerator.document.update", b24.Params{
"id": 61,
"values": b24.Params{
"DocumentNumber": "2026-002",
},
"stampsEnabled": 1,
})
if err != nil {
return fmt.Errorf("crm.documentgenerator.document.update: %w", err)
}
// Метод заворачивает ответ в объект с ключом "document".
raw, ok := b24.Unwrap(res.Result, "document")
if !ok {
return fmt.Errorf("в ответе нет ключа document")
}
var item struct {
ChangeStampsEnabled bool `json:"changeStampsEnabled"`
ChangeStampsDisabledReason string `json:"changeStampsDisabledReason"`
ChangeQrCodeEnabled bool `json:"changeQrCodeEnabled"`
QrCodeEnabled bool `json:"qrCodeEnabled"`
ChangeQrCodeDisabledReason string `json:"changeQrCodeDisabledReason"`
DownloadUrl string `json:"downloadUrl"`
}
if err := json.Unmarshal(raw, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.ChangeStampsEnabled, item.ChangeStampsDisabledReason)
Ответ
HTTP-статус: 200
{
"result": {
"document": {
"changeStampsEnabled": false,
"changeStampsDisabledReason": "В шаблоне нет печатей и подписей",
"changeQrCodeEnabled": false,
"qrCodeEnabled": false,
"changeQrCodeDisabledReason": "В шаблоне нет QR-кода",
"products": {
"currencyId": "UAH",
"totalSum": "0.00",
"totalRows": 0
},
"downloadUrl": "https://bitrix.bitrix24.ru/bitrix/services/main/ajax.php?action=crm.documentgenerator.document.download&SITE_ID=s1&id=61",
"publicUrl": null,
"title": "Демонстрационная реализация товара 2026-001",
"number": "2026-002",
"id": "61",
"createTime": "2026-03-20T14:42:39+03:00",
"createdBy": null,
"updateTime": "2026-03-20T14:42:38+03:00",
"updatedBy": 577,
"stampsEnabled": true,
"isTransformationError": false,
"values": {
"productsTableVariant": "",
"_creationMethod": "rest",
"stampsEnabled": true,
"DocumentNumber": "2026-002"
},
"templateId": "39",
"pullTag": "TRANSFORMDOCUMENT61",
"imageUrl": "https://bitrix.bitrix24.ru/bitrix/services/main/ajax.php?action=crm.documentgenerator.document.getImage&SITE_ID=s1&id=61",
"pdfUrl": "https://bitrix.bitrix24.ru/bitrix/services/main/ajax.php?action=crm.documentgenerator.document.getPdf&SITE_ID=s1&id=61",
"emailDiskFile": 5611,
"entityId": "101",
"entityTypeId": "2",
"downloadUrlMachine": "https://bitrix.bitrix24.ru/rest/crm.documentgenerator.document.download.json?..."
}
},
"time": {
"start": 1774006958,
"finish": 1774006960.122164,
"duration": 2.122164011001587,
"processing": 2,
"date_start": "2026-03-20T14:42:38+03:00",
"date_finish": "2026-03-20T14:42:40+03:00",
"operating_reset_at": 1774007558,
"operating": 1.9965031147003174
}
}
Возвращаемые данные
result
object
Корневой элемент ответа. Возвращает объект result
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": "DOCGEN_ACCESS_ERROR",
"error_description": "Access denied"
}
| Код | Описание | Значение |
|---|---|---|
100 |
Bitrix\\DocumentGenerator\\Document constructor must be is public | Не передан обязательный параметр id |
DOCGEN_ACCESS_ERROR |
Access denied | Нет доступа к документу |
0 |
Документ не найден | Документ с указанным id не найден или недоступен |
0 |
Document not found | Документ не относится к модулю CRM |
0 |
You do not have permissions to modify this document | Недостаточно прав для изменения документа |
0 |
Module documentgenerator is not installed | Модуль documentgenerator недоступен |
0 |
Cant update not saved document | Попытка обновить несохраненный документ |
0 |
DOCUMENT_FILE_NOT_PROCESSABLE_ERROR | Файл шаблона поврежден или имеет неверную структуру |

