Меню

Как получить свойства заказа в 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: заметки разработчика

Если товар в корзине, поменять кнопку на "В корзине" в новом шаблоне 1С-Битрикс

Ранее я уже делал заметку на эту тему. Тогда, мы меняли значение input-а при добавлении товара в корзину в старых шаблон...

Получить список элементов инфоблока с ценами с помощью D7

Задача: использовать D7 в 1С-Битрикс для получения списка элементов инфоблока вместе с их ценами. Это может быть полезно...

Сравнение двух типов цен для иммитации системы скидок, в Битрикс

Встала задачка, иммититровать систему скидок в интернет магазине на Битрикс. Из 1С-УТ, на сайт, выгружается два типа цен...

Удалить половину элементов инфоблока с помощью API

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

Картинка торгового предложения вместо иконки цвета, в выборе SKU

Задача: вместо не информативных иконок цветов нужно вывести детальную картинку торгового предложения. Если картинки у пр...

Настройка обмена между 1С:Предприятие и магазином на "1С-Битрикс24: Интернет-магазин + CRM" по REST протоколу

В этой заметке расскажу как настроить синхронизацию между 1С:предприятие и "1С-Битрикс24: Интернет-магазин + CR...

Отключить поиск по описаниям товаров в Битрикс

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

Прятать или показывать описание раздела каталога

В новых компонентах и шаблонах catalog.section есть не документированный и не выводимый параметр: "Скрывать описание раз...

Заполнить свойство заказа выбранным пунктом самовывоза и передать в 1С

Задача: При оформлении заказа пользователь может выбрать пункт самовывоза (склады магазина). Нужно заполнить сво...