Ccatalogdiscount getlist не работает

GetList

Описание и параметры

Метод возвращает результат выборки записей скидок в соответствии со своими параметрами. Нестатический метод.

Параметры вызова

Параметр Описание
arOrder Массив, в соответствии с которым сортируются результирующие записи. Массив имеет вид: В качестве «название_поляN» может стоять любое поле скидки, а в качестве «направление_сортировкиX» могут быть значения «ASC» (по возрастанию) и «DESC» (по убыванию).

Если массив сортировки имеет несколько элементов, то результирующий набор сортируется последовательно по каждому элементу (т.е. сначала сортируется по первому элементу, потом результат сортируется по второму и т.д.).

Значение по умолчанию — пустой массив array() — означает, что результат отсортирован не будет. arFilter Массив, в соответствии с которым фильтруются записи. Массив имеет вид: Удовлетворяющие фильтру записи возвращаются в результате, а записи, которые не удовлетворяют условиям фильтра, отбрасываются.

Допустимыми являются следующие модификаторы:

  • ! — отрицание;
  • + — значения null, 0 и пустая строка так же удовлетворяют условиям фильтра.

Допустимыми являются следующие операторы:

  • >= — значение поля больше или равно передаваемой в фильтр величины;
  • > — значение поля строго больше передаваемой в фильтр величины;
  • <=— значение поля меньше или равно передаваемой в фильтр величины;
  • <— значение поля строго меньше передаваемой в фильтр величины;
  • @ — оператор может использоваться для целочисленных и вещественных данных при передаче набора значений (массива). В этом случае при генерации sql-запроса будет использован sql-оператор IN, дающий компактную форму записи;
  • — значение поля проверяется на соответствие передаваемому в фильтр шаблону;

  • % — значение поля проверяется на соответствие передаваемой в фильтр строке в соответствии с языком запросов.

В качестве «название_поляX» может стоять любое поле скидки.

Пример фильтра: Этот фильтр означает «выбрать все записи, в которых значение в поле DISCOUNT_ID (код скидки) равно 15».

Значение по умолчанию — пустой массив array() — означает, что результат отфильтрован не будет. arGroupBy Массив полей, по которым группируются скидки. Массив имеет вид: В качестве «название_поляN» может стоять любое поле скидки.

Если массив пустой, то метод вернет число записей, удовлетворяющих фильтру.

Значение по умолчанию — false — означает, что результат группироваться не будет. arNavStartParams Массив параметров выборки. Может содержать следующие ключи:

  • «nTopCount» — количество возвращаемых методом записей будет ограничено сверху значением этого ключа;
  • любой ключ, принимаемый методом CDBResult::NavQuery в качестве третьего параметра.

Значение по умолчанию — false — означает, что параметров выборки нет. arSelectFields Массив полей записей, которые будут возвращены методом. Можно указать только те поля, которые необходимы. Если в массиве присутствует значение «*», то будут возвращены все доступные поля.

Значение по умолчанию — пустой массив array() — означает, что будут возвращены все поля основной таблицы запроса.

Возвращаемые значения

Возвращается объект класса CDBResult, содержащий набор ассоциативных массивов с ключами:

  • ID — код записи;
  • SITE_ID — сайт;
  • ACTIVE — флаг активности;
  • NAME — название скидки;
  • COUPON — код купона;
  • USE_COUPONS — [Y/N] — есть купоны или нет, обновляется автоматически.
  • SORT — индекс сортировки;
  • MAX_DISCOUNT — максимальная величина скидки;
  • TIMESTAMP_X — дата последнего изменения записи;
  • VALUE_TYPE — тип скидки (P — в процентах, F — фиксированая величина);
  • VALUE — величина скидки;
  • CURRENCY — валюта;
  • RENEWAL — флаг «Скидка на продление»;
  • ACTIVE_FROM — дата начала действия скидки;
  • ACTIVE_TO — дата окончания действия скидки;
  • PRODUCT_ID — код товара, на который дается скидка;
  • SECTION_ID — код группы товаров, на которую дается скидка;
  • GROUP_ID — код группы пользователей, на которую дается скидка;
  • CATALOG_GROUP_ID — код типа цен, на который дается скидка.

Если в качестве параметра arGroupBy передается пустой массив, то метод вернет число записей, удовлетворяющих фильтру.

Примеры использования

Пользовательские комментарии

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

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.

Источник

Вывести дату окончания скидки в карточке товара

Если нужно вывести информацию о скидке в карточке товара, можно воспользоваться методом CCatalogDiscount::GetList. Данные метод позволяет получить любую информацию о скидке: купон, название, типа скидки и.т.д. Но, я думаю, наиболее актуально вывести дату окончания скидки или количество дней до окончания.

Получаем информацию о скидке

Для начала, создаем скидку с интевалом в модуле маркетинга и выводим всю информацию о ней, в карточке товара:

В массиве arProductDiscounts — распечатается вся доступная информация о скидке. Но нам нужна только дата завершения- ACTIVE_TO. Эту дату сразу загоняем в переменную $saleDateTo. Обратите внимание, что если скидка уже осталась в прошлом- дата выведется в любом случае. Что бы этого не происходило, в фильтре оставляем отбор по активности «ACTIVE» => «Y» (флаг активности у прошедших скидок,снимается автоматически).

Собственно, если нужно просто вывести дату. Выводим переменную $saleDateTo в нужном месте шаблона.

Выводим количество дней до конца скидки

Более актуально, вывести количество дней до конца скидки. При этом, если осталось меньше одного дня, выводит «закончится сегодня».

Просто высчитываем разницу между текущей датой и датой завершения активности скидки. Подсказки в комментариях:

Здесь. С помощью strtotime перевели обе даты (сегодняшний день и дату завершения скидки) в секунды, вычли из большей меньшую и разделили на 86000 (количество секунд в сутках) с округлением до целого числа.

Таким образом, в переменной saleEndDiff получили количество дней до конца скидки. И простым if-ом, создали переменную daysToEndSale c нужным текстом.

Собственно и все. Выводим и красиво оформляем, в нужном месте, переменную $daysToEndSale — c количеством дней до конца скидки.

При желании, можно все оставить в секундах и сделать красивый виджет, обратного отсчета на jquery- тут уже, дело дизайна и техники.

Источник

Попович Алексей персональный сайт разработчика


Основные направления моей деятельности

На битриксе можно реализовать что угодно. Как говорил один клиент — реализовать можно все, лишь бы было кому это оплатить 🙂

Созданием сайтов я занимаюсь с 2009-го года, а вообще основами алгоритмов и программированием занимаюсь еще со школьных лет, т.е. примерно с 2000-го года. За всю свою практику в создании приложений (а веб-решение — это также приложение, активно или пассивно взаимодействующее с пользователем) понял главное — нельзя охватить все, иначе не будешь знать ничего.

К основным направлениям моей деятельности относятся:

  • Проектирование веб-решений разного уровня сложности (предпочитаю работать над неординарными проектами, позволяющими поломать голову над реализацией задачи);
  • Создание предпроектного описания задачи (ТЗ) для создания сайта на базе продуктов 1С-Битрикс;
  • Сопровождение и доработки действующих проектов на базе продуктов 1С-Битрикс;
  • Создание сайтов с нуля с использованием готовых решений. Выбираем наиболее подходящее вам из готовых решений на Marketplace, устанавливаем его и потом уже его допиливаем;
  • Перенос сайтов с любой другой CMS под управление 1С-Битрикс Управление сайтом;
  • Анализ сайтов-конкурентов;
  • Курирование работы сводной команды разработчиков над вашим веб-решением на базе 1С-Битрикс — могу выступать в роли Менеджера проекта с постановкой задач всем участникам проекта, оценкой качества выполненной работы, решением вопросов, возникающих в ходе работы над проектом;
  • Настройка интеграции сайтов на базе 1С-Битрикс с любой другой системой через API систем или через обмен файлами с другой системой;
  • Получение информации с публичных страниц сторонних сайтов, путем прямого парсинга данных;
  • Доработка сайтов под требования сео-специалистов;
  • Перенос сайтов с разделяемых хостингов на VPS;

Отзывы о работе веб-мастера

Александра

Алексей помог нам настроить нужные параметры выгрузки на яндекс-маркет и по другим задачам с сайтом Битрикс не раз нас выручал. Работает качественно в оговоренные сроки так что Всем рекомендую.

Максим

Работаем с Алексеем по проектам наших партнеров, выполняя различные технические задачи. Все делается четко, оперативно и доводится до конца даже если задача оказывается сложнее, чем была на первый взгляд. Однозначно могу рекомендовать!

Александр

Спасибо Алексею за создания для нас 2-х проектов, сначала начиналось с одного сайта, доработки и прикрутки, все происходило быстро в срок и без сложных технических заданий. Потом были вынуждены переезжать на другой хостинг. переживали сохраняться ли все наши наработки-дороботки, все было сделано опять на отлично. Спасибо, Алексею за его профессионализм, имеем опыт работы с ним более 5 лет и можем рекомендовать к сотрудничеству.

Источник

Как получить список товаров каталога по ID, с данными о ценах и размерах скидки?

Задача — получить список товаров с заданными свойствами: Хит, Акция, Новинка и т.д.

Использую метод: CIBlockElement::GetList — с выборкой по свойству «PROPERTY_STICKERS_VALUE». Так получаю данные для вывода списка товаров, однако как получить данные с ценами со скидкой, без скидки и размером скидки не представляю.

Метод GetList позволяет получить базовую цену товара, но базовые цены заданы в Евро, а вывести цену товара на сайте необходимо сконвертированную в рублях, со скидкой и указанием её размера.

Как получить группу товаров каталога по ID с данными о ценах с конвертированными в рублях, цен со скидкой и её размерах?

  • Вопрос задан более года назад
  • 114 просмотров

Задача решена. Опишу решение, возможно кому-нибудь пригодится.

Изначально, необходимо было вывести на главной странице каталога блок с товарами каталога, по свойству PROPERTY_STICKERS – типа список, которым заданы значения Хит, Советуем, Новинки, Акции для вывода товаров с соответствующими стикерами. При этом товары должны выводится с размером скидок, указанием старой цены, ценой конвертированной из Валюты в рубли.

Методы битрикс CIBlockElement::GetList и CCatalogDiscount::GetList не идеальны для решения данной задачи. По моему мнению целесообразней использовать компонент catalog.section с фильтром по свойству. Для чего в параметрах компонента задан фильтр:

И для получения всех товаров каталога, в которых заданы значения свойству PROPERTY_STICKERS (свойство не пустое) задан фильтр.

Источник

GetList

Описание и параметры

Метод возвращает результат выборки записей скидок в соответствии со своими параметрами. Нестатический метод.

Параметры вызова

Параметр Описание
arOrder Массив, в соответствии с которым сортируются результирующие записи. Массив имеет вид: В качестве «название_поляN» может стоять любое поле скидки, а в качестве «направление_сортировкиX» могут быть значения «ASC» (по возрастанию) и «DESC» (по убыванию).

Если массив сортировки имеет несколько элементов, то результирующий набор сортируется последовательно по каждому элементу (т.е. сначала сортируется по первому элементу, потом результат сортируется по второму и т.д.).

Значение по умолчанию — пустой массив array() — означает, что результат отсортирован не будет. arFilter Массив, в соответствии с которым фильтруются записи. Массив имеет вид: Удовлетворяющие фильтру записи возвращаются в результате, а записи, которые не удовлетворяют условиям фильтра, отбрасываются.

Допустимыми являются следующие модификаторы:

  • ! — отрицание;
  • + — значения null, 0 и пустая строка так же удовлетворяют условиям фильтра.

Допустимыми являются следующие операторы:

  • >= — значение поля больше или равно передаваемой в фильтр величины;
  • > — значение поля строго больше передаваемой в фильтр величины;
  • <=— значение поля меньше или равно передаваемой в фильтр величины;
  • <— значение поля строго меньше передаваемой в фильтр величины;
  • @ — оператор может использоваться для целочисленных и вещественных данных при передаче набора значений (массива). В этом случае при генерации sql-запроса будет использован sql-оператор IN, дающий компактную форму записи;
  • — значение поля проверяется на соответствие передаваемому в фильтр шаблону;

  • % — значение поля проверяется на соответствие передаваемой в фильтр строке в соответствии с языком запросов.

В качестве «название_поляX» может стоять любое поле скидки.

Пример фильтра: Этот фильтр означает «выбрать все записи, в которых значение в поле DISCOUNT_ID (код скидки) равно 15».

Значение по умолчанию — пустой массив array() — означает, что результат отфильтрован не будет. arGroupBy Массив полей, по которым группируются скидки. Массив имеет вид: В качестве «название_поляN» может стоять любое поле скидки.

Если массив пустой, то метод вернет число записей, удовлетворяющих фильтру.

Значение по умолчанию — false — означает, что результат группироваться не будет. arNavStartParams Массив параметров выборки. Может содержать следующие ключи:

  • «nTopCount» — количество возвращаемых методом записей будет ограничено сверху значением этого ключа;
  • любой ключ, принимаемый методом CDBResult::NavQuery в качестве третьего параметра.

Значение по умолчанию — false — означает, что параметров выборки нет. arSelectFields Массив полей записей, которые будут возвращены методом. Можно указать только те поля, которые необходимы. Если в массиве присутствует значение «*», то будут возвращены все доступные поля.

Значение по умолчанию — пустой массив array() — означает, что будут возвращены все поля основной таблицы запроса.

Возвращаемые значения

Возвращается объект класса CDBResult, содержащий набор ассоциативных массивов с ключами:

  • ID — код записи;
  • SITE_ID — сайт;
  • ACTIVE — флаг активности;
  • NAME — название скидки;
  • COUPON — код купона;
  • USE_COUPONS — [Y/N] — есть купоны или нет, обновляется автоматически.
  • SORT — индекс сортировки;
  • MAX_DISCOUNT — максимальная величина скидки;
  • TIMESTAMP_X — дата последнего изменения записи;
  • VALUE_TYPE — тип скидки (P — в процентах, F — фиксированая величина);
  • VALUE — величина скидки;
  • CURRENCY — валюта;
  • RENEWAL — флаг «Скидка на продление»;
  • ACTIVE_FROM — дата начала действия скидки;
  • ACTIVE_TO — дата окончания действия скидки;
  • PRODUCT_ID — код товара, на который дается скидка;
  • SECTION_ID — код группы товаров, на которую дается скидка;
  • GROUP_ID — код группы пользователей, на которую дается скидка;
  • CATALOG_GROUP_ID — код типа цен, на который дается скидка.

Если в качестве параметра arGroupBy передается пустой массив, то метод вернет число записей, удовлетворяющих фильтру.

Источник

Читайте также:  Астра люкс швейная машинка инструкция как настроить
Оцените статью