Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Добавить элемент хранилища entity.item.add», проанализируем лучшие практики и покажем, как правильно использовать entity.item.add в реальных задачах.
Добавить элемент хранилища entity.item.add
Тут может не хватать некоторых данных — дополним в ближайшее время
- не указаны типы параметров
- отсутствуют примеры
- отсутствует ответ в случае ошибки
> Scope: entity
>
> Кто может выполнять метод: любой пользователь
Метод entity.item.add добавляет элемент хранилища. Пользователь должен обладать хотя бы правами на запись (W) в хранилище.
Входящие параметры и конфигурация метода
| Параметр | Описание | |
|---|---|---|
ENTITY^^string | Обязательный. Строковой идентификатор хранилища. | |
NAME^^string | Обязательный. Наименование элемента. | |
ACTIVEunknown | Флаг активности элемента (Y\ | N). |
DATE_ACTIVE_FROMunknown | Дата начала активности элемента. | |
DATE_ACTIVE_TOunknown | Дата окончания активности элемента. | |
SORTunknown | Сортировочный вес элемента. | |
PREVIEW_PICTUREunknown | Картинка анонса элемента. Как передать файл в поле описано в статье Как загрузить файлы. | |
PREVIEW_TEXTunknown | Анонс элемента. | |
DETAIL_PICTUREunknown | Детальная картинка элемента. Как передать файл в поле описано в статье Как загрузить файлы. | |
DETAIL_TEXTunknown | Детальный текст элемента. | |
CODEunknown | Символьный код элемента. | |
SECTIONunknown | Идентификатор раздела хранилища. | |
PROPERTY_VALUESunknown | Ассоциативный список значений свойств элемента. Свойства хранилища создаются при помощи entity.item.property.add. |
Практический пример и готовый код на PHP
- JS
try
{
const response = await $b24.callMethod(
'entity.item.add',
{
ENTITY: 'menu_new',
DATE_ACTIVE_FROM: new Date(),
DETAIL_PICTURE: '',
NAME: 'Hello, world!',
PROPERTY_VALUES: {
test: 11,
test1: 22,
test_file: ''
},
SECTION: 219
}
);
const result = response.getData().result;
// Необходимая вам логика обработки данных
processResult(result);
}
catch( error )
{
console.error('Error:', error);
}- PHP
try {
$response = $b24Service
->core
->call(
'entity.item.add',
[
'ENTITY' => 'menu_new',
'DATE_ACTIVE_FROM' => new DateTime(),
'DETAIL_PICTURE' => '',
'NAME' => 'Hello, world!',
'PROPERTY_VALUES' => [
'test' => 11,
'test1' => 22,
'test_file' => ''
],
'SECTION' => 219
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
// Нужная вам логика обработки данных
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error adding entity item: ' . $e->getMessage();
}- BX24.js
BX24.callMethod(
'entity.item.add',
{
ENTITY: 'menu_new',
DATE_ACTIVE_FROM: new Date(),
DETAIL_PICTURE: '',
NAME: 'Hello, world!',
PROPERTY_VALUES: {
test: 11,
test1: 22,
test_file: ''
},
SECTION: 219
}
);- HTTP
https://my.bitrix24.ru/rest/entity.item.add.json?DATE_ACTIVE_FROM=2013-06-26T11%3A54%3A30.421Z&DETAIL_PICTURE=&ENTITY=menu_new&NAME=Hello%2C%20world!&PROPERTY_VALUES%5Btest1%5D=22&PROPERTY_VALUES%5Btest%5D=11&PROPERTY_VALUES%5Btest_file%5D=&SECTION=219&auth=9affe382af74d9c5caa588e28096e872Ответ в случае успеха
> 200 OK
{"result":842}💡 Экспертное мнение и рекомендации
Практические рекомендации:
- При написании кастомных компонентов для «Добавить элемент хранилища entity.item.add» всегда разделяйте бизнес-логику и представление (шаблон).
- Используйте отладку SQL-запросов через конструкцию
$wpdb->last_queryили стандартный трекер Битрикса, чтобы контролировать нагрузку.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru