Задать вопрос
sslion
@sslion

Как в списке складов получить пользовательские поля в Битрикс 24?

Собственно делаю запрос:
$result = CRest::call(
    'catalog.store.list',
    [
        'select' => [
           'id', 'title', 'userId', 'uf_*', 'UF_*', 'UF_CAT_STORE_*', 'uf_cat_store_*', 'UF_CAT_STORE_1771252726', 'uf_cat_store_1771252726'
        ],
    ]
);

Получаю массив:
["result"]=>
  array(1) {
    ["stores"]=>
    array(9) {
      [0]=>
      array(3) {
        ["id"]=>
        int(1)
        ["title"]=>
        string(30) "Склад новая База"
        ["userId"]=>
        NULL
      }
     ............

Как видно поля id, title, userId я получаю, а вот поле UF_CAT_STORE_1771252726 никак (в select я просто привел список всех вариантов которые пробовал).
UF_CAT_STORE_1771252726 - это "Ответственный"
Самое интересное, что в самой Битрикс 24, в списке складов, при попытке настроить отображение колонок, этого поля тоже нет, но если зайти в карточку склада, то поле выбора "ответственного" существует.

Также пробовал получить конкретный склад - в ответе также нет поля UF_CAT_STORE_1771252726

Делал такой запрос:
$result = CRest::call('userfieldconfig.list', [
    'moduleId' => 'catalog'
]);

и соответственно получил список созданных пользовательских полей
таким запросом:
$result = CRest::call('userfieldconfig.get', [
	'id' => 2604,
    'moduleId' => 'catalog'
]);

я получаю инфу конкретно по моему полю UF_CAT_STORE_1771252726
но что мне делать со всей этой информацией чтобы получить ответственного на складе?

p.s. у меня админские права
  • Вопрос задан
  • 72 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Onskills
    Битрикс24: работа с платформой
    1 месяц
    Далее
  • Академия Эдюсон
    Коммерческий директор
    4 месяца
    Далее
  • Академия Эдюсон
    Директор по продажам: тариф Мастер
    4 месяца
    Далее
Решения вопроса 2
alfalyxx
@alfalyxx
Full-stack PHP developer (Bitrix)
catalog.store.list не возвращает пользовательские поля совсем.
userfieldconfig.get - это просто инфа из таблицы пользовательских полей.

Если нужен только рест, хранить ответственного в справочнике, сделать HL блок.

Либо если коробка можно сделать свой рест метод, который будет возвращать пользовательские поля
Ответ написан
Комментировать
gromdron
@gromdron Куратор тега Битрикс24
Работаю с Bitrix24
Список полей, доступных в `catalog.store.list` регулируется классом `Bitrix\Catalog\RestView\Store`, в котором пользовательских полей не предусмотрено.
И как вам верно заметил Александр Фаст, метод `userfieldconfig.get` возвращает зарегистрированные в базе поля, но не их значения.

Я попробовал вытащить через bi, но туда пользовательские поля склада так же не тянутся.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы