Меню

Как получить свойства заказа в 1С-Битрикс: старые методы и современный API D7

Как получить свойства заказа в 1С-Битрикс: старые методы и современный API D7

Задача: Получить все доступные свойства заказа для всех активных типов плательщика из модуля магазина.
Пример получения свойств заказа с улучшением по производительности
Код
use Bitrix\Main\Loader;
use Bitrix\Sale\Internals\PersonTypeTable;
use Bitrix\Sale\Internals\OrderPropsTable;

Loader::includeModule("sale");

// Получаем типы плательщиков
$personTypes = PersonTypeTable::getList([
    'filter' => [
        'ACTIVE' => 'Y'// Только активные
    ],
    'order' => [
        'SORT' => 'ASC'// Сортировка
    ],

    // Нам нужен только ID плательщика
    // остальные поля не отбираем
    // экономя запросы к БД
    'select' => [
        'ID'
    ],

    // Кешируем запрос
    'cache' => [
        'ttl' => 36000,
    ],
]);

while ($personType = $personTypes->fetch()) {

    // Получаем свойства для типа плательщика
    $orderProps = OrderPropsTable::getList([
        'filter' => [
            'PERSON_TYPE_ID' => $personType['ID']
        ],
        'order' => [
            'SORT' => 'ASC'
        ],

        // Нам нужны только название, код и тип поля
        // остальные поля не отбираем
        // экономя запросы к БД
        'select' => [
            'NAME',
            'CODE',
            'TYPE'
        ],

        // Кешируем запрос
        'cache' => [
            'ttl' => 36000,
        ],
    ])->fetchAll();

    echo '<pre>';
    print_r($orderProps);
    echo '</pre>';

}
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы
 

Блог-note: заметки разработчика

Установка Битрикс24 "Интернет-Магазин + CRM" на один домен и настройка работы почты.

Задача: установить лицензию "Интернет-Магазин + CRM" на один домен. Что бы crm была доступна по адресу crm...

Пункты меню из разделов инфоблока Битрикс

В принципе это стандартная возможность системы управления битрикс, но почему-то часто спрашивают как это сделать. Возмож...

Создание мобильного приложения на cordova, для любого сайта.

Если стоит задача разработки мобильного приложения для сайта, можете воспользоваться данной заметкой. Постарался сделать...

Фотогалерея на базе компонента новостей, с fancybox.

Это заметка обновление к очень старой, уже имеющейся на сайте. Сделаем что-то типа фотогалереи на базе встроеннного в би...

Кастомизация поля input type file, свой внешний вид

Задача: Поле input type="file" предоставляет возможность загрузки файлов на веб-странице. Однако стандартный в...

Добавить все свойства инфоблока в умный фильтр одним разом

Если у вас достаточно много свойств, в инфоблоке с товарами, например: больше 1000-чи, после интеграции с 1С или импорта...

Вывести свойство отдельно ото всех или исключить из всех

Иногда, на сайте, под управлением 1С-Битрикс, нужно вывести какое-то конкретное свойство отдельно ото всех, или вообще н...

Получить и вывести данные из профиля покупателя в кабинете пользователя 1С-Битрикс

Задача: вывести пользователю информацию по всем, его, профилям покупателя в компоненте sale.personal.profile.list без пе...

Time Capsule на Windows 10. Хранение бекапов Time Machine на компьютере с Windows 10

Заметку написал скорее для себя, что бы собрать все в одну кучу. Написана на базе нескольких разрозненных, по интернету,...