Блог Горошко Андрея Bitrix24,PHP Обновить реквизит crm.requisite.update

Обновить реквизит crm.requisite.update

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Обновить реквизит crm.requisite.update», разберем архитектурные особенности и предоставим готовые к интеграции примеры кода.

Обновить реквизит crm.requisite.update

> Scope: crm
>
> Кто может выполнять метод: любой пользователь

Метод обновляет существующий реквизит.

Параметры метода

Название
тип
Описание
id
integer
Идентификатор реквизита, можно получить методом crm.requisite.list
fields
object
Набор полей реквизита — объект вида "поле": "значение"[, ...]}, значения которых нужно изменить

Параметр fields

Название
тип
Описание
NAME*
string
Название реквизита
CODE
string
Символьный код реквизита
XML_ID
string
Внешний ключ, используется для операций обмена.

Идентификатор объекта внешней информационной базы.

Назначение поля может меняться конечным разработчиком

ORIGINATOR_ID
string
Идентификатор внешней информационной базы.

Назначение поля может меняться конечным разработчиком

ACTIVE
char
Признак активности.

Используются значения Y или N.

Сейчас поле фактически ни на что не влияет

ADDRESS_ONLY
char
Признак состояния, когда реквизит используется только для хранения адреса.

Используются значения Y или N. При значении Y реквизиты не показываются в карточке сущности, но отображается адрес

SORT
integer
Сортировка.

Порядок в списке реквизитов сущности, когда их несколько

RQ_NAME
string
ФИО
RQ_FIRST_NAME
string
Имя
RQ_LAST_NAME
string
Фамилия
RQ_SECOND_NAME
string
Отчество
RQ_COMPANY_ID
string
Идентификатор организации
RQ_COMPANY_NAME
string
Сокращенное наименование организации
RQ_COMPANY_FULL_NAME
string
Полное наименование организации
RQ_COMPANY_REG_DATE
string
Дата государственной регистрации
RQ_DIRECTOR
string
Генеральный директор
RQ_ACCOUNTANT
string
Главный бухгалтер
RQ_CEO_NAME
string
ФИО первого руководителя
RQ_CEO_WORK_POS
string
Должность первого руководителя
RQ_CONTACT
string
Контактное лицо
RQ_EMAIL
string
E-Mail
RQ_PHONE
string
Телефон
RQ_FAX
string
Факс
RQ_IDENT_TYPE
crm_status
Способ идентификации
RQ_IDENT_DOC
string
Вид документа
RQ_IDENT_DOC_SER
string
Серия
RQ_IDENT_DOC_NUM
string
Номер
RQ_IDENT_DOC_PERS_NUM
string
Личный номер
RQ_IDENT_DOC_DATE
string
Дата выдачи
RQ_IDENT_DOC_ISSUED_BY
string
Кем выдан
RQ_IDENT_DOC_DEP_CODE
string
Код подразделения
RQ_INN
string
ИНН
RQ_KPP
string
КПП
RQ_USRLE
string
Handelsregisternummer (для страны DE)
RQ_IFNS
string
ИФНС
RQ_OGRN
string
ОГРН
RQ_OGRNIP
string
ОГРНИП
RQ_OKPO
string
ОКПО
RQ_OKTMO
string
ОКТМО
RQ_OKVED
string
ОКВЭД
RQ_EDRPOU
string
ЄДРПОУ
RQ_DRFO
string
ДРФО
RQ_KBE
string
КБЕ
RQ_IIN
string
ИИН
RQ_BIN
string
БИН
RQ_ST_CERT_SER
string
Серия свидетельства о государственной регистрации
RQ_ST_CERT_NUM
string
Номер свидетельства о государственной регистрации
RQ_ST_CERT_DATE
string
Дата свидетельство о государственной регистрации
RQ_VAT_PAYER
char
Платник ПДВ (для страны UA).

Используются значения Y или N

RQ_VAT_ID
string
VAT ID (идентификационный номер (плательщика) НДС)
RQ_VAT_CERT_SER
string
Серия свидетельства по НДС
RQ_VAT_CERT_NUM
string
Номер свидетельства по НДС
RQ_VAT_CERT_DATE
string
Дата свидетельства по НДС
RQ_RESIDENCE_COUNTRY
string
Страна резидента
RQ_BASE_DOC
string
Основание действия
RQ_REGON
string
REGON (для страны PL)
RQ_KRS
string
KRS (для страны PL)
RQ_PESEL
string
PESEL (для страны PL)
RQ_LEGAL_FORM
string
Forme juridique (для страны FR)
RQ_SIRET
string
Numéro Siret (для страны FR)
RQ_SIREN
string
Numéro Siren (для страны FR)
RQ_CAPITAL
string
Capital social (для страны FR)
RQ_RCS
string
RCS (для страны FR)
RQ_CNPJ
string
CNPJ (для страны BR)
RQ_STATE_REG
string
Inscrição Estadual (IE) (для страны BR)
RQ_MNPL_REG
string
Inscrição Municipal (IM) (для страны BR)
RQ_CPF
string
CPF (для страны BR)
UF_CRM_…Пользовательские поля. Например, UF_CRM_1694526604.

У реквизитов может быть набор пользовательских полей с типами: string, boolean, double, datetime.

Добавить пользовательское поле реквизитов можно методом crm.requisite.userfield.add

Примеры кода

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"id":27,"fields":{"RQ_OKPO":"80715150","RQ_OKTMO":"45381000000","UF_CRM_1707997209":"78","UF_CRM_1708012333":"Категория 3"}}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/crm.requisite.update
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"id":27,"fields":{"RQ_OKPO":"80715150","RQ_OKTMO":"45381000000","UF_CRM_1707997209":"78","UF_CRM_1708012333":"Категория 3"},"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/crm.requisite.update
  • JS
    try
    {
    	const response = await $b24.callMethod(
    		"crm.requisite.update",
    		{
    			id: 27,
    			fields:
    			{
    				"RQ_OKPO": "80715150",
    				"RQ_OKTMO": "45381000000",
    				"UF_CRM_1707997209": "78",
    				"UF_CRM_1708012333": "Категория 3"
    			}
    		}
    	);
    	
    	const result = response.getData().result;
    	console.info(result);
    }
    catch( error )
    {
    	console.error(error);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'crm.requisite.update',
                [
                    'id' => 27,
                    'fields' => [
                        'RQ_OKPO'         => '80715150',
                        'RQ_OKTMO'        => '45381000000',
                        'UF_CRM_1707997209' => '78',
                        'UF_CRM_1708012333' => 'Категория 3',
                    ],
                ]
            );
    
        $result = $response
            ->getResponseData()
            ->getResult();
    
        if ($result->error()) {
            error_log($result->error());
        } else {
            echo 'Success: ' . print_r($result->data(), true);
        }
    
    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error updating requisite: ' . $e->getMessage();
    }
  • BX24.js
    BX24.callMethod(
        "crm.requisite.update",
        {
            id: 27,
            fields:
            {
                "RQ_OKPO": "80715150",
                "RQ_OKTMO": "45381000000",
                "UF_CRM_1707997209": "78",
                "UF_CRM_1708012333": "Категория 3"
            }
        },
        function(result)
        {
            if(result.error())
                console.error(result.error());
            else
            {
                console.info(result.data());
            }
        }
    );
  • PHP CRest
    require_once('crest.php');

    $result = CRest::call(
        'crm.requisite.update',
        [
            'id' => 27,
            'fields' => [
                'RQ_OKPO' => '80715150',
                'RQ_OKTMO' => '45381000000',
                'UF_CRM_1707997209' => '78',
                'UF_CRM_1708012333' => 'Категория 3'
            ]
        ]
    );

    echo '<PRE>';
    print_r($result);
    echo '</PRE>';

Ответ в случае успеха

HTTP-статус: 200

{
    "result": true,
    "time": {
        "start": 1717163055.335685,
        "finish": 1717163055.892722,
        "duration": 0.5570368766784668,
        "processing": 0.17116189002990723,
        "date_start": "2024-05-31T15:44:15+02:00",
        "date_finish": "2024-05-31T15:44:15+02:00",
        "operating": 0.17112517356872559
    }
}

Возвращаемые данные

Название
тип
Описание
result
boolean
Вовзращает значение:

— true — реквизит изменен
— false — реквизит не изменен

time
time
Информация о времени выполнения запроса

Ответ в случае ошибки

HTTP-статус: 400

{
    "error": "",
    "error_description": "The Requisite with ID '57' is not found"
}

Возможные ошибки

КодТекст ошибкиОписание
Пустая строкаThe Requisite with ID ’57’ is not foundРеквизит с указанным идентификатором не найден
Пустая строкаID is not defined or invalid.Идентификатор реквизита не указан или имеет неопустимое значение
Пустая строкаENTITY_TYPE_ID is not defined or invalid.Идентификатор типа родительской сущности не указан или имеет недопустимое значение
Пустая строкаENTITY_ID is not defined or invalid.Идентификатор родительской сущности не указан или имеет недопустимое значение
Пустая строкаPRESET_ID is not defined or invalid.Идентификатор шаблона реквизитов не указан или имеет недопустимое значение
Пустая строкаAccess denied.Недостаточно прав доступа для изменения реквизита
  • [](./index)
  • [](./crm-requisite-add)
  • [](./crm-requisite-get)
  • [](./crm-requisite-list)
  • [](./crm-requisite-delete)
  • [](./crm-requisite-fields)

💡 Экспертное мнение и рекомендации

Советы эксперта по интеграции:

  • Всегда используйте кэширование при частых запросах к crm.requisite.update, чтобы разгрузить базу данных.
  • Соблюдайте стандарты PSR при написании обработчиков для «Обновить реквизит crm.requisite.update».
  • Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Получить поля ставки НДС catalog.vat.getFieldsПолучить поля ставки НДС catalog.vat.getFields

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Получить поля ставки НДС catalog.vat.getFields», проанализируем лучшие практики

Как использовать метод SDK voximplant.tts.voices.get в Битрикс24Как использовать метод SDK voximplant.tts.voices.get в Битрикс24

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Как использовать метод SDK voximplant.tts.voices.get в Битрикс24». Вы узнаете экспертные методики работы с

Как использовать метод SDK crm.contact.userfield.update в Битрикс24Как использовать метод SDK crm.contact.userfield.update в Битрикс24

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Как использовать метод SDK crm.contact.userfield.update в Битрикс24», проанализируем