Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Получить поля счета и входящих в него товаров crm.invoice.fields». Вы узнаете экспертные методики работы с crm.invoice.fields и научитесь избегать типичных ошибок начинающих разработчиков.
Получить поля счета и входящих в него товаров crm.invoice.fields
> Scope: crm
>
> Кто может выполнять метод: любой пользователь
Метод устарел. Рекомендуется использовать
Универсальные методы для счетовМетод возвращает описание полей счета, в том числе пользовательских.
Без параметров.
Примеры кода
- cURL (Webhook)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/crm.invoice.fields- cURL (OAuth)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.invoice.fields- JS
try
{
const response = await $b24.callMethod(
'crm.invoice.fields',
{}
);
const result = response.getData().result;
if (result.error())
{
console.error(result.error());
}
else
{
console.dir(result);
}
}
catch(error)
{
console.error('Error:', error);
}- PHP
try {
$response = $b24Service
->core
->call(
'crm.invoice.fields',
[]
);
$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 fetching invoice fields: ' . $e->getMessage();
}- BX24.js
BX24.callMethod(
"crm.invoice.fields",
{},
function(result)
{
if(result.error())
console.error(result.error());
else
console.dir(result.data());
}
);- PHP CRest
require_once('crest.php');
$result = CRest::call(
'crm.invoice.fields',
[]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';Возвращаемые данные
Названиетип | Описание | Примечание |
|---|---|---|
IDinteger | Идентификатор | Только для чтения |
ACCOUNT_NUMBERstring | Номер | |
COMMENTStext | Комментарий менеджера | |
CREATED_BYinteger | Создано пользователем | Только для чтения |
CURRENCYcrm_currency | Идентификатор валюты | Только для чтения |
DATE_BILLdate | Дата выставления | |
DATE_INSERTdatetime | Дата создания | |
DATE_MARKEDdatetime | Дата отклонения | Указывается, если счёт отклонён |
DATE_PAY_BEFOREdate | Срок оплаты | |
DATE_PAYEDdatetime | Дата перевода в состояние оплаты | Только для чтения |
DATE_STATUSdatetime | Дата изменения статуса | Только для чтения |
DATE_UPDATEdatetime | Дата изменения | Только для чтения |
EMP_PAYED_IDinteger | Идентификатор пользователя, который последним перевёл счёт в состояние «оплачен» | Только для чтения |
EMP_STATUS_IDinteger | Идентификатор пользователя, который последним поменял статус счёта | Только для чтения |
LIDinteger | Идентификатор сайта | Только для чтения |
XML_IDstring | Внешний код | |
ORDER_TOPICstring | Тема | |
PAY_SYSTEM_IDinteger | Идентификатор печатной формы | |
PAY_VOUCHER_DATEdate | Дата оплаты | Указывается, если счёт оплачен |
PAY_VOUCHER_NUMstring | Номер документа оплаты | Указывается, если счёт оплачен |
PAYEDchar | Признак оплаченности | Только для чтения |
PERSON_TYPE_IDinteger | Идентификатор типа плательщика | |
PRICEdouble | Сумма | Только для чтения |
REASON_MARKEDstring | Комментарий статуса | Указывается, если счёт оплачен или отклонён |
RESPONSIBLE_EMAILstring | E-mail ответственного | Только для чтения |
RESPONSIBLE_IDinteger | Идентификатор ответственного | |
RESPONSIBLE_LAST_NAMEstring | Фамилия ответственного | Только для чтения |
RESPONSIBLE_LOGINstring | Логин ответственного | Только для чтения |
RESPONSIBLE_NAMEstring | Имя ответственного | Только для чтения |
RESPONSIBLE_PERSONAL_PHOTOinteger | Идентификатор фото ответственного | Только для чтения |
RESPONSIBLE_SECOND_NAMEstring | Отчество ответственного | Только для чтения |
RESPONSIBLE_WORK_POSITIONstring | Должность ответственного | Только для чтения |
STATUS_IDcrm_status | Идентификатор статуса | Идентификатор справочника «INVOICE_STATUS» |
TAX_VALUEdouble | Сумма налога | Только для чтения |
UF_COMPANY_IDinteger | Идентификатор компании | Указывается, если плательщик «Юридическое лицо» |
UF_CONTACT_IDinteger | Идентификатор контакта | Указывается, если плательщик «Физическое лицо», либо в качестве контактного лица компании |
UF_MYCOMPANY_IDinteger | Идентификатор своей компании | Указывается в качестве компании с реквизитами счёта (привязка к реквизитам устанавливается отдельно) |
UF_DEAL_IDinteger | Идентификатор связанной сделки | |
USER_DESCRIPTIONstring | Комментарий | |
PR_LOCATIONinteger | Идентификатор местоположения | Обязательное, если используется режим налога на документ |
INVOICE_PROPERTIESarray | Список свойств | Если клиент — компания, могут быть указаны ключи (все значения типа string): — COMPANY — Название компании; — COMPANY_ADR — Адрес; — CONTACT_PERSON — Контактное лицо; — EMAIL — E-mail; — PHONE — Телефон; — INN — ИНН; — KPP — КПП. Если клиент — контакт: |
PRODUCT_ROWSarray | Список товарных позиций | Поля товарной позиции: — ID — Идентификатор (integer), для новой записи указывать 0; — PRICE — Цена (double); — DISCOUNT_PRICE — Скидка на единицу товара (double); — PRODUCT_ID — Идентификатор товара в каталоге (integer), 0 — если не из каталога; — PRODUCT_NAME — Наименование товарной позиции (string); — VAT_RATE — Коэффициент ставки НДС (double); — VAT_INCLUDED — НДС включён в цену (‘Y’ или ‘N’) (char); — MEASURE_CODE — Код единицы измерения (integer); — MEASURE_NAME — Условное обозначение единицы измерения (string); — CATALOG_XML_ID — Внешний код каталога (string), только для чтения; — PRODUCT_XML_ID — Внешний код товарной позиции (string), совпадает с внешним кодом товара, если он из каталога. Только для чтения. — QUANTITY — Количество. |
💡 Экспертное мнение и рекомендации
Практические рекомендации:
- При написании кастомных компонентов для «Получить поля счета и входящих в него товаров crm.invoice.fields» всегда разделяйте бизнес-логику и представление (шаблон).
- Используйте отладку SQL-запросов через конструкцию
$wpdb->last_queryили стандартный трекер Битрикса, чтобы контролировать нагрузку.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru