# documentgenerator.document.update

URL: https://chugunov.pro/api-bitrix24/document-generator/document-generator-document-update/
Проверено на Битрикс24 REST API, обновлено 11.09.2026 (ревизия источника fb39d6c).
Источник: официальная документация Битрикс24 (bitrix-tools/b24-rest-docs, лицензия MIT, © Bitrix). Справочник независимый, официальной документацией не является.

Изменить существующий документ
Scope: `documentgenerator`
Кто может выполнять метод: пользователь с правом на изменение документов

## Описание

Метод `documentgenerator.document.update` обновляет документ новыми значениями полей.

## Параметры

- `id` `integer` — обязательный. Идентификатор документа.
  Получить идентификатор документа можно после [создания документа](https://chugunov.pro/api-bitrix24/document-generator/document-generator-document-add/) или методом [получения списка документов](https://chugunov.pro/api-bitrix24/document-generator/document-generator-document-list/)
- `values` `object` — необязательный. Значения полей документа вида `{"КодПоля":"Значение"}`
- `stampsEnabled` `integer` — необязательный. Режим печатей и подписей:
  - `1` — включить
  - `0` — выключить
  По умолчанию `1`
- `fields` `object` — необязательный. Описание того, как интерпретировать и форматировать значения из `values` [(подробное описание)](#fields).
  Ключ объекта `fields` должен совпадать с кодом поля из шаблона.
  Если передаете только обычный текст, параметр можно не указывать.
  Пример структуры `fields`:
  ```json
  {
      "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` задает падеж
  **Пользовательская документация**
  - [Что такое модификаторы в шаблонах документов](https://helpdesk.bitrix24.ru/open/18175702/)
- `PROVIDER` `string` — необязательный. Класс провайдера
- `TITLE` `string` — необязательный. Название поля

## Ответ

HTTP-статус: 200

```json
{
    "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`. Корневой элемент ответа [(подробное описание)](#result)
- `time` `time`. Информация о времени выполнения запроса

## Ошибки

HTTP-статус: 400

```json
{
    "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

## Примеры запроса

### cURL (Webhook)

```bash
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 (OAuth)

```bash
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
```

### JS (TS)

```ts
// 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)
}
```

### JS (UMD)

```html
<!-- 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>
```

### Python

```python
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}")
```

### PHP

```php
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.js

```js
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());
        }
    }
);
```

### PHP CRest

```php
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);
```

### Go

```go
// 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)
```

Оригинал в официальной документации: https://apidocs.bitrix24.ru/api-reference/document-generator/document-generator-document-update.html
