Блог Горошко Андрея Bitrix24,PHP Получить поля счета и входящих в него товаров crm.invoice.fields

Получить поля счета и входящих в него товаров crm.invoice.fields

Эффективная интеграция и кастомизация функционала в Битрикс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>';

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

Название
тип
ОписаниеПримечание
ID
integer
ИдентификаторТолько для чтения
ACCOUNT_NUMBER
string
Номер
COMMENTS
text
Комментарий менеджера
CREATED_BY
integer
Создано пользователемТолько для чтения
CURRENCY
crm_currency
Идентификатор валютыТолько для чтения
DATE_BILL
date
Дата выставления
DATE_INSERT
datetime
Дата создания
DATE_MARKED
datetime
Дата отклоненияУказывается, если счёт отклонён
DATE_PAY_BEFORE
date
Срок оплаты
DATE_PAYED
datetime
Дата перевода в состояние оплатыТолько для чтения
DATE_STATUS
datetime
Дата изменения статусаТолько для чтения
DATE_UPDATE
datetime
Дата измененияТолько для чтения
EMP_PAYED_ID
integer
Идентификатор пользователя, который последним перевёл счёт в состояние «оплачен»Только для чтения
EMP_STATUS_ID
integer
Идентификатор пользователя, который последним поменял статус счётаТолько для чтения
LID
integer
Идентификатор сайтаТолько для чтения
XML_ID
string
Внешний код
ORDER_TOPIC
string
Тема
PAY_SYSTEM_ID
integer
Идентификатор печатной формы
PAY_VOUCHER_DATE
date
Дата оплатыУказывается, если счёт оплачен
PAY_VOUCHER_NUM
string
Номер документа оплатыУказывается, если счёт оплачен
PAYED
char
Признак оплаченностиТолько для чтения
PERSON_TYPE_ID
integer
Идентификатор типа плательщика
PRICE
double
СуммаТолько для чтения
REASON_MARKED
string
Комментарий статусаУказывается, если счёт оплачен или отклонён
RESPONSIBLE_EMAIL
string
E-mail ответственногоТолько для чтения
RESPONSIBLE_ID
integer
Идентификатор ответственного
RESPONSIBLE_LAST_NAME
string
Фамилия ответственногоТолько для чтения
RESPONSIBLE_LOGIN
string
Логин ответственногоТолько для чтения
RESPONSIBLE_NAME
string
Имя ответственногоТолько для чтения
RESPONSIBLE_PERSONAL_PHOTO
integer
Идентификатор фото ответственногоТолько для чтения
RESPONSIBLE_SECOND_NAME
string
Отчество ответственногоТолько для чтения
RESPONSIBLE_WORK_POSITION
string
Должность ответственногоТолько для чтения
STATUS_ID
crm_status
Идентификатор статусаИдентификатор справочника «INVOICE_STATUS»
TAX_VALUE
double
Сумма налогаТолько для чтения
UF_COMPANY_ID
integer
Идентификатор компанииУказывается, если плательщик «Юридическое лицо»
UF_CONTACT_ID
integer
Идентификатор контактаУказывается, если плательщик «Физическое лицо», либо в качестве контактного лица компании
UF_MYCOMPANY_ID
integer
Идентификатор своей компанииУказывается в качестве компании с реквизитами счёта (привязка к реквизитам устанавливается отдельно)
UF_DEAL_ID
integer
Идентификатор связанной сделки
USER_DESCRIPTION
string
Комментарий
PR_LOCATION
integer
Идентификатор местоположенияОбязательное, если используется режим налога на документ
INVOICE_PROPERTIES
array
Список свойствЕсли клиент — компания, могут быть указаны ключи (все значения типа string):
— COMPANY — Название компании;
— COMPANY_ADR — Адрес;
— CONTACT_PERSON — Контактное лицо;
— EMAIL — E-mail;
— PHONE — Телефон;
— INN — ИНН;
— KPP — КПП.

Если клиент — контакт:
— FIO — Ф.И.О.;
— ADDRESS — Адрес;
— EMAIL — E-mail;
— PHONE — Телефон.

PRODUCT_ROWS
array
Список товарных позицийПоля товарной позиции:
— 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 и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

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

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Как использовать метод SDK crm.lead.contact.add в Битрикс24». Мы подготовили подробный разбор принципов работы и развернутые

Получить список будущих событий calendar.event.get.nearestПолучить список будущих событий calendar.event.get.nearest

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Получить список будущих событий calendar.event.get.nearest», разберем архитектурные особенности

Создание системы онлайн-заказа продукции по индивидуальным чертежам и эскизамСоздание системы онлайн-заказа продукции по индивидуальным чертежам и эскизам

Разработка и внедрение профессионального B2B-портала и дилерского кабинета на 1С-Битрикс позволяет кардинально сократить издержки отдела оптовых продаж, перевести дилеров на самообслуживание 24/7 и исключить ошибки ручного ввода заказов. Услуга «Создание