Документация по D7

Bitrix Framework - технологическая платформа для создания и управления проектами (веб-сайтами и корпоративными порталами). На данный момент платформа поддерживает два собственных ядра: старое и новое. Документация по старому ядру размещается отдельно [image].

Ядро D7 – это не просто рефакторинг, это смена подхода к написанию кода. Разработчикам нужно учитывать в своей работе происходящую постепенную замену старого кода на новые методы: старый API в конечном счёте станет чем-то типа адаптера, для совместимости. А вся логика с соответствующим рефакторингом переедет в новое ядро.

Данная документация носит только справочный характер. Детальное описание принципов работы нового ядра описаны в учебном курсе Разработчик Bitrix Framework [image].

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

Работа над документацией ведётся постоянно. Следить за изменениями в документации можно с помощью страницы Что нового? на сайте 1С-Битрикс, либо подпиской на твиттер BitrixDocDev [image], а также в блоге Отдела документации [image].

На данный момент не все возможности старого ядра продублированы в D7. Более того, в силу ряда причин API документация может не охватывать все методы. Для понимания работы иногда лучше просмотреть собственно программный код. Для этого можно использовать бесплатный модуль из Маркетплейса: Живое описание АПИ [image].

На каждой странице документации авторизованный на сайте посетитель может дать комментарий к содержимому страницы. Для этого воспользуйтесь расположенной в правом нижнем углу окна браузера кнопкой:

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


История изменений

Апрель 2022

  • События объединения сущностей
  • Клиенты в CRM
  • Работа с элементами

Февраль 2022

  • Новая опция avatarOptions, отвечающая за дополнительные настройки аватара элемента. Новые методы getAvatarOption, setAvatarOption и setAvatarOptions.
  • Новые стандартные провайдеры: Провайдер чатов и Провайдер чат-ботов.

Январь 2022

  • Новые методы работы с сущностью Сайт: addFolder, updateFolder, getFolder, getFolders, copyFolders, getPreview, publication, unpublic, markFolderDelete, markFolderUnDelete.
  • Новые методы работы с объектом: clearFolderIndex, clearFolderIndex, favoriteBlock, move, resolveIdByPublicUrl.
  • Новые методы работы с правами в модуле Сайты24: clearContextUserId, setContextUserId.
  • Новое событие в модуле Сайты24: onBeforeFolderRecycle.
  • Новые параметры в компоненте: ui.sidepanel.wrapper.

2021

Декабрь 2021

  • Новая страница о Новый счетах.
  • Новый раздел Типы сущностей CRM.

Ноябрь 2021

  • Новый раздел [link=143956]Штрих-коды[/link].
  • Изменения под версию UI 21.800:
    • Новые разделы: Счётчики и Сокращение текста по высоте
    • Новый метод: BX.UI.Icons.Generator.FileIcon
    • Обновлены: Параметры отображения, API, API Круглого ПрогрессБара

Октябрь 2021

  • Новый раздел Section.

Июль 2021

  • Новый раздел Новое API CRM.
  • Новый раздел Таймлайн в CRM.
  • Новый раздел Смарт-процессы в CRM.
  • Новая страница EntityContactTable в \Crm\Binding\.
  • Новая страница Связи.

Июнь 2021

  • Добавлено описание нового типа entity_selector в main.ui.filter.
  • Новый раздел Диалог выбора сущностей (ui.entity-selector).
  • Новая страница Настраиваемые разделы в левом меню.
  • Новая страница Подготовка платёжной системы.
  • Новая страница Методы реализации кассы.

Март 2021

  • Новая глава [link=139484]Диалог для пошагового процесса[/link].
2020

Ноябрь 2020

  • Новый модуль Адреса и местоположения.
  • Новая страница Сайты на локальной установке.
  • Новая страница Entity в CRM/Kanban.
  • Новый раздел Системные компоненты и компонент crm.entity.details в нём.
  • Новый метод getDefaultValue.

Октябрь 2020

  • Smtp - Класс для работы с почтой по SMTP.
  • SessionLocalStorage - АПИ для работы с локальным хранилищем сессий.
  • SessionInterface - АПИ для работы с $_SESSION.
  • ServiceLocator - АПИ сервиса локаторов.
  • ActionFilter - Фильтры действий AJAX
  • Controller - Класс методов Контроллера
  • CurrentUser - Класс текущего пользователя
  • Converter - Класс, выполняющий конвертацию строк или массивов, содержащих строки.
  • UrlManager - Класс-синглтон для построения ссылок на действия AJAX-контроллеров.
  • setLastModified - Метод устанавливает время изменения полей заголовков.
  • Redirect - Класс редиректа
  • AjaxJson - Методы json-ответов.
  • Component - Методы работы с компонентами.
  • Archive - методы работы с архивами.
  • ArchiveEntry - Объект, который описывает элемент zip-архива
  • BFile - методы работы с файлами.
  • ResizedImage - Методы для уменьшения изображений.

Сентябрь 2020

  • Новая страница метод addBackgroundJob в классе Application Главного модуля.

Июль 2020

  • Новая страница Ограничение времени жизни файлов в Диске.
  • Новый раздел Права доступа в Главном модуле.

Июнь 2020

  • Новая страница Попап со списком типов полей в библиотеке интерфейсов.
  • Новая страница Стандартный список полей в библиотеке интерфейсов.
  • Новая страница Конфигуратор в библиотеке интерфейсов.
  • Новая страница Фабрика настроек пользовательских полей в библиотеке интерфейсов.
  • Новый раздел Таймлайн в библиотеке интерфейсов.
  • Новый раздел Последовательность стадий в библиотеке интерфейсов.
  • Новый раздел Пользовательские поля в библиотеке интерфейсов.
  • Новый раздел Настройки полей в пользовательских полях (main).
  • Новый раздел Internal в пользовательских полях (main).
  • Новый раздел по модулю RPA.

Апрель 2020

  • Компонент отрисовки пользовательских полей в модуле currency.
  • Компоненты отрисовки пользовательских полей в модуле iblock.
  • Компоненты отрисовки пользовательских полей в модуле main.
  • UserField - пространство имён для классов и событий Пользовательских полей:
    • Введение
    • Класс UF-поля
    • Компонент для отрисовки UF-поля
    • Отрисовка поля через новое api
  • Работа с сущностями интернет-магазина через реестр.
  • Пример работы с рекуррентными платежами (в дальнейшем примеры работы с платежными системами будут публиковаться в новой главе).
  • Добавлено описание метода switchDomain, "перебрасывающего" домены сайтов между собой.
  • Добавлено описание метода getCode, возвращающего символьный код текущей страницы.
  • Добавлено описание метода addByTemplate, добавляющего страницу по шаблону.

Февраль 2020

  • Новый раздел [link=128464]Формы[/link] в [link=111259]Библиотеке интерфейсов[/link].
  • Новый раздел Стандартные диалоги Alert и Confirm.

Январь 2020

  • Добавлен пример на страницу Нумератор.
  • События платежных систем События платежных систем.
2019

Декабрь 2019

  • новый раздел с описанием компонента main.user.selector.
  • новый метод compileEntityId с версии Highloadblock 20.0.0.
  • новые методы: getFolderId [image], getDomainId [image], getSiteTitle [image] и getHostUrl
  • новая страница Работа с типами сайтов, скоупы
  • новый раздел Компонент-обёртка для слайдера [image] в библиотеке интерфейсов

Ноябрь 2019

  • новая страница API Круглого ПрогрессБара.
  • новый раздел Системные компоненты.

Октябрь 2019

  • Описание работы с сущностью Динамические блоки для Сайтов24 в версии 19.0.0.

Июль 2019

  • новый раздел Общее в главе Права для версии 18.7.500.
  • добавлено Событие onBuildTemplateCreateUrl.
  • обновлён раздел Сайты24 под версию 18.7.500.

Июнь 2019

  • новый раздел UserTable для модуля Intranet
  • события при непосредственном удалении сущностей Интернет-магазина из базы.
  • добавлено событие onLandingAfterUnPublication для Сайты24.
  • добавлено событие выполнения хука.
  • добавлено описание библиотеки Диалог выбора цвета.
  • добавлено описание Spotlight в библиотеке интерфейсов.

Май 2019

  • новый раздел События для модуля Landing
  • новый раздел Права на Сайты (18.7.0)
  • новый раздел События для модуля Intranet

Март 2019

  • обновлён раздел Сайты24 под версию 18.6.0.
  • обновлён раздел Шаблоны представлений, добавлен метод Template::getList
  • добавлены методы работы с сущностью "Отгрузки":
    • Shipment
    • ShipmentCollection
    • ShipmentItem
  • добавлены методы работы с сущностью "Оплаты":
    • Payment
    • PaymentCollection
  • добавлен класс \Bitrix\Sale\PropertyValueCollectionBase.
  • добавлен новый параметр метода Bitrix\Main\Config\Configuration::getInstance.

Февраль 2019

  • добавлен раздел Приёмы работы с методами интернет-магазина.
  • добавлены методы работы с сущностью Корзина.
  • добавлены методы работы с сущностью Заказ.
  • Добавлен класс для работы с чек-листами в модуле задач.
  • добавлено копирование описаний полей провайдера по ключу COPY.

Январь 2019

  • изменения документации по модулю Задачи:
    • добавлен класс \Bitrix\Задачи\Integration\Forum\Task\Comment\.
    • добавлен раздел Template [image].

  • изменения документации по модулю Интернет-магазин:
    • добавлен класс \Bitrix\Sale\Delivery\CalculationResult.
    • добавлена страница События служб доставок.
2018

Декабрь 2018

  • изменения документации по модулю Конструктор отчетов:
    • добавлен класс \Bitrix\Report\VisualConstructor\Category.
    • добавлен класс \Bitrix\Report\VisualConstructor\Form.

Ноябрь 2018

  • опубликован раздел по модулю Блоги.

  • обновлено описание события OnSaleCheckPrepareData.

  • изменения документации по модулю Информационные блоки:
    • добавлен метод \Bitrix\Iblock\InheritedProperty\BaseValues::queue.
    • добавлен класс \Bitrix\Iblock\Model\PropertyFeature.

  • добавлено описание класса \Bitrix\Sale\Discount\Formatter.

  • добавлено описание события OnCheckCollateDocuments.


Пространство имён Bitrix

\Bitrix - пространство имён, в котором размещаются методы D7. Система допускает разработку разработчиками собственных классов и методов, но размещать их следует в собственных пространствах имён.

Понятие пространств имен позволяет давать элементам системы более четкие имена, избавиться от множества префиксов имен, а также избежать потенциальных конфликтов. Все классы, поставляемые в стандартном дистрибутиве, должны находиться в пространстве имен \Bitrix, которое не пересекается ни с PHP, ни с разработками партнёров. Каждый стандартный модуль определяет в пространстве имен \Bitrix свое подпространство, совпадающее с именем модуля. Например, для модуля forum пространством имен будет \Bitrix\Forum, а для модуля main - \Bitrix\Main.

При необходимости модуль может организовывать подпространства внутри своего пространства имен. Например, \Bitrix\Main\IO, \Bitrix\Forum\SomeName\SomeNameTwo. Но такой возможностью следует пользоваться только если это оправдано для организации правильной архитектуры данного модуля.

Допустимо сокращение полной записи. Вместо \Bitrix\Main\Class::Function() можно писать Main\Class::Function().


Модули

Модули

Bitrix Framework имеет модульную структуру [image]. Каждый модуль отвечает за управление определенными элементами и параметрами сайта: информационным наполнением и структурой сайта, форумами, рекламой, рассылкой, распределением прав между группами пользователей, сбором статистики посещений, оценкой эффективности рекламных кампаний и т.д.

При необходимости получения дополнительного функционала у разработчика есть возможность:

  • модифицировать [image] штатный модуль (не рекомендуется);
  • создать собственный модуль [image];
  • создать типовое решение [image].

Таблица идентификаторов стандартных модулей

Так как не все модули Bitrix Framework переведены на новое ядро, то у таких модулей нет ссылки на соответствующий раздел документации.

Идентификатор | Описание | Продукт
1С | Модуль управления интеграцией с 1С. | БУС, Битрикс24
abtest | А/В тестирование, модуль для сравнения конверсии двух вариантов страницы. | БУС, Битрикс24
advertising | Реклама, баннеры - управление рекламой на сайте. | БУС, Битрикс24
b24connector | Модуль для подключения Битрикс Управление Сайтом к Битрикс24 | БУС, Битрикс24
bitrixcloud | Облако 1С-Битрикс - управление резервным копированием в облаке 1С-Битрикс и CDN. | БУС, Битрикс24
bizproc | Модуль для создания бизнес-процессов и работы с ними. | БУС, Битрикс24
bizprocdesigner | Дизайнер бизнес-процессов - для проектирования, создания и изменения бизнес-процессов. | БУС, Битрикс24
blog | Блоги - ведения блогов на сайте. | БУС, Битрикс24
calendar | Календарь событий. | БУС, Битрикс24
catalog | Модуль торгового каталога позволяет создавать торговые каталоги товаров и услуг с ценами, наценками и импортом/экспортом данных. | БУС, Битрикс24
cluster | Модуль поддержки веб-кластера. | БУС, Битрикс24
clouds | Модуль поддержки облачных хранилищ файлов. | БУС, Битрикс24
compression | Модуль компрессирующий страницы сайта для ускорения их загрузки. Удалён из продуктов с версии 19.0.0 | БУС, Битрикс24
controller | Удаленное управление сайтами. | БУС, Битрикс24
conversion | Вычисление конверсии для любого выбранного целевого действия. | БУС, Битрикс24
crm | Модуль дает возможность создания CRM. | Битрикс24
currency | Модуль управления валютами позволяет управлять валютами сайта и их курсами. | БУС, Битрикс24
DAV | Модуль поддержки доступа к объектам и коллекциям | Битрикс24
desktop | Десктопное приложение | Битрикс24
disk | Модуль работы с файлами | Битрикс24
documentgenerator | Модуль для генерации документов | Битрикс24
eshopapp | Мобильное приложение для интернет-магазина | БУС, Битрикс24
extranet | Модуль, поддерживающий работу сотрудников компании с внешними партнерами. | Битрикс24
faceid | Модуль распознавание лиц для Битрикс24 | Битрикс24
fileman | Модуль для управления информационным наполнением и структурой сайта (ов), меню и правами доступа. | БУС, Битрикс24
form | Модуль организует работу с произвольными веб-формами, позволяет хранить и фильтровать данные заполненных форм. | БУС, Битрикс24
forum | Модуль для создания форумов. | БУС, Битрикс24
highloadblock | Быстрые справочники, без поддержки иерархии, с ограниченной поддержкой свойств. | БУС, Битрикс24
iblock | Модуль работы с информационными блоками позволяет управлять и каталогизировать информацию различного характера. | БУС, Битрикс24
idea | Менеджер идей | БУС, Битрикс24
im | Модуль мгновенных сообщений и уведомлений. | БУС, Битрикс24
imconnector | Модуль позволяет организовать работу с внешними мессенджерами. | Битрикс24
imopenlines | Модуль открытые линии. | Битрикс24
intranet | Интранет - корпоративный портал | Битрикс24
landing | Создание посадочных страниц через удобный мастер блоков.. | БУС, Битрикс24
ldap | Модуль для работы с Active Directory и LDAP. | БУС, Битрикс24
learning | Модуль дистанционного обучения. | БУС, Битрикс24
lists | Модуль для организации работы с различной информацией из публичной части сайта. | БУС, Битрикс24
location | Модуль для работы с адресами и местоположениями | Битрикс24
mail | Почтовый модуль, для получения почты, фильтрации писем и выполнения заданных действий. | БУС, Битрикс24
main | Ядро продукта с технологией SiteUpdate. | БУС, Битрикс24
meeting | Модуль для организации и проведения планерок и собраний. | Битрикс24
messageservice | Модуль осуществляет отправку текстовых и иных сообщений | БУС, Битрикс24
ml | Модуль позволяет обучать и использовать модели машинного обучения | Битрикс24
mobile | Мобильное приложение для портала. | Битрикс24
mobileapp | Модуль позволяет создавать мобильные приложения. | БУС, Битрикс24
perfmon | Модуль мониторинга параметров производительности сайта. | БУС, Битрикс24
photogallery | Модуль позволяет организовать на сайте фотогалереи с массовой загрузкой изображений. | БУС, Битрикс24
pull | Модуль позволяет организовать транспорт мгновенных нотификаций и сообщений клиентам. | БУС, Битрикс24
recyclebin | Корзина удаленных сущностей. | Битрикс24
report | Создание и генерация отчетов. | БУС, Битрикс24
rest | Программный интерфейс для внешних и внутренних приложений. | БУС, Битрикс24
rpa | Модуль для организации роботизации бизнеса (RPA). | Битрикс24
sale | Позволяет осуществлять продажи товаров посетителям сайта. | БУС, Битрикс24
salescenter | Модуль для организации удобных продаж в мессенджерах. | Битрикс24
scale | Инструментах масштабирования сервера до отказоустойчивой кластерной системы. | БУС, Битрикс24
search | Поисковый модуль, осуществляющий индексирование и поиск на сайте. | БУС, Битрикс24
security | Модуль проактивной защиты сайта. | БУС, Битрикс24
sender | Модуль для организации работы рассылок. | БУС, Битрикс24
seo | Статистика и инструменты для поисковой оптимизиции сайта. | БУС, Битрикс24
socialnetwork | Модуль дает возможность создания социальной сети на сайте. | БУС, Битрикс24
socialservices | Интеграция с внешними социальными сетями и сервисами. | БУС, Битрикс24
statistic | Модуль сбора и отображения статистики сайта. | БУС, Битрикс24
storeassist | Помощник настройки интернет-магазина. | БУС, Битрикс24
subscribe | Модуль для организации списков рассылки. | БУС, Битрикс24
support | Модуль позволяющий организовать на сайте систему обращений посетителей к группе техподдержки. | БУС, Битрикс24
tasks | Модуль управления задачами | Битрикс24
timeman | Модуль учета и контроля рабочего времени | Битрикс24
transformer | Модуль выполняет отправку файлов на конвертацию. | Битрикс24
transformercontroller | Модуль для выполнения конвертации файлов. | Битрикс24
translate | Модуль перевода языковых файлов. | БУС, Битрикс24
ui | Библиотека пользовательских интерфейсов. | БУС, Битрикс24
video | Модуль предоставляет возможность проведения видеоконференций. | Битрикс24
videoport | Модуль предоставляет возможность использовать видеоконференции компании Trueconf. | Битрикс24
vote | Модуль позволяющий организовать систему опросов и голосований посетителей сайта. | БУС, Битрикс24
voximplant | Реализация телефонных звонков. | Битрикс24
webdav | Библиотека документов | Битрикс24
webservice | Модуль позволяющий организовать систему веб-сервисов и SOAP. | БУС, Битрикс24
wiki | Модуль дает возможность ведения wiki-страниц на сайте. | БУС, Битрикс24
workflow | Модуль позволяющий организовать поэтапную обработку документов сайта. | БУС, Битрикс24
xdimport | Инструменты для импорта данных в систему из внешних источников. | Битрикс24
xmpp | Модуль позволяет использовать Jabber-клиенты для общения внутри корпоративного портала. | Битрикс24


Главный модуль

Main - пространство имён для классов и методов Главного модуля системы. Модуль не нуждается в специальном коде для подключения.

Класс, простраство имён | Описание
Application | Базовый класс для любых приложений.
Authentication | Пространство имён для классов аутентификации пользователей.
Context | Класс для работы с контекстом
Config | Пространство имён для классов настроек.
Data | Пространство имён классов для работы с кешем, в том числе с управляемым.
DB | Пространства имён для классов, работающих с Базой данных
Diag | Пространства имён для классов диагностики.
Entity | Пространство имён для работы с сущностями.
Environment | Класс работы с окружением.
EventManager | Класс кратко- и долгосрочной регистрации обработчиков событий.
FinderDestTable | класс для работы с таблицей сущностей, выбираемые в диалоге выбора, в списке Последние.
Grid | Пространство имён для работы с гридом (табличным элементом управления).
GroupTaskTable | класс описывает ORM-сущность GroupTaskTable.
HttpApplication | класс отвечает за обычный http-хит на сайте.
HttpRequest | Класс управляет объектом HTTP запросов, содержащим информацию о текущем запросе.
IO | Объектно-ориентированная работа с файлами.
Loader | класс для загрузки необходимых файлов, классов и модулей.
Localization | Пространство имён для работы с языковыми файлами.
Mail | Описание пространства имён.
Page | Пространство имён для классов, работающих со страницей продукта.
Replica | Пространство имён для классов репликации главного модуля.
Request | Класс для работы с объектом запроса.
Result | Класс результата выполнения запроса.
Security | Пространство имён для классов, отвечающих за безопасность.
Server | Класс объектов сервера.
Service | Пространство имён для классов интеграций с различными сервисами.
Text | пространство имён для работы с текстом: классы для конвертации текста и другие.
Type | Пространство имён для работы с типами данных: дата, файл и другие.
UI | Пространство имён пользовательских интерфейсов.
UrlPreview | Пространство имён для работы с "богатыми ссылками".
UrlRewriterRuleMaker | Класс для работы с правилами переадресации.
UserConsent | Пространство имён для работы с соглашениями пользователей.
UserField | Пространство имён для классов и событий Пользовательских полей.
[link=9473029]UserTable[/link] | Класс для работы с пользователями.
UserUtils | Класс утилит для работы с пользователями.
Web | Пространство имён для классов, работающих с WEB.
XmlWriter | класс для экспорта в XML.
Классы для работы с ошибками
Error | Класс ошибок.
ErrorCollection | Коллекция ошибок.
Классы для работы с исключениями
SystemException | Базовый класс фатальных исключений.
ArgumentException | Исключение выводится когда аргумент функции не валидный
ArgumentNullException | Исключение выводится когда передаётся пустое значение в метод который не принимает такого значения как валидное.
ArgumentOutOfRangeException | Исключение выводится когда значение аргумента находится вне допустимого диапазона значений.
ArgumentTypeException | Исключение выводится, когда тип аргумента не принимается функцией.
ObjectNotFoundException | Исключение выводится когда отсутствует объект.
ObjectException | Исключение выводится, когда объект не может быть создан.
ObjectPropertyException | Исключение выводится когда свойство объекта не валидно.
InvalidOperationException | Исключение выводится когда вызываемый метод не является валидным для текущего состояния объекта.
NotSupportedException | Исключение выводится когда операция не поддерживается.
NotImplementedException | Исключение выводится, когда операция не осуществлена, хотя должна была быть выполнена.


Главный модуль в старом ядре

Список классов главного модуля в старом ядре

Класс | Описание | С версии
CMain | Основной класс. | 3.0.3
CDatabase | Класс для работы с базой данной. | 3.0.7
CDBResult | Класс результата выполнения запроса. | 3.0.7
CAgent | Класс для работы с агентами. | 3.0.14
CEvent | Класс для отправки почтовых событий [image] [image] [image] . | 3.0.3
CEventMessage | Класс для работы с шаблонами почтовых событий [image] [image] [image] . | 3.0.3
CEventType | Класс для работы с типами почтовых событий [image] [image] [image] . | 3.0.3
CFile | Класс для работы с файлами и изображениями. | 3.0.3
CUser | Класс для работы с пользователями. | 3.0.6
CGroup | Класс для работы с группами пользователей. | 3.0.6
CSite | Класс для работы с сайтами. | 3.3.21
CLanguage | Класс для работы с языками [image] . | 3.3.21
CMainPage | Класс для использования на индексной странице портала. | 4.0.3
CMenu | Обработка меню. | 3.0.16
CModule | Управление модулями. | 3.0.1
COption | Класс для работы с параметрами модулей. | 3.0.7
CPageOption | Класс для работы с параметрами действующими только на странице. | 3.3.6
CPageCache | Класс для кеширования HTML. | 3.1.8
CPHPCache | Класс для кеширования PHP переменных и HTML. | 3.2.7
CAdminFileDialog | Класс для работы с файловым диалогом в административной части системы. | 6.0.2
CComponentEngine | Класс инкапсулирует вспомогательные методы. | 5.1.7
CDiskQuota | Класс для работы с дисковыми квотами. | 6.5.0
CUserTypeEntity | Класс для работы с пользовательскими полями. | 6.0.2
CAdminPage | Класс для работы с административной частью системы. | 5.0.0
CApplicationException | Класс для работы с исключениями. | 4.0.6
CBitrixComponent | Класс - оболочка компонента. | 5.1.8
CBitrixComponentTemplate | Класс - оболочка шаблона компонента. | 5.1.8
CRatings | Класс для работы с рейтингами [image] . | 9.5.0
CUserFieldEnum | Класс для работы с пользовательскими полями типа "список". | 6.0.2
CUserCounter | Класс предназначен для работы с счётчиками. | 11.5.2
CBXSanitizer | Класс для очистки введённого пользователем HTML - текста от тэгов и атрибутов которые не содержатся в "белом списке" разрешенных к использованию. | 11.5.2
CAdminNotify | Класс для работы с уведомлениями. | 11.5.6
CBXVirtualIo | Класс для работы с файлами публичной части. | 11.0.1
CBXVirtualFile | Класс файла публичной части. | 11.0.1
CBXVirtualDirectory | Класс папки публичной части. | 11.0.1
CSmile | Класс для работы со смайлами. | 12.5.7
CSmileSet | Класс для работы с пакетами смайлов. | 12.5.7
CSmileGallery | Класс для работы с галереями смайлов. | 12.5.7
CEventLog | Класс для работы с логом. | 7.0.1
Класс CUtil | Класс дополнительных функций. | 6.5.0
CUserTypeString | Класс для работы с Пользовательскими полями. | 18.0.0

См. также

  • События в старом ядре [image];
  • Функции в старом ядре [image];
  • Справочная информация по технологиям и принципам заложенным в систему [image].


Системные компоненты

В разделе содержится информация о работе с системными компонентами.

Внимание! Компоненты являются системными и в визуальном редакторе не отображаются. В физической структуре сайта их можно найти в папке /bitrix/components/bitrix/[название_компонента]

Компонент | Описание
main.ui.grid и main.ui.filter | main.ui.grid выводит информацию в табличной форме. main.ui.filter выводит фильтр + поиск. Компоненты могут работать в связке, что позволяет вывести информацию в виде таблицы с возможностью фильтрации и поиска.
main.user.selector | Компонент представляет собой готовый к встраиванию в форму контрол для выбора сущностей различных типов.
main.field.* | Компоненты отрисовки пользовательских полей.


Компоненты отрисовки пользовательских полей

Описание

С версии 20.0.800 модуля main доступно новое API для отрисовки контролов пользовательских полей.

Вызов компонента и его параметры одинаковы для всех компонентов, меняется только тип пользовательского поля.

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

В физической структуре компонент находится в папке /bitrix/components/bitrix/[название_компонента].

Список компонентов

Компонент | Описание
main.field.boolean | Предназначен для отрисовки пользовательских полей типа boolean (да/нет).
main.field.date | Предназначен для отрисовки пользовательских полей типа date (дата).
main.field.datetime | Предназначен для отрисовки пользовательских полей datetime (дата со временем).
main.field.double | Предназначен для отрисовки пользовательских полей типа double (число).
main.field.enum | Предназначен для отрисовки пользовательских полей типа enum (список).
main.field.file | Предназначен для отрисовки пользовательских полей типа file (файл).
main.field.integer | Предназначен для отрисовки пользовательских полей типа integer (целое число).
main.field.string | Предназначен для отрисовки пользовательских полей типа string (строка).
main.field.stringformatted | Предназначен для отрисовки пользовательских полей типа stringformatted.
main.field.url | Предназначен для отрисовки пользовательских полей типа url (ссылка).

Параметры

Параметр | Описание
$userField | Массив метаинформации пользовательского поля. Может быть получен методом GetUserFields класса CUserTypeManager.
$additionalParameters Массив, который содержит необходимые настройки в зависимости от шаблона, которым выводится контрол. В частности в этом массиве передаются следующие элементы:
  • mode - имя шаблона компонента;
  • mediaType - имя страницы шаблона, на текущий момент или .default, или mobile. Пустое значение эквивалентно .default.

Пример вызова компонента main.field.string

<?
$APPLICATION->IncludeComponent(
            'bitrix:main.field.string',
            '',
            [
                'userField' => $userField,
                'additionalParameters' => $additionalParameters,
            ]
        );
?>

Дополнительно

Также можно использовать универсальное API:

$renderer = new \Bitrix\Main\UserField\Renderer($userField, $additionalParameters);
return $renderer->render();


main.ui.grid и main.ui.filter

Рассмотрим работу с компонентами main.ui.grid (классы Bitrix\Main\Grid [image]) и main.ui.filter (классы Bitrix\Main\UI\Filter [image]).

Компонент | Описание
main.ui.grid | Выводит информацию в табличной форме.
main.ui.filter | Выводит [dw]фильтр + поиск[/dw][di]О том, как выглядит работа с фильтром можно посмотреть в уроке Фильтр (новый интерфейс) [image] в курсе Контент-менеджер. [/di].

Компоненты являются системными и в визуальном редакторе не отображаются. В физической структуре их можно найти в папке /bitrix/components/bitrix/[название_компонента]

Связка компонентов

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

Для связи фильтра и таблицы необходимо передать данные из фильтра в грид. Общая схема выглядит так:
// Подключаем фильтр.
$APPLICATION->includeComponent(
    "bitrix:main.ui.filter",
    "",
    [
        "FILTER_ID" => "DEMO_FILTER",
        "GRID_ID" => "DEMO_GRID",
        // ...
    ]
);

// Получаем данные для фильтрации.
$filterOptions = new \Bitrix\Main\UI\Filter\Options("DEMO_FILTER");
$filterFields = $filterOptions->getFilter([
           ['id' => 'DATE', 'name' => 'Дата', 'type' => 'date'],
           ['id' => 'IS_SPEND', 'name' => 'Тип операции',
          'type' => 'list',

          'params' => ['multiple' => 'Y']
          ],
          ['id' => 'AMOUNT', 'name' => 'Сумма', 'type' => 'number'],
          ['id' => 'PAYER_INN', 'name' => 'ИНН Плательщика', 'type' => 'number'],
          ['id' => 'PAYER_NAME', 'name' => 'Плательщик'],
]);

// Конвертируем то, что вернул фильтр в формат пригодный для выборки данных.
// (формат зависит от того, как и с помощью чего планируется выбирать данные)
$filter = [];
foreach ($filterFields as $key => $value)
{
    // ...
}

// Получаем данные на основе сконвертированного фильтра.
$data = \AnyClass::getList(..., $filter);

// Конвертируем данные в формат пригодный для грида
$rows = [];
foreach ($data as $key => $value)
{
    // ...
}

// Подключаем грид и передаем ему данные
$APPLICATION->includeComponent(
    "bitrix:main.ui.grid",
    "",
    [
        "GRID_ID" => "DEMO_GRID",
        "ROWS" => $rows,
        // ...
    ]
);


Таблица (main.ui.grid)

Описание

Компонент main.ui.grid (классы Bitrix\Main\Grid [image]) выводит информацию в табличной форме. Является системным компонентом.

В физической структуре его можно найти в папке /bitrix/components/bitrix/main.ui.grid.

Параметры

Параметр | Тип | Описание
GRID_ID | string | Идентификатор грида.
HEADERS array Массив с заголовками столбцов таблицы.

Простейший пример массива

array (
 'id' => 'COMPANY_UF_CRM_613B2B9A90EDA', // уникальный id
 'name' => 'Название колонки как его видит пользователь',
 'sort' => 'COMPANY_UF_CRM_613B2B9A90EDA',  //сортировка
 'default' => false, // (bool) показывать поле в гриде
 'editable' => false, // (bool) можно ли редактировать поле inline
 'type' => 'text', // тип колонки, все типы тут /modules/main/lib/grid/types.php
 'iconUrl' => '/bitrix/images/crm/grid_icons/company.svg', // ссылка на иконку
 'iconTitle' => 'Title иконки, как его видит пользователь при наведении на иконку',
 'section_id' => 'COMPANY', // id секции, для группировки полей в окне выбора показа полей,
 //т.е. это поле (колонка) попадет в секцию с таким названием
)

ROWS array Массив с [dw]значениями[/dw][di]По ключу data передаём массив с данными ячеек.[/di] таблицы и [dw]действиями[/dw][di]По ключу actions передаем массив действий.[/di] в контекстном меню.

Простейший пример массива

'ROWS' => [
    [
        'data'    => [ //Данные ячеек
        "ID" => 1,
            "NAME" => "Название 1",
            "AMOUNT" => 1000,
            "PAYER_NAME" => "Плательщик 1"
        ],
        'actions' => [ //Действия над ними
            [
                'text'    => 'Редактировать',
                'onclick' => 'document.location.href="/accountant/reports/1/edit/"'
            ],
            [
                'text'    => 'Удалить',
                'onclick' => 'document.location.href="/accountant/reports/1/delete/"'
            ]

        ],
    ], [
        'data'    => [ //Данные ячеек
            "ID" => 2,
            "NAME" => "Название 2",
            "AMOUNT" => 3000,
            "PAYER_NAME" => "Плательщик 2"
        ],
        'actions' => [ //Действия над ними
            [
                'text'    => 'Редактировать',
                'onclick' => 'document.location.href="/accountant/reports/2/edit/"'
            ],
            [
                'text'    => 'Удалить',
                'onclick' => 'document.location.href="/accountant/reports/2/delete/"'
            ]

        ],
    ]
];

TOTAL_ROWS_COUNT | string | Количество отфильтрованных элементов в таблице всего.
SHOW_ROW_CHECKBOXES | bool | Показывать чекбоксы у строк для множественных действий.
NAV_OBJECT | object | Объект для постраничной навигации.
AJAX_MODE | string | Активирует режим ajax.
AJAX_ID | string | Ajax ID берется из компонента фильтра.
PAGE_SIZES | array | Массив для выбора кол-ва элементов на странице.
AJAX_OPTION_JUMP | string | Если пользователь совершит AJAX-переход, то при установленой опции по окончании загрузки произойдет прокрутка к началу компонента.
SHOW_CHECK_ALL_CHECKBOXES | bool | Показывать "Выбрать все".
SHOW_ROW_ACTIONS_MENU | bool | Отображение меню действий для элемента таблицы.
SHOW_GRID_SETTINGS_MENU | bool | Отображение кнопки настройки списка.
SHOW_NAVIGATION_PANEL | bool | Отображать панель навигации.
SHOW_PAGINATION | bool | Отображать кнопки постраничной навигации ("Предыдущая", "Все", "Следующая").
SHOW_SELECTED_COUNTER | bool | Показывать "Выбрано элементов".
SHOW_TOTAL_COUNTER | bool | Показывать "Всего элементов".
SHOW_PAGESIZE | bool | Выводить выбор количества элементов на странице.
ACTION_PANEL | array | Определяет панель групповых действий (передаётся массив с кнопками и действиями).
SHOW_ACTION_PANEL | bool | Разрешает отображение [dw]панели групповых действий[/dw][di]Панель отобразится только если сама панель определена в параметре ACTION_PANEL.[/di].
ALLOW_COLUMNS_SORT | bool | Параметр разрешает или запрещает сортировку колонок перетаскиванием (т.е. менять колонки местами перетаскиванием мышью).
ALLOW_COLUMN_RESIZE | bool | Разрешает или запрещает изменение ширины колонок.
ALLOW_HORIZONTAL_SCROLL | bool | Будет доступна горизонтальная прокрутка.
ALLOW_SORT | bool | Разрешить сортировку.
ALLOW_PIN_HEADER | bool | Разрешать закреплять шапку таблицы.
AJAX_OPTION_HISTORY | bool | Когда пользователь выполняет AJAX-переходы, то при включенной опции можно использовать кнопки браузера "Назад" и "Вперед".
ENABLE_COLLAPSIBLE_ROWS | bool | Включает сворачивание/разворачивание строк.
ENABLE_FIELDS_SEARCH | bool | Включает возможность фильтрации по названию поля.
HEADERS_SECTIONS array Массив для [dw]группировки полей[/dw][di] [image] [/di] в main.ui.filter вида:
array (
 0 =>
 array (
    'id' => 'DEAL',
   'name' => 'Мое название',
   'default' => true, - в эту секцию скидываем все поля, у которых явно не задана привязка к секции
   'selected' => true, - секция показывается по умолчанию
 ),
 1 =>
 array (
   'id' => 'CONTACT',
   'name' => 'РљРѕРЅС‚Р°РєС‚',
   'selected' => true,
 ),
 2 =>
 array (
   'id' => 'COMPANY',
   'name' => 'РљРѕРјРїР°РЅРёСЏ',
   'selected' => true,
 ),
)

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

<?
$grid_options = new Bitrix\Main\Grid\Options('report_list');
$sort = $grid_options->GetSorting(['sort' => ['ID' => 'DESC'], 'vars' => ['by' => 'by', 'order' => 'order']]);
$nav_params = $grid_options->GetNavParams();

$nav = new Bitrix\Main\UI\PageNavigation('report_list');
$nav->allowAllRecords(true)
    ->setPageSize($nav_params['nPageSize'])
    ->initFromUri();

$APPLICATION->IncludeComponent(
    'bitrix:main.ui.grid',
    '',
    [
    'GRID_ID' => 'report_list',
    'COLUMNS' => [
        ['id' => 'ID', 'name' => 'ID', 'sort' => 'ID', 'default' => true],
        ['id' => 'DATE', 'name' => 'Дата', 'sort' => 'DATE', 'default' => true],
        ['id' => 'AMOUNT', 'name' => 'Сумма', 'sort' => 'AMOUNT', 'default' => true],
        ['id' => 'PAYER_INN', 'name' => 'ИНН Плательщика', 'sort' => 'PAYER_INN', 'default' => true],
        ['id' => 'PAYER_NAME', 'name' => 'Плательщик', 'sort' => 'PAYER_NAME', 'default' => true],
        ['id' => 'IS_SPEND', 'name' => 'Тип операции', 'sort' => 'IS_SPEND', 'default' => true],
    ],
    'ROWS' => $list,
    'SHOW_ROW_CHECKBOXES' => true,
    'NAV_OBJECT' => $nav,
    'AJAX_MODE' => 'Y',
    'AJAX_ID' => \CAjax::getComponentID('bitrix:main.ui.grid', '.default', ''),
    'PAGE_SIZES' => [
        ['NAME' => "5", 'VALUE' => '5'],
        ['NAME' => '10', 'VALUE' => '10'],
        ['NAME' => '20', 'VALUE' => '20'],
        ['NAME' => '50', 'VALUE' => '50'],
        ['NAME' => '100', 'VALUE' => '100']
    ],
    'AJAX_OPTION_JUMP'          => 'N',
    'SHOW_CHECK_ALL_CHECKBOXES' => true,
    'SHOW_ROW_ACTIONS_MENU'     => true,
    'SHOW_GRID_SETTINGS_MENU'   => true,
    'SHOW_NAVIGATION_PANEL'     => true,
    'SHOW_PAGINATION'           => true,
    'SHOW_SELECTED_COUNTER'     => true,
    'SHOW_TOTAL_COUNTER'        => true,
    'SHOW_PAGESIZE'             => true,
    'SHOW_ACTION_PANEL'         => true,
    'ACTION_PANEL'              => [
        'GROUPS' => [
            'TYPE' => [
                'ITEMS' => [
                    [
                        'ID'    => 'set-type',
                        'TYPE'  => 'DROPDOWN',
                        'ITEMS' => [
                            ['VALUE' => '', 'NAME' => '- Выбрать -'],
                            ['VALUE' => 'plus', 'NAME' => 'Поступление'],
                            ['VALUE' => 'minus', 'NAME' => 'Списание']
                        ]
                    ],
                ],
            ]
        ],
    ],
    'ALLOW_COLUMNS_SORT'        => true,
    'ALLOW_COLUMNS_RESIZE'      => true,
    'ALLOW_HORIZONTAL_SCROLL'   => true,
    'ALLOW_SORT'                => true,
    'ALLOW_PIN_HEADER'          => true,
    'AJAX_OPTION_HISTORY'       => 'N'
    ]
);?>

Добавление кнопок

Для добавления кнопок в ACTION_PANEL удобно использовать класс \Bitrix\Main\Grid\Panel\Snippet, который позволяет быстро создать какую-то типовую кнопку или действие для панели грида. Пример:

// Создаем экземпляр класса:
$snippets = new \Bitrix\Main\Grid\Panel\Snippet();

// С помощью нужного метода получаем уже готовую кнопку или действие.
// Например для кнопки "Удалить":
$removeButton = $snippets->getRemoveButton();


Фильтр (main.ui.filter)

Описание

Компонент main.ui.filter(классы Bitrix\Main\UI\Filter [image]) выводит фильтр + поиск. Является системным компонентом.

В физической структуре его можно найти в папке /bitrix/components/bitrix/main.ui.filter.

Параметры

Параметр | Тип | Описание
FILTER_ID | string | Идентификатор фильтра (должен быть уникальным).
GRID_ID | string | Идентификатор грида. Укажите если планируете использовать фильтр вместе с гридом. Если указан, то фильтр будет самостоятельно обновлять грид при фильтрации.
FILTER array Массив с полями. Доступны следующие типы полей для фильтрации:
  1. string - строка (для полей типа "строка" тип можно не указывать);
  2. list - список с одиночным или множественным выбором;
  3. number - число (точное число, диапазон, больше/меньше чем);
  4. date - выбор заранее определенных значений из списка (“точная дата”, “диапазон”, “последние N дней” и т. п);
  5. custom_date - произвольная дата (выбор число/месяц/год);
  6. checkbox - список с предустановленными значениями: “Да”, “Нет” и “Не выбрано”;
  7. custom_entity - реализует пользовательский и программный интерфейс для взаимодействия с данными вне фильтра (напр.: выбор сущности CRM, выбор группы, пользователя и т. п.
  8. entity_selector - реализует интерфейс выбора элементов через EntitySelector: диалог выбора сущностей. Доступен с версии main 21.200.0.
  9. dest_selector - окно для выбора пользователей (по умолчанию). Можно также фильтровать по сущностям CRM, по отделам (uf_department), по структуре, по рабочим группам. Полный список параметров
ENABLE_LABEL | bool | Включает отображение заголовков полей фильтра.
ENABLE_LIVE_SEARCH | bool | Включает “живую фильтрацию” по мере ввода в поисковую строку.
FILTER_PRESETS | array | Пресеты фильтра.
ENABLE_FIELDS_SEARCH | bool | Включает возможность фильтрации по названию поля.
HEADERS_SECTIONS array Массив для [dw]группировки полей[/dw][di] [image] [/di] в main.ui.filter вида:
array (
 0 =>
 array (
    'id' => 'DEAL',
   'name' => 'Мое название',
   'default' => true, - в эту секцию скидываем все поля, у которых явно не задана привязка к секции
   'selected' => true, - секция показывается по умолчанию
 ),
 1 =>
 array (
   'id' => 'CONTACT',
   'name' => 'РљРѕРЅС‚Р°РєС‚',
   'selected' => true,
 ),
 2 =>
 array (
   'id' => 'COMPANY',
   'name' => 'РљРѕРјРїР°РЅРёСЏ',
   'selected' => true,
 ),
)

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

<?$APPLICATION->IncludeComponent(
    'bitrix:main.ui.filter',
    '',
    [
        'FILTER_ID' => 'report_list',
        'GRID_ID' => 'report_list',
        'FILTER' => [
            ['id' => 'DATE', 'name' => 'Дата', 'type' => 'date'],
            ['id' => 'IS_SPEND', 'name' => 'Тип операции',
            'type' => 'list',
            'items' => ['' => 'Любой', 'P' => 'Поступление', 'M' => 'Списание'],
            'params' => ['multiple' => 'Y']
            ],
            ['id' => 'AMOUNT', 'name' => 'Сумма', 'type' => 'number'],
            ['id' => 'PAYER_INN', 'name' => 'ИНН Плательщика', 'type' => 'number'],
            ['id' => 'PAYER_NAME', 'name' => 'Плательщик'],
        ],
        'ENABLE_LIVE_SEARCH' => true,
        'ENABLE_LABEL' => true
    ]
);?>

Пресеты

Для создания пресетов используется параметр FILTER_PRESETS в который необходимо передавать ассоциативный массив, где в качестве ключа указывается идентификатор пресета, а в качестве значения параметры пресета.

"FILTER_PRESETS" => [
    "myPresetId" => [
        "name" => 'Название пресета',
        "default" => 'true', // если true - пресет по умолчанию
        "fields" => [
            "FIELD_1_ID" => "field_1_value",
            "FIELD_2_ID" => "field_2_value",
        ]
    ]
]

Особенности работы с некоторыми типами полей

Тип list - список.

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

Ключ | Тип | Значение по умолчанию | Описание
params | array | array("multiple" => "N") | Определяет параметры списка. Может содержать свойство multiple со значением "Y"|"N", свойство определяет будет ли список множественным.
items | array | array("Не указано") | Ассоциативный массив определяющий элементы списка.
// Пример 1. Список с одиночным выбором
array(
   "id" => "MARK",
   "name" => "Оценка",
   "type" => "list",
   "items" => array(
      "P" => "Положительная",
      "N" => "Отрицательная",
   )
)

// Пример 2. Список с множественным выбором.
array(
   "id" => "PARAMS",
   "name" => "Параметры задачи",
   "type" => "list",
   "params" => array(
      "multiple" => "Y",
   ),
   "items" => array(
      "MARKED" => "Оценены",
      "IN_REPORT" => "В отчете",
      "OVERDUED" => "Завершены не в срок",
      "ANY_TASK" => "Показать задачи, в которых я не участвую",
   )
)

Поле типа date

Поля типа дата могут поддерживать несколько типов значений объявленных в \Bitrix\Main\UI\Filter\DateType. Например, “точная дата”, “диапазон”, “последние N дней” и т. п. Для исключения значений:
array(
   "id" => "DATE_START",
   "name" => "Дата начала",
   "type" => "date",
   "exclude" => array(
      \Bitrix\Main\UI\Filter\DateType::LAST_7_DAYS,
      \Bitrix\Main\UI\Filter\DateType::LAST_30_DAYS,
      \Bitrix\Main\UI\Filter\DateType::LAST_60_DAYS,
      \Bitrix\Main\UI\Filter\DateType::LAST_90_DAYS
   )
)
Для включения поддержки времени используйте свойство time:
array(
   "id" => "DATE_START",
   "name" => "Дата начала",
   "type" => "date",
   "time" => true
)

Тип custom_entity

Реализует пользовательский и программный интерфейс для взаимодействия с данными вне фильтра. Например выбор сущности CRM, выбор группы, пользователя и т. п.
Ключ | Тип | Значение по умолчанию | Описание
valueType | string | " " | Определяет тип возвращаемого значения. Может принимать значение "numeric" или пустую строку. Если указано "numeric" то в качестве значения будет возвращаться 1/0, если не указано или казано значение отличное от "numeric" то будет возвращаться Y/N
params | array | array("multiple" => "N") | Определяет параметры поля. Может содержать свойство multiple со значением "Y"/"N", свойство определяет будет ли поддержка множественного выбора.

Пример работы:

// Добавляем поле в фильтр
array(
   "id" => "CREATED_BY",
   "name" => "Постановщик",
   "type" => "custom_entity"
)

// Создаем обработчики событий
BX.addCustomEvent('BX.Main.Filter:customEntityFocus', onFieldFocus);
BX.addCustomEvent('BX.Main.Filter:customEntityBlur', onFieldBlur);

function onFieldFocus(Field) {
   // Устанавливаем ссылку на контейнер окна
   // BX.Main.ui.CustomEntity.setPopupContainer(container)
   // Показываем всплывающее окно
}

function onFieldBlur() {
   // Скрываем окно
}

Диалог выбора сущностей. Тип entity_selector

Примечание: С версии 21.200.0 Главного модуля (main) в компонент main.ui.filter добавлена поддержка диалога выбора сущностей.

Реализует интерфейс выбора элементов через EntitySelector: диалог выбора сущностей.

В качестве базового поля использует описанный выше тип custom_entity. Пользовательский интерфейс реализован как текстовое поле с вставляемыми в него значениями.

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

Ключ | Тип | Обязательное | Значение по умолчанию | Описание
multiple | Bool | Нет | array('multiple' => 'N') | Принимает значения 'Y'|'N'. Определяет будет ли выбор сущностей множественным.
addEntityIdToResult | Bool | Нет | array('addEntityIdToResult' => 'N') | Принимает значения 'Y'|'N'. Определяет, необходимо ли добавлять идентификатор типа сущности к формируемому значению.
dialogOptions | Array | Нет | - | Ассоциативный массив определяющий настройки диалога выбора сущностей.

При addEntityIdToResult=Y выбранное значение будет сформировано в виде массива в JSON формате. Массив содержит два элемента:

  • идентификатор типа сущности;
  • идентификатор самой сущности (по аналогии с ItemId у EntitySelector).

Этот флажок имеет смысл использовать, если для выбора доступно несколько разных типов сущностей.

Структура массива dialogOptions соответствует полям объекта DialogOptions диалога выбора сущностей. Соответственно поддерживаются и динамические и статические списки элементов.

Примеры

Пример 1. Выбор пользователя

$field = [
   'id' => 'USER_ID',
   'name' => 'Пользователь',
   'type' => 'entity_selector',
   'params' => [
       'multiple' => 'Y',
       'dialogOptions' => [
           'height' => 240,
           'context' => 'filter',
           'entities' => [
               [
                   'id' => 'user',
                   'options' => [
                       'inviteEmployeeLink' => false
                   ],
               ],
               [
                   'id' => 'department',
               ]
           ]
       ],
   ],
];

Пример 2. Выбор из статического списка

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

$field = [
   'id' => 'STUFF',
   'name' => 'Всякое разное',
   'type' => 'entity_selector',
   'params' => [
       'multiple' => 'N',
       'addEntityIdToResult' => 'Y',
       'dialogOptions' => [
           'items' => [
               [ 'id' => 1, 'entityId' => 'my-entity', 'title' => 'Пункт A', 'tabs' => 'my-tab' ],
               [ 'id' => 2, 'entityId' => 'my-entity', 'title' => 'Пункт B', 'tabs' => 'my-tab' ],
               [ 'id' => 3, 'entityId' => 'my-entity', 'title' => 'Пункт C', 'tabs' => 'my-tab' ],
               [ 'id' => 1, 'entityId' => 'my-user', 'title' => 'Иван Иванов', 'tabs' => 'my-tab' ],
               [ 'id' => 2, 'entityId' => 'my-user', 'title' => 'Константин Константинопольский', 'tabs' => 'my-tab' ],
               [ 'id' => 'USD', 'entityId' => 'my-currency', 'title' => 'Американский Доллар', 'tabs' => 'my-tab' ],
           ],
           'tabs' => [
               [ 'id' => 'my-tab', 'title' => 'Моя вкладка' ]
           ],
           'showAvatars' => false,
       ]
   ],
];


main.user.selector

Описание

Компонент main.user.selector представляет собой готовый к встраиванию в форму контрол для выбора сущностей различных типов.

В физической структуре его можно найти в папке /bitrix/components/bitrix/main.user.selector.

Параметры

Параметр | Описание
ID | Уникальный ID селектора (тип значения - строка).
API_VERSION | Версия API селектора (тип значения - число: по умолчанию - 2, поддерживается также 3 - с сохранением выбранной сущности в "Последних" сразу после ее выбора).
LIST | Массив кодов сущностей, подставляемых в качестве уже выбранных. Например: [ 'U1', 'SG2', 'DR3' ].
INPUT_NAME | Имя поля формы, в котором будет передано выбранное значение (значения). Для того, чтобы использовать множественный выбор, применяйте значение вида FIELD[ ].
USE_SYMBOLIC_ID | Принимает значение true или false. Использовать символьный код сущности вместо числового. По умолчанию - false, но если вы планируете выбирать сущности разных типов - используйте true.
BUTTON_SELECT_CAPTION | Языковое сообщение для элемента управления, открывающего селектор, если не выбран ни один элемент (по умолчанию - "выбрать").
BUTTON_SELECT_CAPTION_MORE | Языковое сообщение для элемента управления, открывающего селектор, если выбран хотя бы один элемент (по умолчанию - "выбрать").
OPEN_DIALOG_WHEN_INIT | Открывать ли попап селектора сразу после инициализации контрола (а не по клику на него). Принимает значение true или false. По умолчанию false.
UNDELETABLE | Массив кодов сущностей, которые должны отображаться в селекторе без возможности удаления.
LAZYLOAD | Откладывать ли загрузку данных в селектор (при пустом значении параметра LIST) до открытия селектора. Принимает значения Y/N. По умолчанию - N, т.е. загружать данные сразу.
SELECTOR_OPTIONS | Набор опций для передачи в контрол-попап выбора.

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

// давать ли возможность выбора сущности "Всем сотрудникам" (с кодом UA)
<?
$APPLICATION->IncludeComponent(
'bitrix:main.user.selector',
' ',
[
   "ID" => "mail_client_config_queue",
   "API_VERSION" => 3,
   "LIST" => array_keys($crmQueueSelected),
   "INPUT_NAME" => "fields[crm_queue][]",
   "USE_SYMBOLIC_ID" => true,
   "BUTTON_SELECT_CAPTION" => Loc::getMessage("MAIL_CLIENT_CONFIG_CRM_QUEUE_ADD"),
   "SELECTOR_OPTIONS" =>
    [
      "departmentSelectDisable" => "Y",
      'context' => 'MAIL_CLIENT_CONFIG_QUEUE',
      'contextCode' => 'U',
      'enableAll' => 'N',
      'userSearchArea' => 'I'
    ]
]
);
?>


Опции SELECTOR_OPTIONS

SELECTOR_OPTIONS - параметр компонента main.user.selector, набор опций для передачи в контрол-попап выбора.

Общие опции

Опция | Описание
context | Контекст, который будет использоваться для сортировки последних выбранных сущностей (из того же контекста - поднимается выше по сортировке).
contextCode Для ускорения выборки последних полученных сообщений (по умолчанию - не используется).Значения поля CODE_TYPE в таблице b_finder_dest:
  • для пользователей - U
  • для рабочих групп - SG
  • для сущностей CRM - CRM
  • для отделов - D
Есть смысл использовать, если вы выбираете в селекторе сущности только одного типа.

Опции для различных типов сущностей

В настоящий момент стандартно поддерживаются сущности:

  • абстрактные группы;
  • пользователи;
  • рабочие группы и проекты;
  • отделы структуры компании;
  • сущности CRM (лиды, контакты, компании, сделки, коммерческие предложения, товары, заказы).
    •

    Абстрактные группы

    Примечание: если установлен модуль "Социальная сеть".

    Опция | Значения | По умолчанию | Описание
enableAll | Y/N | N | Возможность выбора сущности "Всем сотрудникам" (с кодом UA).
enableEmpty | Y/N | N | Возможность выбора сущности "Без значения" (с кодом EMPTY).
enableUserManager | Y/N | N | Возможность выбора сущности "Начальнику" (с кодом USER_MANAGER).

    Пользователи

    Примечание: если установлен модуль "Социальная сеть".

    Опция | Значения | По умолчанию | Описание
    enableUsers | Y/N | Y | Возможность выбора пользователей. Остальные опции доступны если установлено значение Y.
    userSearchArea см. описание Не ограничена Область выбора. Значения:
    • I - только сотрудники;
    • E - только внешние пользователи.
    allowUserSearch | Y/N | Y | Возможность поиска пользователей.
    allowEmailInvitation | Y/N | N | Возможность добавления почтовых пользователей в случае поиска по email и отсутствия результатов (при наличии модуля "Почта").
    allowSearchEmailUsers | Y/N | N | Возможность поиска почтовых пользователей.
    allowSearchCrmEmailUsers | Y/N | N | Возможность поиска почтовых пользователей-контактов CRM.

    Рабочие группы

    Примечание: если установлен модуль "Социальная сеть".

    Опция | Значения | По умолчанию | Описание
enableSonetgroups | Y/N | N | Возможность выбора рабочих групп. Остальные опции доступны если установлено значение Y.
allowAddSocNetGroup | Y/N | N | Возможность добавления рабочих групп в случае поиска по названию и отсутствия результатов.
enableProjects | Y/N | N | Поддержка проектов (разделение на проекты и остальные рабочие группы).
sonetGroupsFeature | см. описание | Не используется | Ограничение по минимальному уровню прав доступа к функционалу рабочих групп. Поддерживается значение blog - сообщения, [dw]минимальный уровень[/dw][di]Минимальный уровень прав для сообщений, при котором группа будет выбрана.[/di] прав - premoderate_post (создание сообщения с премодерацией).
socNetGroupsSiteId | ID сайта | ID текущего сайта | Фильтрация рабочих групп по ID сайта.
landing | Y/N | N | Выбирать только рабочие группы для публикаций (при наличии модуля "Сайты 24").

    Отделы

    Примечание: если установлен модуль "Интранет".

    Опция | Значения | По умолчанию | Описание
enableDepartments | Y/N | N | Использование дерева отделов (в том числе - для выбора пользователей). Остальные опции доступны если установлено значение Y.
departmentSelectDisable | Y/N | Y | Отключение выбора отделов.
siteDepartmentId | ID | ID для текущего сайта | Идентификатор корневого отдела, относительно которого строится дерево отделов.
departmentFlatEnable | Y/N | N | Возможность выбора отдела без учета подотделов.

    Сущности CRM

    Примечание: если установлен модуль "CRM".

    Опция | Значения | По умолчанию | Описание
    enableCrm | Y/N | N | Возможность выбора CRM-сущностей, остальные опции доступны если установлено значение Y.
    crmPrefixType SHORT/FULL FULL Тип префикса для возвращаемых кодов CRM-сущностей SHORT/FULL:
    • для лидов: L_/CRMLEAD
    • для контактов: C_/CRMCONTACT
    • для компаний: CO_/CRMCOMPANY
    • для сделок: D_/CRMDEAL
    • для товаров: PROD_/CRMPRODUCT
    • для коммерческих предложений: Q_/CRMQUOTE
    • для заказов: O_/CRMORDER
    onlyWithEmail | Y/N | N | Искать CRM-сущности только с заданным email.
    returnItemUrl | Y/N | N | Делать ли выбранную CRM-сущность кликабельной.
    enableCrmLeads | Y/N | N | Возможность выбора лидов CRM. Остальные опции, посвященные лидам, доступны если установлено значение Y.
    addTabCrmLeads | Y/N | N | Добавить ли в диалог выбора вкладку "Лиды".
    enableCrmContacts | Y/N | N | Возможность выбора контактов CRM. Остальные опции, посвященные контактам, доступны если установлено значение Y.
    addTabCrmContacts | Y/N | N | Добавить ли в диалог выбора вкладку "Контакты".
    enableCrmCompanies | Y/N | N | Возможность выбора компаний CRM. Остальные опции, посвященные компаниям, доступны если установлено значение Y.
    addTabCrmCompanies | Y/N | N | Добавить ли в диалог выбора вкладку "Компании".
    onlyMyCompanies | Y/N | N | Выбирать только "Мои компании".
    enableCrmDeals | Y/N | N | Возможность выбора сделок CRM. Остальные опции, посвященные сделкам, доступны если установлено Y.
    addTabCrmDeals | Y/N | N | Добавить ли в диалог выбора вкладку "Сделки".
    enableCrmProducts | Y/N | N | Возможность выбора товаров CRM. Остальные опции, посвященные товарам, доступны если установлено значение Y.
    addTabCrmProducts | Y/N | N | Добавить ли в диалог выбора вкладку "Товары".
    enableCrmQuotes | Y/N | N | Возможность выбора коммерческих предложений CRM. Остальные опции, посвященные предложениям, доступны если установлено значение Y.
    addTabCrmQuotes | Y/N | N | Добавить ли в диалог выбора вкладку "Предложения".
    enableCrmOrders | Y/N | N | Возможность выбора заказов CRM. Остальные опции, посвященные заказам, доступны если установлено значение Y.
    addTabCrmOrders | Y/N | N | Добавить ли в диалог выбора вкладку "Заказы".


Права доступа

С версии 20.0.1200 Главного модуля (main) добавлен API для работы с новыми правами доступа.

Библиотека предназначена для упрощения и стандартизации работы с правами доступа пользователей в модулях.

Терминология

Термин | Описание
Пользователь | Авторизованный пользователь системы. Обязательно имеет свой идентификатор (id).
Группа пользователей | Объединение пользователей, предоставляемое главным модулем: администраторы, сотрудники и т.д.
Access code | Объединение пользователей по какому-либо критерию. Например: пользователи, состоящие в конкретной рабочей группе; сотрудники отдела и т.д. Предоставляется модулем main и хранится в таблице b_user_access.
Действие | Действие (операция), совершаемое пользователем. Например: сохранение записи.
Разрешение доступа | Конкретное право, предоставляемое пользователю. Например: редактирование своих записей или редактирование всех записей.
Правило доступа | Набор логики, учитывающий предоставленные пользователю права и другие факторы, и разрешающий или нет выполнение выбранного действия.
Роль | Связь между access кодами и выбранными правами доступа.


Общая концепция

С версии 20.0.1200 Главного модуля (main) добавлен API для работы с новыми правами доступа.

Библиотека предназначена для упрощения и стандартизации работы с правами доступа пользователей в модулях.

Терминология

Термин | Описание
Пользователь | Авторизованный пользователь системы. Обязательно имеет свой идентификатор (id).
Группа пользователей | Объединение пользователей, предоставляемое главным модулем: администраторы, сотрудники и т.д.
Access code | Объединение пользователей по какому-либо критерию. Например: пользователи, состоящие в конкретной рабочей группе; сотрудники отдела и т.д. Предоставляется модулем main и хранится в таблице b_user_access.
Действие | Действие (операция), совершаемое пользователем. Например: сохранение записи.
Разрешение доступа | Конкретное право, предоставляемое пользователю. Например: редактирование своих записей или редактирование всех записей.
Правило доступа | Набор логики, учитывающий предоставленные пользователю права и другие факторы, и разрешающий или нет выполнение выбранного действия.
Роль | Связь между access кодами и выбранными правами доступа.

Общая концепция

В качестве основы для реализации контроля доступа выбрана rule based модель:

  1. Cоставляется список действий, которые может совершить пользователь;
  2. Cоставляется список разрешений, которые могут быть включены для пользователя;
  3. Для каждого действия описывается правило доступа (на основе разрешений или каких-то других факторов);
  4. Контроллер на основе входных данных (действие, пользователь или любая дополнительная информация) находит нужное правило, выполняет его и возвращает результат;
  5. Клиентский код определяет, что делать с результатом.

Система прав доступа предполагается независимой в каждом модуле, со своим набором действий, прав и правил, и со своими таблицами в БД для хранения настроек. Общее API лишь предоставляет единый подход, необходимые классы и методы, но их использование не обязательно.

Работа с БД

Предполагается, что каждый модуль будет хранить роли и права доступа в своих таблицах. API предоставляет базовые классы для упрощения работы с ORM:

Класс | Описание
Bitrix\Main\Access\Permission\AccessPermissionTable | Класс для работы с таблицей для хранения разрешений. Поддерживает иерархию разрешений и содержит необходимые для этого проверки.
Bitrix\Main\Access\Role\AccessRoleTable | Класс для работы с таблицей для хранения ролей.
Bitrix\Main\Access\Role\AccessRoleRelationTable | Класс для работы с таблицей для хранения связей между ролями и пользователями (access кодами пользователей).

Роли

Роль используется для обеспечения связи между access кодами пользователей и разрешениями. Если какой-то пользователь находится в нескольких ролях, то он получит все права, доступные этим ролям (сумму прав).

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

Разрешения

Для работы со списком разрешений реализован базовый класс справочника Bitrix\Main\Access\Permission\PermissionDictionary, предоставляющий методы для:

  • получения списка всех разрешений;
  • получения названий, подсказок и их переводов;
  • работы с иерархией в разрешениях (см. ниже).

При этом предполагается, что как таковые разрешения будут записаны в словарь в виде констант. Аналогичный пример можно посмотреть в модуле tasks: Bitrix\Tasks\Access\Permission\PermissionDictionary .

Иерархия разрешений

Из коробки поддерживается возможность создания разрешений, зависящих от других разрешений. Для примера возьмем следующий набор прав:

Редактирование записей

  • Редактирование записей в своем отделе;
  • Редактирование всех записей.

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

С технической точки зрения это реализуется с помощью особого формата значений в PermissionDictionary (используется material path нотация), вложенность при этом не ограничена. Пример:

const
  PERMISSION_EDIT = '1',
  PERMISSION_EDIT_DEPARTMENT = '1.1',
  PERMISSION_EDIT_ALL = '1.2';

Отдельно стоит отметить причины по которым используется именно такая запись:

  • константы легко отслеживать по коду с помощью IDE;
  • не требуется дополнительная запись о родительском элементе;
  • в целом компактный формат, удобный для записи словаря и чтения его человеком.

Контроллер

Единой точкой входа для проверки прав доступа в рамках модуля выступает контроллер, удовлетворяющий интерфейсу AccessibleController и, в общем случае, являющийся наследником BaseAccessController.

В каждом модуле, где предполагается использование, необходимо создавать свой контроллер. В минимальном случае достаточно отнаследоваться от BaseAccessController и реализовать два метода:

protected function loadItem(int $itemId = null): AccessibleItem
{
   //...
}

protected function loadUser(int $userId): AccessibleUser
{
   //...
}

Базовый контроллер предоставляет два способа использования (на примере модуля tasks).

Полный (об используемых моделях описано ниже):

$userModel = UserModel::createFromId($userId);
$item = TaskModel::createFromId($taskId);
$params = [];
$result = (new TaskAccessController($userModel))->check($action, $item, $params);

И упрощенный:

$result = TaskAccessController::can($userId, $action, $itemId, $params);

Кроме этого существует возможность пакетной проверки доступа к набору действий над одной сущностью:

$request = [
  $actionId => $params
];
$result = (new TaskAccessController($userModel))->batchCheck($request, $item);

В ответе такой запрос вернет массив $actionId => $result

В контроллере реализован статический кеш по пользователю, позволяющий сократить количество запросов к БД. Что бы получить уже созданный экземпляр, можно воспользоваться методом getInstance($userId).

Модели

Проверка прав доступа на базовом уровне работает с двумя моделями:

  • AccessibleUser - предоставляет необходимую информацию и методы о пользователе, совершающем действие. Для удобства реализован базовый класс UserModel. UserModel может быть создан из id пользователя или заполнен свойствами вручную.
  • AccessibleItem - модель сущности, над которой выполняются действия.

UserModel из коробки предоставляет методы, удобные для использования в правилах:

  • isAdmin() - проверка, является ли пользователь администратором;
  • getPermission(string $permissionId) - значение указанного разрешения для пользователя;
  • getUserDepartments() - список отделов пользователя;
  • getAccessCodes() - список access кодов пользователя;
  • getSubordinate($userId) - отношения в иерархии компании с указанным пользователем (об этом ниже).

Bitrix\Main\Access\User\UserSubordinate

Вспомогательный класс, обеспечивает удобную работу с иерархией в компании. Необходим, т.к. один из часто встречающихся сценариев: начальник пользователя должен иметь не меньше прав, чем сам пользователь.

UserSubordinate::getSubordinate($userId) - позволяет определить кем является указанный пользователь по отношению к текущему.

Возможные варианты:

  • UserSubordinate::RELATION_HIMSELF - один и тот же человек;
  • UserSubordinate::RELATION_DEPARTMENT - сотрудники одного отдела;
  • UserSubordinate::RELATION_SUBORDINATE - подчиненный;
  • UserSubordinate::RELATION_DIRECTOR - начальник;
  • UserSubordinate::RELATION_OTHER_DIRECTOR - начальник другого отдела;
  • UserSubordinate::RELATION_OTHER - все прочее (возможно получить, если, к примеру, не установлен модуль intranet).

Перехват управления

Для расширения функционала и перехвата управления реализована работа с событиями:

Событие | Описание
Bitrix\Main\Access\Event\EventDictionary::EVENT_ON_BEFORE_CHECK | Вызывается перед проверкой доступа по конкретному правилу.
Bitrix\Main\Access\Event\EventDictionary::EVENT_ON_AFTER_CHECK | Вызывается после того как отрабатывает проверка по конкретному правилу.

В события передается следующий набор параметров:

[
   'user' // AccessibleUser
   'item' // AccessibleItem
   'action' // string действие, выполняемое пользователем
   'params' // misc любые дополнительные параметры
   'isAccess' // null|bool результат работы правила
]

Каждый обработчик, висящий на каком-либо событии должен вернуть объект Bitrix\Main\Access\Event\EventResult. Любые прочие значения будут проигнорированы.

Если хотя бы один из обработчиков вернул запрет, то в доступе будет отказано. Кроме этого, если событие onBeforeCheck возвращает конкретный результат, то выполнение прерывается и контроллер возвращает полученный результат.


Компонент BX.UI.AccessRights

Из коробки предоставляется компонент, обеспечивающий отрисовку таблицы с настройкой прав доступа: BX.UI.AccessRights.

Для работы этого компонента требуется инициализация системного компонента bitrix:main.ui.selector, который обеспечивает выбор сотрудников для привязки к ролям.

Компонент обеспечивает решение двух проблем:

  1. Отрисовку существующих настроек;
  2. Сохранение изменений в настройках.

Для отрисовки необходимо передать два параметра:

  • userGroups - роли, разрешения и привязанные пользователи
[
    'id' => 1, // id роли, для новых - 0
    'title' => 'Менеджер', // название роли
    'accessRights' => [ // список прав и значений
        0 => [
            'id' => 1, // id, соответствует константам в PermissionDictionary
            'value' => 0
        ]
    ],
    'members' => [ // список участников в роли
        'U2' => [ // access code участника
            'type' => 'users', // тип для JS, доступные описаны в main/install/components/bitrix/main.ui.selector/templates/.default/script.js
            'id' => 2,
            'name' => 'Test User',
            'url' => '',
            'avatar' => null
        ]
    ]
]
  • accessRights - настройки, разбитые по секциям
[
  0 => [
    'sectionTitle' => 'Задачи', // название секции
    'rights' => [ // список прав
      0 => [
        'id' => 1, // id, соответствует PermissionDictionary
        'type' => 'toggler', // тип, на текущий момент только toggler - переключатель
        'title' => 'Редактирование', // название
        'hint' => null // если задано, то будет выведена иконка с подсказкой
      ]
    ]
  ]
]

Для сохранения изменений компонент формирует стандартный ajax запрос с данными. В качестве адреса использует имя целевого компонента и название действия (по умолчанию используются save, delete, load).

Целиком вызов компонента будет выглядеть следующим образом:

<?php

\Bitrix\Main\Loader::includeModule('ui');
\Bitrix\Main\UI\Extension::load(['ui.buttons', 'ui.icons', 'ui.notification', 'ui.accessrights']);
?>

<span id="bx-access-group"></span>

<?
$APPLICATION->IncludeComponent(
   "bitrix:main.ui.selector",
   ".default",
   [
      'API_VERSION' => 3,
      'ID' => 'bx-access-group', // заменить на свое
      'BIND_ID' => 'bx-access-group', // заменить на свое
      'ITEMS_SELECTED' => [],
      'CALLBACK' => [
         'select' => "AccessRights.onMemberSelect",
         'unSelect' => "AccessRights.onMemberUnselect",
         'openDialog' => 'function(){}',
         'closeDialog' => 'function(){}',
      ],
      'OPTIONS' => [
         'eventInit' => 'tasks:onComponentLoad', // заменить на свое
         'eventOpen' => 'tasks:onComponentOpen', // заменить на свое
         'useContainer' => 'Y',
         'lazyLoad' => 'Y',
         'context' => 'TASKS_PERMISSION',
         'contextCode' => '',
         'useSearch' => 'Y',
         'useClientDatabase' => 'Y',
         'allowEmailInvitation' => 'N',
         'enableAll' => 'N',
         'enableUsers' => 'Y',
         'enableDepartments' => 'Y',
         'enableGroups' => 'Y',
         'departmentSelectDisable' => 'N',
         'allowAddUser' => 'Y',
         'allowAddCrmContact' => 'N',
         'allowAddSocNetGroup' => 'N',
         'allowSearchEmailUsers' => 'N',
         'allowSearchCrmEmailUsers' => 'N',
         'allowSearchNetworkUsers' => 'N',
         'useNewCallback' => 'Y',
         'multiple' => 'Y',
         'enableSonetgroups' => 'Y',
         'showVacations' => 'Y',
      ]
   ],
   false,
   ["HIDE_ICONS" => "Y"]
);
?>

<div id="bx-config-permissions"></div>
<script>
   let AccessRights = new BX.UI.AccessRights({
      component: 'bitrix:tasks.config.permissions',
      actionSave: 'save',
      actionDelete: 'delete',
      renderTo: document.getElementById('bx-config-permissions'),
      userGroups: <?= CUtil::PhpToJSObject($arResult['USER_GROUPS']) ?>,
      accessRights: <?= CUtil::PhpToJSObject($arResult['ACCESS_RIGHTS']); ?>,
      initPopupEvent: '<?= $initPopupEvent ?>',
      openPopupEvent: '<?= $openPopupEvent ?>',
      popupContainer: '<?= $componentId ?>',
   });

   AccessRights.draw();
   setTimeout(function(){
      BX.onCustomEvent('<?= $initPopupEvent ?>', [{openDialogWhenInit: false}])
   }, 1000);
</script>

<?php
   $APPLICATION->IncludeComponent('bitrix:ui.button.panel', '', [
      'HIDE'    => true,
      'BUTTONS' => [
         [
            'TYPE'    => 'save',
            'ONCLICK' => 'AccessRights.sendActionRequest()',
         ],
         [
            'TYPE'    => 'cancel',
            'ONCLICK' => 'AccessRights.fireEventReset()'
         ],
      ],
   ]);
?>

Отрисовка иконок, причастных к ролям

Для отрисовки иконок пользователей, групп и тд, привязанных к конкретной роли используется класс \Bitrix\Main\UI\AccessRights\DataProvider.

(new DataProvider())→getEntity($type, $id); - вернет всю необходимую для UI информацию по указанному типу и id сущности.


Пример интеграции прав доступа

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

  1. Первым шагом определяем список доступных действий:
    <?php
namespace Bitrix\Example\Access;

class ActionDictionary
{
  public const
    ACTION_CREATE = 'create',
    ACTION_EDIT = 'edit';
}
  2. Cоздаем словарь разрешений:
    <?php
namespace Bitrix\Example\Access\Permission;

class PermissionDictionary
  extends \Bitrix\Main\Access\Permission\PermissionDictionary
{
  public const
    EXAMPLE_CREATE = 1, // право создавать записи
    EXAMPLE_EDIT_OWN = 2, // право редактировать свои записи
    EXAMPLE_EDIT_ALL = 3; // право редактировать все записи
}
  3. И языковой файл к нему:
    <?php
$MESS["EXAMPLE_CREATE"] = "Создание записей";
$MESS["EXAMPLE_EDIT_OWN"] = "Редактирование своих записей";
$MESS["EXAMPLE_EDIT_ALL"] = "Редактирование всех записей";

// блок ниже не обязателен, но если какие-то строчки указаны, то будут выведены как подсказки в таблице настройки прав
$MESS["HINT_EXAMPLE_EDIT_ALL"] = "Данное право позволит пользователю редактировать абсолютно все записи.";
  4. Создаем ORM классы:
    • <?php
namespace Bitrix\Example\Access\Permission;

use Bitrix\Main\Access\Permission\AccessPermissionTable;

class ExamplePermissionTable extends AccessPermissionTable
{
   public static function getTableName()
   {
      return 'b_example_permission';
   }
}

    • <?php
namespace Bitrix\Example\Access\Role;

use Bitrix\Main\Access\Role\AccessRoleTable;

class ExampleRoleTable extends AccessRoleTable
{

   public static function getTableName()
   {
      return 'b_example_role';
   }
}

    • <?php
namespace Bitrix\Example\Access\Role;

use Bitrix\Main\Access\Role\AccessRoleRelationTable;

class ExampleRoleRelationTable extends AccessRoleRelationTable
{
   public static function getTableName()
   {
      return 'b_example_role_relation';
   }
}
  5. Создаем контроллер:
    <?php
namespace Bitrix\Example\Access;

use Bitrix\Main\Access\User\AccessibleUser;
use Bitrix\Main\Access\BaseAccessController;
use Bitrix\Main\Access\Model\UserModel;
use Bitrix\Main\Access\AccessibleItem;

class ExampleAccessController extends BaseAccessController
{
   protected function loadItem(int $itemId = null): AccessibleItem
   {
      return ExampleModel::createFromId($itemId); // создание модели записи оставим за кадром, у всех свое
   }

   protected function loadUser(int $userId): AccessibleUser
   {
      return UserModel::createFromId($userId);
   }
}
  6. Переходим к созданию необходимых правил. В нашем примере определено два действия (две операции), значит необходимо два правила. В качестве примера реализуем правило для редактирования записи.
    <?php

namespace Bitrix\Example\Access\Rule;

use Bitrix\Main\Access\AccessibleItem;
use Bitrix\Example\Access\Permission\PermissionDictionary;

class ExampleEditRule extends \Bitrix\Main\Access\Rule\AbstractRule
{
   public function execute(AccessibleItem $item = null, $params = null): bool
   {
      // админ может все
      if ($this->user->isAdmin())
      {
         return true;
      }

      // пользователи с правом редактировать все записи
      if ($this->user->getPermission(PermissionDictionary::EXAMPLE_EDIT_ALL))
      {
        return true;
      }

      // пользователи с правом редактировать свои записи
      if (
        $item->getOwnerId() === $this->user->getUserId()
        && $this->user->getPermission(PermissionDictionary::EXAMPLE_EDIT_OWN)
      )
      {
        return true;
      }

      return false;
   }
}
  7. Последний шаг. Расставим проверку в нужных местах кодах (как правило, в компонентах, обрабатывающих действия пользователей):
    if (!ExampleAccessController::can($userId, ActionDictionary::ACTION_CREATE))
{
  // 403 error
}

Для настройки прав необходимо создать компонент на базе BX.UI.AccessRights. Также можно посмотреть пример в tasks/install/components/bitrix/tasks.config.permissions.


AccessDeniedException

AccessDeniedException - исключения когда доступ запрещён. Расширение класса SystemException.

Метод | Описание | С версии
Конструктор |  |


Конструктор AccessDeniedException

 public
\Bitrix\Main\AccessDeniedException::__construct(
);

Нестатический метод создаёт новый объект исключения.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Application

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

Application - абстрактный класс для любых приложений. Любой конкретный класс приложения является наследником этого абстрактного класса.

Приложение является базовой точкой входа (маршрутизатором) для обращения к глобальным сущностям ядра: соединение с источниками данных, управляемый кеш и т.п. Также приложение содержит глобальные данные, которые относятся к самому сайту и не зависят от конкретного хита. То есть, приложение является неизменяемой частью, не зависящей от конкретного хита.

Обращается к пространству имён

  • \Main\Data;
  • \Main\Diag;
  • \Main\IO

Дополнительно о приложениях [image].

Примеры

Объект приложения можно получить так:

$application = Application::getInstance();

Из класса приложения можно получить, например, соединение с БД и document_root:

$docRoot = Application::getDocumentRoot()
$connection = Application::getConnection();

Методы класса

Метод | Описание | С версии
addBackgroundJob | Метод добавляет фоновое задание, выполняющееся после отдачи контента браузеру. | 20.5.0
getCache | Возвращает новый экземпляр объекта кеша |
getConnection | Возвращает соединение с базой данных указанного имени | 14.0.0
getConnectionPool | Возвращает объект пула соединений базы данных. | 14.0.0
getContext | Возвращает содержание текущего соединения. |
getDocumentRoot | Возвращает document root сервера. |
getInstance | Возвращает текущий экземпляр приложения. |
getManagedCache | Возвращает управление управляемым кешем. |
getPersonalRoot | Возвращает путь к персональной директории. |
getTaggedCache | Метод управляет тегированным кешем. | 14.0.18
initializeBasicKernel | Метод производит первичную инициализацию ядра. |
initializeExtendedKernel | Метод производит полную инициализацию ядра. |
isUtfMode | Метод вернёт true если сервер работает в utf-8 |
resetAccelerator | Метод производит перезапуск акселлератора. |
setContext | Метод изменяет содержание текущего запроса. |
start | Метод запускает выполнение запроса. |


addBackgroundJob

public \Bitrix\Main\Application::addBackgroundJob(
    callable $job,
    array $args = [],
    int $priority
);

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

Параметры

Параметр | Тип | Описание | Версия
$job | сallable | Указывается, что вызывать.
$args | array | Массив параметров, с которыми вызывать $job.
$priority int Приоритет задания. Значение по умолчанию: \Bitrix\Main\Application::JOB_PRIORITY_NORMAL.

Значения приоритета, доступные в классе Application:

  • const JOB_PRIORITY_NORMAL = 100
  • const JOB_PRIORITY_LOW = 50

Пример

Добавление проверки и запуска агента (CAgent::CheckAgents() [image]) в фоновое задание.

\Bitrix\Main\Application::getInstance()->addBackgroundJob(
    ["CAgent", "CheckAgents"],
    [],
    \Bitrix\Main\Application::JOB_PRIORITY_LOW
);


getCache

\Bitrix\Main\Data\Cache public
\Bitrix\Main\Application::getCache(
);

Возвращает новый экземпляр объекта кеша. Нестатический метод.

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getConnection

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

\Bitrix\Main\DB\Connection public static
\Bitrix\Main\Application::getConnection(
 string $name = ""
);

Статический метод возвращает соединение с базой данных указанного имени. Если параметр name - пустой, то возвращается соединение по умолчанию.

Параметры

Параметр | Описание | Версия
$name | Название соединения. Если пустое - то соединение по умолчанию. |

Примеры

Как из класса приложения получить соединение с БД

$connection = Application::getConnection();
use Bitrix\Main\Application;
use Bitrix\Main\Diag\Debug;

$record = Application::getConnection()
->query("select 1+1;")
->fetch();
Debug::writeToFile($record);

Получить имя подключённой базы:

\Bitrix\Main\Application::getConnection()->getDatabase()


getConnectionPool

\Bitrix\Main\Data\ConnectionPool public
\Bitrix\Main\Application::getConnectionPool(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getContext

\Bitrix\Main\Context public
\Bitrix\Main\Application::getContext(
);

Нестатический метод возвращает содержание текущего соединения.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDocumentRoot

null|string public static
\Bitrix\Main\Application::getDocumentRoot(
);

Статический метод возвращает document root сервера.

Обратите внимание: вместо $_SERVER["DOCUMENT_ROOT"] сейчас можно использовать Bitrix\Main\Application::getDocumentRoot().

Без параметров

Примеры

Как из класса приложения получить document_root:

$docRoot = Application::getDocumentRoot()


getInstance

\Bitrix\Main\Application public static
\Bitrix\Main\Application::getInstance(
);

Статический метод возвращает текущий экземпляр приложения.

Без параметров

Исключения

  • \Bitrix\Main\SystemException

Примеры

Объект приложения можно получить так:

$application = Application::getInstance();

$cache = \Bitrix\Main\Application::getInstance()->getManagedCache();
$cache->clean("b_module_to_module");


getManagedCache

\Bitrix\Main\Data\ManagedCache public
\Bitrix\Main\Application::getManagedCache(
);

Нестатический метод возвращает объект управляемого кеша.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPersonalRoot

null|string public static
\Bitrix\Main\Application::getPersonalRoot(
);

Статический метод возвращает путь к персональной директории (относительно document root).

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTaggedCache

\Bitrix\Main\Data\TaggedCache public
\Bitrix\Main\Application::getTaggedCache(
);

Нестатический метод возвращает объект тегированного кеша.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


initializeBasicKernel

 public
\Bitrix\Main\Application::initializeBasicKernel(
);

Нестатичный метод производит первичную инициализацию ядра.

Без параметров

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


initializeExtendedKernel

 public
\Bitrix\Main\Application::initializeExtendedKernel(
 array $params
);

Нестатический метод производит полную инициализацию ядра. Метод следует вызывать после метода initializeBasicKernel.

Параметры

Параметр | Описание | Версия
$params | Параметры текущего запроса (в зависимости от типа приложения). | 14.0.0

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isUtfMode

boolean public static
\Bitrix\Main\Application::isUtfMode(
);

Статический метод вернёт true если сервер работает в utf-8. И вернёт false в противном случае.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


resetAccelerator

 public static
\Bitrix\Main\Application::resetAccelerator(
);

Статический метод производит перезапуск акселлератора.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setContext

 public
\Bitrix\Main\Application::setContext(
 \Bitrix\Main\Context $context
);

Нестатический метод изменяет содержание текущего запроса.

Параметры

Параметр | Описание | Версия
$context |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


start

 public
\Bitrix\Main\Application::start(
);

Нестатический метод запускает выполнение запроса. Вызывается после методов инициализации.

Следует реализовывать как подкласс.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ArgumentException

ArgumentException - базовый класс исключений, связанных с входящими параметрами методов. Исключение выводится когда аргумент функции не валидный. Расширение класса Bitrix\Main\SystemException.

Метод | Описание | С версии
getParameter | Метод возвращает переданный в конструктор параметр. |
Конструктор | Метод создаёт новый объект исключения. |

См. также

  • SystemException


getParameter

 public
\Bitrix\Main\ArgumentException::getParameter(
);

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

Параметры

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор ArgumentException

 public
\Bitrix\Main\ArgumentException::__construct(
  $message = "",
  $parameter = "",
  \Exception $previous = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести какие-то действия, при создании объекта. Код ошибки конструктор задает как 100.

Параметры

Параметр | Описание | Версия
$message | Сообщение. |
$parameter | Параметр. Должен быть не пустым. |
$previous | Предыдущее исключение. Используется для построения цепочки исключений. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ArgumentNullException

ArgumentNullException - Исключение выводится когда передаётся пустое значение в метод который не принимает такого значения как валидное. Расширение класса Bitrix\Main\ArgumentException.

Метод | Описание | С версии
Конструктор | Метод создаёт новый объект исключения |

См. также

  • SystemException
  • Исключения [image] в курсе Разработчик Bitrix Framework


Конструктор ArgumentNullException

 public
\Bitrix\Main\ArgumentNullException::__construct(
   $parameter,
   \Exception $previous = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести какие-то действия, при создании объекта. Конструктор принимает параметр и автоматически формирует сообщение.

Параметры

Параметр | Описание | Версия
$parameter | Параметр. Должен быть не пустым. |
$previous | Предыдущее исключение. Используется для построения цепочки исключений. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ArgumentOutOfRangeException

ArgumentOutOfRangeException - Исключение выводится когда значение аргумента находится вне допустимого диапазона значений. Расширение класса Bitrix\Main\ArgumentException

Метод | Описание | С версии
getLowerLimitType | Метод возвращает нижний предел. |
getUpperType | Метод возвращает верхний предел. |
Конструктор | Метод создаёт новый объект исключений. |

См. также

  • SystemException
  • Исключения [image] в курсе Разработчик Bitrix Framework


getLowerLimitType

 public
Bitrix\Main\ArgumentOutOfRangeException::getLowerLimitType(
);

Нестатический метод возвращает нижний предел.

Параметры

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUpperType

 public
\Bitrix\Main\ArgumentOutOfRangeException::getUpperType(
);

Нестатический метод возвращает верхний предел.

Параметры

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор ArgumentOutOfRangeException

 public
\Bitrix\Main\ArgumentOutOfRangeException::__construct(
 string $parameter,
 null $lowerLimit = null,
 null $upperLimit = null,
 \Exception $previous = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести какие-то действия, при создании объекта.

Параметры

Параметр | Описание | Версия
$parameter | Аргумент, который создал исключение. |
$lowerLimit | Нижний предел возможных значений или массив возможных значений. |
$upperLimit | Верхний предел возможных значений. |
$previous | Предыдущее исключение. Используется для построения цепочки исключений. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ArgumentTypeException

ArgumentTypeException - Исключение выводится, когда тип аргумента не принимается функцией. Расширение класса Bitrix\Main\ArgumentException.

Метод | Описание | С версии
Конструктор | Метод создаёт новый объект исключения. |
getRequiredType | Метод возвращает тип, который пришел в конструктор. |

См. также

  • SystemException
  • Исключения [image] в курсе Разработчик Bitrix Framework


getRequiredType

 public
\Bitrix\Main\ArgumentTypeException::getRequiredType(
);

Нестатический метод возвращает тип, который пришел в конструктор.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор ArgumentTypeException

 public
\Bitrix\Main\ArgumentTypeException::__construct(
 string $parameter,
 string $requiredType = "",
 \Exception $previous = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести какие-то действия, при создании объекта.

Параметры

Параметр | Описание | Версия
$parameter | Аргумент, который создал исключение |
$requiredType | Требуемый тип |
$previous | Предыдущее исключение. Используется для построения цепочки исключений. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Authentication

Authentication - пространство имён для классов аутентификации пользователей

Класс | Описание | С версии
Application | Приложения аутентификации | 14.9.4
ApplicationManager | Класс менеджеров приложений | 14.9.4
ApplicationPasswordTable | Класс по работе с паролями. | 14.9.4


Application

Application - приложения аутентификации.

Обращается к пространству имён:

  • \Main
Метод | Описание | С версии
checkScope | Проверка валидности значений для приложения. |


checkScope

boolean public
\Bitrix\Main\Authentication\Application::checkScope(
);

Нестатический метод проверяет валидность значений для приложения.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ApplicationManager

ApplicationManager - класс менеджеров приложений.

Обращается к пространству имён:

  • \Main;
Метод | Описание | С версии
checkScope | Проверяет валидность значений для приложения |
getApplications | Возвращает сортированный массив с описанием возможных приложений |


checkScope

boolean public
\Bitrix\Main\Authentication\ApplicationManager::checkScope(
 string $applicationId
);

Нестатический метод проверяет валидность значений для приложения.

Параметры

Параметр | Описание | Версия
$applicationId | ID приложения |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getApplications

array public
\Bitrix\Main\Authentication\ApplicationManager::getApplications(
);

Нестатический метод возвращает сортированный массив с описанием возможных приложений:

array("ID" => array(
           "ID" => id приложения,
            "NAME" => имя приложения,
            "SORT" => индекс сортировки,
            "CLASS" => имя класса приложения
         ))

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ApplicationPasswordTable

ApplicationPasswordTable - класс по работе с паролями.

Обращается к пространству имён:

  • \Main\Entity;
  • \Main;

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
generatePassword | Метод создаёт случайный пароль. |
findPassword | Метод находит приложение по паролю пользователя |
findDigestPassword | Метод определяет приложение по digest авторизации пользователя. | 15.0.16


findDigestPassword

array|false public static
\Bitrix\Main\Authentication\ApplicationPasswordTable::findDigestPassword(
 integer $userId,
 array $digest
);

Статический метод определяет приложение по digest авторизации пользователя.

Параметры

Параметр | Описание | Версия
$userId | id пользователя |
$digest | массив параметра идентичен массиву CHTTP::ParseDigest. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


findPassword

array|false public static
\Bitrix\Main\Authentication\ApplicationPasswordTable::findPassword(
 integer $userId,
 string $password,
 boolean $passwordOriginal = true
);

Статический метод находит приложение по паролю пользователя. Возвращает массив с данными, либо false, если приложение не найдено.

Параметры

Параметр | Описание | Версия
$userId | id пользователя |
$password | пароль |
$passwordOriginal |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


generatePassword

string public static
\Bitrix\Main\Authentication\ApplicationPasswordTable::generatePassword(
);

Статический метод создаёт случайный пароль.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Config

Config - пространство имён для классов настроек.

Класс | Описание | С версии
Configuration | Класс настройки конфигурации | 12.0.7
Option | Класс для работы с параметрами модулей, хранимых в базе данных | 12.0.7
ConfigurationException | Класс для вывода ошибок в конфигурации. | 12.0.7

Подробнее о настройках [image] в курсе Разработчик Bitrix Framework.


Configuration

Configuration - Класс отвечает за глобальные настройки всего приложения. (Это то, что в старом ядре определяется константами [image].)

Класс оперирует единой базой настроек, которые хранятся в файле .settings.php. Данные хранятся произвольные. Например, для соединений может храниться целый пул данных для именованных соединений.

По самой структуре, файл настроек содержит параметр readonly для определенных секций, это означает, что данные настройки не будут изменены через API.

Обращается к пространству имён:

  • \Main;

Финальный класс, обеспечивает выполнение: \ArrayAccess, \Iterator, \Countable.

После внесения изменений нужно обязательно вызвать метод saveConfiguration, иначе эти изменения не сохранятся.

Метод | Описание | С версии
addReadonly | Метод изменяет параметры "только для чтения". |
add | Метод изменяет/добавляет параметры. |
get | Метод возвращает значения параметров. |
getInstance | Метод получает объект класса Configuration. |
getValue | Метод получает значение одного параметра. |
saveConfiguration | Метод сохраняет изменение конфигурации. |
wnc | Статический метод без параметров. Создает файл настроек .settings.php Важно! Метод заменит файл, если он уже существует. |


add

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Config>Configuration>add (с версии 12.0.7)

Configuration::add

public
\Bitrix\Main\Config\Configuration::add(
 string $name,
 array $value
);

Нестатический метод добавляет/изменяет конкретный параметр.

Параметры

Параметр | Описание | Версия
$name | Добавляемый параметр |
$value | Значение параметра |

Примеры

$configuration->add('cache', $cache);


addReadonly

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Config>Configuration>addReadonly (с версии 12.0.7)

Configuration::addReadonly

void public
\Bitrix\Main\Config\Configuration::addReadonly(
 string $name,
 array $value
);

Нестатический метод изменяет параметры "только для чтения".

Внимание! Данный метод следует использовать с осторожностью и только в том случае если вы понимаете что делаете!

Параметры

Параметр | Описание | Версия
$name | Изменяемый параметр |
$value | Новое значение параметра |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


get

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Config>Configuration>get (с версии 12.0.7)

Configuration::get

public function
\Bitrix\Main\Config\Configuration::get(
 string $name,
);

Нестатический метод возвращает значения параметров.

Параметры

Параметр | Описание | Версия
$name | Имя параметра. |

Примеры

Получаем объект конфигурации.

$config = \Bitrix\Main\Config\Configuration::getInstance();
$configConnections = $config->get("connections");
Далее
$exception_handling = $configuration->get('exception_handling');
$ac_reset = $configuration->get('no_accelerator_reset');
$status = $configuration->get('http_status');
$cache = $configuration->get('cache');
$cachettl = $configuration->get('cache_flags');
$cookies = $configuration->get('cookies');


getInstance

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Config>Configuration>getInstance (с версии 12.0.7)

Configuration::getInstance

public static
Bitrix\Main\Config\Configuration
Bitrix\Main\Config\Configuration::getInstance($moduleId = null);

Статический метод получает объект класса Configuration. Паттерн Singleton.

Параметры

Параметр | Описание | Версия
$moduleId | Название модуля. Позволяет получить настройки модуля из файла .settings.php. Необязательный. | 17.5.10

Примеры

Получаем объект, содержащий все настройки:

$configuration = Config\Configuration::getInstance();


getValue

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Config>Configuration>getValue (с версии 12.0.7)

Configuration::getValue

public static
\Bitrix\Main\Config\Configuration::getValue($name)(
 string $name
);

Статический метод получает значение одного параметра. Обертка над Configuration::get.

Параметры

Параметр | Описание | Версия
$name | Название параметра. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


saveConfiguration

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Config>Configuration>saveConfiguration (с версии 12.0.7)

Configuration::saveConfiguration

\Bitrix\Main\Config\Configuration::saveConfiguration(
);

Нестатический метод сохраняет изменение конфигурации.

Параметры

Без параметров

Примеры

$configuration->saveConfiguration();


ConfigurationException

ConfigurationException - класс для вывода ошибок в конфигурации.

Метод | Описание | С версии
Конструктор | Исключение выводится если произошла ошибка конфигурации |


Конструктор ConfigurationException

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Config>ConfigurationException>Конструктор ConfigurationException (с версии 12.0.7)

ConfigurationException::Конструктор ConfigurationException

public
\Bitrix\Main\Config\ConfigurationException::__construct(
      $message = "",
      \Exception $previous = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести какие-то действия, при создании объекта. Исключение выводится если произошла ошибка конфигурации (т.е. система расстроена). Код ошибки выставляется 180. Расширение класса Bitrix\Main\SystemException.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Option

Option - класс для работы с параметрами модулей, хранимых в базе данных. Аналог класса COption в старом ядре.

Как правило управление параметрами модулей осуществляется в административном интерфейсе в настройках соответствующих модулей.

Класс является (с определёнными оговорками) заменой COption в старом ядре. В новом ядре нет разделение методов на int и string, а при удалении используется массив-фильтр. Так же в новом классе есть несколько совершенно новых методов, не имеющих аналогов в старом классе.

Обращается к пространству имён:

  • \Main;
Метод | Описание | С версии
delete | Метод удаляет параметры из Базы данных. |
get | Метод возвращает значение параметра. |
getDefaults | Метод возвращает массив с значениями по умолчанию параметров модуля |
getRealValue | Метод возвращает реальные значения параметров, какие были записаны в Базу данных. |
set | Метод устанавливает значения и сохраняет их в Базу данных. |
getForModule | Метод возвращает массив установленных параметров для модуля. | 17.0.4


delete

заголовок блока табов

Описание

 public static
\Bitrix\Main\Config\Option::delete(
 string $moduleId,
 array $filter = array()
);

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

Аналог метода COption::RemoveOption [image] в старом ядре.

Исключения

  • \Bitrix\Main\ArgumentNullException

Параметры

Параметр | Описание | Версия
$moduleId | ID модуля. Обязательный.
$name | Название параметра | до 14.0.0
$siteId | Идентификатор сайта | до 14.0.0
$filter Массив ключей фильтра
  • name - Название параметра
  • site_id - ID сайта (может оставаться пустым)
с 14.0.0

Пример

Option::delete("main", array(
    "name" => "max_file_size",
    "site_id" => "s2"
    )
);


get

Описание

string public static
\Bitrix\Main\Config\Option::get(
 string $moduleId,
 string $name,
 string $default = "",
 boolean|string $siteId = false
);

Статический метод возвращает значение параметра.

Аналог методов COption::GetOptionInt [image] и COption::GetOptionString [image] в старом ядре.

Исключения

  • \Bitrix\Main\ArgumentNullException
  • \Bitrix\Main\ArgumentOutOfRangeException

Параметры и пример

Параметр | Описание | Версия
$moduleId | ID модуля. Обязательный. |
$name | Имя параметра. Обязательный. |
$default | Возвращается значение по умолчанию, если значение не задано. Значение по умолчанию. Если default_value не задан, то значение для default_value будет браться из массива с именем ${module_id."_default_option"} заданного в файле /bitrix/modules/module_id/default_option.php. |
$siteId | ID сайта, если значение параметра различно для разных сайтов. |

Примеры

$size = Option::get("main", "max_file_size");


getDefaults

array public static
\Bitrix\Main\Config\Option::getDefaults(
 string $moduleId
);

Статический метод возвращает массив с значениями по умолчанию параметров модуля (из файла default_option.php).

Параметры

Параметр | Описание | Версия
$moduleId | ID модуля. Обязательный. |

Исключения

  • \Bitrix\Main\ArgumentOutOfRangeException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getForModule

array public static
\Bitrix\Main\Config\Option::getForModule(
 string $moduleId,
 boolean|string $siteId = false
);

Статический метод возвращает массив установленных параметров для модуля array(name => value).

Параметры

Параметр | Описание | Версия
$moduleId | Идентификатор модуля. |
$siteId | ID сайта, если параметры различаются для разных сайтов. |

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRealValue

null|string public static
\Bitrix\Main\Config\Option::getRealValue(
 string $moduleId,
 string $name,
 boolean|string $siteId = false
);

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

В отличии от get, не используются значения по умолчанию. То есть нельзя передать в метод, нельзя учесть изначально заданные значения параметра по умолчанию.

Параметры

Параметр | Описание | Версия
$moduleId | ID модуля. |
$name | Название параметра. |
$siteId | ID сайта, если для разных сайтов установлены разные значения. |

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


set

Сигнатура и описание

 public static
\Bitrix\Main\Config\Option::set(
 string $moduleId,
 string $name,
 string $value = "",
 string $siteId = ""
);

Статический метод устанавливает значения параметра и сохраняет его в Базу данных. После сохранения запускается событие OnAfterSetOption.

Аналогичен функциям COption::SetOptionInt [image] и COption::SetOptionString [image] в старом ядре.

Исключения

  • \Bitrix\Main\ArgumentOutOfRangeException

Параметры и пример

Параметр | Описание | Версия
$moduleId | ID модуля. Длина не более 50 символов. |
$name | Имя параметра. Длина не более 50 символов. |
$value | Значение параметра. Необязательный. По умолчанию - "". Максимальная сохраняемая длина значения - 2000 символов. |
$siteId | Идентификатор сайта, для которого устанавливается параметр. Необязательный. Если установлен false, то будет текущий сайт. |

Примеры

use Bitrix\Main\Config\Option;

Option::set("main", "max_file_size", "1024");


Context

Описание

Context - методы работы с информацией о текущем запросе: тип, параметры и их значения.

При инициализации приложения создаётся контекст - объект HttpContext, который как контейнер хранит в себе информацию о запросе: параметры запроса, серверное окружение, битриксовое окружение (язык, id сайта), ответ на запрос. То есть это изменяемая часть, зависящая от текущего хита.

Обращается к пространству имён:

  • \Main;

Чтобы получить контекст текущего хита нужно выполнить:

$context = Application::getInstance()->getContext();
// Или более краткая форма:
$context = Context::getCurrent();

Примеры:

$request = $context->getRequest(); // объект Request
$server = $context->getServer();   // объект Server
$siteId = $context->getSite();     // ID текущего сайта ("s1")
$langId = $context->getLanguage(); // ID текущего языка ("ru")

Дополнительно о контексте [image].

Список методов

Метод | Описание | С версии
Конструктор | Метод создаёт новый экземпляр контекста |
getApplication | Метод возвращает обратную ссылку на приложение |
getCulture | Метод возвращает региональные культурные настройки для контекста. |
getCurrent | Метод возвращает текущий экземпляр контекста. |
getLanguage | Метод возвращает текущую языковую раскладку. |
getRequest | Метод возвращает запрошенный объект контекста. |
getResponse | Метод возвращает объект отклика контекста. |
getServer | Метод возвращает серверный объект контекста. |
getSite | Метод возвращает текущий сайт. | 14.0.0
initialize | Метод инициализирует контекст по запросу и отклику объекта. |
setCulture | Метод устанавливает региональные культурные настройки для контекста. |
setLanguage | Метод устанавливает язык контекста. |
setSite | Метод устанавливает сайт для контекста. | 14.0.0


getApplication

Отправить отзыв по этому разделу
Пространство имён Bitrix>Главный модуль>Context>getApplication (с версии 12.0.7)

Context::getApplication

\Bitrix\Main\Application public
\Bitrix\Main\Context::getApplication(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCulture

Отправить отзыв по этому разделу
Пространство имён Bitrix>Главный модуль>Context>getCulture (с версии 12.0.7)

Context::getCulture

\Bitrix\Main\Context\Culture public
\Bitrix\Main\Context::getCulture(
);

Нестатический метод возвращает региональные культурные настройки для контекста.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrent

Отправить отзыв по этому разделу
Пространство имён Bitrix>Главный модуль>Context>getCurrent (с версии 12.0.7)

Context::getCurrent

\Bitrix\Main\Context public static
\Bitrix\Main\Context::getCurrent(
);

Статический метод возвращает текущий экземпляр контекста.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLanguage

Отправить отзыв по этому разделу
Пространство имён Bitrix>Главный модуль>Context>getLanguage (с версии 12.0.7)

Context::getLanguage

string public
\Bitrix\Main\Context::getLanguage(
);

Нестатический метод возвращает текущую языковую раскладку (en, ru).

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRequest

Отправить отзыв по этому разделу
Пространство имён Bitrix>Главный модуль>Context>getRequest (с версии 12.0.7)

Context::getRequest

\Bitrix\Main\HttpRequest public
\Bitrix\Main\Context::getRequest(
);

Нестатический метод возвращает запрошенный объект контекста.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getResponse

Отправить отзыв по этому разделу
Пространство имён Bitrix>Главный модуль>Context>getResponse (с версии 12.0.7)

Context::getResponse

\Bitrix\Main\HttpResponse public
\Bitrix\Main\Context::getResponse(
);

Нестатический метод возвращает объект отклика контекста.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getServer

Отправить отзыв по этому разделу
Пространство имён Bitrix>Главный модуль>Context>getServer (с версии 12.0.7)

Context::getServer

\Bitrix\Main\Server public
\Bitrix\Main\Context::getServer(
);

Нестатический метод возвращает серверный объект контекста.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSite

Отправить отзыв по этому разделу
Пространство имён Bitrix>Главный модуль>Context>getSite (с версии 14.0.0)

Context::getSite

string public
\Bitrix\Main\Context::getSite(
);

Нестатический метод возвращает текущий сайт (SITE_ID).

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


initialize

Отправить отзыв по этому разделу
Пространство имён Bitrix>Главный модуль>Context>initialize (с версии 12.0.7)

Context::initialize

 public
\Bitrix\Main\Context::initialize(
 \Bitrix\Main\Request $request,
 \Bitrix\Main\Response $response = null,
 \Bitrix\Main\Server $server,
 \Bitrix\Main\Environment $env
);

Нестатический метод инициализирует контекст по запросу и отклику объекта.

Параметры

Параметр | Описание | Версия
$request |  |
$response |  |
$server |  |
$env |  | до 14.0.1
$params |  | с 14.0.1

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setCulture

Отправить отзыв по этому разделу
Пространство имён Bitrix>Главный модуль>Context>setCulture (с версии 12.0.7)

Context::setCulture

 public
\Bitrix\Main\Context::setCulture(
 \Bitrix\Main\Context\Culture $culture
);

Нестатический метод устанавливает региональные культурные настройки для контекста.

Параметры

Параметр | Описание | Версия
$culture | Региональные настройки |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setLanguage

Отправить отзыв по этому разделу
Пространство имён Bitrix>Главный модуль>Context>setLanguage (с версии 12.0.7)

Context::setLanguage

 public
\Bitrix\Main\Context::setLanguage(
 string $language
);

Нестатический метод устанавливает язык контекста.

Параметры

Параметр | Описание | Версия
$language | Язык контекста |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setResponse

Отправить отзыв по этому разделу
Пространство имён Bitrix>Главный модуль>Context>setResponse (с версии 16.0.12)

Context::setResponse

void public
\Bitrix\Main\Context::setResponse(
 \Bitrix\Main\Response $response
);

Нестатический метод устанавливает ответ контента.

Параметры

Параметр | Описание | Версия
$response | Отклик. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setSite

Отправить отзыв по этому разделу
Пространство имён Bitrix>Главный модуль>Context>setSite (с версии 14.0.0)

Context::setSite

 public
\Bitrix\Main\Context::setSite(
 string $site
);

Нестатический метод устанавливает сайт для контекста.

Параметры

Параметр | Описание | Версия
$site | Сайт |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор Context

Отправить отзыв по этому разделу
Пространство имён Bitrix>Главный модуль>Context>Конструктор Context (с версии 12.0.7)

Context::Конструктор Context

 public
\Bitrix\Main\Context::__construct(
 \Bitrix\Main\Application $application
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести какие-то действия, при создании объекта.

Параметры

Параметр | Описание | Версия
$application | Приложение |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Data

Data - пространство имён классов для работы с кешем, в том числе с управляемым.

Класс | Описание | С версии
AppCacheManifest | Класс для работы манифестом HTML5 Application Cache | 14.0.0
CacheEngineFiles | Механизм хранения кеша в файлах. | 12.0.7
Connection | Абстрактный класс для подключения к данным. | 12.0.9
ConnectionPool | Класс пула соединения. | 12.0.9
StaticHtmlCache | Класс управления статическим HTML кешем. | 14.0.11
StaticHtmlFileStorage | Класс для хранения кеша в файлах | 14.5.2
StaticHtmlMemcachedStorage | Класс для хранения кеша в memcached. | 14.5.2
StaticHtmlStorage | Абстрактный класс предоставляет интерфейс для хранения кеша. | 14.5.2


AppCacheManifest

AppCacheManifest - класс для работы манифестом HTML5 Application Cache.

Обращается к пространству имён:

  • Bitrix\Main\Page\Asset;
  • \Main\Application.
Метод | Описание | С версии
setReceivedCacheParams | Метод устанавливает полученные параметры кеша. |
setExcludeImagePatterns | Метод возвращает массив паттернов путей. |
setEnabled | Метод включает Application Cache на странице. | 14.0.10
getReceivedCacheParams | Метод получает параметры кеша. |
getManifestContent | Метод возвращает содержание манифеста. | 14.0.10
getManifestCheckFile | Метод получает путь к файлу для получения содержания манифеста. | 14.9.4
getFilesFromContent | Метод парсит пришедший контент, находит файлы css, js и images и возвращает массив файлов. |
getExcludeImagePatterns | Метод устанавливает массив паттернов путей для исключения неиспользуемых изображений из файла манифеста. |
setManifestCheckFile | Метод устанавливает путь к пользовательскому файлу для получения содержания манифеста. | 14.9.4


getExcludeImagePatterns

array public
\Bitrix\Main\Data\AppCacheManifest::getExcludeImagePatterns(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFilesFromContent

array public
\Bitrix\Main\Data\AppCacheManifest::getFilesFromContent(
  $content
);

Нестатический метод парсит пришедший контент, находит файлы css, js и images и возвращает массив файлов.

Параметры

Параметр | Описание | Версия
$content |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getManifestCheckFile

string public
\Bitrix\Main\Data\AppCacheManifest::getManifestCheckFile(
);

Нестатический метод получает путь к файлу для получения содержания манифеста.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getManifestContent

string public
\Bitrix\Main\Data\AppCacheManifest::getManifestContent(
);

Нестатический метод возвращает содержание манифеста.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getReadBytes

integer|false public
\Bitrix\Main\Data\CacheEngineRedis::getReadBytes(
);

Нестатический метод возвращает число прочитанных из memcache кеша байтов, либо false если не было операция чтения не осуществлена.

Незавершённая функция всегда возвращает false.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getReceivedCacheParams

array public
\Bitrix\Main\Data\AppCacheManifest::getReceivedCacheParams(
);

Нестатический метод получает параметры кеша.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setEnabled

 public static
\Bitrix\Main\Data\AppCacheManifest::setEnabled(
 boolean $isEnabled = true
);

Статический метод включает Application Cache на странице.

Параметры

Параметр | Описание | Версия
$isEnabled |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setExcludeImagePatterns

 public
\Bitrix\Main\Data\AppCacheManifest::setExcludeImagePatterns(
 array $excludeImagePatterns
);

Нестатический метод возвращает массив паттернов путей.

Параметры

Параметр | Описание | Версия
$excludeImagePatterns |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setManifestCheckFile

 public
\Bitrix\Main\Data\AppCacheManifest::setManifestCheckFile(
 string $customManifestCheckFile
);

Нестатический метод устанавливает путь к пользовательскому файлу для получения содержания манифеста. Файл self::MANIFEST_CHECK_FILE используется по умолчанию.

Параметры

Параметр | Описание | Версия
$customManifestCheckFile |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setReceivedCacheParams

 public
\Bitrix\Main\Data\AppCacheManifest::setReceivedCacheParams(
  $receivedCacheParams
);

Нестатический метод устанавливает полученные параметры кеша.

Параметры

Параметр | Описание | Версия
$receivedCacheParams |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Cache

Cache - финальный класс для кеширования PHP переменных и HTML результата выполнения скрипта. Почти ничем не отличается в обращении от класса CPHPCache [image] старого ядра.

Метод | Описание | С версии
forceRewriting | Метод устанавливает режим игнорирования TTL и перезаписывает кеш. | 14.0.2
setClearCache | Метод позволяет пользователю с достаточным уровнем прав пропустить создание кеша на данном хите. |
setClearCacheSession | Метод позволяет пользователю с достаточным уровнем прав пропустить создание кеша в этой сессии. |
shouldClearCache | Метод возвращает true если пользователь с достаточным уровнем прав пропускает чтение данных из кеша в этой сессии. | 14.0.2

$cache = Bitrix\Main\Data\Cache::createInstance();
if ($cache->initCache($cacheTime, $cacheId, $cacheDir))
{
    $result = $cache->getVars();
}
elseif ($cache->startDataCache())
{
    $result = array();
    // ...
    if ($isInvalid)
    {
        $cache->abortDataCache();
    }
    // ...
    $cache->endDataCache($result);
}


forceRewriting

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>Cache>forceRewriting (с версии 14.0.2)

Cache::forceRewriting

 public
\Bitrix\Main\Data\Cache::forceRewriting(
 boolean $mode
);

Нестатический метод устанавливает режим игнорирования TTL и перезаписывает кеш.

Параметры

Параметр | Описание | Версия
$mode | [Y\N] |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setClearCache

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>Cache>setClearCache (с версии 12.0.7)

Cache::setClearCache

 public static
\Bitrix\Main\Data\Cache::setClearCache(
 boolean $clearCache
);

Статический метод позволяет пользователю с достаточным уровнем прав пропустить создание кеша на данном хите.

Параметры

Параметр | Описание | Версия
$clearCache |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setClearCacheSession

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>Cache>setClearCacheSession (с версии 12.0.7)

Cache::setClearCacheSession

 public static
\Bitrix\Main\Data\Cache::setClearCacheSession(
 boolean $clearCacheSession
);

Статический метод позволяет пользователю с достаточным уровнем прав пропустить создание кеша в этой сессии.

Параметры

Параметр | Описание | Версия
$clearCacheSession |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


shouldClearCache

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>Cache>shouldClearCache (с версии 14.0.2)

Cache::shouldClearCache

boolean public static
\Bitrix\Main\Data\Cache::shouldClearCache(
);

Статический метод возвращает true если пользователь с достаточным уровнем прав пропускает чтение данных из кеша в этой сессии.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


CacheEngineApc

CacheEngineApc - класс APC кеширования, наследник классов ICacheEngine, ICacheEngineStat.

Метод | Описание | С версии
Конструктор | Конструктор класса |
write | Метод размещает кеш в APC. |
read | Метод осуществляет чтение APC кеша. |
clean | Метод очищает (удаляет) кеш директории или файла. |
isCacheExpired | Метод возвращает true если кеш просрочен. |
isAvailable | Метод возвращает true если кеш доступен для чтения или записи. |
getWrittenBytes | Метод возвращает число байтов, записанных в APC кеш | 14.0.4
getReadBytes | Метод возвращает число прочитанных из APC кеша байтов | 14.0.4
getCachePath | Метод возвращает абсолютный путь к файлу | 14.0.4


clean

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineApc>clean (с версии 12.0.7)

CacheEngineApc::clean

void public
\Bitrix\Main\Data\CacheEngineApc::clean(
 string $baseDir,
 string $initDir = false,
 string $filename = false
);

Нестатический метод очищает (удаляет) кеш директории или файла.

Параметры

Параметр | Описание | Версия
$baseDir | Основная директория файлов кеша (как правило /bitrix/cache). |
$initDir | Директория внутри основной. |
$filename | Имя файла. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCachePath

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineApc>getCachePath (с версии 14.0.4)

CacheEngineApc::getCachePath

string public
\Bitrix\Main\Data\CacheEngineApc::getCachePath(
);

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

Незавершённая функция всегда возвращает '' (пустую строку).

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getReadBytes

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineApc>getReadBytes (с версии 14.0.4)

CacheEngineApc::getReadBytes

integer|false public
\Bitrix\Main\Data\CacheEngineApc::getReadBytes(
);

Нестатический метод возвращает число прочитанных из APC кеша байтов, либо false если не было операция чтения не осуществлена.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getWrittenBytes

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineApc>getWrittenBytes (с версии 14.0.4)

CacheEngineApc::getWrittenBytes

integer|false public
\Bitrix\Main\Data\CacheEngineApc::getWrittenBytes(
);

Нестатический метод возвращает число байтов, записанных в APC кеш или false, если записи не было.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isAvailable

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineApc>isAvailable (с версии 12.0.7)

CacheEngineApc::isAvailable

boolean public
\Bitrix\Main\Data\CacheEngineApc::isAvailable(
);

Нестатический метод возвращает true если кеш доступен для чтения или записи.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isCacheExpired

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineApc>isCacheExpired (с версии 12.0.7)

CacheEngineApc::isCacheExpired

boolean public
\Bitrix\Main\Data\CacheEngineApc::isCacheExpired(
 string $path
);

Нестатический метод возвращает true если кеш просрочен.

Незавершённая функция всегда возвращает true.

Параметры

Параметр | Описание | Версия
$path | Абсолютный путь к файлу с кешем. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


read

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineApc>read (с версии 12.0.7)

CacheEngineApc::read

boolean public
\Bitrix\Main\Data\CacheEngineApc::read(
 mixed $arAllVars,
 string $baseDir,
 string $initDir,
 string $filename,
 integer $TTL
);

Нестатический метод осуществляет чтение APC кеша. Возвращает true если кеш существует, не повреждён и прочитан.

Параметры

Параметр | Описание | Версия
$arAllVars | Результат кеширования. |
$baseDir | Основаная директория для кеша (как правило /bitrix/cache). |
$initDir | Директория внутри основной |
$filename | Имя файла. |
$TTL | Срок хранения в секундах. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


write

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineApc>write (с версии 12.0.7)

CacheEngineApc::write

void public
\Bitrix\Main\Data\CacheEngineApc::write(
 mixed $arAllVars,
 string $baseDir,
 string $initDir,
 string $filename,
 integer $TTL
);

Нестатический метод размещает кеш в APC.

Параметры

Параметр | Описание | Версия
$arAllVars | Результат кеширования. |
$baseDir | Основная директория для кеша (к правило, /bitrix/cache). |
$initDir | Директория внутри основной |
$filename | Имя файла |
$TTL | Время жизни кеша в секундах. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор CacheEngineApc

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineApc>Конструктор CacheEngineApc (с версии 12.0.7)

CacheEngineApc::Конструктор CacheEngineApc

 public
\Bitrix\Main\Data\CacheEngineApc::__construct(
);

Нестатический метод, конструктор.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


CacheEngineFiles

CacheEngineFiles - механизм хранения кеша в файлах. включает в себя \CacheEngine, \CacheEngineStat

Обращается к пространству имён:

  • \Main;
  • \Main\IO
Метод | Описание | С версии
clean | Метод очищает (удаляет) директорию ли файл кеша. |
delayedDelete | Функция агент которая удаляет отмеченные директории кеша. |
getCachePath | Метод возвращает путь к физическому файлу после операции чтения или записи. | 14.0.2
getReadBytes | Метод возвращает количество прочитанных байтов с диска или false, если операция чтения была неуспешной. | 14.0.2
getWrittenBytes | Метод возвращает количество байтов записанных на диск или false если записи не произошло. | 14.0.2
isAvailable | Метод возвращает true если файл кеша доступен для записи и чтения. |
isCacheExpired | Метод возвращает true если файл кеша просрочен. |
read | Метод читает кеш в файле. |
write | Метод записывает кеш в файл. |
Конструктор | Метод - конструктор класса. | 16.5.3


clean

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineFiles>clean (с версии 12.0.7)

CacheEngineFiles::clean

void public
\Bitrix\Main\Data\CacheEngineFiles::clean(
 string $baseDir,
 string $initDir = '',
 string $filename = ''
);

Нестатический метод очищает (удаляет) директорию ли файл кеша.

Параметры

Параметр | Описание | Версия
$baseDir | Базовая директория кеша (обычно /bitrix/cache). |
$initDir | Директория без базы. |
$filename | имя файла. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delayedDelete

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineFiles>delayedDelete (с версии 12.0.7)

CacheEngineFiles::delayedDelete

string public static
\Bitrix\Main\Data\CacheEngineFiles::delayedDelete(
 integer $count = 1
);

Статическая функция агент которая удаляет отмеченные директории кеша.

Параметры

Параметр | Описание | Версия
$count | Желаемое для удаления количество. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCachePath

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineFiles>getCachePath (с версии 14.0.2)

CacheEngineFiles::getCachePath

string public
\Bitrix\Main\Data\CacheEngineFiles::getCachePath(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getReadBytes

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineFiles>getReadBytes (с версии 14.0.2)

CacheEngineFiles::getReadBytes

integer|false public
\Bitrix\Main\Data\CacheEngineFiles::getReadBytes(
);

Нестатический метод возвращает количество прочитанных байтов с диска или false, если операция чтения была неуспешной.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getWrittenBytes

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineFiles>getWrittenBytes (с версии 14.0.2)

CacheEngineFiles::getWrittenBytes

integer|false public
\Bitrix\Main\Data\CacheEngineFiles::getWrittenBytes(
);

Нестатический метод возвращает количество байтов записанных на диск или false если записи не произошло.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isAvailable

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineFiles>isAvailable (с версии 12.0.7)

CacheEngineFiles::isAvailable

boolean public
\Bitrix\Main\Data\CacheEngineFiles::isAvailable(
);

Нестатический метод возвращает true если файл кеша доступен для записи и чтения.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isCacheExpired

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineFiles>isCacheExpired (с версии 12.0.7)

CacheEngineFiles::isCacheExpired

boolean public
\Bitrix\Main\Data\CacheEngineFiles::isCacheExpired(
 string $path
);

Нестатический метод возвращает true если файл кеша просрочен.

Параметры

Параметр | Описание | Версия
$path | Абсолютный физический путь. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


read

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineFiles>read (с версии 12.0.7)

CacheEngineFiles::read

boolean public
\Bitrix\Main\Data\CacheEngineFiles::read(
 mixed ,
 string $baseDir,
 string $initDir,
 string $filename,
 integer $TTL
);

Нестатический метод читает кеш в файле. Возвращает true если файл существует, не просрочен и успешно прочитан.

Параметры

Параметр | Описание | Версия
$arAllVars | Кешированный результат. |
$baseDir | Базовая директория для кеша (обычно /bitrix/cache). |
$initDir | Директория без базы. |
$filename | имя файла |
$TTL | Период экспирации в секундах. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


write

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineFiles>write (с версии 12.0.7)

CacheEngineFiles::write

void public
\Bitrix\Main\Data\CacheEngineFiles::write(
 mixed $arAllVars,
 string $baseDir,
 string $initDir,
 string $filename,
 integer $TTL
);

Нестатический метод записывает кеш в файл.

Параметры

Параметр | Описание | Версия
$arAllVars | Закешированный результат. |
$baseDir | Базовая директория для кеша (обычно /bitrix/cache). |
$initDir | Директория для кеша без базы. |
$filename | Имя файла. |
$TTL | Период экспирации в секундах. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор CacheEngineFiles

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineFiles>Конструктор CacheEngineFiles (с версии 16.5.3)

CacheEngineFiles::Конструктор CacheEngineFiles

 public
\Bitrix\Main\Data\CacheEngineFiles::__construct(
);

Нестатический метод создаёт новый объект класса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


CacheEngineMemcache

CacheEngineMemcache - класс для работы с Memcache.

Метод | Описание | С версии
Конструктор | Конструктор класса. |
write | Метод размещает кеш в memcache. |
read | Метод осуществляет чтение memcache кеша. |
clean | Метод очищает (удаляет) кеш директории или файла. |
isCacheExpired | Метод возвращает true если кеш просрочен. |
isAvailable | Метод возвращает true если кеш доступен для чтения или записи. |
getWrittenBytes | Метод возвращает число байтов, записанных в memcache кеш. |
getReadBytes | Метод возвращает число прочитанных из memcache кеша байтов. |
getCachePath | Метод возвращает абсолютный путь к файлу. |
close | Метод закрывает открытое соединение. |


clean

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineMemcache>clean (с версии 12.0.7)

CacheEngineMemcache::clean

void public
\Bitrix\Main\Data\CacheEngineMemcache::clean(
 string $baseDir,
 string $initDir = false,
 string $filename = false
);

Нестатический метод очищает (удаляет) кеш директории или файла.

Параметры

Параметр | Описание | Версия
$baseDir | Основная директория файлов кеша (как правило /bitrix/cache). |
$initDir | Директория внутри основной. |
$filename | Имя файла. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


close

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineMemcache>close (с версии 12.0.7)

CacheEngineMemcache::close

void public
\Bitrix\Main\Data\CacheEngineMemcache::close(
);

Нестатический метод закрывает открытое соединение.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCachePath

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineMemcache>getCachePath (с версии 14.0.4)

CacheEngineMemcache::getCachePath

string public
\Bitrix\Main\Data\CacheEngineMemcache::getCachePath(
);

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

Незавершённая функция всегда возвращает '' (пустую строку).

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getReadBytes

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineMemcache>getReadBytes (с версии 14.0.4)

CacheEngineMemcache::getReadBytes

integer|false public
\Bitrix\Main\Data\CacheEngineMemcache::getReadBytes(
);

Нестатический метод возвращает число прочитанных из memcache кеша байтов, либо false если не было операция чтения не осуществлена.

Незавершённая функция всегда возвращает false.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getWrittenBytes

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineMemcache>getWrittenBytes (с версии 14.0.4)

CacheEngineMemcache::getWrittenBytes

integer|false public
\Bitrix\Main\Data\CacheEngineMemcache::getWrittenBytes(
);

Нестатический метод возвращает число байтов, записанных в memcache кеш или false, если записи не было.

Незавершённая функция всегда возвращает false.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isAvailable

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineMemcache>isAvailable (с версии 12.0.7)

CacheEngineMemcache::isAvailable

boolean public
\Bitrix\Main\Data\CacheEngineMemcache::isAvailable(
);

Нестатический метод возвращает true если кеш доступен для чтения или записи.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isCacheExpired

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineMemcache>isCacheExpired (с версии 12.0.7)

CacheEngineMemcache::isCacheExpired

boolean public
\Bitrix\Main\Data\CacheEngineMemcache::isCacheExpired(
 string $path
);

Нестатический метод возвращает true если кеш просрочен.

Незавершённая функция всегда возвращает true.

Параметры

Параметр | Описание | Версия
$path | Абсолютный путь к файлу с кешем. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


read

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineMemcache>read (с версии 12.0.7)

CacheEngineMemcache::read

boolean public
\Bitrix\Main\Data\CacheEngineMemcache::read(
 mixed ,
 string $baseDir,
 string $initDir,
 string $filename,
 integer $TTL
);

Нестатический метод осуществляет чтение memcache кеша. Возвращает true если кеш существует, не повреждён и прочитан.

Параметры

Параметр | Описание | Версия
$arAllVars | Результат кеширования. |
$baseDir | Основаная директория для кеша (как правило /bitrix/cache). |
$initDir | Директория внутри основной |
$filename | Имя файла. |
$TTL | Срок хранения в секундах. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


write

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineMemcache>write (с версии 12.0.7)

CacheEngineMemcache::write

void public
\Bitrix\Main\Data\CacheEngineMemcache::write(
 mixed $arAllVars,
 string $baseDir,
 string $initDir,
 string $filename,
 integer $TTL
);

Нестатический метод размещает кеш в memcache.

Параметры

Параметр | Описание | Версия
$arAllVars | Результат кеширования. |
$baseDir | Основная директория для кеша (к правило, /bitrix/cache). |
$initDir | Директория внутри основной |
$filename | Имя файла |
$TTL | Время жизни кеша в секундах. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор CacheEngineMemcache

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineMemcache>Конструктор CacheEngineMemcache

CacheEngineMemcache::Конструктор CacheEngineMemcache

 public
\Bitrix\Main\Data\CacheEngineMemcache::__construct(
);

Нестатический метод - конструктор класса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


CacheEngineRedis

CacheEngineMemcache - класс для работы с Redis.

Метод | Описание | С версии
Конструктор | Конструктор класса. |
write | Метод размещает кеш в memcache. |
read | Метод осуществляет чтение memcache кеша. |
clean | Метод очищает (удаляет) кеш директории или файла. |
isCacheExpired | Метод возвращает true если кеш просрочен. |
isAvailable | Метод возвращает true если кеш доступен для чтения или записи. |
getWrittenBytes | Метод возвращает число байтов, записанных в memcache кеш. |
getReadBytes | Метод возвращает число прочитанных из memcache кеша байтов. |
getCachePath | Метод возвращает абсолютный путь к файлу. |
close | Метод закрывает открытое соединение. |


clean

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineRedis>clean (с версии 18.5.200)

CacheEngineRedis::clean

void public
\Bitrix\Main\Data\CacheEngineRedis::clean(
 string $baseDir,
 string $initDir = false,
 string $filename = false
);

Нестатический метод очищает (удаляет) кеш директории или файла.

Параметры

Параметр | Описание | Версия
$baseDir | Основная директория файлов кеша (как правило /bitrix/cache). |
$initDir | Директория внутри основной. |
$filename | Имя файла. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


close

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineRedis>close (с версии 18.5.200)

CacheEngineRedis::close

void public
\Bitrix\Main\Data\CacheEngineRedis::close(
);

Нестатический метод закрывает открытое соединение.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCachePath

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineRedis>getCachePath (с версии 18.5.200)

CacheEngineRedis::getCachePath

string public
\Bitrix\Main\Data\CacheEngineMemcache::getCachePath(
);

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

Незавершённая функция всегда возвращает '' (пустую строку).

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getReadBytes

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineRedis>getReadBytes

CacheEngineRedis::getReadBytes

integer|false public
\Bitrix\Main\Data\CacheEngineRedis::getReadBytes(
);

Нестатический метод возвращает число прочитанных из memcache кеша байтов, либо false если не было операция чтения не осуществлена.

Незавершённая функция всегда возвращает false.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getWrittenBytes

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineRedis>getWrittenBytes (с версии 18.5.200)

CacheEngineRedis::getWrittenBytes

integer|false public
\Bitrix\Main\Data\CacheEngineRedis::getWrittenBytes(
);

Нестатический метод возвращает число байтов, записанных в memcache кеш или false, если записи не было.

Незавершённая функция всегда возвращает false.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isAvailable

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineRedis>isAvailable (с версии 18.5.200)

CacheEngineRedis::isAvailable

boolean public
\Bitrix\Main\Data\CacheEngineRedis::isAvailable(
);

Нестатический метод возвращает true если кеш доступен для чтения или записи.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isCacheExpired

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineRedis>isCacheExpired (с версии 18.5.200)

CacheEngineRedis::isCacheExpired

boolean public
\Bitrix\Main\Data\CacheEngineRedis::isCacheExpired(
 string $path
);

Нестатический метод возвращает true если кеш просрочен.

Незавершённая функция всегда возвращает true.

Параметры

Параметр | Описание | Версия
$path | Абсолютный путь к файлу с кешем. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


read

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineRedis>read (с версии 18.5.200)

CacheEngineRedis::read

boolean public
\Bitrix\Main\Data\CacheEngineRedis::read(
 mixed ,
 string $baseDir,
 string $initDir,
 string $filename,
 integer $TTL
);

Нестатический метод осуществляет чтение memcache кеша. Возвращает true если кеш существует, не повреждён и прочитан.

Параметры

Параметр | Описание | Версия
$arAllVars | Результат кеширования. |
$baseDir | Основаная директория для кеша (как правило /bitrix/cache). |
$initDir | Директория внутри основной |
$filename | Имя файла. |
$TTL | Срок хранения в секундах. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


write

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineRedis>write (с версии 18.5.200)

CacheEngineRedis::write

void public
\Bitrix\Main\Data\CacheEngineRedis::write(
 mixed $arAllVars,
 string $baseDir,
 string $initDir,
 string $filename,
 integer $TTL
);

Нестатический метод размещает кеш в Redis.

Параметры

Параметр | Описание | Версия
$arAllVars | Результат кеширования. |
$baseDir | Основная директория для кеша (к правило, /bitrix/cache). |
$initDir | Директория внутри основной |
$filename | Имя файла |
$TTL | Время жизни кеша в секундах. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор CacheEngineRedis

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineRedis>Конструктор CacheEngineRedis (с версии 18.5.200)

CacheEngineRedis::Конструктор CacheEngineRedis

 public
\Bitrix\Main\Data\CacheEngineRedis::__construct(
);

Нестатический метод - конструктор класса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


CacheEngineXCache

CacheEngineXCache - класса методов работы с XCache.

Метод | Описание | С версии
Конструктор | Конструктор класса. |
write | Метод размещает кеш в XCache. |
read | Метод осуществляет чтение XCache кеша. |
clean | Метод очищает (удаляет) кеш директории или файла. |
isCacheExpired | Метод возвращает true если кеш просрочен. |
isAvailable | Метод возвращает true если кеш доступен для чтения или записи. |
getWrittenBytes | Метод возвращает число байтов, записанных в XCache кеш. |
getReadBytes | Метод возвращает число прочитанных из XCache кеша байтов. |
getCachePath | Метод возвращает абсолютный путь к файлу. |


clean

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineXCache>clean (с версии 14.0.4)

CacheEngineXCache::clean

void public
\Bitrix\Main\Data\CacheEngineXCache::clean(
 string $baseDir,
 string $initDir = false,
 string $filename = false
);

Нестатический метод очищает (удаляет) кеш директории или файла.

Параметры

Параметр | Описание | Версия
$baseDir | Основная директория файлов кеша (как правило /bitrix/cache). |
$initDir | Директория внутри основной. |
$filename | Имя файла. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCachePath

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineXCache>getCachePath

CacheEngineXCache::getCachePath

string public
\Bitrix\Main\Data\CacheEngineXCache::getCachePath(
);

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

Незавершённая функция всегда возвращает '' (пустую строку).

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getReadBytes

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineXCache>getReadBytes (с версии 14.0.4)

CacheEngineXCache::getReadBytes

integer|false public
\Bitrix\Main\Data\CacheEngineXCache::getReadBytes(
);

Нестатический метод возвращает количество прочитанных байтов с xcache или false, если операция чтения была неуспешной.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getWrittenBytes

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineXCache>getWrittenBytes (с версии 14.0.4)

CacheEngineXCache::getWrittenBytes

integer|false public
\Bitrix\Main\Data\CacheEngineXCache::getWrittenBytes(
);

Нестатический метод возвращает количество байтов записанных в xcache или false если записи не произошло.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isAvailable

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineXCache>isAvailable (с версии 14.0.4)

CacheEngineXCache::isAvailable

boolean public
\Bitrix\Main\Data\CacheEngineXCache::isAvailable(
);

Нестатический метод возвращает true если кеш доступен для чтения или записи.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isCacheExpired

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineXCache>isCacheExpired (с версии 14.0.4)

CacheEngineXCache::isCacheExpired

boolean public
\Bitrix\Main\Data\CacheEngineXCache::isCacheExpired(
 string $path
);

Нестатический метод возвращает true если кеш просрочен.

Незавершённая функция всегда возвращает true.

Параметры

Параметр | Описание | Версия
$path | Абсолютный путь к файлу с кешем. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


read

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineXCache>read (с версии 14.0.4)

CacheEngineXCache::read

boolean public
\Bitrix\Main\Data\CacheEngineXCache::read(
 mixed $arAllVars,
 string $baseDir,
 string $initDir,
 string $filename,
 integer $TTL
);

Нестатический метод осуществляет чтение XCache кеша. Возвращает true если кеш существует, не повреждён и прочитан.

Параметры

Параметр | Описание | Версия
$arAllVars | Результат кеширования. |
$baseDir | Основаная директория для кеша (как правило /bitrix/cache). |
$initDir | Директория внутри основной |
$filename | Имя файла. |
$TTL | Срок хранения в секундах. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


write

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineXCache>write (с версии 14.0.4)

CacheEngineXCache::write

void public
\Bitrix\Main\Data\CacheEngineXCache::write(
 mixed $arAllVars,
 string $baseDir,
 string $initDir,
 string $filename,
 integer $TTL
);

Нестатический метод размещает кеш в xcache.

Параметры

Параметр | Описание | Версия
$arAllVars | Результат кеширования. |
$baseDir | Основная директория для кеша (к правило, /bitrix/cache). |
$initDir | Директория внутри основной |
$filename | Имя файла |
$TTL | Время жизни кеша в секундах. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор CacheEngineXCache

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>CacheEngineXCache>Конструктор CacheEngineXCache

CacheEngineXCache::Конструктор CacheEngineXCache

 public
\Bitrix\Main\Data\CacheEngineXCache::__construct(
);

Метод-конструктор

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Connection

Connection - абстрактный класс для подключения к данным.

Метод | Описание | С версии
connect | Метод производит соединение с источником данных. |
disconnect | Метод производит отключение от источника данных. |
getConfiguration | Метод возвращает массив с параметрами соединения. |
getResource | Метод возвращает ресурсы соединения. |
isConnected | Метод возвращает состояние соединения. | 14.0.0


connect

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>Connection>connect (с версии 12.0.9)

Connection::connect

 public
\Bitrix\Main\Data\Connection::connect(
);

Нестатический метод производит соединение с источником данных.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


disconnect

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>Connection>disconnect (с версии 12.0.9)

Connection::disconnect

 public
\Bitrix\Main\Data\Connection::disconnect(
);

Нестатический метод производит отключение от источника данных.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getConfiguration

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>Connection>getConfiguration (с версии 12.0.9)

Connection::getConfiguration

array public
\Bitrix\Main\Data\Connection::getConfiguration(
);

Нестатический метод возвращает массив с параметрами соединения.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getResource

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>Connection>getResource (с версии 12.0.9)

Connection::getResource

resource public
\Bitrix\Main\Data\Connection::getResource(
);

Нестатический метод возвращает ресурсы соединения.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isConnected

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>Connection>isConnected (с версии 14.0.0)

Connection::isConnected

boolean public
\Bitrix\Main\Data\Connection::isConnected(
);

Нестатический метод возвращает состояние соединения.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ConnectionPool

ConnectionPool - класс пула соединения, управляет соединениями, параметры которых настроены в файле настроек .settings.php [image]. В пуле есть соединение по умолчанию и может быть набор дополнительных именованных соединений. Например, соединений к другой базе данных. Пул так же может содержать соединения для кластерных установок. Или пул может быть настроен для соединения к nosql-хранилищам.

Обращается к пространству имён:

  • \Main;
  • \Main\Config
Метод | Описание | С версии
Конструктор | Метод создаёт объект пула соединений. |
cloneConnection | Метод создаёт новое соединение основанное на уже используемом. | 15.0.1
getConnection | Метод возвращает соединение с БД по его имени. |
getDefaultConnectionType | Метод возвращает тип соединяемой БД. | 14.0.1
getSlaveConnection | Метод возвращает соединение slave или null если запрос должен быть отправлен только к мастеру. | 15.0.1
ignoreDml | При игнорировании DML режима команда модификации данных не остановит запросы к slave. | 15.0.1
isMasterOnly | Метод возвращает состояние запросов балансировки (если будет использован только мастер). | 15.0.1
isSlavePossible | Метод возвращает состояние запросов балансировки (если возможно использование slave). | 15.0.1
setConnectionParameters | Метод устанавливает параметры названного соединения. | 14.0.2
useMasterOnly | Метод задаёт работу в только мастер-режиме. | 15.0.1


cloneConnection

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>ConnectionPool>cloneConnection (с версии 15.0.1)

ConnectionPool::cloneConnection

\Bitrix\Main\DB\Connection public
\Bitrix\Main\Data\ConnectionPool::cloneConnection(
 string $name,
 string $newName,
 array $parameters = array()
);

Нестатический метод создаёт новое соединение основанное на уже используемом.

Параметры

Параметр | Описание | Версия
$name | Источник копирования. |
$newName | Цель копирования. |
$parameters | Параметры, полученные от метода ConnectionPool::createConnection. |

Исключения

  • \Bitrix\Main\Config\ConfigurationException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getConnection

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>ConnectionPool>getConnection (с версии 12.0.9)

ConnectionPool::getConnection

\Bitrix\Main\Data\Connection|null public
\Bitrix\Main\Data\ConnectionPool::getConnection(
 string $name = ""
);

Нестатический метод возвращает соединение с БД по его имени. Создаёт новое соединение, если необходимо.

Параметры

Параметр | Описание | Версия
$name | Имя соединения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDefaultConnectionType

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>ConnectionPool>getDefaultConnectionType (с версии 14.0.1)

ConnectionPool::getDefaultConnectionType

string public
\Bitrix\Main\Data\ConnectionPool::getDefaultConnectionType(
);

Нестатический метод возвращает тип соединяемой БД

  • MYSQL
  • ORACLE
  • MSSQL

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSlaveConnection

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>ConnectionPool>getSlaveConnection (с версии 15.0.1)

ConnectionPool::getSlaveConnection

\Bitrix\Main\DB\Connection|null public
\Bitrix\Main\Data\ConnectionPool::getSlaveConnection(
 string $sql
);

Нестатический метод возвращает соединение slave. Или null если запрос должен быть отправлен только к мастеру.

Параметры

Параметр | Описание | Версия
$sql | Строка SQL. Только SELECT будет отправлен на slave. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ignoreDml

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>ConnectionPool>ignoreDml (с версии 15.0.1)

ConnectionPool::ignoreDml

void public
\Bitrix\Main\Data\ConnectionPool::ignoreDml(
 boolean $mode
);

Нестатический метод. При игнорировании DML режима команда модификации данных не остановит запросы к slave.

Параметры

Параметр | Описание | Версия
$mode | Игнорировать или нет следующий DML. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isMasterOnly

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>ConnectionPool>isMasterOnly (с версии 15.0.1)

ConnectionPool::isMasterOnly

boolean public
\Bitrix\Main\Data\ConnectionPool::isMasterOnly(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isSlavePossible

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>ConnectionPool>isSlavePossible (с версии 15.0.1)

ConnectionPool::isSlavePossible

boolean public
\Bitrix\Main\Data\ConnectionPool::isSlavePossible(
);

Нестатический метод возвращает состояние запросов балансировки (если возможно использование slave).

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setConnectionParameters

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>ConnectionPool>setConnectionParameters (с версии 14.0.2)

ConnectionPool::setConnectionParameters

void public
\Bitrix\Main\Data\ConnectionPool::setConnectionParameters(
 string $name,
 array $parameters
);

Нестатический метод устанавливает параметры названного соединения.

Параметры

Параметр | Описание | Версия
$name | Имя соединения. |
$parameters | Значения параметров. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


useMasterOnly

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>ConnectionPool>useMasterOnly (с версии 15.0.1)

ConnectionPool::useMasterOnly

void public
\Bitrix\Main\Data\ConnectionPool::useMasterOnly(
 boolean $mode
);

Нестатический метод задаёт работу в только мастер-режиме. В этом режиме все запросы будут идти только к мастеру.

Параметры

Параметр | Описание | Версия
$mode | True запускает мастер-режим, false - завершает. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор ConnectionPool

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Data>ConnectionPool>Конструктор ConnectionPool (с версии 12.0.9)

ConnectionPool::Конструктор ConnectionPool

 public
\Bitrix\Main\Data\ConnectionPool::__construct(
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LocalStorage

Пространство имён для классов работы с локальными хранилищем данных.

\Bitrix\Main\Application::getLocalSession(string $name): \Bitrix\Main\Data\LocalStorage\SessionLocalStorage

Возвращает новый или уже существующий контейнер.

Параметры

Параметр | Описание | С версии
$name {string} | Название контейнера данных (элемента кеша) |


SessionLocalStorage

Класс методов локального хранения сессий.

Метод Описание С версии
\Bitrix\Main\Data\LocalStorage\SessionLocalStorage::getData(): array
 Возвращает весь массив данных, которые есть в контейнере.
\Bitrix\Main\Data\LocalStorage\SessionLocalStorage::setData(array $data)
 Устанавливает массив данных, перезаписывая полностью предыдущее значение. Параметр:
  • $data {array} - Массив данных.

\Bitrix\Main\Data\LocalStorage\SessionLocalStorage::get(string $key): mixed
 Возвращает по ключу данные. Параметр:
  • $key {string} - Ключ, по которому будет сделан поиск в конкретном контейнере SessionLocalStorage, внутри $data.

\Bitrix\Main\Data\LocalStorage\SessionLocalStorage::set(string $key, $value): self
 Устанавливает значение по ключу в контейнер. Параметры:
  • $key {string} - Ключ, по которому будет записано значение в конкретном контейнере SessionLocalStorage, внутри $data.
  • $value {mixed} - Значение.

\Bitrix\Main\Data\LocalStorage\SessionLocalStorage::clear(): void
 Очистка текущих значений.


StaticHtmlCache

StaticHtmlCache - класс для записи композитных страниц в кеш. Абстрагирует механизмы записи в файловую систему и в memcached. Класс не подразумевает прямого использования разработчиками.

Обращается к пространству имён:

  • \Main;
Метод | Описание | С версии
Конструктор | Метод создаёт новый экземпляр менеджера кеша. |
markNonCacheable | Метод отмечает текущую страницу как не кешируемую. |
isCacheable | Метод возвращает true если текущий запрос может быть закеширован. |
getStaticHtmlStorage | Метод возвращает экземпляр \Bitrix\Main\Data\StaticHtmlStorage. | 14.5.2
getInstance | Метод возвращает текущий экземпляр класса StaticHtmlCache. |
convertUriToPath | Метод конвертирует URI запроса в путь сохранения файла с расширением .html. |
delete | Метод удаляет кеш. |
deleteAll | Метод удаляет весь кеш из хранилища. | 14.5.2
exists | Метод возвращает true если кеш существует. | 14.5.2
getMd5 | Метод возвращает md5 кеша. |
read | Метод возвращает контент из кеша. |
write | Метод записывает контент в кеш |
getCacheKey | Метод возвращает ключ кеша. | 16.0.12
getLastModified | Метод возвращает время последней модификации кеша. | 16.0.14


applyComponentFrameMode

 public static
\Bitrix\Main\Data\StaticHtmlCache::applyComponentFrameMode(
 string $context = ""
);

Статический метод проверяет использует ли компонент режим Checks component frame mode

Параметры

Параметр | Описание | Версия
$context |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


convertUriToPath

string public static
\Bitrix\Main\Data\StaticHtmlCache::convertUriToPath(
 string $uri,
 string $host = null,
 string $privateKey = null
);

Статический метод конвертирует URI запроса в путь сохранения файла с расширением .html.

В случае неудачи возвращает пустую строку.

Параметры

Параметр | Описание | Версия
$uri | Uri |
$host | Имя хоста. |
$privateKey |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delete

boolean|integer public
\Bitrix\Main\Data\StaticHtmlCache::delete(
);

Нестатический метод удаляет кеш. Возвращает количество удалённых байтов.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteAll

boolean public
\Bitrix\Main\Data\StaticHtmlCache::deleteAll(
);

Нестатический метод удаляет весь кеш из хранилища.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


exists

boolean public
\Bitrix\Main\Data\StaticHtmlCache::exists(
);

Нестатический метод возвращает true если кеш существует.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCacheKey

string public
\Bitrix\Main\Data\StaticHtmlCache::getCacheKey(
);

Нестатический метод возвращает ключ кеша.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getInstance

\Bitrix\Main\Data\StaticHtmlCache public static
\Bitrix\Main\Data\StaticHtmlCache::getInstance(
);

Статический метод возвращает текущий экземпляр класса \StaticHtmlCache.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLastModified

integer|false public
\Bitrix\Main\Data\StaticHtmlCache::getLastModified(
);

Нестатический метод возвращает время последней модификации кеша, либо false в противном случае.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMd5

string|false public
\Bitrix\Main\Data\StaticHtmlCache::getMd5(
);

Нестатический абстрактный метод возвращает md5 кеша. Возвращает записанную строку, либо false в случае неудачной попытки чтения.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getStaticHtmlStorage

\Bitrix\Main\Data\StaticHtmlStorage|null public static
\Bitrix\Main\Data\StaticHtmlCache::getStaticHtmlStorage(
 string $cacheKey
);

Статический метод возвращает экземпляр \Bitrix\Main\Data\StaticHtmlStorage.

Параметры

Параметр | Описание | Версия
$cacheKey | Уникальный идентификатор кэша. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isCacheable

boolean public
\Bitrix\Main\Data\StaticHtmlCache::isCacheable(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


markNonCacheable

void public
\Bitrix\Main\Data\StaticHtmlCache::markNonCacheable(
);

Нестатический метод отмечает текущую страницу как не кешируемую.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


read

string public
\Bitrix\Main\Data\StaticHtmlCache::read(
);

Нестатический метод возвращает контент из кеша. Возвращает записанную строку, либо false в случае неудачной попытки чтения.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


write

boolean public
\Bitrix\Main\Data\StaticHtmlCache::write(
 string $content,
 string $md5
);

Нестатический записывает контент в кеш. Возвращает записанную строку, либо false в случае неудачной попытки записи.

Параметры

Параметр | Описание | Версия
$content | Строка, которая должна быть записана |
$md5 | хэш контента |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор StaticHtmlCache

 public
\Bitrix\Main\Data\StaticHtmlCache::__construct(
  $requestUri,
  $host = null,
 null $privateKey = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия.

Параметры

Параметр | Описание | Версия
$requestUri |  |
$host |  |
$privateKey |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


StaticHtmlFileStorage

StaticHtmlFileStorage - конечный класс для хранения кеша в файлах. Расширение класса \Bitrix\Main\Data\StaticHtmlStorage. Класс не подразумевает прямого использования разработчиками.

Обращается к пространству имён:

  • \Main;
Метод | Описание | С версии
deleteRecursive | Метод удаляет все html страницы созданные ранее указанной в параметрах даты. |
shouldCountQuota | Метод устанавливает должен ли считаться лимит квот. | 15.0.0
getSize | Метод возвращает размер кеша. | 16.0.14


deleteRecursive

float public static
\Bitrix\Main\Data\StaticHtmlFileStorage::deleteRecursive(
 string $relativePath = "",
 integer $validTime
);

Статический метод удаляет все html страницы созданные ранее указанной в параметрах даты.

Параметры

Параметр | Описание | Версия
$relativePath | [optional] |
$validTime | [optional] Метка времени в unix формате |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSize

integer|false public
\Bitrix\Main\Data\StaticHtmlFileStorage::getSize(
);

Нестатический метод возвращает размер кеша.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


shouldCountQuota

boolean public
\Bitrix\Main\Data\StaticHtmlFileStorage::shouldCountQuota(
);

Нестатический метод устанавливает должен ли считаться лимит квот.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


StaticHtmlMemcachedStorage

StaticHtmlMemcachedStorage - конечный класс для хранения кеша в memcached. Расширение класса \Bitrix\Main\Data\StaticHtmlStorage. Класс не подразумевает прямого использования разработчиками.

Обращается к пространству имён:

  • \Main;
Метод | Описание | С версии
getMd5 | Метод возвращает md5 кеша. |
shouldCountQuota | Метод устанавливает должен ли считаться лимит квот. | 15.0.0
getLastModified | Метод возвращает вермя последнего изменения кеша | 16.0.14


getLastModified

integer|false public
\Bitrix\Main\Data\StaticHtmlMemcachedStorage::getLastModified(
);

Нестатический метод возвращает время последнего изменения кеша.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMd5

string|false public
\Bitrix\Main\Data\StaticHtmlMemcachedStorage::getMd5(
);

Нестатический метод возвращает md5 кеша. Возвращает записанную строку, либо false в случае неудачной попытки чтения.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


shouldCountQuota

boolean public
\Bitrix\Main\Data\StaticHtmlMemcachedStorage::shouldCountQuota(
);

Нестатический метод устанавливает должен ли считаться лимит квот.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


StaticHtmlStorage

StaticHtmlStorage - абстрактный класс предоставляет интерфейс для хранения кеша. Класс не подразумевает прямого использования разработчиками.

Обращается к пространству имён:

  • \Main;
Метод | Описание | С версии
delete | Метод удаляет кеш. |
deleteAll | Метод удаляет весь кеш из хранилища. |
exists | Метод возвращает true если кеш существует. |
getMd5 | Метод возвращает md5 кеша. |
read | Метод возвращает контент из кеша. |
shouldCountQuota | Метод устанавливает должен ли считаться лимит квот. | 15.0.0
write | Метод записывает контент в кеш |
getLastModified | Метод возвращает время последней модификации кеша. | 16.0.14
getSize | Метод возвращает размер кеша. | 16.0.14


delete

integer|false public
\Bitrix\Main\Data\StaticHtmlStorage::delete(
);

Нестатический абстрактный метод удаляет кеш. Возвращает количество удалённых байтов.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteAll

boolean public
\Bitrix\Main\Data\StaticHtmlStorage::deleteAll(
);

Нестатический абстрактный метод удаляет весь кеш из хранилища.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


exists

boolean public
\Bitrix\Main\Data\StaticHtmlStorage::exists(
);

Нестатический абстрактный метод возвращает true если кеш существует.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLastModified

integer|false public
\Bitrix\Main\Data\StaticHtmlStorage::getLastModified(
);

Нестатический метод возвращает время последней модификации кеша.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMd5

string|false public
\Bitrix\Main\Data\StaticHtmlStorage::getMd5(
);

Нестатический абстрактный метод возвращает md5 кеша. Возвращает записанную строку, либо false в случае неудачной попытки чтения.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSize

integer|false public
\Bitrix\Main\Data\StaticHtmlStorage::getSize(
);

Нестатический метод возвращает размер кеша.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


read

string|false public
\Bitrix\Main\Data\StaticHtmlStorage::read(
);

Нестатический абстрактный метод возвращает контент из кеша. Возвращает записанную строку, либо false в случае неудачной попытки чтения.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


shouldCountQuota

boolean public
\Bitrix\Main\Data\StaticHtmlStorage::shouldCountQuota(
);

Нестатический абстрактный метод устанавливает должен ли считаться лимит квот.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


write

boolean public
\Bitrix\Main\Data\StaticHtmlStorage::write(
 string $content,
 string $md5
);

Нестатический абстрактный метод записывает контент в кеш. Возвращает записанную строку, либо false в случае неудачной попытки записи.

Параметры

Параметр | Описание | Версия
$content | Строка, которая должна быть записана |
$md5 | хэш контента |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DB

DB - пространства имён для классов, работающих с Базой данных

Классы | Описание | С версии
SqlQueryException | Класс для работы с исключениями, когда База данных возвращает ошибку при выполнении запроса. | 14.0.5
SqlHelper | Абстрактный класс для работы с базой данных |
SqlExpression | Класс для определения произвольных SQL выражений при работе с фильтром ORM | 14.0.0
Result | Абстрактный класс для представления данных, полученных в ходе запроса. |
Paginator | Класс пагинации (постраничной навигации). |
OracleSqlHelper | класс для работы с БД Oracle. |
OracleResult | Класс для представления данных, полученных в ходе запроса. | 14.0.0
OracleConnection | Класс для соединений с БД Oracle | 14.0.0
MysqlSqlHelper | Класс для работы с БД MySQL |
MysqlResult | Класс для представления данных, полученных в ходе запроса для БД MySQL | 14.0.0
MysqliSqlHelper | Класс для работы с БД MySQLi |
MysqliResult | Класс для представления данных, полученных в ходе запроса для БД MySQLi | 14.0.0
MysqliConnection | Класс соединений с БД MySQLi. | 14.0.0
MysqlConnection | Класс соединений с БД MySQL. | 14.0.0
MysqlCommonSqlHelper | Абстрактный класс для работы с базой данных. | 14.5.1
MysqlCommonConnection | Абстрактный класс соединений с БД. | 14.0.4
MssqlSqlHelper | Класс для работы с БД MySQL, |
MssqlResult | Класс для представления данных, полученных в ходе запроса. | 14.0.0
MssqlConnection | Класс для соединений с БД MS SQL. | 14.0.0
Exception | Класс для вывода всех исключений, относящихся к БД. | 14.0.0
DbConnectionPool | Класс кеширования соединений БД. |
ConnectionException | Класс для ошибок при соединении. | 12.0.9
Connection | Абстрактный класс соединений с БД. | 12.0.9
ArrayResult | Класс для представления в виде массива данных, полученных в ходе запроса. | 14.0.0

См. также

  • Работа с Базой данных [image] в курсе Разработчик Bitrix Framework


ArrayResult

ArrayResult - класс для представления в виде массива данных, полученных в ходе запроса. Расширение класса \Bitrix\Main\DB\Result.

Метод | Описание | С версии
getFields | Метод возвращает null так как нет ни какого способа узнать поля. | 14.5.2
getSelectedRowsCount | Метод возвращает число строк в результате запроса. |


getFields

null public
\Bitrix\Main\DB\ArrayResult::getFields(
);

Нестатический метод возвращает null так как нет ни какого способа узнать поля.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSelectedRowsCount

integer public
\Bitrix\Main\DB\ArrayResult::getSelectedRowsCount(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Connection

Connection - абстрактный класс соединений с БД. Расширение класса Data\Connection.

Конкретные классы соединений наследуют данный абстрактный класс и обеспечивают низкоуровневую работу с базой данных. Для разных типов баз данных реализованы разные конкретные классы.

Метод | Описание | С версии
Конструктор | Конструктор класса. |
add | Метод добавляет строку таблицы и возвращает ID добавленной строки | 14.0.0
clearCaches | Метод очищает все внутренние кеши | 14.0.0
commitTransaction | Метод останавливает начатую транзакцию Базы данных | 14.0.0
connect | Метод производит соединение с БД. |
createIndex | Метод создаёт индекс колонок. | 14.9.4
createPrimaryIndex | Метод создаёт первичный индекс колонки (колонок). | 14.5.1
disableQueryExecuting | Метод временно останавливает выполнение запросов | 14.5.1
disconnect | Метод отключает подключение к БД. |
dropColumn | Метод удаляет столбец | 14.5.1
dropTable | Метод удаляет таблицу. | 14.5.1
enableQueryExecuting | Метод разрешает выполнение запроса, после того, как он был временно остановлен | 14.5.1
executeSqlBatch | Метод парсит строку, содержащую несколько запросов и запускает поочерёдное выполнение запросов. | 14.0.0
getAffectedRowsCount | Метод возвращает количество поражённых строк из последнего невыполненного запроса. | 14.0.0
getDbHost | Метод хост базы данных. | 14.0.4
getDbLogin | Метод возвращает логин базы данных | 14.0.4
getDbName | Метод возвращает имя базы данных | 14.0.4
getDisabledQueryExecutingDump | Метод возвращает запросы которые были собраны во то время когда выполнение запросов было невозможно | 14.5.1
getIndexName | Метод возвращает имя индекса. | 14.0.0
getNodeId | Метод возвращает идентификатор узла соединения. | 15.0.1
getSqlHelper | Метод возвращает объект БД относящийся к SqlHelper. | 14.0.0
getTableField | Метод возвращает объект для одного столбца в соответствии с типом колонки. | 14.0.0
getTableFields | Метод возвращает объекты полей соответствующие колонкам таблицы. | 14.0.0
getTracker | Метод возвращает объект с информацией об выполненных запросах | 14.0.0
getType | Метод возвращает тип БД. | 14.0.0
getVersion | Метод возвращает версию подключённой БД. | 14.0.0
isIndexExists | Метод проверяет существование индекса. | 14.0.0
isTableExists | Метод проверяет существование таблицы | 14.0.0
query | Метод выполняет запросы | 14.0.0
queryExecute | Метод выполняет запрос без возврата результата | 14.0.0
queryScalar | Метод выполняет запрос, выбирает строку и возвращает одно значение поля из первого столбца результата. | 14.0.0
renameTable | Метод переименовывает таблицу | 14.0.4
rollbackTransaction | Метод откатывает начатую транакцию. | 14.0.0
setConnectionResourceNoDemand | Метод устанавливает прямое соединение с БД. | 14.0.0
setNodeId | Метод устанавливает идентификатор узла подключения. | 15.0.1
setTracker | Метод устанавливает новый sql трекер. | 14.9.4
startTracker | Метод запускает сбор информации обо всех выполненных запросах. | 14.0.0
stopTracker | Метод останавливает сбор информации обо всех выполненных запросах. | 14.0.0
truncateTable | Метод обрезает все данные в таблице. | 15.0.4
startTransaction | Метод производит запуск новой транзакции базы данных. | 14.0.0

Не рекомендуется, но возможность поработать с БД прямыми запросами в продукте есть. Доступ получается не через глобальный объект $DB класса CDatabase [image], а через Bitrix\Main\DB\Connection.


add

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>add (с версии 14.0.0)

Connection::add

integer public
\Bitrix\Main\DB\Connection::add(
 string $tableName,
 array $data,
 string $identity = "ID"
);

Нестатический метод добавляет строку таблицы и возвращает ID добавленной строки.

Параметр $identity должен быть равен нулю, если таблица не имеет автоинкрементированных колонок.

Параметры

Параметр | Описание | Версия
$tableName | Имя таблицы, куда добавляется новая строка. |
$data | Массив имя колонки => значение. |
$identity | Только для Oracle. |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearCaches

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>clearCaches (с версии 14.0.0)

Connection::clearCaches

void public
\Bitrix\Main\DB\Connection::clearCaches(
);

Нестатический метод очищает все внутренние кеши, которые могут быть использованы некоторыми словарными функциями.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


commitTransaction

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>commitTransaction (с версии 14.0.0)

Connection::commitTransaction

void public
\Bitrix\Main\DB\Connection::commitTransaction(
);

Нестатический абстрактный метод останавливает начатую транзакцию Базы данных.

Без параметров

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


connect

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>connect (с версии 12.0.9)

Connection::connect

void public
\Bitrix\Main\DB\Connection::connect(
);

Нестатический метод производит соединение с БД.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createIndex

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>createIndex (с версии 14.9.4)

Connection::createIndex

\Bitrix\Main\DB\Result public
\Bitrix\Main\DB\Connection::createIndex(
 string $tableName,
 string $indexName,
 string|array $columnNames
);

Нестатический метод создаёт индекс колонок.

Параметры

Параметр | Описание | Версия
$tableName | Имя таблицы. |
$indexName | Имя нового индекса. |
$columnNames | Имя колонки ли массив имён колонок, для которых создаётся индекс. |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createPrimaryIndex

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>createPrimaryIndex (с версии 14.5.1)

Connection::createPrimaryIndex

\Bitrix\Main\DB\Result public
\Bitrix\Main\DB\Connection::createPrimaryIndex(
 string $tableName,
 string|array $columnNames
);

Нестатический метод создаёт первичный индекс колонки (колонок).

Параметры

Параметр | Описание | Версия
$tableName | Имя таблицы |
$columnNames | Имя колонки или массив имён колонок, для которых нужно создать индекс. |

Исключения

  • \Main\DB\SqlQueryException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


disableQueryExecuting

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>disableQueryExecuting (с версии 14.5.1)

Connection::disableQueryExecuting

void public
\Bitrix\Main\DB\Connection::disableQueryExecuting(
);

Нестатический метод временно останавливает выполнение запросов. Все остановленные запросы собираются в disabledQueryExecutingDump

Без параметров

См. также

  • \Bitrix\Main\DB\Connection::enableQueryExecuting
  • \Bitrix\Main\DB\Connection::getDisabledQueryExecutingDump

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


disconnect

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>disconnect (с версии 12.0.9)

Connection::disconnect

void public
\Bitrix\Main\DB\Connection::disconnect(
);

Нестатический метод отключает подключение к БД.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


dropColumn

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>dropColumn (с версии 14.5.1)

Connection::dropColumn

void public
\Bitrix\Main\DB\Connection::dropColumn(
 string $tableName,
 string $columnName
);

Нестатический метод удаляет столбец. Столбец должен существовать, не должен попадать под начальные ограничения и не должен быть последним в таблице.

Параметры

Параметр | Описание | Версия
$tableName | Имя таблицы, столбец которой удаляется. |
$columnName | Имя удаляемого столбца. |

Исключения

  • \Bitrix\Main\Db\SqlQueryException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


dropTable

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>dropTable (с версии 14.5.1)

Connection::dropTable

void public
\Bitrix\Main\DB\Connection::dropTable(
 string $tableName
);

Нестатический абстрактный метод удаляет таблицу.

Параметры

Параметр | Описание | Версия
$tableName | Имя удаляемой таблицы |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


enableQueryExecuting

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>enableQueryExecuting (с версии 14.5.1)

Connection::enableQueryExecuting

void public
\Bitrix\Main\DB\Connection::enableQueryExecuting(
);

Нестатический метод разрешает выполнение запроса, после того, как он был временно остановлен.

Без параметров

См. также

  • \Bitrix\Main\DB\disableQueryExecuting

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


executeSqlBatch

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>executeSqlBatch (с версии 14.0.0)

Connection::executeSqlBatch

array public
\Bitrix\Main\DB\Connection::executeSqlBatch(
 string $sqlBatch,
 boolean $stopOnError = false
);

Нестатический метод парсит строку, содержащую несколько запросов и запускает поочерёдное выполнение запросов.

Разделители запросов зависят от типа БД.

Параметры

Параметр | Описание | Версия
$sqlBatch | Строка с запросами разделёнными соответствующими для данной БД разделителями. |
$stopOnError | Возвращать ли после первой ошибки. |

См. также

  • \Bitrix\Main\Db\SqlHelper->getQueryDelimiter

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAffectedRowsCount

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>getAffectedRowsCount (с версии 14.0.0)

Connection::getAffectedRowsCount

integer public
\Bitrix\Main\DB\Connection::getAffectedRowsCount(
);

Нестатический абстрактный метод возвращает количество поражённых строк из последнего невыполненного запроса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDbHost

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>getDbHost (с версии 14.0.4)

Connection::getDbHost

string public
\Bitrix\Main\DB\Connection::getDbHost(
);

Нестатический метод возвращает хост базы данных.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDbLogin

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>getDbLogin (с версии 14.0.4)

Connection::getDbLogin

string public
\Bitrix\Main\DB\Connection::getDbLogin(
);

Нестатический метод возвращает логин базы данных.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDbName

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>getDbName (с версии 14.0.4)

Connection::getDbName

string public
\Bitrix\Main\DB\Connection::getDbName(
);

Нестатический метод возвращает имя базы данных.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDisabledQueryExecutingDump

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>getDisabledQueryExecutingDump (с версии 14.5.1)

Connection::getDisabledQueryExecutingDump

null|array public
\Bitrix\Main\DB\Connection::getDisabledQueryExecutingDump(
);

Нестатический метод возвращает запросы которые были собраны во то время когда выполнение запросов было невозможно и, также, очищает дамп.

Без параметров

См. также

  • \Bitrix\Main\DB\disableQueryExecuting

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getIndexName

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>getIndexName (с версии 14.0.0)

Connection::getIndexName

string|null public
\Bitrix\Main\DB\Connection::getIndexName(
 string $tableName,
 array $columns,
 boolean $strict = false
);

Нестатический абстрактный метод возвращает имя индекса.

Параметры

Параметр | Описание | Версия
$tableName | Название таблицы. |
$columns | Массив колонок индекса. |
$strict | Флаг, устанавливающий, что колонки в индексе должны точно соответствовать колонкам в параметре $Columns. |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getNodeId

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>getNodeId (с версии 15.0.1)

Connection::getNodeId

string|null public
\Bitrix\Main\DB\Connection::getNodeId(
);

Нестатический метод возвращает идентификатор узла соединения.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSqlHelper

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>getSqlHelper (с версии 14.0.0)

Connection::getSqlHelper

\Bitrix\Main\Db\SqlHelper public
\Bitrix\Main\DB\Connection::getSqlHelper(
);

Нестатический метод возвращает объект БД относящийся к SqlHelper.

Создаёт новый объект при первом вызове экземпляра \Connection.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableField

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>getTableField (с версии 14.0.0)

Connection::getTableField

\Bitrix\Main\Entity\ScalarField public
\Bitrix\Main\DB\Connection::getTableField(
 string $tableName,
 string $columnName
);

Нестатический метод возвращает объект для одного столбца в соответствии с типом колонки.

Параметры

Параметр | Описание | Версия
$tableName | Имя таблицы. |
$columnName | Имя колонки. |

Исключения

  • \Bitrix\Main\Db\SqlQueryException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableFields

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>getTableFields (с версии 14.0.0)

Connection::getTableFields

array public
\Bitrix\Main\DB\Connection::getTableFields(
 string $tableName
);

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

Параметры

Параметр | Описание | Версия
$tableName | Имя таблицы |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTracker

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>getTracker (с версии 14.0.0)

Connection::getTracker

null|\Bitrix\Main\Diag\SqlTracker public
\Bitrix\Main\DB\Connection::getTracker(
);

Нестатический метод возвращает объект с информацией об выполненных запросах. Или возвращает null если трекинг не был запущен.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getType

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>getType (с версии 14.0.0)

Connection::getType

string public
\Bitrix\Main\DB\Connection::getType(
);

Нестатический абстрактный метод возвращает тип БД.

  • mysql
  • oracle
  • mssql

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getVersion

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>getVersion (с версии 14.0.0)

Connection::getVersion

array public
\Bitrix\Main\DB\Connection::getVersion(
);

Нестатический абстрактный метод возвращает версию подключённой БД.

Версия представляется в виде массива из двух элементов:

- Первый (с индексом 0) - версия БД.
- Второй (с индексом 1) выводится, если используется light или express версия БД.

Без параметров

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isIndexExists

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>isIndexExists (с версии 14.0.0)

Connection::isIndexExists

boolean public
\Bitrix\Main\DB\Connection::isIndexExists(
 string $tableName,
 array $columns
);

Нестатический абстрактный метод проверяет существование индекса.

Актуально содержание колонок в индексе может отличаться от запрошенных. В $columns можно использовать префикс столбцов актуального индекса.

Параметры

Параметр | Описание | Версия
$tableName | Имя таблицы. |
$columns | Массив столбцов в индексе. |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isTableExists

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>isTableExists (с версии 14.0.0)

Connection::isTableExists

boolean public
\Bitrix\Main\DB\Connection::isTableExists(
 string $tableName
);

Нестатический абстрактный метод проверяет существование таблицы.

Параметры

Параметр | Описание | Версия
$tableName | Имя таблицы. |

Примеры

$connection = \Bitrix\Main\Application::getConnection();
$result = $connection->isTableExists($tableName);


query

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>query (с версии 14.0.0)

Connection::query

\Bitrix\Main\DB\Result public
\Bitrix\Main\DB\Connection::query(
 string $sql,
 array $binds,
 integer $offset,
 integer $limit
);

Нестатический метод выполняет запросы:

  • query($sql)
  • query($sql, $limit)
  • query($sql, $offset, $limit)
  • query($sql, $binds)
  • query($sql, $binds, $limit)
  • query($sql, $binds, $offset, $limit)

Аналог в старом ядре: CDatabase::Query [image].

Параметры

Параметр | Описание | Версия
$sql | Sql запрос. |
$binds | Связанный массив. |
$offset | Смещение первой строки для возврата, начиная с 0. |
$limit | Ограничение на количество строк. |

Исключения

  • \Bitrix\Main\Db\SqlQueryException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


queryExecute

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>queryExecute (с версии 14.0.0)

Connection::queryExecute

void public
\Bitrix\Main\DB\Connection::queryExecute(
 string $sql,
 \Bitrix\Main\DB\array[string]mixed $binds = null
);

Нестатический метод выполняет запрос без возврата результата, такие как: INSERT, UPDATE, DELETE

Параметры

Параметр | Описание | Версия
$sql | Sql запрос. |
$binds | Связанный массив. |

Исключения

  • \Bitrix\Main\Db\SqlQueryException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


queryScalar

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>queryScalar (с версии 14.0.0)

Connection::queryScalar

string|null public
\Bitrix\Main\DB\Connection::queryScalar(
 string $sql,
 array $binds = null
);

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

Параметры

Параметр | Описание | Версия
$sql | Sql запрос. |
$binds | Связанный массив. |

Исключения

  • \Bitrix\Main\Db\SqlQueryException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


renameTable

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>renameTable (с версии 14.0.4)

Connection::renameTable

void public
\Bitrix\Main\DB\Connection::renameTable(
 string $currentName,
 string $newName
);

Нестатический абстрактный метод переименовывает таблицу. Таблица обязательно должна существовать и новое имя не должно встречаться в БД.

Параметры

Параметр | Описание | Версия
$currentName | Старое имя таблицы |
$newName | Новое имя таблицы |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


rollbackTransaction

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>rollbackTransaction (с версии 14.0.0)

Connection::rollbackTransaction

void public
\Bitrix\Main\DB\Connection::rollbackTransaction(
);

Нестатический абстрактный метод откатывает начатую транзакцию.

Без параметров

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setConnectionResourceNoDemand

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>setConnectionResourceNoDemand (с версии 14.0.0)

Connection::setConnectionResourceNoDemand

void public
\Bitrix\Main\DB\Connection::setConnectionResourceNoDemand(
 resource
);

Нестатический метод устанавливает прямое соединение с БД.

Параметры

Параметр | Описание | Версия
$connection | База данных для соединения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setNodeId

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>setNodeId (с версии 15.0.1)

Connection::setNodeId

void public
\Bitrix\Main\DB\Connection::setNodeId(
 string $nodeId
);

Нестатический метод устанавливает идентификатор узла подключения.

Параметры

Параметр | Описание | Версия
$nodeId | Идентификатор ноды |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setTracker

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>setTracker (с версии 14.9.4)

Connection::setTracker

void public
\Bitrix\Main\DB\Connection::setTracker(
 null|\Bitrix\Main\Diag\SqlTracker $sqlTracker = null
);

Нестатический метод устанавливает новый sql трекер.

Параметры

Параметр | Описание | Версия
$sqlTracker | Новый трекер. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


startTracker

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>startTracker (с версии 14.0.0)

Connection::startTracker

\Bitrix\Main\Diag\SqlTracker public
\Bitrix\Main\DB\Connection::startTracker(
 boolean $reset = false
);

Нестатический метод запускает сбор информации обо всех выполненных запросах.

Параметры

Параметр | Описание | Версия
$reset | По умолчанию - false. Если true, то очищает всю ранее собранную информацию. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


startTransaction

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>startTransaction (с версии 14.0.0)

Connection::startTransaction

void public
\Bitrix\Main\DB\Connection::startTransaction(
);

Нестатический абстрактный метод производит запуск новой транзакции базы данных.

Без параметров

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


stopTracker

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>stopTracker (с версии 14.0.0)

Connection::stopTracker

void public
\Bitrix\Main\DB\Connection::stopTracker(
);

Нестатический метод останавливает сбор информации обо всех выполненных запросах.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


truncateTable

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>truncateTable (с версии 15.0.4)

Connection::truncateTable

\Bitrix\Main\DB\Result public
\Bitrix\Main\DB\Connection::truncateTable(
 string $tableName
);

Нестатический метод обрезает все данные в таблице.

Параметры

Параметр | Описание | Версия
$tableName | Название таблицы. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор connection

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>Connection>Конструктор connection (с версии 12.0.9)

Connection::Конструктор connection

 public
\Bitrix\Main\DB\Connection::__construct(
 array $configuration
);

Конструктор класса. Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия.

Параметры

Параметр Описание Версия
$configuration Массив ключей:
  • host - имя хоста;
  • database - БД;
  • login - логин;
  • password- пароль;
  • initCommand - команда инициализации;
  • options - опции.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ConnectionException

ConnectionException - класс для случаев ошибок при соединении.

Метод | Описание | С версии
Конструктор | Метод создаёт новый объект исключений. |


Конструктор ConnectionException

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>DB>ConnectionException>Конструктор ConnectionException (с версии 12.0.7)

ConnectionException::Конструктор ConnectionException

 public
\Bitrix\Main\DB\ConnectionException::__construct(
 string $message = "",
 string $databaseMessage = "",
 \Exception $previous = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия.

Параметры

Параметр | Описание | Версия
$message | Сообщение исключения |
$databaseMessage | Сообщение базы данных |
$previous | Предыдущее исключение. Используется для построения цепочки исключений. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Exception

Exception - класс для вывода всех исключений, относящихся к БД. Расширение класса \Main\SystemException.

Метод | Описание | С версии
Конструктор | Метод создаёт новый объект исключения. |
getDatabaseMessage | Метод возвращает конкретное сообщение БД предоставленное конструктору. |


getDatabaseMessage

string public
\Bitrix\Main\DB\Exception::getDatabaseMessage(
);

Нестатический метод возвращает конкретное сообщение БД предоставленное конструктору.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор Exception

 public
\Bitrix\Main\DB\Exception::__construct(
 string $message = "",
 string $databaseMessage = "",
 \Exception $previous = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия. Код ошибки устанавливается 400.

Параметры

Параметр | Описание | Версия
$message | Сообщение исключения |
$databaseMessage | Сообщение от базы данных. |
$previous | Предыдущее исключение. Используется для построения цепочки исключений. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


MssqlConnection

MssqlConnection - класс для соединений с БД MS SQL с использованием Microsoft SQL Server Driver [image] (расширение доступно только в Windows-версии PHP). Расширение класса Bitrix\Main\DB\Connection.

Обращается к пространству имён:

  • \Main\Diag;
  • \Main\Entity;
  • \Main\ArgumentException;
Метод | Описание | С версии
commitTransaction | Метод останавливает начатую транзакцию Базы данных. |
dropTable | Метод удаляет таблицу. | 14.5.1
getAffectedRowsCount | Метод возвращает количество поражённых строк из последнего невыполненного запроса. |
getIndexName | Метод возвращает имя индекса. |
getTableFields | Метод возвращает объекты полей соответствующие колонкам таблицы. |
getType | Метод возвращает тип БД. |
getVersion | Метод возвращает версию подключённой БД. |
isIndexExists | Метод проверяет существование индекса. |
isTableExists | Метод проверяет существование таблицы. |
renameTable | Метод переименовывает таблицу. | 14.0.4
rollbackTransaction | Метод откатывает начатую транзакцию. |
startTransaction | Метод производит запуск новой транзакции базы данных. |


commitTransaction

void public
\Bitrix\Main\DB\MssqlConnection::commitTransaction(
);

Нестатический метод останавливает начатую транзакцию Базы данных.

Без параметров

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


dropTable

void public
\Bitrix\Main\DB\MssqlConnection::dropTable(
 string $tableName
);

Нестатический метод удаляет таблицу.

Параметры

Параметр | Описание | Версия
$tableName | Имя удаляемой таблицы |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAffectedRowsCount

integer public
\Bitrix\Main\DB\MssqlConnection::getAffectedRowsCount(
);

Нестатический метод возвращает количество поражённых строк из последнего невыполненного запроса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getIndexName

string|null public
\Bitrix\Main\DB\MssqlConnection::getIndexName(
 string $tableName,
 array $columns,
 boolean $strict = false
);

Нестатический метод возвращает имя индекса.

Параметры

Параметр | Описание | Версия
$tableName | Название таблицы. |
$columns | Массив колонок индекса. |
$strict | Флаг, устанавливающий, что колонки в индексе должны точно соответствовать колонкам в параметре $Columns. |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableFields

array public
\Bitrix\Main\DB\MssqlConnection::getTableFields(
 string $tableName
);

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

Параметры

Параметр | Описание | Версия
$tableName | Имя таблицы |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getType

string public
\Bitrix\Main\DB\MssqlConnection::getType(
);

Нестатический метод возвращает тип БД.

  • mssql

Без параметров

См. также

  • \Bitrix\Main\DB\Connection::getType

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getVersion

array public
\Bitrix\Main\DB\MssqlConnection::getVersion(
);

Нестатический метод возвращает версию подключённой БД.

Версия представляется в виде массива из двух элементов:

- Первый (с индексом 0) - версия БД.
- Второй (с индексом 1) выводится, если используется light или express версия БД.

Без параметров

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isIndexExists

boolean public
\Bitrix\Main\DB\MssqlConnection::isIndexExists(
 string $tableName,
 array $columns
);

Нестатический метод проверяет существование индекса.

Актуально содержание колонок в индексе может отличаться от запрошенных. В $columns можно использовать префикс столбцов актуального индекса.

Параметры

Параметр | Описание | Версия
$tableName | Имя таблицы. |
$columns | Массив столбцов в индексе. |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isTableExists

boolean public
\Bitrix\Main\DB\MssqlConnection::isTableExists(
 string $tableName
);

Нестатический метод проверяет существование таблицы.

Параметры

Параметр | Описание | Версия
$tableName | Имя таблицы. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


renameTable

void public
\Bitrix\Main\DB\MssqlConnection::renameTable(
 string $currentName,
 string $newName
);

Нестатический метод переименовывает таблицу. Таблица обязательно должна существовать и новое имя не должно встречаться в БД.

Параметры

Параметр | Описание | Версия
$currentName | Старое имя таблицы |
$newName | Новое имя таблицы |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


rollbackTransaction

void public
\Bitrix\Main\DB\MssqlConnection::rollbackTransaction(
);

Нестатический метод откатывает начатую транзакцию.

Без параметров

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


startTransaction

void public
\Bitrix\Main\DB\MssqlConnection::startTransaction(
);

Нестатический метод производит запуск новой транзакции базы данных.

Без параметров

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


MssqlResult

MssqlResult - класс для представления данных, полученных в ходе запроса. Расширение класса \Bitrix\Main\DB\Result.

Метод | Описание | С версии
getSelectedRowsCount | Метод возвращает число строк в результате запроса. |
getFields | Метод возвращает массив полей, связанный с колонками в результате запроса. | 14.5.2


getFields

array public
\Bitrix\Main\DB\MssqlResult::getFields(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSelectedRowsCount

integer public
\Bitrix\Main\DB\MssqlResult::getSelectedRowsCount(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


MssqlSqlHelper

MssqlSqlHelper - Класс для работы с БД MsSQL, конкретные методы формирования SQL запросов, наследующие Bitrix\Main\DB\SqlHelper. Они помогают сформировать запрос не опускаясь до синтаксиса конкретной базы данных.

Обращается к пространствам имён:

  • \Main;
  • \Main\Type;
  • \Main\Entity;
Метод | Описание | С версии
addSecondsToDateTime | Метод возвращает sql-функцию для добавления секунд к интервалу, указанному в параметре $from. | 14.0.0
castToChar | Метод возвращает CAST выражение для конвертируемого поля или строчного выражения. | 16.0.10
convertDateField | Метод конвертирует строку в объект \Bitrix\Main\Type\Date. | 15.0.1
convertDatetimeField | Метод конвертирует строку в объект \Bitrix\Main\Type\DateTime. | 15.0.1
convertStringField | Метод конвертирует строку в объект \Bitrix\Main\Type\Date, если строка имеет специфичный формат. | 15.0.1
formatDate | Метод возвращает оператор Базы данных для конвертации значения $field в соответствии с значением $format. | 14.0.0
forSql | Метод выводит специальные символы в строке для использования в SQL операторе. |
getAliasLength | Метод возвращает значение максимальной длины алиаса в выбранном операторе. | 14.5.3
getCharToDateFunction | Метод возвращает sql-функцию для конвертации строкового значения в тип Дата/время. | 14.0.18
getColumnTypeByField | Метод возвращает тип колонки в соответствии с объектом скалярного поля. | 14.5.2
getConcatFunction | Метод возвращает sql-функцию для конкатенации полей и операторов базы данных. |
getConverter | Метод возвращает ответ запрошенный для значения поля в выборке. | 15.0.1
getCurrentDateFunction | Метод возвращает sql-функцию для получения даты без времени. |
getCurrentDateTimeFunction | Метод возвращает sql-функцию для получения текущей даты и времени. |
getDatetimeToDateFunction | Метод возвращает sql-функцию передающую значение $value в тип Дата/Время базы данных. |
getDateToCharFunction | Метод возвращает sql-функцию для конвертации полей и операторов базы данных в строку. | 14.0.18
getFieldByColumnType | Метод возвращает исключение потомка из Entity\ScalarField, который соответствует типу базы данных. | 14.5.2
getIsNullFunction | Метод возвращает sql-функцию для проверки полей и операторов базы данных на значение NULL. |
getLeftQuote | Экранирование идентификаторов - левый символ. | 14.0.0
getLengthFunction | Метод возвращает sql-функцию для получения длины поля или оператора базы данных. |
getQueryDelimiter | Метод возвращает специальный разделитель запроса для пакетной обработки. |
getRightQuote | Экранирование идентификатора - правый символ. | 14.0.0
getSubstrFunction | Метод возвращает sql-функцию для получения части строки. | 14.0.10
getTopSql | Метод трансформирует Sql запрос в соответствии со значениями параметров $limit и $offset. | 14.0.0
prepareMerge | Метод выстраивает строку для SQL-команды MERGE для указанной таблицы. | 15.5.0
softCastTextToChar | Метод возвращает выражение для текстового поля, используемого при группировке или сортировке. | 16.5.4


addSecondsToDateTime

string public
\Bitrix\Main\DB\MssqlSqlHelper::addSecondsToDateTime(
 integer $seconds,
 integer $from = null
);

Нестатический метод возвращает sql-функцию для добавления секунд к интервалу, указанному в параметре $from. Если значение параметра $from равно нулю или прошло, то используется текущее время.

Параметры метода не будут приведены к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$seconds | Сколько секунд нужно добавить. |
$from | Дата и время базы данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


castToChar

 public
\Bitrix\Main\DB\MssqlSqlHelper::castToChar(
 string $fieldName
);

Нестатический метод возвращает CAST выражение для конвертируемого поля или строчного выражения.

Параметры

Параметр | Описание | Версия
$fieldName | Возвращаемая строка |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


convertDateField

null|\Bitrix\Main\Type\DateTime public
\Bitrix\Main\DB\MssqlSqlHelper::convertDateField(
 string $value
);

Нестатический метод конвертирует строку в объект \Bitrix\Main\Type\Date.

Вспомогательная функция

Параметры

Параметр | Описание | Версия
$value | Передаваемое значение. |

См. также

  • \Bitrix\Main\Db\MssqlSqlHelper::getConverter

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


convertDatetimeField

null|\Bitrix\Main\Type\DateTime public
\Bitrix\Main\DB\MssqlSqlHelper::convertDatetimeField(
 string $value
);

Нестатический метод конвертирует строку в объект \Bitrix\Main\Type\DateTime.

Вспомогательная функция

Параметры

Параметр | Описание | Версия
$value | Переданное значение |

См. также

  • \Bitrix\Main\Db\MssqlSqlHelper::getConverter

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


convertStringField

null|\Bitrix\Main\Type\DateTime public
\Bitrix\Main\DB\MssqlSqlHelper::convertStringField(
 string $value
);

Нестатический метод конвертирует строку в объект \Bitrix\Main\Type\Date, если строка имеет специфичный формат.

Вспомогательная функция.

Параметры

Параметр | Описание | Версия
$value | Переданное значение |

См. также

  • \Bitrix\Main\Db\MssqlSqlHelper::getConverter

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


formatDate

Сигнатура и описание

string public
\Bitrix\Main\DB\MssqlSqlHelper::formatDate(
 string $format,
 string $field = null
);

Нестатический метод возвращает оператор Базы данных для конвертации значения $field в соответствии с значением $format.

Будут конвертированы:

  • YYYY - Полное числовое представление года, 4 цифры.
  • MMMM - Полное текстовое представление месяца, например: Январь или Март.
  • MM Числовое представление месяца с ведущим нулём.
  • MI - Минуты с начального нуля.
  • M - короткое текстовое представление месяца, три буквы.
  • DD - День месяца, две цифры с ведущим нулём.
  • HH - 24-ичасовой формат времени часов с ведущим нулём.
  • H - 24-ичасовой формат часов без ведущего нуля.
  • GG - 12-ичасовой формат с ведущим нулём.
  • G - 12-ичасовой формат без ведущего нуля.
  • SS - Минуты с ведущим нулём.
  • TT - AM или PM
  • T - am/pm.

Параметры

Параметр | Описание | Версия
$format | Формат. |
$field | Область базы данных или выражение. Параметр не приводится к SQL безопасному виду. |


forSql

string public
\Bitrix\Main\DB\MssqlSqlHelper::forSql(
 string $value,
 integer $maxLength
);

Нестатический метод выводит специальные символы в строке для использования в SQL операторе.

Параметры

Параметр | Описание | Версия
$value | Значение для вывода |
$maxLength | Лимит длины строки, если существует. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAliasLength

integer public
\Bitrix\Main\DB\MssqlSqlHelper::getAliasLength(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCharToDateFunction

string public
\Bitrix\Main\DB\MssqlSqlHelper::getCharToDateFunction(
 string $value
);

Нестатический метод возвращает sql-функцию для конвертации строкового значения в тип Дата/время.

Значение параметра $value не приводится к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$value | Строка в формате YYYY-MM-DD HH:MI:SS. |

См. также

  • \Bitrix\Main\DB\MssqlSqlHelper::formatDate

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getColumnTypeByField

string public
\Bitrix\Main\DB\MssqlSqlHelper::getColumnTypeByField(
 \Bitrix\Main\Entity\ScalarField $field
);

Нестатический метод возвращает тип колонки в соответствии с объектом скалярного поля.

Параметры

Параметр | Описание | Версия
$field | Tип "источника". |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getConcatFunction

string public
\Bitrix\Main\DB\MssqlSqlHelper::getConcatFunction(
 string $field,...
);

Нестатический метод возвращает sql-функцию для конкатенации полей и операторов базы данных.

Параметры не сводятся к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$field,... | Поля и операторы базы данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getConverter

false|callback public
\Bitrix\Main\DB\MssqlSqlHelper::getConverter(
 \Bitrix\Main\Entity\ScalarField $field
);

Нестатический метод возвращает ответ запрошенный для значения поля в выборке.

Параметры

Параметр | Описание | Версия
$field | Тип "источника". |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrentDateFunction

string public
\Bitrix\Main\DB\MssqlSqlHelper::getCurrentDateFunction(
);

Нестатический метод возвращает sql-функцию для получения даты без времени.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrentDateTimeFunction

string public
\Bitrix\Main\DB\MssqlSqlHelper::getCurrentDateTimeFunction(
);

Нестатический метод возвращает sql-функцию для получения текущей даты и времени.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDatetimeToDateFunction

string public
\Bitrix\Main\DB\MssqlSqlHelper::getDatetimeToDateFunction(
 string $value
);

Нестатический метод возвращает sql-функцию передающую значение $value в тип Дата/Время базы данных.

Параметр $value не приводится к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$value | Поле и оператор базы данных для передачи. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDateToCharFunction

string public
\Bitrix\Main\DB\MssqlSqlHelper::getDateToCharFunction(
 string $fieldName
);

Нестатический метод возвращает sql-функцию для конвертации полей и операторов базы данных в строку.

Результирующая строка будет в формате: YYYY-MM-DD HH:MI:SS.

Параметр $fieldName не приводится к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$fieldName | Поле или оператор базы данных. |

См. также

  • \Bitrix\Main\DB\MssqlSqlHelper::formatDate

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFieldByColumnType

\Bitrix\Main\Entity\ScalarField public
\Bitrix\Main\DB\MssqlSqlHelper::getFieldByColumnType(
 string $name,
 mixed $type,
 array $parameters = null
);

Нестатический метод возвращает исключение потомка из Entity\ScalarField, который соответствует типу базы данных.

Параметры

Параметр | Описание | Версия
$name | Название колонки Базы данных. |
$type | Тип характерный для Базы данных. |
$parameters | Дополнительная информация. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getIsNullFunction

string public
\Bitrix\Main\DB\MssqlSqlHelper::getIsNullFunction(
 string $expression,
 string $result
);

Нестатический метод возвращает sql-функцию для проверки полей и операторов базы данных на значение NULL. Если равно NULL, то будет возвращён $result.

Все параметры не приводятся к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$expression | Поле или оператор базы данных для проверки на NULL. |
$result | Поле или оператор базы данных, которые будут возвращены если $expression будет равно NULL. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLeftQuote

string public
\Bitrix\Main\DB\MssqlSqlHelper::getLeftQuote(
);

Нестатический метод. Возвращает левый символ идентификатора экранирования.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLengthFunction

string public
\Bitrix\Main\DB\MssqlSqlHelper::getLengthFunction(
 string $field
);

Нестатический метод возвращает sql-функцию для получения длины поля или оператора базы данных.

Параметр $field не приводится к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$field | Поле или оператор базы данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getQueryDelimiter

string public
\Bitrix\Main\DB\MssqlSqlHelper::getQueryDelimiter(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRightQuote

string public
\Bitrix\Main\DB\MssqlSqlHelper::getRightQuote(
);

Нестатический метод. Возвращает правый символ экранирующего идентификатора -

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSubstrFunction

string public
\Bitrix\Main\DB\MssqlSqlHelper::getSubstrFunction(
 string $str,
 integer $from,
 integer $length = null
);

Нестатический метод возвращает sql-функцию для получения части строки.

Если длина равна нулю или пустая, то будет возвращена строка от начала и до конца.

Параметры $str и $from не приводятся к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$str | Поле или оператор базы данных. |
$from | Стартовая позиция. |
$length | Максимальная длина. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTopSql

string public
\Bitrix\Main\DB\MssqlSqlHelper::getTopSql(
 string $sql,
 integer $limit,
 integer $offset
);

Нестатический метод трансформирует Sql запрос в соответствии со значениями параметров $limit и $offset.

Параметр $limit должен быть определён к моменту задания $offset.

Параметры

Параметр | Описание | Версия
$sql | Sql text. |
$limit | Максимальное число строк для возврата. |
$offset | Смещение первой строки для возврата, начинается с 0. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareMerge

array public
\Bitrix\Main\DB\MssqlSqlHelper::prepareMerge(
 string $tableName,
 array $primaryFields,
 array $insertFields,
 array $updateFields
);

Нестатический метод выстраивает строку для SQL-команды MERGE для указанной таблицы.

Параметры

Параметр | Описание | Версия
$tableName | Название таблицы
$primaryFields Массив первичных ключей списка колонок вида:
Array("column")[]
$insertFields Массив вставки вида:
Array("column" => $value)[]
$updateFields Массив обновлений вида:
Array("column" => $value)[]

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


softCastTextToChar

 public
\Bitrix\Main\DB\MssqlSqlHelper::softCastTextToChar(
 string $fieldName
);

Нестатический метод возвращает выражение для текстового поля, используемого при группировке или сортировке.

Параметры

Параметр | Описание | Версия
$fieldName | Возвращаемая строка |

См. также

  • \Bitrix\Main\Entity\Query::buildGroup
  • \Bitrix\Main\Entity\Query::buildOrder

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


MysqlCommonConnection

MysqlCommonConnection - абстрактный класс соединений с БД. Расширение класса \Main\DB\Connection.

Обращается к пространству имён:

  • \Main\Entity;
  • \Main\ArgumentException.
Метод | Описание | С версии
Конструктор | Метод создаёт новое соединение. | 14.9.4
startTransaction | Метод производит запуск новой транзакции базы данных. |
setStorageEngine | Метод устанавливает настройки по умолчанию для механизма хранения | 14.9.4
selectDatabase | Метод устанавливает БД по умолчанию для запросов. |
rollbackTransaction | Метод откатывает начатую транзакцию. |
renameTable | Метод переименовывает таблицу. |
isTableExists | Метод проверяет существование таблицы. |
isIndexExists | Метод проверяет существование индекса. |
getTableFields | Метод возвращает объекты полей соответствующие колонкам таблицы. | 14.5.2
getIndexName | Метод возвращает имя индекса. |
dropTable | Метод удаляет таблицу | 14.5.1
createIndex | Метод создаёт индекс колонок. | 14.9.4
commitTransaction | Метод останавливает начатую транзакцию Базы данных. |


commitTransaction

void public
\Bitrix\Main\DB\MysqlCommonConnection::commitTransaction(
);

Нестатический метод останавливает начатую транзакцию Базы данных.

Без параметров

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createIndex

\Bitrix\Main\DB\Result public
\Bitrix\Main\DB\MysqlCommonConnection::createIndex(
 string $tableName,
 string $indexName,
 string|array $columnNames,
 array $columnLengths = null
);

Нестатический метод создаёт индекс колонок.

Параметры

Параметр | Описание | Версия
$tableName | Имя таблицы. |
$indexName | Имя нового индекса. |
$columnNames | Имя колонки ли массив имён колонок, для которых создаётся индекс. |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


dropTable

void public
\Bitrix\Main\DB\MysqlCommonConnection::dropTable(
 string $tableName
);

Нестатический метод удаляет таблицу.

Параметры

Параметр | Описание | Версия
$tableName | Имя удаляемой таблицы |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getIndexName

string|null public
\Bitrix\Main\DB\MysqlCommonConnection::getIndexName(
 string $tableName,
 array $columns,
 boolean $strict = false
);

Нестатический метод возвращает имя индекса.

Параметры

Параметр | Описание | Версия
$tableName | Название таблицы. |
$columns | Массив колонок индекса. |
$strict | Флаг, устанавливающий, что колонки в индексе должны точно соответствовать колонкам в параметре $Columns. |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableFields

array public
\Bitrix\Main\DB\MysqlCommonConnection::getTableFields(
 string $tableName
);

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

Параметры

Параметр | Описание | Версия
$tableName | Имя таблицы |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isIndexExists

boolean public
\Bitrix\Main\DB\MysqlCommonConnection::isIndexExists(
 string $tableName,
 array $columns
);

Нестатический метод проверяет существование индекса.

Актуально содержание колонок в индексе может отличаться от запрошенных. В $columns можно использовать префикс столбцов актуального индекса.

Параметры

Параметр | Описание | Версия
$tableName | Имя таблицы. |
$columns | Массив столбцов в индексе. |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isTableExists

boolean public
\Bitrix\Main\DB\MysqlCommonConnection::isTableExists(
 string $tableName
);

Нестатический метод проверяет существование таблицы.

Параметры

Параметр | Описание | Версия
$tableName | Имя таблицы |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


renameTable

void public
\Bitrix\Main\DB\MysqlCommonConnection::renameTable(
 string $currentName,
 string $newName
);

Нестатический метод переименовывает таблицу. Таблица обязательно должна существовать и новое имя не должно встречаться в БД.

Параметры

Параметр | Описание | Версия
$currentName | Текущее имя таблицы. |
$newName | Новое имя таблицы. |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


rollbackTransaction

void public
\Bitrix\Main\DB\MysqlCommonConnection::rollbackTransaction(
);

Нестатический метод откатывает начатую транзакцию.

Без параметров

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


selectDatabase

boolean public
\Bitrix\Main\DB\MysqlCommonConnection::selectDatabase(
 string $database
);

Нестатический абстрактный метод устанавливает БД по умолчанию для запросов.

Параметры

Параметр | Описание | Версия
$database | Имя БД. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setStorageEngine

void public
\Bitrix\Main\DB\MysqlCommonConnection::setStorageEngine(
);

Нестатический метод устанавливает настройки по умолчанию для механизма хранения для всех операторов CREATE TABLE и для всех остальных релевантных DDL.

Значение настроек типа хранения получаются из файла .settings.php [image]. Это ключ engine из массива default секции connections.

Без параметров

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


startTransaction

void public
\Bitrix\Main\DB\MysqlCommonConnection::startTransaction(
);

Нестатический метод производит запуск новой транзакции базы данных.

Без параметров

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор MysqlCommonConnection

 public
\Bitrix\Main\DB\MysqlCommonConnection::__construct(
 array $configuration
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия.

Параметры

Параметр Описание Версия
$configuration Массив ключей:
  • host - хост;
  • database - база данных;
  • login - логин;
  • password - пароль;
  • initCommand - команда инициализации;
  • options - настройки;
  • engine - тип механизма хранения.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


MysqlCommonSqlHelper

MysqlCommonSqlHelper - абстрактный класс для работы с базой данных. Расширение класса \Main\DB\SqlHelper.

Обращается к пространству имён:

  • \Main;
  • \Main\Type;
  • \Main\Entity;
Метод | Описание | С версии
addSecondsToDateTime | Метод возвращает sql-функцию для добавления секунд к интервалу, указанному в параметре $from. |
castToChar | Метод возвращает CAST выражение для конвертируемого поля или строчного выражения. | 16.0.10
convertDateField | Метод конвертирует строку в объект \Bitrix\Main\Type\Date | 15.0.1
convertDatetimeField | Метод конвертирует строку в объект \Bitrix\Main\Type\DateTime. | 15.0.1
formatDate | Метод возвращает оператор Базы данных для конвертации значения $field в соответствии с значением $format. |
getAliasLength | Метод возвращает значение максимальной длины алиаса в выбранном операторе. |
getCharToDateFunction | Метод возвращает sql-функцию для конвертации строкового значения в тип Дата/время. |
getColumnTypeByField | Метод возвращает тип колонки в соответствии с объектом скалярного поля. |
getConcatFunction | Метод возвращает sql-функцию для конкатенации полей и операторов базы данных. |
getConverter | Метод возвращает ответ запрошенный для значения поля в выборке. | 15.0.1
getCurrentDateFunction | Метод возвращает sql-функцию для получения даты без времени. |
getCurrentDateTimeFunction | Метод возвращает sql-функцию для получения текущей даты и времени. |
getDatetimeToDateFunction | Метод возвращает sql-функцию передающую значение $value в тип Дата/Время базы данных. |
getDateToCharFunction | Метод возвращает sql-функцию для конвертации полей и операторов базы данных в строку. |
getIsNullFunction | Метод возвращает sql-функцию для проверки полей и операторов базы данных на значение NULL. |
getLeftQuote | Экранирование идентификаторов - левый символ. |
getLengthFunction | Метод возвращает sql-функцию для получения длины поля или оператора базы данных. |
getQueryDelimiter | Метод возвращает специальный разделитель запроса для пакетной обработки. |
getRightQuote | Экранирование идентификатора - правый символ. |
getTopSql | Метод трансформирует Sql запрос в соответствии со значениями параметров $limit и $offset. |
prepareMerge | Метод выстраивает строку для SQL-команды MERGE для указанной таблицы. | 15.5.0
softCastTextToChar | Метод возвращает выражение для текстового поля, используемого при группировке или сортировке. | 16.5.4


addSecondsToDateTime

string public
\Bitrix\Main\DB\MysqlCommonSqlHelper::addSecondsToDateTime(
 integer $seconds,
 integer $from = null
);

Нестатический метод возвращает sql-функцию для добавления секунд к интервалу, указанному в параметре $from. Если значение параметра $from равно нулю или прошло, то используется текущее время.

Параметры метода не будут приведены к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$seconds | Сколько секунд нужно добавить. |
$from | Дата и время базы данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


castToChar

 public
\Bitrix\Main\DB\MysqlCommonSqlHelper::castToChar(
 string $fieldName
);

Нестатический метод возвращает CAST выражение для конвертируемого поля или строчного выражения.

Параметры

Параметр | Описание | Версия
$fieldName | Возвращенная строка |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


convertDateField

null|\Bitrix\Main\Type\DateTime public
\Bitrix\Main\DB\MysqlCommonSqlHelper::convertDateField(
 string $value
);

Нестатический метод конвертирует строку в объект \Bitrix\Main\Type\Date.

Вспомогательная функция.

Параметры

Параметр | Описание | Версия
$value | Переданное значение. |

См. также

  • \Bitrix\Main\Db\MysqlCommonSqlHelper::getConverter

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


convertDatetimeField

null|\Bitrix\Main\Type\DateTime public
\Bitrix\Main\DB\MysqlCommonSqlHelper::convertDatetimeField(
 string $value
);

Нестатический метод конвертирует строку в объект \Bitrix\Main\Type\DateTime.

Вспомогательная функция.

Параметры

Параметр | Описание | Версия
$value | Полученное значение. |

См. также

  • \Bitrix\Main\Db\MysqlCommonSqlHelper::getConverter

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


formatDate

Сигнатура и описание

string public
\Bitrix\Main\DB\MysqlCommonSqlHelper::formatDate(
 string $format,
 string $field = null
);

Нестатический метод возвращает оператор Базы данных для конвертации значения $field в соответствии с значением $format.

Будут конвертированы:

  • YYYY - Полное числовое представление года, 4 цифры.
  • MMMM - Полное текстовое представление месяца, например: Январь или Март.
  • MM Числовое представление месяца с ведущим нулём.
  • MI - Минуты с начального нуля.
  • M - короткое текстовое представление месяца, три буквы.
  • DD - День месяца, две цифры с ведущим нулём.
  • HH - 24-ичасовой формат времени часов с ведущим нулём.
  • H - 24-ичасовой формат часов без ведущего нуля.
  • GG - 12-ичасовой формат с ведущим нулём.
  • G - 12-ичасовой формат без ведущего нуля.
  • SS - Минуты с ведущим нулём.
  • TT - AM или PM
  • T - am/pm.

Параметры

Параметр | Описание | Версия
$format | Формат. |
$field | Область базы данных или выражение. Параметр не приводится к SQL безопасному виду. |


getAliasLength

integer public
\Bitrix\Main\DB\MysqlCommonSqlHelper::getAliasLength(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCharToDateFunction

string public
\Bitrix\Main\DB\MysqlCommonSqlHelper::getCharToDateFunction(
 string $value
);

Нестатический метод возвращает sql-функцию для конвертации строкового значения в тип Дата/время.

Значение параметра $value не приводится к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$value | Строка в формате YYYY-MM-DD HH:MI:SS. |

См. также

  • \Bitrix\Main\DB\MssqlSqlHelper::formatDate

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getColumnTypeByField

string public
\Bitrix\Main\DB\MysqlCommonSqlHelper::getColumnTypeByField(
 \Bitrix\Main\Entity\ScalarField $field
);

Нестатический метод возвращает тип колонки в соответствии с объектом скалярного поля.

Параметры

Параметр | Описание | Версия
$field | Tип "источника". |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getConcatFunction

string public
\Bitrix\Main\DB\MysqlCommonSqlHelper::getConcatFunction(
 string $field,...
);

Нестатический метод возвращает sql-функцию для конкатенации полей и операторов базы данных.

Параметры не сводятся к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$field,... | Поля и операторы базы данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getConverter

false|callback public
\Bitrix\Main\DB\MysqlCommonSqlHelper::getConverter(
 \Bitrix\Main\Entity\ScalarField $field
);

Нестатический метод возвращает ответ запрошенный для значения поля в выборке.

Параметры

Параметр | Описание | Версия
$field | Тип "источника". |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrentDateFunction

string public
\Bitrix\Main\DB\MysqlCommonSqlHelper::getCurrentDateFunction(
);

Нестатический метод возвращает sql-функцию для получения даты без времени.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrentDateTimeFunction

string public
\Bitrix\Main\DB\MysqlCommonSqlHelper::getCurrentDateTimeFunction(
);

Нестатический метод возвращает sql-функцию для получения текущей даты и времени.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDatetimeToDateFunction

string public
\Bitrix\Main\DB\MysqlCommonSqlHelper::getDatetimeToDateFunction(
 string $value
);

Нестатический метод возвращает sql-функцию передающую значение $value в тип Дата/Время базы данных.

Параметр $value не приводится к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$value | Поле и оператор базы данных для передачи. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDateToCharFunction

string public
\Bitrix\Main\DB\MysqlCommonSqlHelper::getDateToCharFunction(
 string $fieldName
);

Нестатический метод возвращает sql-функцию для конвертации полей и операторов базы данных в строку.

Результирующая строка будет в формате: YYYY-MM-DD HH:MI:SS.

Параметр $fieldName не приводится к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$fieldName | Поле или оператор базы данных. |

См. также

  • \Bitrix\Main\DB\MssqlSqlHelper::formatDate

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getIsNullFunction

string public
\Bitrix\Main\DB\MysqlCommonSqlHelper::getIsNullFunction(
 string $expression,
 string $result
);

Нестатический метод возвращает sql-функцию для проверки полей и операторов базы данных на значение NULL. Если равно NULL, то будет возвращён $result.

Все параметры не приводятся к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$expression | Поле или оператор базы данных для проверки на NULL. |
$result | Поле или оператор базы данных, которые будут возвращены если $expression будет равно NULL. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLeftQuote

string public
\Bitrix\Main\DB\MysqlCommonSqlHelper::getLeftQuote(
);

Нестатический метод. Возвращает левый символ экранирующего идентификатора.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLengthFunction

string public
\Bitrix\Main\DB\MysqlCommonSqlHelper::getLengthFunction(
 string $field
);

Нестатический метод возвращает sql-функцию для получения длины поля или оператора базы данных.

Параметр $field не приводится к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$field | Поле или оператор базы данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getQueryDelimiter

string public
\Bitrix\Main\DB\MysqlCommonSqlHelper::getQueryDelimiter(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRightQuote

string public
\Bitrix\Main\DB\MysqlCommonSqlHelper::getRightQuote(
);

Нестатический метод. Возвращает правый символ экранирующего идентификатора.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTopSql

string public
\Bitrix\Main\DB\MysqlCommonSqlHelper::getTopSql(
 string $sql,
 integer $limit,
 integer $offset
);

Нестатический метод трансформирует Sql запрос в соответствии со значениями параметров $limit и $offset.

Параметр $limit должен быть определён к моменту задания $offset.

Параметры

Параметр | Описание | Версия
$sql | Текст Sql запроса. |
$limit | Максимальное число строк для возврата. |
$offset | Смещение первой строки для возврата, начинается с 0. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareMerge

array public
\Bitrix\Main\DB\MysqlCommonSqlHelper::prepareMerge(
 string $tableName,
 array $primaryFields,
 array $insertFields,
 array $updateFields
);

Нестатический метод выстраивает строку для SQL-команды MERGE для указанной таблицы.

Параметры

Параметр | Описание | Версия
$tableName | Название таблицы
$primaryFields Массив первичных ключей списка колонок вида:
Array("column")[]
$insertFields Массив вставки вида:
Array("column" => $value)[]
$updateFields Массив обновлений вида:
Array("column" => $value)[]

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


softCastTextToChar

 public
\Bitrix\Main\DB\MysqlCommonSqlHelper::softCastTextToChar(
 string $fieldName
);

Нестатический метод возвращает выражение для текстового поля, используемого при группировке или сортировке.

Параметры

Параметр | Описание | Версия
$fieldName | Возвращаемая строка |

См. также

  • \Bitrix\Main\Entity\Query::buildGroup
  • \Bitrix\Main\Entity\Query::buildOrder

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


MysqlConnection

MysqlConnection - класс соединений с БД MySQL. Расширение класса \Main\DB\MysqlCommonConnection.

Обращается к пространству имён:

  • \Main\Diag;
Метод | Описание | С версии
disconnectInternal | Метод отключает БД |
getAffectedRowsCount | Метод возвращает количество поражённых строк из последнего невыполненного запроса. |
getType | Метод возвращает тип БД. |
getVersion | Метод возвращает версию подключённой БД. |
selectDatabase | Метод устанавливает БД по умолчанию для запросов. |


disconnectInternal

void public
\Bitrix\Main\DB\MysqlConnection::disconnectInternal(
);

Нестатический метод отключает БД. Если связи не было установлено, ничего не производит.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAffectedRowsCount

integer public
\Bitrix\Main\DB\MysqlConnection::getAffectedRowsCount(
);

Нестатический метод возвращает количество поражённых строк из последнего невыполненного запроса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getType

string public
\Bitrix\Main\DB\MysqlConnection::getType(
);

Нестатический метод возвращает тип БД:

  • mysql

Без параметров

См. также

  • \Bitrix\Main\DB\Connection::getType

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getVersion

array public
\Bitrix\Main\DB\MysqlConnection::getVersion(
);

Нестатический метод возвращает версию подключённой БД.

Версия представляется в виде массива из двух элементов:

- Первый (с индексом 0) - версия БД.
- Второй (с индексом 1) выводится, если используется light или express версия БД.

Без параметров

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


selectDatabase

boolean public
\Bitrix\Main\DB\MysqlConnection::selectDatabase(
 string $database
);

Нестатический метод устанавливает БД по умолчанию для запросов.

Параметры

Параметр | Описание | Версия
$database | Имя БД. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


MysqliConnection

MysqliConnection - класс соединений с БД MySQLi через MySQL Improved Extension [image]. Расширение класса \Main\DB\MysqlCommonConnection.

Обращается к пространству имён:

  • \Main\Diag;
Метод | Описание | С версии
getAffectedRowsCount | Метод возвращает количество поражённых строк из последнего невыполненного запроса. |
getType | Метод возвращает тип БД |
getVersion | Метод возвращает версию подключённой БД. |
selectDatabase | Метод устанавливает БД по умолчанию для запросов. |


getAffectedRowsCount

integer public
\Bitrix\Main\DB\MysqliConnection::getAffectedRowsCount(
);

Нестатический метод возвращает количество поражённых строк из последнего невыполненного запроса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getType

string public
\Bitrix\Main\DB\MysqliConnection::getType(
);

Нестатический метод возвращает тип БД:

  • mysql

Без параметров

См. также

  • \Bitrix\Main\DB\Connection::getType

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getVersion

array public
\Bitrix\Main\DB\MysqliConnection::getVersion(
);

Нестатический метод возвращает версию подключённой БД.

Версия представляется в виде массива из двух элементов:

- Первый (с индексом 0) - версия БД.
- Второй (с индексом 1) выводится, если используется light или express версия БД.

Без параметров

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


selectDatabase

boolean public
\Bitrix\Main\DB\MysqliConnection::selectDatabase(
 string $database
);

Нестатический метод устанавливает БД по умолчанию для запросов.

Параметры

Параметр | Описание | Версия
$database | Имя БД. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


MysqliResult

MysqliResult - класс для представления данных, полученных в ходе запроса для БД MySQLi. Расширение класса \Main\DB\Result.

Метод | Описание | С версии
getFields | Метод возвращает массив полей, связанный с колонками в результате запроса. | 14.5.2
getSelectedRowsCount | Метод возвращает число строк в результате запроса. |


getFields

array public
\Bitrix\Main\DB\MysqliResult::getFields(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSelectedRowsCount

integer public
\Bitrix\Main\DB\MysqliResult::getSelectedRowsCount(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


MysqliSqlHelper

MysqliSqlHelper - класс для работы с БД MySQLi, конкретные методы формирования SQL запросов, наследующие Bitrix\Main\DB\SqlHelper. Они помогают сформировать запрос не опускаясь до синтаксиса конкретной базы данных.

Расширение класса Bitrix\Main\DB\MysqlCommonSqlHelper.

Обращается к пространству имён:

  • \Main\Entity;
Метод | Описание | С версии
forSql | Метод выводит специальные символы в строке для использования в SQL операторе |
getFieldByColumnType | Метод возвращает экземпляр потомка Entity\ScalarField, соответствующий типу БД. | 14.5.2


forSql

string public
\Bitrix\Main\DB\MysqliSqlHelper::forSql(
 string $value,
 integer $maxLength
);

Нестатический метод выводит специальные символы в строке для использования в SQL операторе

Параметры

Параметр | Описание | Версия
$value | Значение для вывода |
$maxLength | Лимит длины строки, если существует. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFieldByColumnType

\Bitrix\Main\Entity\ScalarField public
\Bitrix\Main\DB\MysqliSqlHelper::getFieldByColumnType(
 string $name,
 mixed $type,
 array $parameters = null
);

Нестатический метод возвращает экземпляр потомка Entity\ScalarField, соответствующий типу БД.

Параметры

Параметр | Описание | Версия
$name | Имя колонки БД. |
$type | Тип БД. |
$parameters | Дополнительная информация. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


MysqlResult

MysqlResult - класс для представления данных, полученных в ходе запроса для БД MySQL. Расширение класса \Main\DB\Result.

Метод | Описание | С версии
getFields | Метод возвращает массив полей, связанный с колонками в результате запроса. | 14.5.2
getSelectedRowsCount | Метод возвращает число строк в результате запроса. |


getFields

array public
\Bitrix\Main\DB\MysqlResult::getFields(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSelectedRowsCount

integer public
\Bitrix\Main\DB\MysqlResult::getSelectedRowsCount(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


MysqlSqlHelper

MysqlSqlHelper - Класс для работы с БД MySQL, конкретные методы формирования SQL запросов, наследующие Bitrix\Main\DB\SqlHelper. Они помогают сформировать запрос не опускаясь до синтаксиса конкретной базы данных.

Расширение класса Bitrix\Main\DB\MysqlCommonSqlHelper.

Обращается к пространству имён:

  • \Main\Entity;
Метод | Описание | С версии
getFieldByColumnType | Метод возвращает исключение потомка из Entity\ScalarField, который соответствует типу базы данных. | 14.5.2
forSql | Метод выводит специальные символы в строке для использования в SQL операторе. |


forSql

string public
\Bitrix\Main\DB\MysqlSqlHelper::forSql(
 string $value,
 integer $maxLength
);

Нестатический метод выводит специальные символы в строке для использования в SQL операторе

Параметры

Параметр | Описание | Версия
$value | Значение для вывода |
$maxLength | Лимит длины строки, если существует. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFieldByColumnType

\Bitrix\Main\Entity\ScalarField public
\Bitrix\Main\DB\MysqlSqlHelper::getFieldByColumnType(
 string $name,
 mixed $type,
 array $parameters = null
);

Нестатический метод возвращает исключение потомка из Entity\ScalarField, который соответствует типу базы данных.

Параметры

Параметр | Описание | Версия
$name | Название колонки Базы данных. |
$type | Тип характерный для Базы данных. |
$parameters | Дополнительная информация. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


OracleConnection

OracleConnection - класс для соединений с БД Oracle с использованием oci8 [image]. Расширение класса DB\Connection.

Обращается к пространствам имён:

  • \Main\Diag;
  • \Main\Entity;
  • \Main\ArgumentException;
Метод | Описание | С версии
add | Метод добавляет строку таблицы и возвращает ID добавленной строки |
commitTransaction | Метод останавливает начатую транзакцию Базы данных. |
dropTable | Метод удаляет таблицу. | 14.5.1
getAffectedRowsCount | Метод возвращает количество поражённых строк из последнего невыполненного запроса. |
getIndexName | Метод возвращает имя индекса. |
getNextId | Метод возвращает следующее значение в сгенерированной последовательности БД. | 14.5.2
getTableFields | Метод возвращает объекты полей соответствующие колонкам таблицы. |
getType | Метод возвращает тип БД |
getVersion | Метод возвращает версию подключённой БД |
isIndexExists | Метод проверяет существование индекса |
isTableExists | Метод проверяет существование таблицы |
query | Метод выполняет запросы | 14.5.1
renameTable | Метод переименовывает таблицу. | 14.0.4
rollbackTransaction | Метод откатывает начатую транзакцию. |
startTransaction | Метод производит запуск новой транзакции базы данных. |


add

integer public
\Bitrix\Main\DB\OracleConnection::add(
 string $tableName,
 array $data,
 string $identity = "ID"
);

Нестатический метод добавляет строку таблицы и возвращает ID добавленной строки. Расширение Connection::add.

Параметр $identity должен быть равен нулю, если таблица не имеет автоинкрементированных колонок.

Параметры

Параметр | Описание | Версия
$tableName | Имя таблицы, куда добавляется новая строка. |
$data | Массив имя колонки => значение. |
$identity | Только для Oracle. |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


commitTransaction

void public
\Bitrix\Main\DB\OracleConnection::commitTransaction(
);

Нестатический метод останавливает начатую транзакцию Базы данных. Расширение Connection::commitTransaction.

Без параметров

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


dropTable

void public
\Bitrix\Main\DB\OracleConnection::dropTable(
 string $tableName
);

Нестатический метод удаляет таблицу. Расширение Connection::dropTable.

Параметры

Параметр | Описание | Версия
$tableName | Имя удаляемой таблицы. |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAffectedRowsCount

integer public
\Bitrix\Main\DB\OracleConnection::getAffectedRowsCount(
);

Нестатический метод возвращает количество поражённых строк из последнего невыполненного запроса. Расширение Connection::getAffectedRowsCount.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getIndexName

string|null public
\Bitrix\Main\DB\OracleConnection::getIndexName(
 string $tableName,
 array $columns,
 boolean $strict = false
);

Нестатический метод возвращает имя индекса. Расширение Connection::getIndexName.

Параметры

Параметр | Описание | Версия
$tableName | Имя таблицы |
$columns | Массив колонок индекса. |
$strict | Флаг, устанавливающий, что колонки в индексе должны точно соответствовать колонкам в параметре $Columns. |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getNextId

null|string public
\Bitrix\Main\DB\OracleConnection::getNextId(
 string $name = ""
);

Нестатический метод возвращает следующее значение в сгенерированной последовательности БД.

Последовательнность имён может содержать только: A-Z, a-z, 0-9 и символ подчёркивания "_".

Параметры

Параметр | Описание | Версия
$name | Имя в последовательности. |

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableFields

array public
\Bitrix\Main\DB\OracleConnection::getTableFields(
 string $tableName
);

Нестатический метод возвращает объекты полей соответствующие колонкам таблицы. Таблица должна существовать. Расширение Connection::getTableFields.

Параметры

Параметр | Описание | Версия
$tableName | Имя таблицы |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getType

string public
\Bitrix\Main\DB\OracleConnection::getType(
);

Нестатический абстрактный метод возвращает тип БД. Расширение Connection::getType.

  • oracle

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getVersion

array public
\Bitrix\Main\DB\OracleConnection::getVersion(
);

Нестатический метод возвращает версию подключённой БД. Расширение Connection::getVersion.

Версия представляется в виде массива из двух элементов:

- Первый (с индексом 0) - версия БД.
- Второй (с индексом 1) выводится, если используется light или express версия БД.

Без параметров

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isIndexExists

boolean public
\Bitrix\Main\DB\OracleConnection::isIndexExists(
 string $tableName,
 array $columns
);

Нестатический метод проверяет существование индекса. Расширение Connection::isIndexExists.

Актуально содержание колонок в индексе может отличаться от запрошенных. В $columns можно использовать префикс столбцов актуального индекса.

Параметры

Параметр | Описание | Версия
$tableName | Имя таблицы. |
$columns | Массив столбцов в индексе. |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isTableExists

boolean public
\Bitrix\Main\DB\OracleConnection::isTableExists(
 string $tableName
);

Нестатический метод проверяет существование таблицы. Расширение Connection::isTableExists.

Параметры

Параметр | Описание | Версия
$tableName | Имя таблицы |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


query

\Bitrix\Main\DB\Result public
\Bitrix\Main\DB\OracleConnection::query(
 string $sql,
 array $binds,
 integer $offset,
 integer $limit
);

Нестатический метод выполняет запросы:

  • query($sql)
  • query($sql, $limit)
  • query($sql, $offset, $limit)
  • query($sql, $binds)
  • query($sql, $binds, $limit)
  • query($sql, $binds, $offset, $limit)

Расширение Connection::query.

Параметры

Параметр | Описание | Версия
$sql | Sql запрос. |
$binds | Связанный массив. |
$offset | Смещение первой строки для возврата, начиная с 0. |
$limit | Ограничение на количество строк. |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


renameTable

void public
\Bitrix\Main\DB\OracleConnection::renameTable(
 string $currentName,
 string $newName
);

Нестатический метод переименовывает таблицу. Таблица обязательно должна существовать, и новое имя не должно встречаться в БД. Расширение Connection::renameTable.

Параметры

Параметр | Описание | Версия
$currentName | Текущее имя таблицы |
$newName | Новое имя таблицы |

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


rollbackTransaction

void public
\Bitrix\Main\DB\OracleConnection::rollbackTransaction(
);

Нестатический метод откатывает начатую транзакцию. Расширение Connection::rollbackTransaction.

Без параметров

Исключения

  • \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


startTransaction

void public
\Bitrix\Main\DB\OracleConnection::startTransaction(
);

Нестатический метод производит запуск новой транзакции базы данных. Расширение Connection::startTransaction.

Без параметров

Исключения

  • Расширение \Bitrix\Main\Db\SqlQueryException.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


OracleResult

OracleResult - для представления данных, полученных в ходе запроса.

Метод | Описание | С версии
getSelectedRowsCount | Метод возвращает число строк в результате запроса. |
getFields | Метод возвращает массив полей, связанный с колонками в результате запроса. | 14.5.2


getFields

array public
\Bitrix\Main\DB\OracleResult::getFields(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSelectedRowsCount

integer public
\Bitrix\Main\DB\OracleResult::getSelectedRowsCount(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


OracleSqlHelper

OracleSqlHelper - класс для работы с БД Oracle, конкретные методы формирования SQL запросов, наследующие Bitrix\Main\DB\SqlHelper. Они помогают сформировать запрос не опускаясь до синтаксиса конкретной базы данных.

Обращается к пространствам имён:

  • \Main;
  • \Main\Type;
  • \Main\Entity;
Метод | Описание | С версии
quote | Метод возвращает запрошенный идентификатор. | 14.0.6
castToChar | Метод возвращает CAST выражение для конвертируемого поля или строчного выражения. | 16.0.10
prepareMerge | Метод выстраивает строки для команды SQL MERGE | 15.5.0
getTopSql | Метод трансформирует запрос согласно установленному лимиту ограничениям смещения. | 14.0.0
getRightQuote | Экранирование идентификатора - правый символ | 14.0.0
getLeftQuote | Экранирование идентификатора - левый символ | 14.0.0
getQueryDelimiter | Метод возвращает специальный разделитель запроса для пакетной обработки. |
getLengthFunction | Метод возвращает sql-функцию для получения длины поля или оператора базы данных. |
getIsNullFunction | Метод возвращает sql-функцию для проверки полей и операторов базы данных на значение NULL |
getFieldByColumnType | Метод возвращает исключение потомка из Entity\ScalarField | 14.5.2
getDescendingOrder | Метод возвращает убывающий порядок установленный для ORDER BY. | 14.5.0
getDateToCharFunction | Метод возвращает sql-функцию для конвертации полей и операторов базы данных в строку. | 14.0.18
getDatetimeToDateFunction | Метод возвращает sql-функцию передающую значение $value в тип Дата/Время базы данных. |
getCurrentDateTimeFunction | Метод возвращает sql-функцию для получения текущего времени. |
getCurrentDateFunction | Метод возвращает sql-функцию для получения даты без времени. |
getConverter | Метод возвращает ответ запрошенный для значения поля в выборке. | 15.0.1
getConcatFunction | Метод возвращает sql-функцию для конкатенации полей и операторов базы данных. |
getColumnTypeByField | Метод возвращает тип колонки в соответствии с объектом скалярного поля. | 14.5.2
getCharToDateFunction | Метод возвращает sql-функцию для конвертации строкового значения в тип Дата/время. | 14.0.18
getAscendingOrder | Метод возвращает возрастающий порядок в соответствии с ORDER BY. | 14.5.0
getAliasLength | Метод возвращает значение максимальной длины алиаса в выбранном операторе. | 14.5.3
forSql | Метод выводит специальные символы в строке для использования в SQL операторе. |
formatDate | Метод возвращает оператор Базы данных для конвертации значения $field в соответствии с значением $format. | 14.0.0
convertToDb | Метод конвертирует значение в строку, соответствующую типу колонки используемой в SQL запросе. | 14.5.2
convertTextField | Метод конвертирует объект типа lob в строку | 15.0.1
convertStringField | Метод конвертирует строку в объект \Bitrix\Main\Type\Date если строка имеет специфический формат даты | 15.0.1
convertDatetimeField | Метод конвертирует строку в объект \Bitrix\Main\Type\DateTime | 15.0.1
addSecondsToDateTime | Метод возвращает sql-функцию для добавления секунд к интервалу, указанному в параметре $from | 14.0.0
softCastTextToChar | Метод возвращает выражение для текстового поля, используемого при группировке или сортировке. | 16.5.4


addSecondsToDateTime

string public
\Bitrix\Main\DB\OracleSqlHelper::addSecondsToDateTime(
 integer $seconds,
 integer $from = null
);

Нестатический метод возвращает sql-функцию для добавления секунд к интервалу, указанному в параметре $from. Если значение параметра $from равно нулю или прошло, то используется текущее время.

Параметры метода не будут приведены к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$seconds | Сколько секунд нужно добавить. |
$from | Дата и время базы данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


castToChar

 public
\Bitrix\Main\DB\OracleSqlHelper::castToChar(
 string $fieldName
);

Нестатический метод возвращает CAST выражение для конвертируемого поля или строчного выражения.

Параметры

Параметр | Описание | Версия
$fieldName | Возвращаемая строка |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


convertDatetimeField

null|\Bitrix\Main\Type\DateTime public
\Bitrix\Main\DB\OracleSqlHelper::convertDatetimeField(
 string $value
);

Нестатический метод конвертирует строку в объект \Bitrix\Main\Type\DateTime. Вспомогательная функция

Параметры

Параметр | Описание | Версия
$value | Передаваемое значение. |

См. также

  • \Bitrix\Main\Db\OracleSqlHelper::getConverter

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


convertStringField

null|\Bitrix\Main\Type\DateTime public
\Bitrix\Main\DB\OracleSqlHelper::convertStringField(
 string $value
);

Нестатический метод конвертирует строку в объект \Bitrix\Main\Type\Date если строка имеет специфический формат даты. Вспомогательная функция.

Параметры

Параметр | Описание | Версия
$value | Передаваемое значение. |

См. также

  • \Bitrix\Main\Db\OracleSqlHelper::getConverter

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


convertTextField

null|string public
\Bitrix\Main\DB\OracleSqlHelper::convertTextField(
 string $value
);

Нестатический метод конвертирует объект типа lob в строку. Вспомогательная функция.

Параметры

Параметр | Описание | Версия
$value | Передаваемое значение. |

См. также

  • \Bitrix\Main\Db\OracleSqlHelper::getConverter

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


convertToDb

string public
\Bitrix\Main\DB\OracleSqlHelper::convertToDb(
 mixed $value,
 \Bitrix\Main\Entity\ScalarField $field
);

Нестатический метод конвертирует значение в строку, соответствующую типу колонки используемой в SQL запросе.

Параметры

Параметр | Описание | Версия
$value | Значение для конвертации |
$field | Тип "источника". |

Исключения

  • \Main\ArgumentTypeException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


formatDate

Сигнатура и описание

string public
\Bitrix\Main\DB\OracleSqlHelper::formatDate(
 string $format,
 string $field = null
);

Нестатический метод возвращает оператор Базы данных для конвертации значения $field в соответствии с значением $format.

Будут конвертированы:

  • YYYY - Полное числовое представление года, 4 цифры.
  • MMMM - Полное текстовое представление месяца, например: Январь или Март.
  • MM Числовое представление месяца с ведущим нулём.
  • MI - Минуты с начального нуля.
  • M - короткое текстовое представление месяца, три буквы.
  • DD - День месяца, две цифры с ведущим нулём.
  • HH - 24-ичасовой формат времени часов с ведущим нулём.
  • H - 24-ичасовой формат часов без ведущего нуля.
  • GG - 12-ичасовой формат с ведущим нулём.
  • G - 12-ичасовой формат без ведущего нуля.
  • SS - Минуты с ведущим нулём.
  • TT - AM или PM
  • T - am/pm.

Параметры

Параметр | Описание | Версия
$format | Формат. |
$field | Область базы данных или выражение. Параметр не приводится к SQL безопасному виду. |


forSql

string public
\Bitrix\Main\DB\OracleSqlHelper::forSql(
 string $value,
 integer $maxLength
);

Нестатический метод выводит специальные символы в строке для использования в SQL операторе.

Параметры

Параметр | Описание | Версия
$value | Значение для вывода |
$maxLength | Лимит длины строки, если существует. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAliasLength

integer public
\Bitrix\Main\DB\OracleSqlHelper::getAliasLength(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAscendingOrder

string public
\Bitrix\Main\DB\OracleSqlHelper::getAscendingOrder(
);

Нестатический метод возвращает возрастающий порядок в соответствии с ORDER BY.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCharToDateFunction

string public
\Bitrix\Main\DB\OracleSqlHelper::getCharToDateFunction(
 string $value
);

Нестатический метод возвращает sql-функцию для конвертации строкового значения в тип Дата/время.

Значение параметра $value не приводится к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$value | Строка в формате YYYY-MM-DD HH:MI:SS. |

См. также

  • \Bitrix\Main\DB\MssqlSqlHelper::formatDate

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getColumnTypeByField

string public
\Bitrix\Main\DB\OracleSqlHelper::getColumnTypeByField(
 \Bitrix\Main\Entity\ScalarField $field
);

Нестатический метод возвращает тип колонки в соответствии с объектом скалярного поля.

Параметры

Параметр | Описание | Версия
$field | Tип "источника". |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getConcatFunction

string public
\Bitrix\Main\DB\OracleSqlHelper::getConcatFunction(
 string $field,...
);

Нестатический метод возвращает sql-функцию для конкатенации полей и операторов базы данных.

Параметры не сводятся к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$field,... | Поля и операторы базы данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getConverter

false|callback public
\Bitrix\Main\DB\OracleSqlHelper::getConverter(
 \Bitrix\Main\Entity\ScalarField $field
);

Нестатический метод возвращает ответ запрошенный для значения поля в выборке.

Параметры

Параметр | Описание | Версия
$field | Тип "источника". |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrentDateFunction

string public
\Bitrix\Main\DB\OracleSqlHelper::getCurrentDateFunction(
);

Нестатический метод возвращает sql-функцию для получения даты без времени.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrentDateTimeFunction

string public
\Bitrix\Main\DB\OracleSqlHelper::getCurrentDateTimeFunction(
);

Нестатический метод возвращает sql-функцию для получения текущего времени.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDatetimeToDateFunction

string public
\Bitrix\Main\DB\OracleSqlHelper::getDatetimeToDateFunction(
 string $value
);

Нестатический метод возвращает sql-функцию передающую значение $value в тип Дата/Время базы данных.

Параметр $value не приводится к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$value | Поле и оператор базы данных для передачи. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDateToCharFunction

string public
\Bitrix\Main\DB\OracleSqlHelper::getDateToCharFunction(
 string $fieldName
);

Нестатический метод возвращает sql-функцию для конвертации полей и операторов базы данных в строку.

Результирующая строка будет в формате: YYYY-MM-DD HH:MI:SS.

Параметр $fieldName не приводится к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$fieldName | Поле или оператор базы данных. |

См. также

  • \Bitrix\Main\DB\MssqlSqlHelper::formatDate

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDescendingOrder

string public
\Bitrix\Main\DB\OracleSqlHelper::getDescendingOrder(
);

Нестатический метод возвращает убывающий порядок установленный для ORDER BY.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFieldByColumnType

\Bitrix\Main\Entity\ScalarField public
\Bitrix\Main\DB\OracleSqlHelper::getFieldByColumnType(
 string $name,
 mixed $type,
 array $parameters = null
);

Нестатический метод возвращает исключение потомка из Entity\ScalarField, который соответствует типу базы данных.

Параметры

Параметр | Описание | Версия
$name | Название колонки Базы данных. |
$type | Тип характерный для Базы данных. |
$parameters | Дополнительная информация. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getIsNullFunction

string public
\Bitrix\Main\DB\OracleSqlHelper::getIsNullFunction(
 string $expression,
 string $result
);

Нестатический метод возвращает sql-функцию для проверки полей и операторов базы данных на значение NULL. Если равно NULL, то будет возвращён $result.

Все параметры не приводятся к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$expression | Поле или оператор базы данных для проверки на NULL. |
$result | Поле или оператор базы данных, которые будут возвращены если $expression будет равно NULL. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLeftQuote

string public
\Bitrix\Main\DB\OracleSqlHelper::getLeftQuote(
);

Нестатический метод. Возвращает левый символ экранирующего идентификатора.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLengthFunction

string public
\Bitrix\Main\DB\OracleSqlHelper::getLengthFunction(
 string $field
);

Нестатический метод возвращает sql-функцию для получения длины поля или оператора базы данных.

Параметр $field не приводится к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$field | Поле или оператор БД. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getQueryDelimiter

string public
\Bitrix\Main\DB\OracleSqlHelper::getQueryDelimiter(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRightQuote

string public
\Bitrix\Main\DB\OracleSqlHelper::getRightQuote(
);

Нестатический метод. Экранирование идентификатора - правый символ

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTopSql

string public
\Bitrix\Main\DB\OracleSqlHelper::getTopSql(
 string $sql,
 integer $limit,
 integer $offset
);

Нестатический метод трансформирует запрос согласно установленному лимиту ($limit) ограничениям смещения ($offset). Необходимо обязательно указать $limit когда $offset задан.

Параметры

Параметр | Описание | Версия
$sql | Текст запроса |
$limit | Максимальное число строк для возврата. |
$offset | Смещение первых строк, начинается с 0. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareMerge

array public
\Bitrix\Main\DB\OracleSqlHelper::prepareMerge(
 string $tableName,
 array $primaryFields,
 array $insertFields,
 array $updateFields
);

Нестатический метод выстраивает строки для команды SQL MERGE для данной таблицы.

Параметры

Параметр | Описание | Версия
$tableName | Имя таблицы. |
$primaryFields | Массив первичных ключей списка колонок. Array("column")[] |
$insertFields | Моссив добавляемых данных Array("column" => $value)[] |
$updateFields | Массив обновляеых данных. Array("column" => $value)[] |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


quote

string public
\Bitrix\Main\DB\OracleSqlHelper::quote(
 string $identifier
);

Нестатический метод возвращает запрошенный идентификатор.

Параметры

Параметр | Описание | Версия
$identifier | Имя таблицы или колонки. |

См. также

  • \Bitrix\Main\DB\SqlHelper::quote

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


softCastTextToChar

 public
\Bitrix\Main\DB\OracleSqlHelper::softCastTextToChar(
 string $fieldName
);

Нестатический метод возвращает выражение для текстового поля, используемого при группировке или сортировке.

Параметры

Параметр | Описание | Версия
$fieldName | Возвращаемая строка |

См. также

  • \Bitrix\Main\Entity\Query::buildGroup
  • \Bitrix\Main\Entity\Query::buildOrder

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Paginator

Paginator - Класс пагинации (постраничной навигации).

Метод | Описание | С версии
query | Метод задаёт смещение и ограничение вычислений и выполняет ограниченный запрос к БД |
calculateQueryLimits | Метод возвращает массив из двух элементов со смещением и ограничением, основанном на параметрах пагинации. |


calculateQueryLimits

array public static
\Bitrix\Main\DB\Paginator::calculateQueryLimits(
 integer $numberOfRecords,
 integer $pageNumber,
 integer $numberOfRecordsPerPage,
 boolean $backward
);

Статический метод возвращает массив из двух элементов со смещением и ограничением, основанном на параметрах пагинации.

Параметры

Параметр | Описание | Версия
$numberOfRecords | Общий номер записи возвращённый Sql запросом. |
$pageNumber | страница для отображения. |
$numberOfRecordsPerPage | Размер страницы. |
$backward | Использовать обратную пагинацию. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


query

\Bitrix\Main\DB\Result public static
\Bitrix\Main\DB\Paginator::query(
 string $sql,
 \Bitrix\Main\DB\Connection $connection,
 integer $numberOfRecords,
 integer $pageNumber,
 integer $numberOfRecordsPerPage,
 boolean $backward = false
);

Статический метод задаёт смещение и ограничение вычислений и выполняет ограниченный запрос к БД.

Параметры

Параметр | Описание | Версия
$sql | Sql запрос. |
$connection | Соединение с БД для запроса. |
$numberOfRecords | Общий номер записи, возвращаемой запросом. |
$pageNumber | СТраница для отображения. |
$numberOfRecordsPerPage | Размер страницы. |
$backward | Использование обратной пагинации. |

Исключения

  • \Main\Db\SqlQueryException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Result

Описание

Result - абстрактный класс для представления данных, полученных в ходе запроса.

Он имеет возможность изменять необработанные данные полученные из базы данных в полезные ассоциированные массивы с определёнными десериализированными полями и некоторыми представленными как Дата/время объектами или другими изменениями.

Класс имплементирует интерфейс \IteratorAggregate. Это позволяет итерировать результаты выборки:

$rows = array();

$result = \BookTable::getList(array(
     ...
));

foreach ($result as $row)
{
     $rows[] = $row;
}

Так же реализована отладка запросов с помощью, предоставлением \Bitrix\Main\Diag\SqlTracker информации о синхронизации.

Методы

Метод | Описание | С версии
addFetchDataModifier | Метод модифицирует массив как ссылку или возвращает новый массив. | 14.5.1
addReplacedAliases | Метод расширяет список колонок с алиасами. | 14.9.2
fetch | Метод получает строку из результата запроса и возвращает её в ассоциативном массиве. | 14.0.0
fetchAll | метод получает все строки запроса и возвращает ассоциированный массив. | 14.0.0
fetchRaw | Метод получает одну строку из запроса и возвращает её в ассоциированном массиве с необработанными данными БД | 15.5.1
getCount | Метод возвращает записанное количество. | 15.5.10
getFields | Метод возвращает массив полей, связанный с колонками в результате запроса. | 14.5.2
getResource | Метод возвращает специфичные ресурсы запроса. | 14.0.0
getSelectedRowsCount | Метод возвращает число строк в результате запроса. | 14.0.0
getTrackerQuery | Метод возвращает трекер текущего запроса. | 14.0.0
setCount | Метод производит запись количества. | 15.5.10
setReplacedAliases | Метод устанавливает список колонок с алиасами. | 14.0.0
setSerializedFields | Метод устанавливает внутренний список полей, которые должны быть десериализированы при получении. | 14.0.0


addFetchDataModifier

void public
\Bitrix\Main\DB\Result::addFetchDataModifier(
 callable $fetchDataModifier
);

Нестатический метод. Модификатор получает извлечённый массив как аргумент и модифицирует его как ссылку или возвращает новый массив

function (&$data) { $data['AGE'] -= 7; }
 function ($data) { $data['AGE'] -= 7; return $data; }

Параметры

Параметр | Описание | Версия
$fetchDataModifier | Валидный ответ. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addReplacedAliases

void public
\Bitrix\Main\DB\Result::addReplacedAliases(
 \Bitrix\Main\DB\array[string]string $replacedAliases
);

Нестатический метод расширяет список колонок с алиасами.

Параметры

Параметр | Описание | Версия
$replacedAliases | Карта алиасов от технических названий к человекопонятным. |

См. также

  • \Bitrix\Main\Db\Result::setReplacedAliases

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


fetch

array|false public
\Bitrix\Main\DB\Result::fetch(
 \Bitrix\Main\Text\Converter $converter = null
);

Нестатический метод получает строку из результата запроса и возвращает её в ассоциативном массиве с конвертированными данными или возвращает false при пустых данных.

Параметры

Параметр | Описание | Версия
$converter | Конвертер для расшифровки данных при получении. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


fetchAll

array public
\Bitrix\Main\DB\Result::fetchAll(
 \Bitrix\Main\Text\Converter $converter = null
);

Нестатический метод получает все строки запроса и возвращает ассоциированный массив. Если запрос пустой, возвращает пустой массив.

Параметры

Параметр | Описание | Версия
$converter | Конвертер для расшифровки при получении. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


fetchRaw

array|false public
\Bitrix\Main\DB\Result::fetchRaw(
);

Нестатический метод получает одну строку из запроса и возвращает её в ассоциированном массиве с необработанными данными БД или возвращает false при пустых данных.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCount

integer public
\Bitrix\Main\DB\Result::getCount(
);

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

Без параметров

Исключения

  • \Bitrix\Main\ObjectPropertyException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFields

\Bitrix\Main\DB\@return public
\Bitrix\Main\DB\Result::getFields(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getResource

null|resource public
\Bitrix\Main\DB\Result::getResource(
);

Нестатический метод возвращает специфичные ресурсы запроса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSelectedRowsCount

integer public
\Bitrix\Main\DB\Result::getSelectedRowsCount(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTrackerQuery

\Bitrix\Main\Diag\SqlTrackerQuery|null public
\Bitrix\Main\DB\Result::getTrackerQuery(
);

Нестатический метод возвращает трекер текущего запроса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setCount

 public
\Bitrix\Main\DB\Result::setCount(
 integer $n
);

Нестатический метод производит запись количества.

Параметры

Параметр | Описание | Версия
$n | Записываемое количество |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setReplacedAliases

void public
\Bitrix\Main\DB\Result::setReplacedAliases(
 \Bitrix\Main\DB\array[string]string $replacedAliases
);

Нестатический метод устанавливает список колонок с алиасами. Это позволяет обойти ограничение базы данных на длину имён колонок.

Параметры

Параметр | Описание | Версия
$replacedAliases | Карта алиасов с технического на человекопонятные названия. |

См. также

  • \Bitrix\Main\Db\Result::addReplacedAliases

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setSerializedFields

void public
\Bitrix\Main\DB\Result::setSerializedFields(
 array $serializedFields
);

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

Параметры

Параметр | Описание | Версия
$serializedFields | Список полей |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SqlException

SqlException - исключение при выполнении запроса. Расширение класса \Bitrix\Main\DB\Exception.

Метод | Описание | С версии
Конструктор | Метод создаёт объект исключения. |


Конструктор SqlException

public
\Bitrix\Main\DB\SqlException::__construct(
 string $message = "",
 string $databaseMessage = "",
 \Exception $previous = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия.

Параметры

Параметр | Описание | Версия
$message | Сообщение исключения |
$databaseMessage | Сообщение от базы данных. |
$previous | Предыдущее исключение. Используется для построения цепочки исключений. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SqlExpression

SqlExpression - Используется для определения произвольных SQL выражений при работе с фильтром ORM

Обращается к пространству имён:

  • \Main\Application;
Метод | Описание | С версии
construct | Метод-конструктор |
compile | Метод возвращает переменную с перемещёнными плейсхолдерами. |


compile

string public
\Bitrix\Main\DB\SqlExpression::compile(
);

Нестатический метод возвращает переменную $expression с перемещёнными плейсхолдерами.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SqlHelper

SqlHelper - абстрактный класс для работы с базой данных. Конкретные классы формирования SQL запросов, наследующие данный класс, помогают сформировать запрос не опускаясь до синтаксиса конкретной базы данных.

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

Обращается к пространствам имён:

  • \Main;
  • \Main\Type;
  • \Main\Entity;
Метод | Описание | С версии
construct | Метод- конструктор |
addSecondsToDateTime | Метод возвращает sql-функцию для добавления секунд к указанному интервалу | 14.0.0
castToChar | Метод возвращает CAST выражение для конвертируемого поля или строчного выражения. | 16.0.10
convertFromDb | Метод возвращает значение параметра сконвертированное в нужный тип. | 14.5.2
convertToDb | Метод конвертирует значение в строку, соответствующую типу колонки используемой в SQL запросе. | 14.5.2
formatDate | Метод возвращает оператор Базы данных для конвертации | 14.0.0
forSql | Метод выводит специальные символы в строке для использования в SQL операторе. |
getAliasLength | Метод возвращает значение максимальной длины алиаса в выбранном операторе. | 14.0.0
getAscendingOrder | Метод возвращает возрастающий порядок | 14.5.0
getCharToDateFunction | Метод возвращает sql-функцию для конвертации строкового значения в тип Дата/время. | 14.0.18
getColumnTypeByField | Метод возвращает тип колонки в соответствии с объектом скалярного поля | 14.5.2
getConcatFunction | Метод возвращает sql-функцию для конкатенации полей и операторов базы данных. |
getConverter | Метод возвращает ответ запрошенный для значения поля в выборке. | 15.0.1
getCurrentDateFunction | Метод возвращает sql-функцию для получения даты без времени. |
getCurrentDateTimeFunction | Метод возвращает sql-функцию для получения текущего времени. |
getDatetimeToDateFunction | Метод возвращает sql-функцию передающую значение в тип Дата/Время базы данных. |
getDateToCharFunction | Метод возвращает sql-функцию для конвертации полей и операторов базы данных в строку. | 14.0.18
getDescendingOrder | Метод возвращает убывающий порядок | 14.5.0
getFieldByColumnType | Метод возвращает исключение потомка из Entity\ScalarField, который соответствует типу базы данных. | 14.5.2
getIsNullFunction | Метод возвращает sql-функцию для проверки полей и операторов базы данных на значение NULL |
getLeftQuote | Экранирование идентификаторов - левый символ | 14.0.0
getLengthFunction | Метод возвращает sql-функцию для получения длины поля или оператора базы данных. |
getQueryDelimiter | Метод возвращает специальный разделитель запроса для пакетной обработки. |
getRightQuote | Экранирование идентификаторов - правый символ | 14.0.0
getSubstrFunction | Метод возвращает sql-функцию для получения части строки. |
getTopSql | Метод трансформирует Sql запрос в соответствии со значениями заданных параметров | 14.0.0
prepareAssignment | Метод выстраивает строку для присвоения SQL оператора указанной колонке. | 14.0.0
prepareInsert | Метод выстраивает строку для sql-команды INSERT для указанной таблицы. |
prepareMerge | Метод выстраивает строку для SQL-команды MERGE для указанной таблицы | 15.5.0
prepareUpdate | Метод выстраивает строку для SQL-команды UPDATE для указанной таблицы. |
quote | Метод возвращает идентификатор в кавычках. | 14.0.0
softCastTextToChar | Метод возвращает выражение для текстового поля, используемого при группировке или сортировке. | 16.5.7


addSecondsToDateTime

string public
\Bitrix\Main\DB\SqlHelper::addSecondsToDateTime(
 integer $seconds,
 integer $from = null
);

Нестатический метод возвращает sql-функцию для добавления секунд к интервалу, указанному в параметре $from. Если значение параметра $from равно нулю или прошло, то используется текущее время.

Параметры метода не будут приведены к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$seconds | Сколько секунд нужно добавить. |
$from | Дата и время базы данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


castToChar

string public
\Bitrix\Main\DB\SqlHelper::castToChar(
 string $fieldName
);

Нестатический метод возвращает CAST выражение для конвертируемого поля или строчного выражения.

Параметры

Параметр | Описание | Версия
$fieldName | Имя поля |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


convertFromDb

mixed public
\Bitrix\Main\DB\SqlHelper::convertFromDb(
 mixed $value,
 \Bitrix\Main\Entity\ScalarField $field
);

Нестатический метод возвращает значение параметра $value сконвертированное в тип, соответствующий типу параметра $field.

Например, если поле $field имеет тип Entity\DatetimeField, то возвращено будет значение в типе, установленном в \Main\Type\DateTime.

Параметры

Параметр | Описание | Версия
$value | Значение для конвертации |
$field | Тип "источника". |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


convertToDb

string public
\Bitrix\Main\DB\SqlHelper::convertToDb(
 mixed $value,
 \Bitrix\Main\Entity\ScalarField $field
);

Нетатический метод конвертирует значение в строку, соответствующую типу колонки используемой в SQL запросе.

Параметры

Параметр | Описание | Версия
$value | Значение для конвертации |
$field | Тип "источника". |

Исключения

  • \Main\ArgumentTypeException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


formatDate

Сигнатура и описание

string public
\Bitrix\Main\DB\SqlHelper::formatDate(
 string $format,
 string $field = null
);

Нестатический метод возвращает оператор Базы данных для конвертации значения $field в соответствии с значением $format.

Будут конвертированы:

  • YYYY - Полное числовое представление года, 4 цифры.
  • MMMM - Полное текстовое представление месяца, например: Январь или Март.
  • MM Числовое представление месяца с ведущим нулём.
  • MI - Минуты с начального нуля.
  • M - короткое текстовое представление месяца, три буквы.
  • DD - День месяца, две цифры с ведущим нулём.
  • HH - 24-ичасовой формат времени часов с ведущим нулём.
  • H - 24-ичасовой формат часов без ведущего нуля.
  • GG - 12-ичасовой формат с ведущим нулём.
  • G - 12-ичасовой формат без ведущего нуля.
  • SS - Минуты с ведущим нулём.
  • TT - AM или PM
  • T - am/pm.

Параметры

Параметр | Описание | Версия
$format | Формат. |
$field | Область базы данных или выражение. Параметр не приводится к SQL безопасному виду. |


forSql

string public
\Bitrix\Main\DB\SqlHelper::forSql(
 string $value,
 integer $maxLength
);

Нестатический метод выводит специальные символы в строке для использования в SQL операторе.

Параметры

Параметр | Описание | Версия
$value | Значение для вывода |
$maxLength | Лимит длины строки, если существует. |

Примеры

\Bitrix\Main\Application::getConnection()->getSqlHelper()->forSql($str);


getAliasLength

integer public
\Bitrix\Main\DB\SqlHelper::getAliasLength(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAscendingOrder

string public
\Bitrix\Main\DB\SqlHelper::getAscendingOrder(
);

Нестатический метод возвращает возрастающий порядок в соответствии с ORDER BY.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCharToDateFunction

string public
\Bitrix\Main\DB\SqlHelper::getCharToDateFunction(
 string $value
);

Нестатический метод возвращает sql-функцию для конвертации строкового значения в тип Дата/время.

Значение параметра $value не приводится к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$value | Строка в формате YYYY-MM-DD HH:MI:SS. |

См. также

  • \Bitrix\Main\DB\MssqlSqlHelper::formatDate

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getColumnTypeByField

string public
\Bitrix\Main\DB\SqlHelper::getColumnTypeByField(
 \Bitrix\Main\Entity\ScalarField $field
);

Нестатический метод возвращает тип колонки в соответствии с объектом скалярного поля.

Параметры

Параметр | Описание | Версия
$field | Tип "источника". |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getConcatFunction

string public
\Bitrix\Main\DB\SqlHelper::getConcatFunction(
 string $field,...
);

Нестатический метод возвращает sql-функцию для конкатенации полей и операторов базы данных.

Параметры не сводятся к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$field,... | Поля и операторы базы данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getConverter

false|callback public
\Bitrix\Main\DB\SqlHelper::getConverter(
 \Bitrix\Main\Entity\ScalarField $field
);

Нестатический метод возвращает ответ запрошенный для значения поля в выборке.

Параметры

Параметр | Описание | Версия
$field | Тип "источника". |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrentDateFunction

string public
\Bitrix\Main\DB\SqlHelper::getCurrentDateFunction(
);

Нестатический метод возвращает sql-функцию для получения даты без времени.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrentDateTimeFunction

string public
\Bitrix\Main\DB\SqlHelper::getCurrentDateTimeFunction(
);

Нестатический метод возвращает sql-функцию для получения текущей даты и времени.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDatetimeToDateFunction

string public
\Bitrix\Main\DB\SqlHelper::getDatetimeToDateFunction(
 string $value
);

Нестатический метод возвращает sql-функцию передающую значение $value в тип Дата/Время базы данных.

Параметр $value не приводится к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$value | Поле и оператор базы данных для передачи. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDateToCharFunction

string public
\Bitrix\Main\DB\SqlHelper::getDateToCharFunction(
 string $fieldName
);

Нестатический метод возвращает sql-функцию для конвертации полей и операторов базы данных в строку.

Результирующая строка будет в формате: YYYY-MM-DD HH:MI:SS.

Параметр $fieldName не приводится к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$fieldName | Поле или оператор базы данных. |

См. также

  • \Bitrix\Main\DB\MssqlSqlHelper::formatDate

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDescendingOrder

string public
\Bitrix\Main\DB\SqlHelper::getDescendingOrder(
);

Нестатический метод возвращает убывающий порядок установленный для ORDER BY.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFieldByColumnType

\Bitrix\Main\Entity\ScalarField public
\Bitrix\Main\DB\SqlHelper::getFieldByColumnType(
 string $name,
 mixed $type,
 array $parameters = null
);

Нестатический метод возвращает исключение потомка из Entity\ScalarField, который соответствует типу базы данных.

Параметры

Параметр | Описание | Версия
$name | Название колонки Базы данных. |
$type | Тип характерный для Базы данных. |
$parameters | Дополнительная информация. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getIsNullFunction

string public
\Bitrix\Main\DB\SqlHelper::getIsNullFunction(
 string $expression,
 string $result
);

Нестатический метод возвращает sql-функцию для проверки полей и операторов базы данных на значение NULL. Если равно NULL, то будет возвращён $result.

Все параметры не приводятся к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$expression | Поле или оператор базы данных для проверки на NULL. |
$result | Поле или оператор базы данных, которые будут возвращены если $expression будет равно NULL. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLeftQuote

string public
\Bitrix\Main\DB\SqlHelper::getLeftQuote(
);

Нестатический метод. Возвращает левый символ экранирующего идентификатора.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLengthFunction

string public
\Bitrix\Main\DB\SqlHelper::getLengthFunction(
 string $field
);

Нестатический метод возвращает sql-функцию для получения длины поля или оператора базы данных.

Параметр $field не приводится к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$field | Поле или оператор базы данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getQueryDelimiter

string public
\Bitrix\Main\DB\SqlHelper::getQueryDelimiter(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRightQuote

string public
\Bitrix\Main\DB\SqlHelper::getRightQuote(
);

Нестатический метод. Возвращает правый символ экранирующего идентификатора.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSubstrFunction

string public
\Bitrix\Main\DB\SqlHelper::getSubstrFunction(
 string $str,
 integer $from,
 integer $length = null
);

Нестатический метод возвращает sql-функцию для получения части строки.

Если длина равна нулю или пустая, то будет возвращена строка от начала и до конца.

Параметры $str и $from не приводятся к SQL безопасному виду.

Параметры

Параметр | Описание | Версия
$str | Поле или оператор базы данных. |
$from | Стартовая позиция. |
$length | Максимальная длина. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTopSql

string public
\Bitrix\Main\DB\SqlHelper::getTopSql(
 string $sql,
 integer $limit,
 integer $offset
);

Нестатический метод трансформирует Sql запрос в соответствии со значениями параметров $limit и $offset.

Параметр $limit должен быть определён к моменту задания $offset.

Параметры

Параметр | Описание | Версия
$sql | Sql text. |
$limit | Максимальное число строк для возврата. |
$offset | Смещение первой строки для возврата, начинается с 0. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareAssignment

string public
\Bitrix\Main\DB\SqlHelper::prepareAssignment(
 string $tableName,
 string $columnName,
 string $value
);

Нестатический метод выстраивает строку для присвоения SQL оператора указанной колонке.

Параметры

Параметр | Описание | Версия
$tableName | Название таблицы |
$columnName | Название колонки. |
$value | Присвоенное значение |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareInsert

array public
\Bitrix\Main\DB\SqlHelper::prepareInsert(
 string $tableName,
 array $fields
);

Нестатический метод простраивает строку для sql-команды INSERT для указанной таблицы.

Параметры

Параметр | Описание | Версия
$tableName | Имя таблийы.
$fields Массив вида:
Array("column" => $value)[]

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareMerge

array public
\Bitrix\Main\DB\SqlHelper::prepareMerge(
 string $tableName,
 array $primaryFields,
 array $insertFields,
 array $updateFields
);

Нестатический метод выстраивает строку для SQL-команды MERGE для указанной таблицы.

Параметры

Параметр | Описание | Версия
$tableName | Название таблицы
$primaryFields Массив первичных ключей списка колонок вида:
Array("column")[]
$insertFields Массив вставки вида:
Array("column" => $value)[]
$updateFields Массив обновлений вида:
Array("column" => $value)[]

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareUpdate

array public
\Bitrix\Main\DB\SqlHelper::prepareUpdate(
 string $tableName,
 array $fields
);

Нестатический метод выстраивает строку для SQL-команды UPDATE для указанной таблицы.

Параметры

Параметр | Описание | Версия
$tableName | AНазвание таблицы
$fields Массив вида:
Array("column" => $value)[]

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


quote

string public
\Bitrix\Main\DB\SqlHelper::quote(
 string $identifier
);

Нестатический метод возвращает идентификатор в кавычках.

Например, Title станет:
`Title` для MySQL
"TITLE" для Oracle
[Title] для Ms SQL

Параметры

Параметр | Описание | Версия
$identifier | Название таблицы или колонки. |

См. также

  • \Bitrix\Main\DB\SqlHelper::getLeftQuote
  • \Bitrix\Main\DB\SqlHelper::getRightQuote

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


softCastTextToChar

string public
\Bitrix\Main\DB\SqlHelper::softCastTextToChar(
 string $fieldName
);

Нестатический метод возвращает выражение для текстового поля, используемого при группировке или сортировке.

Параметры

Параметр | Описание | Версия
$fieldName | Возвращаемая строка |

См. также

  • \Bitrix\Main\Entity\Query::buildGroup
  • \Bitrix\Main\Entity\Query::buildOrder

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SqlQueryException

SqlQueryException - Выводит исключение, когда База данных возвращает ошибку при выполнении запроса. Расширение класса \Bitrix\Main\DB\SqlException

Метод | Описание | С версии
Конструктор | Метод - конструктор |
getQuery | Метод возвращает текст sql запроса. |


getQuery

string public
\Bitrix\Main\DB\SqlQueryException::getQuery(
);

Нестатический метод возвращает текст sql запроса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор SqlQueryException

public
\Bitrix\Main\DB\SqlQueryException::__construct(
 string $message = "",
 string $databaseMessage = "",
 string $query = "",
 \Exception $previous = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия.

Параметры

Параметр | Описание | Версия
$message | Сообщение исключения |
$databaseMessage | Сообщение от базы данных. |
$query | Текст sql запроса. |
$previous | Предыдущее исключение. Используется для построения цепочки исключений. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Diag

Diag - пространства имён для классов диагностики.

Класс | Описание | С версии
Helper | Класс-помощник. | 12.0.7
SqlTracker | Класс обеспечивающий выполнение \Iterator. | 12.0.7
SqlTrackerQuery | Класс для отслеживания запросов, обеспечивает выполнение \ArrayAccess. | 12.0.7
ExceptionHandler | Класс-обработчик исключений. | 12.0.9
Debug | Класс для проведения отладки ajax-запросов, крон-файлов и решения других подобных задач.. | 12.0.7


Debug

Debug класс для проведения отладки ajax-запросов, крон-файлов и решения других подобных задач.

Аналоги в старом ядре:
AddMessage2Log [image],
mydump [image].

Примеры

При использовании print_r.

Debug::writeToFile($_SERVER);

Debug::dump($_SERVER);

При использовании var_dump.

use Bitrix\Main\Diag\Debug;

Debug::dumpToFile($_SERVER);

use Bitrix\Main\Diag\Debug;
Debug::startTimeLabel("foo");
foo();
Debug::endTimeLabel("foo");

Debug::startTimeLabel("bar");
bar();
Debug::endTimeLabel("bar");

print_r(Debug::getTimeLabels());


ExceptionHandler

ExceptionHandler - класс-обработчик исключений.

Метод | Описание | С версии
handleAssertion | Метод создаёт и исключает объект по его аргументам. |
handleError | Метод создаёт и исключает объект по его аргументам. |
handleException | Метод записывает информацию об исключении в лог и отображает её пользователю |
handleFatalError | Метод выводит информацию об ошибке из функции error_get_last(). |
initialize | Метод инициализирует обработку ошибок. |
setAssertionErrorType | Метод устанавливает разрешённые типы ошибок для обработки. |
setAssertionThrowsException | Метод устанавливает будет ли выбрасываться исключение утверждением или нет. |
setDebugMode | Метод устанавливает режим отладки. |
setExceptionErrorsTypes | Метод устанавливает какие ошибки будут выброшены исключением. |
setHandledErrorsTypes | Метод устанавливает типы ошибок которые будут обработаны. |
setHandlerLog | Метод устанавливает какой объект регистратора использовать для записи. |
setHandlerOutput | Метод устанавливает объект используемый для показа сообщения об ошибке для пользователя. |
setIgnoreSilence | Метод устанавливает игнорировать ли ошибку когда error_reporting() == 0. |
setOverflowMemoryCatching | Метод устанавливает будут ли выводиться ошибки переполнения памяти. |
writeToLog | Метод записывает информацию об исключении в лог файл. |
Конструктор | Метод вызывается при создании экземпляра класса и позволяет в нем произвести какие-то действия, при создании объекта. |


handleAssertion

void public
\Bitrix\Main\Diag\ExceptionHandler::handleAssertion(
 string $file,
 integer $line,
 string $message
);

Нестатический метод создаёт и исключает объект по его аргументам.

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

Параметры

Параметр | Описание | Версия
$file | Файл, где обнаружена ошибка. |
$line | Номер строки файла, где обнаружена ошибка. |
$message | Сообщение об ошибке. |

Исключения

  • \ErrorException

См. также

  • \Bitrix\Main\Diag\ExceptionHandler::setAssertionThrowsException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


handleError

true public
\Bitrix\Main\Diag\ExceptionHandler::handleError(
 integer $code,
 string $message,
 string $file,
 integer $line
);

Нестатический метод создаёт и исключает объект по его аргументам.

Исключение выбрасывается если $code совпадает с маской исключения, или же записывается в лог.

Параметры

Параметр | Описание | Версия
$code | Код ошибки |
$message | Сообщение об ошибке |
$file | Файл где обнаружилась ошибка. |
$line | НОмер строки в файле, где расположена ошибка. |

Исключения

  • \ErrorException

См. также

  • \Bitrix\Main\Diag\ExceptionHandler::setExceptionErrorsTypes

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


handleException

void public
\Bitrix\Main\Diag\ExceptionHandler::handleException(
 \Exception|\Error $exception
);

Нестатический метод записывает информацию об исключении в лог, отображает её пользователю и удаляет посредством die().

Параметры

Параметр | Описание | Версия
$exception | Объект исключения. |

См. также

  • \Bitrix\Main\Diag\ExceptionHandler::writeToLog
  • \Bitrix\Main\Diag\ExceptionHandler::initialize

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


handleFatalError

void public
\Bitrix\Main\Diag\ExceptionHandler::handleFatalError(
);

Нестатический метод выводит информацию об ошибке из функции error_get_last().

Проверяет и заносит в лог тип ошибок.

Без параметров

См. также

  • \Bitrix\Main\Diag\error_get_last
  • \Bitrix\Main\Diag\ExceptionHandler::setHandledErrorsTypes

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


initialize

void public
\Bitrix\Main\Diag\ExceptionHandler::initialize(
 callable $exceptionHandlerOutputCreator,
 callable|null $exceptionHandlerLogCreator = null
);

Нестатический метод инициализирует обработку ошибок.

Должен быть вызван после создания объекта.

Параметры

Параметр | Описание | Версия
$exceptionHandlerOutputCreator | Функция для возврата объекта для форматирования сообщения об ошибке. |
$exceptionHandlerLogCreator | Функция для возврата объекта для записи в лог. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setAssertionErrorType

void public
\Bitrix\Main\Diag\ExceptionHandler::setAssertionErrorType(
 integer $assertionErrorType
);

Нестатический метод устанавливает разрешённые типы ошибок для обработки.

Параметры

Параметр | Описание | Версия
$assertionErrorType | Битовые маски разрешаемых типов. |

См. также

  • errorfunc.constants

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setAssertionThrowsException

void public
\Bitrix\Main\Diag\ExceptionHandler::setAssertionThrowsException(
 boolean $assertionThrowsException
);

Нестатический метод устанавливает будет ли выбрасываться исключение утверждением или нет.

Параметры

Параметр | Описание | Версия
$assertionThrowsException | Если true утверждение будет выбрасывать исключение. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDebugMode

void public
\Bitrix\Main\Diag\ExceptionHandler::setDebugMode(
 boolean $debug
);

Нестатический метод устанавливает режим отладки.

Следует использовать при разработке.

Параметры

Параметр | Описание | Версия
$debug | Если true, то ошибка будет отображена пользователю. Если false большинство ошибок не будет выводиться. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setExceptionErrorsTypes

void public
\Bitrix\Main\Diag\ExceptionHandler::setExceptionErrorsTypes(
 integer $errorTypesException
);

Нестатический метод устанавливает какие ошибки будут выброшены исключением.

Параметры

Параметр | Описание | Версия
$errorTypesException | Битовая маска типов ошибок. |

См. также

  • errorfunc.constants

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setHandledErrorsTypes

void public
\Bitrix\Main\Diag\ExceptionHandler::setHandledErrorsTypes(
 integer $handledErrorsTypes
);

Нестатический метод устанавливает типы ошибок которые будут обработаны.

Параметры

Параметр | Описание | Версия
$handledErrorsTypes | Битовая маска типов ошибок. |

См. также

  • errorfunc.constants

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setHandlerLog

void public
\Bitrix\Main\Diag\ExceptionHandler::setHandlerLog(
 \Bitrix\Main\Diag\ExceptionHandlerLog $handlerLog = null
);

Нестатический метод устанавливает какой объект регистратора использовать для записи.

Параметры

Параметр | Описание | Версия
$handlerLog | Объект регистратора |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setHandlerOutput

void public
\Bitrix\Main\Diag\ExceptionHandler::setHandlerOutput(
 \Bitrix\Main\Diag\IExceptionHandlerOutput $handlerOutput
);

Нестатический метод устанавливает объект используемый для показа сообщения об ошибке для пользователя.

Параметры

Параметр | Описание | Версия
$handlerOutput | Объект, который будет выводить ошибки пользователю. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setIgnoreSilence

void public
\Bitrix\Main\Diag\ExceptionHandler::setIgnoreSilence(
 boolean $ignoreSilence
);

Нестатический метод устанавливает игнорировать ли ошибку когда error_reporting() == 0.

Параметры

Параметр | Описание | Версия
$ignoreSilence | Если true, то error_reporting()==0 будет проигнорирован. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setOverflowMemoryCatching

void public
\Bitrix\Main\Diag\ExceptionHandler::setOverflowMemoryCatching(
 boolean $catchOverflowMemory
);

Нестатический метод устанавливает будут ли выводиться ошибки переполнения памяти.

Параметры

Параметр | Описание | Версия
$catchOverflowMemory | Если true, то будут выводиться ошибки переполнения памяти. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


writeToLog

void public
\Bitrix\Main\Diag\ExceptionHandler::writeToLog(
 \Exception $exception,
 integer|null $logType = null
);

Нестатический метод записывает информацию об исключении в лог файл.

Параметры

Параметр | Описание | Версия
$exception | Объект исключения. |
$logType | Просмотреть константы классы ExceptionHandlerLog. |

См. также

  • \Bitrix\Main\Diag\ExceptionHandler::initialize

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор ExceptionHandler

 public
\Bitrix\Main\Diag\ExceptionHandler::__construct(
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести какие-то действия, при создании объекта.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Helper

Helper - класс-помощник.

Метод | Описание | С версии
getBackTrace | Метод возвращает трассировку массива. | 14.0.0
getCurrentMicrotime | Метод возвращает текущую метку времени Unix с микросекундами. |


getBackTrace

array public static
\Bitrix\Main\Diag\Helper::getBackTrace(
 integer $limit,
 null|integer $options = null,
 integer $skip = 1
);

Статический метод возвращает трассировку массива.

Параметры

Параметр | Описание | Версия
$limit | Максимальное стек элементов для возврата. |
$options | Передаваемые опции для функции debug_backtrace. |
$skip | Количество пропускаемых фреймов стека. |

См. также

  • debug_backtrace

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrentMicrotime

float public static
\Bitrix\Main\Diag\Helper::getCurrentMicrotime(
);

Статический метод возвращает текущую метку времени Unix с микросекундами.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SqlTracker

SqlTracker - класс обеспечивающий выполнение \Iterator.

Метод | Описание | С версии
writeFileLog | Метод записывает в лог файл текст запроса и часть трассировки. | 14.9.4
valid | Часть реализации \Iterator, сделана для сохранения обратной совместимости. | 14.9.4
stopFileLog | Метод останавливает запись запросов в лог файл. | 14.9.4
startFileLog | Метод запускает запрись запросов в лог файл. | 14.9.4
setDepthBackTrace | Метод устанавливает глубину трассировки для записи в лог файл. | 15.0.0
rewind | Часть реализации \Iterator, сделана для сохранения обратной совместимости. | 14.9.4
reset | Метод очищает все собранные запросы и сбрасывает время выполнения. | 14.9.4
next | Часть реализации \Iterator, сделана для сохранения обратной совместимости. | 14.9.4
key | Часть реализации \Iterator, сделана для сохранения обратной совместимости. | 14.9.4
getTime | Метод возвращает общее время выполнения запросов. | 14.9.4
getQueries | Метод возвращает массив до сих пор собираемых объектов SqlTrackerQuery. | 14.9.4
getNewTrackerQuery | Метод создаёт новый экземпляр объекта SqlTrackerQuery |
getDepthBackTrace | Метод возвращает глубину трассировки для записи в лог файл. | 15.0.0
getCounter | Метод возвращает количество выполненных запросов. | 14.9.4
current | Часть реализации \Iterator, сделана для сохранения обратной совместимости. | 14.9.4
addTime | Метод используется SqlTrackerQuery для отслеживания общего времени выполнения |


addTime

void public
\Bitrix\Main\Diag\SqlTracker::addTime(
 float $time
);

Нестатический метод используется SqlTrackerQuery для отслеживания общего времени выполнения.

Параметры

Параметр | Описание | Версия
$time | Время в секундах |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


current

mixed public
\Bitrix\Main\Diag\SqlTracker::current(
);

Нестатический метод. Часть реализации \Iterator, сделана для сохранения обратной совместимости.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCounter

integer public
\Bitrix\Main\Diag\SqlTracker::getCounter(
);

Нестатический метод возвращает количество выполненных запросов.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDepthBackTrace

integer public
\Bitrix\Main\Diag\SqlTracker::getDepthBackTrace(
);

Нестатический метод возвращает глубину трассировки для записи в лог файл.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getNewTrackerQuery

\Bitrix\Main\Diag\SqlTrackerQuery public
\Bitrix\Main\Diag\SqlTracker::getNewTrackerQuery(
);

Нестатический метод создаёт новый экземпляр объекта SqlTrackerQuery.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getQueries

array public
\Bitrix\Main\Diag\SqlTracker::getQueries(
);

Нестатический метод возвращает массив до сих пор собираемых объектов SqlTrackerQuery.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTime

float public
\Bitrix\Main\Diag\SqlTracker::getTime(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


key

mixed public
\Bitrix\Main\Diag\SqlTracker::key(
);

Нестатический метод. Часть реализации \Iterator, сделана для сохранения обратной совместимости.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


next

void public
\Bitrix\Main\Diag\SqlTracker::next(
);

Нестатический метод. Часть реализации \Iterator, сделана для сохранения обратной совместимости.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


reset

void public
\Bitrix\Main\Diag\SqlTracker::reset(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


rewind

void public
\Bitrix\Main\Diag\SqlTracker::rewind(
);

Нестатический метод. Часть реализации \Iterator, сделана для сохранения обратной совместимости.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDepthBackTrace

void public
\Bitrix\Main\Diag\SqlTracker::setDepthBackTrace(
 integer $depthBackTrace
);

Нестатический метод устанавливает глубину трассировки для записи в лог файл.

Параметры

Параметр | Описание | Версия
$depthBackTrace | Необходимая глубина трассировки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


startFileLog

void public
\Bitrix\Main\Diag\SqlTracker::startFileLog(
 string $filePath
);

Нестатический метод запускает запрись запросов в лог файл.

Параметры

Параметр | Описание | Версия
$filePath | Абсолютный путь к лог файлу. |

См. также

  • \Bitrix\Main\Diag\SqlTracker::stopFileLog
  • \Bitrix\Main\Diag\SqlTracker::writeFileLog

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


stopFileLog

void public
\Bitrix\Main\Diag\SqlTracker::stopFileLog(
);

Нестатический метод останавливает запись запросов в лог файл.

Без параметров

См. также

  • \Bitrix\Main\Diag\SqlTracker::startFileLog
  • \Bitrix\Main\Diag\SqlTracker::writeFileLog

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


valid

boolean public
\Bitrix\Main\Diag\SqlTracker::valid(
);

Нестатический метод. Часть реализации \Iterator, сделана для сохранения обратной совместимости.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


writeFileLog

void public
\Bitrix\Main\Diag\SqlTracker::writeFileLog(
 string $sql,
 float $executionTime = 0.0,
 string $additional = "",
 integer $traceSkip = 2
);

Нестатический метод записывает в лог файл текст запроса и часть трассировки.

Параметры

Параметр | Описание | Версия
$sql | Запрос для записи. |
$executionTime | Время выполнения |
$additional | ДОполнительная информационная строка, которая будет добавлена в заголовок. |
$traceSkip | Сколько фрагментов трассировки пропустить при выходе. |

См. также

  • \Bitrix\Main\Diag\SqlTracker::startFileLog
  • \Bitrix\Main\Diag\SqlTracker::stopFileLog

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SqlTrackerQuery

SqlTrackerQuery - класс для отслеживания запросов, обеспечивает выполнение \ArrayAccess.

Метод | Описание | С версии
startQuery | Метод запускает sql таймер |
setTrace | Метод устанавливает трассировку отслеживаемого sql запроса. | 14.9.4
setTime | Метод устанавливает время выполнения отслеживаемого sql запроса. | 14.9.4
setState | Метод устанавливает состояние отслеживаемой sql страницы. | 14.9.4
setSql | Метод устанавливает текст отслеживаемого sql запроса | 14.9.4
setNode | Метод устанавливает ID отслеживаемой ноды соединения. | 14.9.4
setBinds | Метод устанавливает связи отслеживаемого sql запроса | 14.9.4
restartQuery | Метод сбрасывает старт таймера sql запроса. |
refinishQuery | Метод ещё раз завершает таймер запроса |
offsetUnset | Отключаемое смещение. | 14.9.4
offsetSet | Включаемое смещение. | 14.9.4
offsetGet | Получаемое смещение. | 14.9.4
offsetExists | Метод проверяет существование смещения. | 14.9.4
getTrace | Метод возвращает трассировку запроса. | 14.9.4
getTime | Метод возвращает время выполнения запроса | 14.9.4
getState | Метод возвращает состояние страницы запроса. | 14.9.4
getSql | Метод возвращает текст отслеживаемого sql запроса | 14.0.0
getNode | Метод возвращает ID ноды sql соединения запроса. | 14.9.4
getBinds | Метод возвращает список sql связей используемых для выполнения запроса. | 14.9.4
finishQuery | Метод завершает работу таймера sql. |
addTime | Метод добавляет время для выполнения запроса. | 14.9.4


addTime

void public
\Bitrix\Main\Diag\SqlTrackerQuery::addTime(
 float $time
);

Нестатический метод добавляет время для выполнения запроса.

Параметры

Параметр | Описание | Версия
$time | Время в секундах для выполнения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


finishQuery

void public
\Bitrix\Main\Diag\SqlTrackerQuery::finishQuery(
 integer $skip = 3
);

Нестатический метод завершает работу таймера sql.

Параметры

Параметр | Описание | Версия
$skip | Сколько трассировок пропустить. По умолчанию - 3. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBinds

array|null public
\Bitrix\Main\Diag\SqlTrackerQuery::getBinds(
);

Нестатический метод возвращает список sql связей используемых для выполнения запроса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getNode

string public
\Bitrix\Main\Diag\SqlTrackerQuery::getNode(
);

Нестатический метод возвращает ID ноды sql соединения запроса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSql

string public
\Bitrix\Main\Diag\SqlTrackerQuery::getSql(
);

Нестатический метод возвращает текст отслеживаемого sql запроса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getState

string public
\Bitrix\Main\Diag\SqlTrackerQuery::getState(
);

Нестатический метод возвращает состояние страницы запроса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTime

float public
\Bitrix\Main\Diag\SqlTrackerQuery::getTime(
);

Нестатический метод возвращает время выполнения запроса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTrace

array|null public
\Bitrix\Main\Diag\SqlTrackerQuery::getTrace(
);

Нестатический метод возвращает трассировку запроса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


offsetExists

boolean public
\Bitrix\Main\Diag\SqlTrackerQuery::offsetExists(
 mixed $offset
);

Нестатический метод проверяет существование смещения. Часть реализации \ArrayAccess сделана для обеспечения обратной совместимости.

Параметры

Параметр | Описание | Версия
$offset | Массив ключей. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


offsetGet

mixed public
\Bitrix\Main\Diag\SqlTrackerQuery::offsetGet(
 mixed $offset
);

Нестатический метод. Получаемое смещение.

Часть реализации \ArrayAccess сделана для обеспечения обратной совместимости.

Параметры

Параметр | Описание | Версия
$offset | Массив ключей |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


offsetSet

mixed public
\Bitrix\Main\Diag\SqlTrackerQuery::offsetSet(
 mixed $offset,
 mixed $value
);

Нестатический метод. Включаемое смещение. Часть реализации \ArrayAccess сделана для обеспечения обратной совместимости.

Параметры

Параметр | Описание | Версия
$offset | Массив ключей |
$value | Массив значений. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


offsetUnset

mixed public
\Bitrix\Main\Diag\SqlTrackerQuery::offsetUnset(
 mixed $offset
);

Нестатический метод. Отключаемое смещение. Часть реализации \ArrayAccess сделана для обеспечения обратной совместимости.

Параметры

Параметр | Описание | Версия
$offset | Массив ключей. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


refinishQuery

void public
\Bitrix\Main\Diag\SqlTrackerQuery::refinishQuery(
);

Нестатический метод ещё раз завершает таймер запроса. Используется в паре с restartQuery.

Без параметров

См. также

  • \Bitrix\Main\Diag\SqlTrackerQuery::restartQuery

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


restartQuery

void public
\Bitrix\Main\Diag\SqlTrackerQuery::restartQuery(
);

Нестатический метод сбрасывает старт таймера sql запроса. В сочетании с refinishQuery добавляет дополнительное время при выполнении запроса.

Без параметров

См. также

  • \Bitrix\Main\Diag\SqlTrackerQuery::refinishQuery

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setBinds

\Bitrix\Main\Diag\SqlTrackerQuery public
\Bitrix\Main\Diag\SqlTrackerQuery::setBinds(
 array $binds
);

Нестатический метод устанавливает связи отслеживаемого sql запроса.

Возвращает объект для построения цепочки вызовов.

Параметры

Параметр | Описание | Версия
$binds | Sql связи |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setNode

\Bitrix\Main\Diag\SqlTrackerQuery public
\Bitrix\Main\Diag\SqlTrackerQuery::setNode(
 string $node
);

Нестатический метод устанавливает ID отслеживаемой ноды соединения.

Возвращает объект для построения цепочки вызовов.

Параметры

Параметр | Описание | Версия
$node | Идентификатор кластера ноды. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setSql

\Bitrix\Main\Diag\SqlTrackerQuery public
\Bitrix\Main\Diag\SqlTrackerQuery::setSql(
 string $sql
);

Нестатический метод устанавливает текст отслеживаемого sql запроса.

Возвращает объект для построения цепочки вызовов.

Параметры

Параметр | Описание | Версия
$sql | Текст sql. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setState

\Bitrix\Main\Diag\SqlTrackerQuery public
\Bitrix\Main\Diag\SqlTrackerQuery::setState(
 string $state
);

Нестатический метод устанавливает состояние отслеживаемой sql страницы.

Возвращает объект для построения цепочки вызовов.

Параметры

Параметр | Описание | Версия
$state | Состояние страницы |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setTime

\Bitrix\Main\Diag\SqlTrackerQuery public
\Bitrix\Main\Diag\SqlTrackerQuery::setTime(
 float $time
);

Нестатический метод устанавливает времея выполнения отслеживаемого sql запроса.

Возвращает объект для построения цепочки вызовов.

Параметры

Параметр | Описание | Версия
$time | Время выполнения запроса в секундах. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setTrace

\Bitrix\Main\Diag\SqlTrackerQuery public
\Bitrix\Main\Diag\SqlTrackerQuery::setTrace(
 array $trace
);

Нестатический метод устанавливает трассировку отслеживаемого sql запроса.

Возвращает объект для построения цепочки вызовов.

Параметры

Параметр | Описание | Версия
$trace | Трассировка запроса |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


startQuery

void public
\Bitrix\Main\Diag\SqlTrackerQuery::startQuery(
 string $sql,
 array $binds = null
);

Нестатический метод запускает sql таймер.

Параметры

Параметр | Описание | Версия
$sql | Текст запроса. |
$binds | Привязать переменные используемые в запросе. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DI


ServiceLocator

Класс локатора служб

Метод Описание С версии
\Bitrix\Main\DI\ServiceLocator::getInstance().
 Регистрация сервиса
\Bitrix\Main\DI\ServiceLocator::addInstance(string $code, $service): void
 Регистрация уже созданного и инициализированного сервиса. Параметры:
  • $code {string} - Имя сервиса. По этому имени будет происходить обращение к сервису.
  • $service {object} - Объект конкретного сервиса.

\Bitrix\Main\DI\ServiceLocator::addInstanceLazy(string $code, $configuration): void
 Регистрация сервиса с помощью конфигурации для инициализации по требованию. Параметры:
  • $code {string} - Имя сервиса. По этому имени будет происходить обращение к сервису.
  • $configuration {array} - Описание, с помощью которого сервис локатор будет создавать сервис.

\Bitrix\Main\DI\ServiceLocator::has(string $code): bool
 Возвращает true, если сервис с $code был зарегистрирован. Иначе false. Параметры:
  • $code {string} - Имя сервиса.

\Bitrix\Main\DI\ServiceLocator::get(string $code)
 Возвращает сервис, если это первое обращение, то будет выполнено создание сервиса. Если сервиса с данным кодом нет, то будет выброшено исключение, реализующее интерфейс \Psr\Container\NotFoundExceptionInterface. Параметры:
  • $code {string} - Имя сервиса.


Отправить отзыв по этому разделу

Engine

  • ActionFilter
  • Controller
  • CurrentUser
  • Response
  • UrlManager


ActionFilter

Фильтры - это обработчики, которые выполняются до или после Action. С их помощью можно отклонить выполнение действия, либо повлиять на результат действия.

Существует два типа фильтров:

  • prefilter - выполняется до запуска Action. Может отклонить выполнения действия.
  • postfilter - выполняется после запуска Action. Может изменить результат выполнения действия.

\Bitrix\Main\Engine\ActionFilter\HttpMethod

Проверяет по какому http методу запускается действие и блокирует выполнение действия, если метод не был перечислен.

Метод Параметр и описание С версии
__construct(
   array $allowedMethods = [self::METHOD_GET]
)
 $allowedMethods {array}. Список допустимых http методов. По умолчанию GET.

\Bitrix\Main\Engine\ActionFilter\Authentication

Проверяет аутентифицирован ли пользователь и блокирует выполнение действия, если проверка не прошла, установив http status 401. Может выполнить редирект на страницу авторизации при необходимости.

Метод Параметр и описание С версии
__construct(
   $enableRedirect = false
)
 $enableRedirect {bool}. Включает или отключает автоматический редирект на страницу авторизации, если проверка не прошла успешно. По умолчанию false.

\Bitrix\Main\Engine\ActionFilter\Csrf

Проверяет наличие и корректность csrf-токена и блокирует выполнение действия, если проверка не прошла.

Метод Параметр и описание С версии
__construct(
   $enabled = true,
   $tokenName = 'sessid',
   $returnNew = true
)
  • $enabled {bool} Включает или отключает проверку на токен. По умолчанию true.
  • $tokenName {string} Имя, по которому передается значение токена. Используется для поиска в $_GET, $_POST. По умолчанию sessid.
  • $returnNew {bool} Сигнализирует нужно ли возвращать новое значение токена, если проверка прошла неуспешно. Заметим, что возврат осуществляется через \Bitrix\Main\Error::$customData. По умолчанию true.

\Bitrix\Main\Engine\ActionFilter\CloseSession

Выполнит session_write_close() перед выполнением действия. Будьте внимательны при использовании данного фильтра! Так как после закрытия сессии, все внесенные в неё изменения не будут сохранены. Для понимания работы сессий, стоит ознакомиться с документацией на php.net [image].

Метод Параметр и описание С версии
__construct(
   $enabled = true
)
 $enabled {bool}. Включает или отключает работу фильтра. По умолчанию true.

\Bitrix\Main\Engine\ActionFilter\Scope

Позволяет заблокировать определенные действия для указанного scope, например, можно открыть только определенные действия для rest, а все остальные будут доступны только для ajax.

use \Bitrix\Main\Engine\ActionFilter\Scope;

new Scope(Scope::NOT_REST); //разрешаем везде, кроме rest
new Scope(Scope::AJAX); //разрешаем только в ajax
Метод Параметр и описание С версии
__construct(
   $scopes
)
 $scopes {int} Перечисление допустимых scopes. Для проверки используются битовые маски. Доступные варианты можно найти в константах класса \Bitrix\Main\Engine\ActionFilter\Scope;

\Bitrix\Main\Engine\ActionFilter\Cors

Устанавливает заголовки ответа для управления CORS.

Метод Параметр и описание С версии
__construct(
   string $origin = null,
   bool $credentials = false
)
  • $origin {string} Используется для установки заголовка Access-Control-Allow-Origin. По умолчанию null.
  • $credentials {bool} Если true, то устанавливается заголовок Access-Control-Allow-Credentials. По умолчанию false.

\Bitrix\Main\Engine\ActionFilter\ContentType

Фильтр разрешает выполнять действие, только в случае допустимых content-type в запросе. При работе с application/json будет автоматически зарегистрирован объект \Bitrix\Main\Engine\JsonPayload, который можно внедрять в параметры через параметры аякс-действия.

Метод Параметр и описание С версии
__construct(
   array $allowedTypes
)
 $allowedTypes {array}. Перечисление допустимых content-type. Например, ['application/json'].

\Bitrix\Main\Engine\ActionFilter\PostDecode

Фильтр перекодирует данные из POST-запроса, если внутренняя кодировка проекта отличается от utf-8.


Controller

Класс методов Контроллера

Метод Описание С версии
__construct(
   \Bitrix\Main\Request $request = null
)
 Метод конструктор. Параметры:
  • $request {\Bitrix\Main\Request|null} - Объект запроса, который будет использоваться внутри контроллера, действий и фильтров. По умолчанию будет использоваться объект запроса, который представлен внутри Context::getCurrent()->getRequest()

forward(
   $controller,
   string $actionName,
   array $parameters = null
)
 Вызов-переадресация из текущего контроллера в другое действие. При этом сохраняется текущий контекст (scope, currentUser, request). При запуске действия будут выполнен полный цикл с префильтрами, постфильтрами и прочим.
  • $controller {\Bitrix\Main\Engine\Controller|string} - текущий контроллер,
  • $actionName {string} - Имя нового действия,
  • $parameters {array|null} - параметры действия.


CurrentUser

\Bitrix\Main\Engine\CurrentUser класс несет ответстенность за текущего пользователя.

CurrentUser можно получить двумя способами:

  1.     \Bitrix\Main\Engine\Controller::getCurrentUser()

     public function getAction(Folder $folder)
     {
         $securityContext = $folder->getStorage()->getSecurityContext($this->getCurrentUser()->getId());
         if(!$folder->canRead($securityContext))
         {
             $this->addError(new Error('Could not read the folder.'));

             return null;
         }

         return $folder->toArray();
     }
  2. Интегрировать с помощью зависимости через параметры метода ajax-действия
         public function getAction(Folder $folder, CurrentUser $currentUser)
     {
         $securityContext = $folder->getStorage()->getSecurityContext($currentUser->getId());
         ...
     }


Отправить отзыв по этому разделу

Response

  • Converter


Converter

\Bitrix\Main\Engine\Response\Converter - класс, выполняющий конвертацию строк или массивов, содержащих строки.

При написании backend API часто требуется соблюдать формат и стилистику данных, которые уходят на frontend. Например, преобразовать все ключи из snake_case в camelCase. Или сделать иные преобразования. Чтобы не делать это "руками", можно использовать класс Response\Converter, который умеет преобразовывать:

  • camelCase -> snake_case Response\Converter::TO_SNAKE
  • snake_case -> camelCase Response\Converter::TO_CAMEL
  • Response\Converter::TO_SNAKE_DIGIT
  • some string -> SOME STRING Response\Converter::TO_UPPER
  • SOME STRING -> some string Response\Converter::TO_LOWER
  • SOME STRING -> sOME STRING Response\Converter::LC_FIRST
  • some string -> Some string Response\Converter::UC_FIRST
  • Применять преобразования к ключам ассоциативного массива Response\Converter::KEYS
  • Применять преобразования к значениям массива Response\Converter::VALUES
  • Выполнять преобразования рекурсивно для массива и вложенных массивов Response\Converter::RECURSIVE

Методы

Метод Описание С версии
__construct(
   $format
)
 Метод-конструктор. Параметры:
  • $format {int} Перечисление необходимых преобразований. Для этого используются битовые маски. Доступные варианты можно найти в константах класса \Bitrix\Main\Engine\Response\Converter.

toJson(
)
 Создает объект, сразу устанавливая формат для преобразования в camelCase массив \Bitrix\Main\Engine\Response\Converter::OUTPUT_JSON_FORMAT.
process($data)
 Параметр: $data {string|array} Данные, над которыми необходимо выполнить преобразования.
getFormat()
 int. Получение текущего формата, в котором перечислены преобразования.
setFormat($format)
 Параметр: $format {int} Перечисление необходимых преобразований. Для этого используются битовые маски. Доступные варианты можно найти в константах класса \Bitrix\Main\Engine\Response\Converter.

Пример

use \Bitrix\Main\Engine\Response\Converter;

$converter = new Converter(Converter::LC_FIRST | Converter::TO_CAMEL);
echo $converter->process('la_la_land'); //laLaLand

$converter = new Converter(Converter::OUTPUT_JSON_FORMAT);
$converter->process([
    'CATEGORIES' => [
        [
            'ID' => 1,
            'NAME' => 'Foods',
        ],
        [
            'ID' => 12,
            'NAME' => 'Auto',
        ]
    ]
]);
/**
[
  'categories' => [
    [
      'id' => 1,
      'name' => 'foods',
    ],
    [
      'id' => 12,
      'name' => 'auto',
    ],
  ],
]
**/

$converter = new Converter(Converter::TO_SNAKE_DIGIT | Converter::VALUES | Converter::KEYS | Converter::RECURSIVE);
$converter->process([
    'property109',
    'props' => [
        'element1' => [
            'property210'
        ],
    ]
]);
/**
[
'property_109',
'props' => [
    'element_1' => [
        'property_210'
    ],
];
**/


UrlManager

UrlManager - класс-синглтон для построения ссылок на действия AJAX-контроллеров.

Метод Описание С версии
getInstance(
)
 Возвращает экземпляр \Bitrix\Main\Engine\UrlManager.
getEndPoint(
   $absolute = false
)
 Получение ссылки на endpoint, через который происходит обработка всех действий контроллеров. Параметры:
  • $absolute {bool} Если указать true, то будет возвращена абсолютная ссылка с учетом \Bitrix\Main\Engine\UrlManager::getHostUrl.

Пример:

/** @var \Bitrix\Main\Web\Uri $endpointUri **/
$endpointUri = \Bitrix\Main\Engine\UrlManager::getInstance()->getEndPoint();
echo $endpointUri;
// /bitrix/services/main/ajax.php

$endpointUri = \Bitrix\Main\Engine\UrlManager::getInstance()->getEndPoint(true);
echo $endpointUri;
// https://example.com/bitrix/services/main/ajax.php

getHostUrl(
)
 Возвращает абсолютную ссылку на текущий хост с портом и схемой (http, https), с учетом настроек ядра.

Пример:

/** @var string $hostUrl **/
$hostUrl = \Bitrix\Main\Engine\UrlManager::getInstance()->getHostUrl();
echo $hostUrl;
// https://example.com

create(
   $action,
   $params = [],
   $absolute = false
): \Bitrix\Main\Web\Uri
 Создает ссылку на конкретное действие. По умолчанию, добавляет SITE_ID, если он известен. Параметры:
  • $action {string} Полное имя действия. Например, disk.file.get.
  • $params {array} Массив параметров, которые будут добавлены в query string. Параметры при необходимости будут пропущены через функцию urlencode.
  • $absolute {bool} Если указать true, то будет возвращена абсолютная ссылка с учетом \Bitrix\Main\Engine\UrlManager::getHostUrl. По умолчанию false.

Пример:

/** @var \Bitrix\Main\Web\Uri $uri **/
$uri = \Bitrix\Main\Engine\UrlManager::getInstance()->create('someModule.someController.demoAction');
echo $uri;
// /bitrix/services/main/ajax.php?action=someModule.someController.demoAction

/** @var \Bitrix\Main\Web\Uri $uri **/
$uri = \Bitrix\Main\Engine\UrlManager::getInstance()->create('someModule.someController.demoAction', ['hello' => 'world']);
echo $uri;
// /bitrix/services/main/ajax.php?action=someModule.someController.demoAction&hello=world

createByController(
   Controller $controller,
   $action,
   $params = [],
   $absolute = false
): \Bitrix\Main\Web\Uri
 Создает ссылку на действие внутри класса контроллера. При этом полный путь до контроллера будет рассчитан автоматически на основании экземпляра контроллера. Параметры:
  • $controller {Controller} Экземпляр \Bitrix\Main\Engine\Controller, для которого будет строиться ссылка.
  • $action {string} Имя действия, непосредственно внутри $controller. Например, get.
  • $params {array} Массив параметров, которые будут добавлены в query string. Параметры при необходимости будут пропущены через функцию urlencode.
  • $absolute {bool} Если указать true, то будет возвращена абсолютная ссылка с учетом \Bitrix\Main\Engine\UrlManager::getHostUrl. По умолчанию false.

Пример:

/** @var \Bitrix\Disk\Controller\File $controller */
$controller = new \Bitrix\Disk\Controller\File();
$uri = \Bitrix\Main\Engine\UrlManager::getInstance()->createByController($controller, 'get', ['id' => 100]);
echo $uri;
// /bitrix/services/main/ajax.php?action=disk.controller.file.get&id=100

createByComponentController(
   Controller $controller,
   $action,
   $params = [],
   $absolute = false
): \Bitrix\Main\Web\Uri
 Создает ссылку на действие внутри класса контроллера компонента (в файле ajax.php). При этом полный путь до контроллера будет рассчитан автоматически на основании экземпляра компонента контроллера. Параметры:
  • $controller {Controller} Экземпляр \Bitrix\Main\Engine\Controller, для которого будет строиться ссылка. Внимание! Это контроллер, который располагается внутри компонента, в файле ajax.php.
  • $action {string} Имя действия, непосредственно внутри $controller. Например, showSpace.
  • $params {array} Массив параметров, которые будут добавлены в query string. Параметры при необходимости будут пропущены через функцию urlencode.
  • $absolute {bool} Если указать true, то будет возвращена абсолютная ссылка с учетом \Bitrix\Main\Engine\UrlManager::getHostUrl. По умолчанию false.

Пример

/** @var \SomeComponentController $controller */
$controller = new \SomeComponentController();
$uri = \Bitrix\Main\Engine\UrlManager::getInstance()->createByComponentController($controller, 'showSpace', ['number' => 42]);
echo $uri;
// /bitrix/services/main/ajax.php?c=bitrix:list.example&mode=ajax&action=showSpace&number=42

createByBitrixComponent(
   \CBitrixComponent $component,
   $action,
   $params = array(),
   $absolute = false
): \Bitrix\Main\Web\Uri
 Создает ссылку на действие внутри класса компонента. При этом полный путь будет рассчитан автоматически на основании экземпляра компонента. Параметры:
  • $component {\CBitrixComponent} Экземпляр \CBitrixComponent, для которого будет строиться ссылка.
  • $action {string} Имя действия, непосредственно внутри $controller. Например, get.
  • $params {array} Массив параметров, которые будут добавлены в query string. Параметры при необходимости будут пропущены через функцию urlencode.
  • $absolute {bool} Если указать true, то будет возвращена абсолютная ссылка с учетом \Bitrix\Main\Engine\UrlManager::getHostUrl. По умолчанию false.

Пример

/** @var \ListExampleComponent $component */
$component = new \ListExampleComponent();
$uri = \Bitrix\Main\Engine\UrlManager::getInstance()->createByBitrixComponent($component, 'get', ['id' => 40]);
echo $uri;
// /bitrix/services/main/ajax.php?c=bitrix:list.example&mode=class&action=get&id=40


Entity

Entity - пространство имён для работы с сущностями.

Класс | Описание | С версии
AddResult | Класс добавления записей. | 12.0.7
Base | класс базовой сущности | 12.0.0
BooleanField | Класс полей сущности для данных булевого типа. | 12.0.0
DataManager | Абстрактный базовый класс для работы с объектами данных. | 12.0.0
DataManagerEvent | Класс для работы с событиями, управляющими данными. | 12.0.7
Event | Класс для работы с событиями. | 12.0.7
EventResult | Класс для работы с результатами обработки событий. | 12.0.7
ExpressionField | Класс описаний динамичных полей. | 12.0.0
Query | Класс запросов. | 12.0.0
QueryChainElement | Класс запросов элемента цепочки. | 12.0.0
Result | Класс результата выполнения запроса. | 12.0.7
StringField | Класс полей для типа данных "строка" | 12.0.0
UpdateResult | Класс обновлений записей. | 12.0.7
Validator | Пространство имён для классов валидации |


AddResult

AddResult - класс добавления записей. Расширение класса \Bitrix\Main\Entity\Result.

Метод | Описание | С версии
getId | Метод возвращает ID добавленной записи. |


getId

integer public
\Bitrix\Main\Entity\AddResult::getId(
);

Нестатический метод возвращает ID добавленной записи.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Base

Base - класс базовой сущности.

Обращается к пространству имён:

  • \Main;
Метод | Описание | С версии
createDbTable | Метод создаёт таблицы в соответствии с коллекцией полей. | 14.5.1
initializeField | Фабрика полей. |
cleanCache | Метод очищает весь кеш сущности. | 16.5.10
readFromCache | Метод выполняет чтение данных из кеша. | 16.5.10
getCacheTtl | Метод возвращает кеш TTL для сущности. | 16.5.10
fullTextIndexEnabled | Метод возвращает true если полный текст индекса включён в поле. | 16.5.10
enableFullTextIndex | Метод устанавливает флаг, указывающий поддержку полнотекстового индекса для поля. | 16.5.10


cleanCache

 public
\Bitrix\Main\Entity\Base::cleanCache(
);

Нестатический метод очищает весь кеш сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createDbTable

void public
\Bitrix\Main\Entity\Base::createDbTable(
);

Нестатический метод создаёт таблицы в соответсвии с коллекцией полей.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


enableFullTextIndex

 public
\Bitrix\Main\Entity\Base::enableFullTextIndex(
 string $field,
 boolean $mode = true
);

Нестатический метод устанавливает флаг, указывающий поддержку полнотекстового индекса для поля.

Параметры

Параметр | Описание | Версия
$field | Поле |
$mode | Режим. (Y\N) |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


fullTextIndexEnabled

boolean public
\Bitrix\Main\Entity\Base::fullTextIndexEnabled(
 string $field
);

Нестатический метод возвращает true если полный текст индекса включён в поле.

Параметры

Параметр | Описание | Версия
$field | Поле. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCacheTtl

integer public
\Bitrix\Main\Entity\Base::getCacheTtl(
 integer $ttl
);

Нестатический метод возвращает кеш TTL для сущности, возможны ограничения со стороны настроек файла settings.php:

'cache_flags' => array('value'=> array(
    "b_group_max_ttl" => 200,
    "b_group_min_ttl" => 100,
))

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

Параметры

Параметр | Описание | Версия
$ttl | Предпочтительный TTL |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


initializeField

\Bitrix\Main\Entity\Field public
\Bitrix\Main\Entity\Base::initializeField(
 string $fieldName,
 array $fieldInfo
);

Нестатический метод. Фабрика полей.

Параметры

Параметр | Описание | Версия
$fieldName |  |
$fieldInfo |  |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


readFromCache

\Bitrix\Main\DB\ArrayResult|null public
\Bitrix\Main\Entity\Base::readFromCache(
 integer $ttl,
 string $cacheId,
 boolean $countTotal = false
);

Нестатический метод выполняет чтение данных из кеша.

Параметры

Параметр | Описание | Версия
$ttl | TTL. |
$cacheId | Идентификатор кеша. |
$countTotal | Читать или нет полные данные из кеша. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


BooleanField

BooleanField - класс полей сущности для данных булевого типа. Расширение класса \Bitrix\Main\Entity\ScalarField.

Метод | Описание | С версии
normalizeValue | Метод конвертирует значения true/false в актуальные значения полей. |


normalizeValue

mixed public
\Bitrix\Main\Entity\BooleanField::normalizeValue(
 boolean|integer|string $value
);

Нестатический метод конвертирует значения true/false в актуальные значения полей.

Параметры

Параметр | Описание | Версия
$value |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


CryptoField

CryptoField - класс методов шифрования полей

Метод | Описание | С версии
Конструктор | Метод создаёт объект класса. |
cryptoAvailable | Метод проверяет возможность крипто класса и крипто ключа. |


cryptoAvailable

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>CryptoField>cryptoAvailable (с версии 17.5.14)

CryptoField::cryptoAvailable

boolean public static
\Bitrix\Main\Entity\CryptoField::cryptoAvailable(
 string $key = ''
);

Статический метод проверяет возможность крипто класса и крипто ключа.

Параметры

Параметр | Описание | Версия
$key | Ключ |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор CryptoField

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>CryptoField>Конструктор CryptoField (с версии 17.5.14)

CryptoField::Конструктор CryptoField

 public
\Bitrix\Main\Entity\CryptoField::__construct(
 string $name,
 array $parameters = array()
);

Конструктор объекта класса.

Параметры

Параметр | Описание | Версия
$name | Название |
$parameters | Может включать параметр crypto_key, или ключ берётся из файла .settings.php как 'crypto' => array('value' => array ( 'crypto_key' => 'mysupersecretphrase', )) |

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DataManager

Описание

DataManager - абстрактный базовый класс для работы с объектами данных.

Обращается к пространству имён:

  • \Main;
  • \Main\Localization\Loc

Класс загружает языковые фразы для текущего скрипта: Loc::loadMessages(__FILE__).

Если новый класс отвечает за доступ к таблице БД, он должен быть наследником класса Bitrix\Main\Entity\DataManager и должен переопределять только два метода:

  • getTableName для получения имени таблицы,
  • getMap для получения массива колонок таблицы - объектов Bitrix\Main\Entity\Field.

Методы

Метод | Описание | С версии
add | Метод добавляет строку в таблицу сущностей. |
checkFields | Метод проверяет поля данных перед записью в БД. |
delete | Метод удаляет строку в таблице сущности по первичному ключу. |
getById | Метод возвращает выборку по первичному ключу сущности. |
getByPrimary | Метод возвращает выборку по первичному ключу сущности и по опциональным параметрам \Bitrix\Main\Entity\DataManager::getList. |
getConnectionName | Метод возвращает имя соединения для сущности. | 12.0.9
getCount | Метод выполняет COUNT запрос к сущности и возвращает результат. | 12.0.10
getEntity | Метод возвращает объект сущности. |
getList | Метод выполняет запрос и возвращает отобранные по параметрам запроса данные. |
getMap | Метод возвращает описание карты сущностей. | 12.0.7
getRow | Метод возвращает одну строку (или null) по параметрам для \Bitrix\Main\Entity\DataManager::getList. |
getRowById | Метод возвращает строку (или null) по первичному ключу сущности. | 14.0.0
getTableName | Метод возвращает имя таблицы БД для сущности. | 12.0.7
query | Метод создаёт и возвращает объект запроса для сущности. |
update | Метод обновляет строку в таблице объекта по первичному ключу. |
enableCrypto | Метод устанавливает флаг поддержки шифрования для поля. | 17.5.14
cryptoEnabled | Метод возвращает true если шифрование разрешено для поля. | 17.5.14

События

Событие | Описание
События добавления
OnBeforeAdd | параметры: fields
OnAdd | параметры: fields
OnAfterAdd | параметры: fields, primary
События изменения
OnBeforeUpdate | параметры: primary, fields
OnUpdate | параметры: primary, fields
OnAfterUpdate | параметры: primary, fields
События удаления
OnBeforeDelete | параметры: primary
OnDelete | параметры: primary
OnAfterDelete | параметры: primary

Подробнее о событиях в курсе Разработчик Bitrix Framework.


add

\Bitrix\Main\Entity\AddResult public static
\Bitrix\Main\Entity\DataManager::add(
 array $data
);

Статический метод добавляет строку в таблицу сущностей.

Параметры

Параметр | Описание | Версия
$data |  |

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkFields

 public static
\Bitrix\Main\Entity\DataManager::checkFields(
 \Bitrix\Main\Entity\Result $result,
 mixed $primary,
 array $data
);

Статический метод проверяет поля данных перед записью в БД. Результат проверки храниться в объекте $result.

Параметры

Параметр | Описание | Версия
$result |  |
$primary |  |
$data |  |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


cryptoEnabled

boolean public static
\Bitrix\Main\Entity\DataManager::cryptoEnabled(
 string $field
);

Статический метод возвращает true если шифрование разрешено для поля.

Параметры

Параметр | Описание | Версия
$field | Поле |

Исключения

  • \Bitrix\Main\ArgumentNullException
  • \Bitrix\Main\ArgumentOutOfRangeException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delete

\Bitrix\Main\Entity\DeleteResult public static
\Bitrix\Main\Entity\DataManager::delete(
 mixed $primary
);

Статический метод удаляет строку в таблице сущности по первичному ключу.

Параметры

Параметр | Описание | Версия
$primary |  |

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


enableCrypto

 public static
\Bitrix\Main\Entity\DataManager::enableCrypto(
 string $field,
 boolean $mode = true
);

Статический метод устанавливает флаг поддержки шифрования для поля.

Параметры

Параметр | Описание | Версия
$field | Поле |
$mode | Режим шифрования |

Исключения

  • \Bitrix\Main\ArgumentNullException
  • \Bitrix\Main\ArgumentOutOfRangeException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getById

\Bitrix\Main\DB\Result public static
\Bitrix\Main\Entity\DataManager::getById(
 mixed $id
);

Статический метод возвращает выборку по первичному ключу сущности.

Параметры

Параметр | Описание | Версия
$id | Первичный ключ сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getByPrimary

\Bitrix\Main\DB\Result public static
\Bitrix\Main\Entity\DataManager::getByPrimary(
 mixed $primary,
 array $parameters = array()
);

Статический метод возвращает выборку по первичному ключу сущности и по опциональным параметрам \Bitrix\Main\Entity\DataManager::getList.

Параметры

Параметр | Описание | Версия
$primary | Первичный ключ сущности |
$parameters | Дополнительные параметры \Bitrix\Main\Entity\DataManager::getList |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getConnectionName

string public static
\Bitrix\Main\Entity\DataManager::getConnectionName(
);

Статический метод возвращает имя соединения для сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCount

integer public static
\Bitrix\Main\Entity\DataManager::getCount(
 array $filter = array()
);

Статический метод выполняет COUNT запрос к сущности и возвращает результат.

Параметры

Параметр | Описание | Версия
$filter |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEntity

\Bitrix\Main\Entity\Base public static
\Bitrix\Main\Entity\DataManager::getEntity(
);

Статический метод возвращает объект сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getList

\Bitrix\Main\DB\Result public static
\Bitrix\Main\Entity\DataManager::getList(
 array $parameters = array()
);

Статический метод выполняет запрос и возвращает отобранные по параметрам запроса данные. Этот метод - алиас методов функций объектов \Bitrix\Main\Entity\Query.

Параметры

Параметр Описание Версия
$parameters Массив параметров запроса. Возможные ключи:
  • select - массив фильтров в части SELECT запроса, алиасы возможны в виде: "alias"=>"field".
  • filter - массив фильтров в части WHERE запроса в виде: "(condition)field"=>"value".
  • group - массив полей в части GROUP BY запроса.
  • order - массив полей в части ORDER BY запроса в виде: "field"=>"asc|desc".
  • limit - целое число, указывающее максимальное число строк в выборке (Подобно LIMIT n в MySql)
  • offset - целое число, указывающее номер первой строки в результате. (Подобно LIMIT n, 100 в MySql)
  • runtime - массив полей сущности, создающихся динамически.

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

Примеры можно посмотреть в курсе Разработчик Bitrix Framework


getMap

 public static
\Bitrix\Main\Entity\DataManager::getMap(
);

Статический метод возвращает описание карты сущностей.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRow

array|null public static
\Bitrix\Main\Entity\DataManager::getRow(
 array $parameters
);

Статический метод возвращает одну строку (или null) по параметрам для \Bitrix\Main\Entity\DataManager::getList.

Параметры

Параметр | Описание | Версия
$parameters | Первичный ключ сущности |

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\ObjectPropertyException
  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRowById

array|null public static
\Bitrix\Main\Entity\DataManager::getRowById(
 mixed $id
);

Статический метод возвращает строку (или null) по первичному ключу сущности.

Параметры

Параметр | Описание | Версия
$id | Первичный ключ сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Main\Entity\DataManager::getTableName(
);

Статический метод возвращает имя таблицы БД для сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


query

\Bitrix\Main\Entity\Query public static
\Bitrix\Main\Entity\DataManager::query(
);

Статический метод создаёт и возвращает объект запроса для сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


update

\Bitrix\Main\Entity\UpdateResult public static
\Bitrix\Main\Entity\DataManager::update(
 mixed $primary,
 array $data
);

Статический метод обновляет строку в таблице объекта по первичному ключу.

Параметры

Параметр | Описание | Версия
$primary | Первичный ключ. |
$data | Данные для обновления. |

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DataManagerEvent

DataManagerEvent - класс для работы с событиями управления данными. Расширение класса \Bitrix\Main\Event.

Метод | Описание | С версии
getEntity | Метод возвращает объект | 14.0.4
getErrors | Метод проверяет результат событий на ошибки |
mergeFields | Метод объединяет поля данных, установленные в обработчиках событий с полями источника. | 14.0.4


getEntity

 public
\Bitrix\Main\Entity\DataManagerEvent::getEntity(
);

Нестатический метод возвращает объект.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrors

boolean public
\Bitrix\Main\Entity\DataManagerEvent::getErrors(
 \Bitrix\Main\Entity\Result $result
);

Нестатический метод проверяет результат событий на ошибки, наполняет объект \Bitrix\Main\Result. Возвращает true в случае ошибки и false в противном случае.

Параметры

Параметр | Описание | Версия
$result |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


mergeFields

array public
\Bitrix\Main\Entity\DataManagerEvent::mergeFields(
 array $data
);

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

Возвращает объединённый массив полей данных из всех обработчиков событий.

Параметры

Параметр | Описание | Версия
$data |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DatetimeField

DatetimeField - класс для методов работы с полями Дата/время.

Метод | Описание | С версии
Конструктор | Метод создаёт новый объект класса |


Конструктор DatetimeField

 public
\Bitrix\Main\Entity\DatetimeField::__construct(
  $name,
 array $parameters = array()
);

Конструктор создаёт новый объект класса.

Параметры

Параметр | Описание | Версия
$name | Название |
$parameters | Параметры |

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


EnumField

EnumField - методы численных полей.

Метод | Описание | С версии
Конструктор | Метод создаёт новый объект класса |


Конструктор EnumField

 public
\Bitrix\Main\Entity\EnumField::__construct(
  $name,
 array $parameters = array()
);

Конструктор создаёт объект класса.

Параметры

Параметр | Описание | Версия
$name | Название |
$parameters | Параметры |

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Event

Event - класс для работы с событиями. Расширение класса \Bitrix\Main\Event.

Метод | Описание | С версии
getEntity | Метод возвращает объект | 14.0.4
getErrors | Метод проверяет результат событий на ошибки | 14.0.4
mergeFields | Метод объединяет поля данных, установленные в обработчиках событий с полями источника. | 14.0.4

См. также

  • События [image] в курсе Разработчик Bitrix Framework


getEntity

 public
\Bitrix\Main\Entity\Event::getEntity(
);

Нестатический метод возвращает объект.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrors

boolean public
\Bitrix\Main\Entity\Event::getErrors(
 \Bitrix\Main\Entity\Result $result
);

Нестатический метод проверяет результат событий на ошибки, наполняет объект \Bitrix\Main\Result. Возвращает true в случае ошибки и false в противном случае.

Параметры

Параметр | Описание | Версия
$result |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


mergeFields

array public
\Bitrix\Main\Entity\Event::mergeFields(
 array $data
);

Нестатический метод объединяет поля данных, установленные в обработчиках событий с полями источника. Возвращает объединённый массив полей данных из всех обработчиков событий.

Параметры

Параметр | Описание | Версия
$data |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


EventResult

EventResult - класс для работы с результатами обработки событий. Расширение класса \Bitrix\Main\EventResult.

Метод | Описание | С версии
modifyFields | Метод возвращает устанавливает массив полей для модификации данных в \Bitrix\Main\Entity\Event. | 14.0.4
setErrors | Метод устанавливает массив ошибок и изменяет тип события ERROR. | 14.0.4
unsetFields | Метод составляет массив имён полей для отключения в Bitrix\Main\Entity\Event. | 14.5.1

См. также

  • События [image] в курсе Разработчик Bitrix Framework


modifyFields

 public
\Bitrix\Main\Entity\EventResult::modifyFields(
 array $fields
);

Нестатический метод возвращает устанавливает массив полей для модификации данных в \Bitrix\Main\Entity\Event.

Параметры

Параметр | Описание | Версия
$fields |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setErrors

 public
\Bitrix\Main\Entity\EventResult::setErrors(
 array $errors
);

Нестатический метод устанавливает массив ошибок и изменяет тип события ERROR.

Параметры

Параметр | Описание | Версия
$errors |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unsetFields

 public
\Bitrix\Main\Entity\EventResult::unsetFields(
 array $fields
);

Нестатический метод составляет массив имён полей для отключения в Bitrix\Main\Entity\Event.

Параметры

Параметр | Описание | Версия
$fields |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ExpressionField

ExpressionField - класс описаний динамичных полей в виде:

Если имеется поле PRICE_USD  и нужно рассчитать цену в EUR, то определим поле PRICE_EUR с помощью выражения PRICE_EUR = array('%s * 1.25', 'PRICE_USD')

Расширение класса \Entity\Field.

Обращается к пространству имён:

  • \Main\SystemException
Метод | Описание | С версии
Конструктор | Конструктор класса |


Конструктор ExpressionField

 public
\Bitrix\Main\Entity\ExpressionField::__construct(
 string $name,
 string $expression,
 array|string|null $buildFrom = null,
 array $parameters = array()
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия. Все поля в выражении следует указывать как проценты (или как другой плейсхолдер для sprintf [image]), и реальное имя поля должны храниться в $buildFrom array (= args for sprintf).

Параметры

Параметр | Описание | Версия
$name |  |
$expression |  |
$buildFrom |  |
$parameters |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Query

Query - класс запросов.

Обращается к пространству имён:

  • \Main
Метод | Описание | С версии
addFilter | Метод добавляет фильтр оператору WHERE. |
addGroup | Метод добавляет поле в список полей оператора GROUP BY. |
addOrder | Метод добавляет поле в список полей оператора ORDER BY. |
addSelect | Метод создаёт поле для оператора SELECT. |
disableDataDoubling | Метод заменяет все связи 1:N в фильтре к ID IN |
exec | Метод выстраивает и выполняет запрос и возвращает результат. |
fetchDataModificationCallback | Метод вызывается в \Main\DB\Result как модификатор данных выборки. | 14.5.1
getFilter | Метод возвращает массив полей оператора WHERE. |
getGroup | Метод возвращает массив полей оператора GROUP BY. |
getLastQuery | Метод возвращает строку последнего выполненного запроса. |
getLimit | Метод возвращает лимит. |
getOffset | Метод возвращает смещение. |
getOrder | Метод возвращает массив полей оператора ORDER BY. |
getQuery | Метод выстраивает и возвращает строки SQL запроса. |
getSelect | Метод возвращает массив полей для оператора SELECT. |
isFetchModificationRequired | Метод проверяет требуется ли модификация данных, также кеширует модификатор. | 14.5.1
registerRuntimeField | Метод добавляет поле во время выполнения запроса. |
setFilter | Метод устанавливает список фильтров для оператора WHERE. |
setGroup | Метод устанавливает список полей для оператора GROUP BY. |
setLimit | Метод устанавливает лимит для оператора LIMIT n. |
setOffset | Метод устанавливает смещение оператора LIMIT n, m. |
setOrder | Метод устанавливает список полей для оператора ORDER BY |
setSelect | Метод составляет список полей для оператора SELECT. |
buildFilterSql | Метод устанавливает условия SQL фильтра для WHERE. | 16.5.10
setCustomBaseTableAlias | Метод устанавливает пользовательский алиас для таблицы объекта инициализации | 16.5.10
cacheJoins | Метод разрешает или запрещает кеширование запросов с присоединением (с join). | 16.5.10


addFilter

\Bitrix\Main\Entity\Query public
\Bitrix\Main\Entity\Query::addFilter(
 string $key,
 mixed $value
);

Нестатический метод добавляет фильтр оператору WHERE.

Параметры

Параметр | Описание | Версия
$key |  |
$value |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addGroup

\Bitrix\Main\Entity\Query public
\Bitrix\Main\Entity\Query::addGroup(
  $group
);

Нестатический метод добавляет поле в список полей оператора GROUP BY.

Параметры

Параметр | Описание | Версия
$group |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addOrder

\Bitrix\Main\Entity\Query public
\Bitrix\Main\Entity\Query::addOrder(
 string $definition,
 string $order = 'ASC'
);

Нестатический метод добавляет поле в список полей оператора ORDER BY.

Параметры

Параметр | Описание | Версия
$definition |  |
$order |  |

Исключения

  • \Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addSelect

\Bitrix\Main\Entity\Query public
\Bitrix\Main\Entity\Query::addSelect(
 mixed $definition,
 string $alias = ''
);

Нестатический метод создаёт поле для оператора SELECT.

Параметры

Параметр | Описание | Версия
$definition | Поле |
$alias | Алиас поля по аналогии как задается в SQL. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


buildFilterSql

string public static
\Bitrix\Main\Entity\Query::buildFilterSql(
 \Bitrix\Main\Entity\Base $entity,
 array $filter
);

Статический метод устанавливает условия SQL фильтра для WHERE.

Используется для внешних вызовов: построение SQL для всех UPDATE или DELETE

Параметры

Параметр | Описание | Версия
$entity | Сущность |
$filter | the same format as for setFilter |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


cacheJoins

\Bitrix\Main\Entity\Query public
\Bitrix\Main\Entity\Query::cacheJoins(
 boolean $mode
);

Нестатический метод разрешает или запрещает кеширование запросов с присоединением (с join).

Параметры

Параметр | Описание | Версия
$mode | Разрешить/не разрешить (Y\N) |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


disableDataDoubling

boolean public
\Bitrix\Main\Entity\Query::disableDataDoubling(
);

Нестатический метод заменяет все связи 1:N в фильтре к ID IN (подзапрос SELECT ID FROM <1:N relation>). Доступно для объектов только с 1 первичным полем.

MSSQL не поддерживает [image] конструкции WHERE (col1, col2) IN (SELECT col1, col2 FROM SomeOtherTable).

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


exec

\Bitrix\Main\DB\Result public
\Bitrix\Main\Entity\Query::exec(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


fetchDataModificationCallback

 public
\Bitrix\Main\Entity\Query::fetchDataModificationCallback(
  $data
);

Нестатический метод вызывается в DB\Result как модификатор данных выборки.

Параметры

Параметр | Описание | Версия
$data |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFilter

array public
\Bitrix\Main\Entity\Query::getFilter(
);

Нестатический метод возвращает массив полей оператора WHERE.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getGroup

array public
\Bitrix\Main\Entity\Query::getGroup(
);

Нестатический метод возвращает массив полей оператора GROUP BY.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLastQuery

string public static
\Bitrix\Main\Entity\Query::getLastQuery(
);

Статический метод возвращает строку последнего выполненного запроса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLimit

null|integer public
\Bitrix\Main\Entity\Query::getLimit(
);

Нестатический метод возвращает лимит.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOffset

null|integer public
\Bitrix\Main\Entity\Query::getOffset(
);

Нестатический метод возвращает смещение.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOrder

array public
\Bitrix\Main\Entity\Query::getOrder(
);

Нестатический метод возвращает массив полей оператора ORDER BY.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getQuery

string public
\Bitrix\Main\Entity\Query::getQuery(
);

Нестатический метод выстраивает и возвращает строки SQL запроса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSelect

array public
\Bitrix\Main\Entity\Query::getSelect(
);

Нестатический метод возвращает массив полей для оператора SELECT.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isFetchModificationRequired

boolean public
\Bitrix\Main\Entity\Query::isFetchModificationRequired(
);

Нестатический метод проверяет требуется ли модификация данных, также кеширует модификатор.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


registerRuntimeField

\Bitrix\Main\Entity\Query public
\Bitrix\Main\Entity\Query::registerRuntimeField(
 string|null $name,
 array|\Bitrix\Main\Entity\Field $fieldInfo
);

Нестатический метод добавляет поле во время выполнения запроса. Создаётся динамически, в противном случае описывается статически в карте.

Параметры

Параметр | Описание | Версия
$name |  |
$fieldInfo |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setCustomBaseTableAlias

\Bitrix\Main\Entity\Query public
\Bitrix\Main\Entity\Query::setCustomBaseTableAlias(
 string $alias
);

Нестатический метод устанавливает пользовательский алиас для таблицы объекта инициализации.

Параметры

Параметр | Описание | Версия
$alias | Устанавливаемый алиас |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setFilter

\Bitrix\Main\Entity\Query public
\Bitrix\Main\Entity\Query::setFilter(
 array $filter
);

Нестатический метод устанавливает список фильтров для оператора WHERE.

Параметры

Параметр | Описание | Версия
$filter |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setGroup

\Bitrix\Main\Entity\Query public
\Bitrix\Main\Entity\Query::setGroup(
 mixed $group
);

Нестатический метод устанавливает список полей для оператора GROUP BY.

Параметры

Параметр | Описание | Версия
$group |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setLimit

\Bitrix\Main\Entity\Query public
\Bitrix\Main\Entity\Query::setLimit(
 integer $limit
);

Нестатический метод устанавливает лимит для оператора LIMIT n.

Параметры

Параметр | Описание | Версия
$limit |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setOffset

\Bitrix\Main\Entity\Query public
\Bitrix\Main\Entity\Query::setOffset(
 integer $offset
);

Нестатический метод устанавливает смещение оператора LIMIT n, m.

Параметры

Параметр | Описание | Версия
$offset |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setOrder

\Bitrix\Main\Entity\Query public
\Bitrix\Main\Entity\Query::setOrder(
 mixed $order
);

Нестатический метод устанавливает список полей для оператора ORDER BY.

Параметры

Параметр | Описание | Версия
$order |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setSelect

\Bitrix\Main\Entity\Query public
\Bitrix\Main\Entity\Query::setSelect(
 array $select
);

Нестатический метод составляет список полей для оператора SELECT.

Параметры

Параметр | Описание | Версия
$select |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Отправить отзыв по этому разделу

Filter

  • Condition
  • ConditionTree


Condition

Condition - класс методов конфигурации одного условия.

Метод | Описание | С версии
Конструктор | Конструктор нового объекта |
hasMultiValues | Метод проверяет множественные значения. |
getAtomicValues | Метод возвращает массив всех значений независимо от оператора. |


getAtomicValues

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>Query>Filter>Condition>getAtomicValues (с версии 17.5.0)

Condition::getAtomicValues

array public
\Bitrix\Main\Entity\Query\Filter\Condition::getAtomicValues(
);

Нестатический метод возвращает значения как набор составных значений.

В обычных условиях существует только одно значение: v1.
В условии whereIn существет массив: [v1, v2, v3, ...].
В условии whereBetween существует два значения: v1, v2.
и так далее.

Этот метод возвращает массив всех значений независимо от оператора.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


hasMultiValues

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>Query>Filter>Condition>hasMultiValues (с версии 17.5.5)

Condition::hasMultiValues

boolean public
\Bitrix\Main\Entity\Query\Filter\Condition::hasMultiValues(
);

Нестатический метод проверяет множественные значения (массив для IN и так далее).

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор Condition

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>Query>Filter>Condition>Конструктор Condition (с версии 17.5.0)

Condition::Конструктор Condition

 public
\Bitrix\Main\Entity\Query\Filter\Condition::__construct(
 string $column,
 string $operator,
 mixed $value
);

Нестатический метод. Конструктор нового объекта.

Параметры

Параметр | Описание | Версия
$column | Столбец |
$operator | Оператор |
$value | Значение |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ConditionTree

Класс методов, определяющих дерево условий. Примеры использования методов смотрите в курсе Разработчик Bitrix Framework.

Метод | Описание | С версии
addCondition | Метод добавляет подготовленное условие. |
getConditions | Метод возвращает все условия и подфильтры. |
hasConditions | Метод проверяет пустой ли фильтр |
logic | Метод устанавливает все условия. |
negative | Метод устанавливает отрицание (NOT) перед всеми условиями |
where | Метод задаёт общие условия. |
whereBetween | Метод устанавливает условие BETWEEN. |
whereColumn | Метод имеет ту же логику, что и where, но значение будет взято из другого столбца. |
whereExists | Метод устанавливает условие Exists. |
whereIn | Метод устанавливает условие IN. |
whereLike | Метод устанавливает условие LIKE, без размещения % по умолчанию |
whereMatch | Метод задаёт условие полнотекстового поиска. | 17.5.5
whereNot | Метод устанавливает отрицание перед любыми условиями и подфильтрами. |
whereNotBetween | Метод устанавливает отрицательное условие BETWEEN. |
whereNotExists | Метод устанавливает условие отрицания Exists. |
whereNotIn | Метод устанавливает условие отрицания IN. |
whereNotLike | Метод устанавливает условие отрицания LIKE, без размещения % по умолчанию. |
whereNotMatch | Метод задаёт условия отрицательного полнотекстового поиска. | 17.5.5
whereNotNull | Метод сравнивает столбец с NOT NULL. |
whereNull | Метод сравнивает столбец с NULL. |


addCondition

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>Query>Filter>ConditionTree>addCondition (с версии 17.5.1)

ConditionTree::addCondition

\Bitrix\Main\Entity\Query\Filter\ConditionTree public
\Bitrix\Main\Entity\Query\Filter\ConditionTree::addCondition(
 \Bitrix\Main\Entity\Query\Filter\Condition|\Bitrix\Main\Entity\Query\Filter\ConditionTree $condition
);

Нестатический метод добавляет подготовленное условие.

Параметры

Параметр | Описание | Версия
$condition | Условие |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getConditions

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>Query>Filter>ConditionTree>getConditions (с версии 17.5.1)

ConditionTree::getConditions

array|array public
\Bitrix\Main\Entity\Query\Filter\ConditionTree::getConditions(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


hasConditions

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>Query>Filter>ConditionTree>hasConditions (с версии 17.5.1)

ConditionTree::hasConditions

boolean public
\Bitrix\Main\Entity\Query\Filter\ConditionTree::hasConditions(
);

Нестатический метод проверяет пустой ли фильтр.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


logic

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>Query>Filter>ConditionTree>logic (с версии 17.5.1)

ConditionTree::logic

$this|string public
\Bitrix\Main\Entity\Query\Filter\ConditionTree::logic(
 string $logic = null
);

Нестатический метод устанавливает все условия.

Параметры

Параметр | Описание | Версия
$logic | и|или |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


negative

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>Query>Filter>ConditionTree>negative (с версии 17.5.1)

ConditionTree::negative

\Bitrix\Main\Entity\Query\Filter\ConditionTree public
\Bitrix\Main\Entity\Query\Filter\ConditionTree::negative(
 boolean $negative = true
);

Нестатический метод устанавливает отрицание (NOT) перед всеми условиями.

Параметры

Параметр | Описание | Версия
$negative |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


where

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>Query>Filter>ConditionTree>where (с версии 17.5.1)

ConditionTree::where

\Bitrix\Main\Entity\Query\Filter\ConditionTree public
\Bitrix\Main\Entity\Query\Filter\ConditionTree::where(
 array $filter
);

Нестатический метод задаёт общие условия. Обычно используются 3 параметра: where(columnName, operator, value), например: ('ID', '=', 1); ('SALARY', '>', '500')

Список возможных операторов можно получить у класса-оператора.

Параметры

Параметр | Описание | Версия
$filter | фильтр |

Исключения

  • \Bitrix\Main\ArgumentException

См. также

  • \Bitrix\Main\Entity\Query\Filter\Operator::$operators

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


whereBetween

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>Query>Filter>ConditionTree>whereBetween (с версии 17.5.1)

ConditionTree::whereBetween

\Bitrix\Main\Entity\Query\Filter\ConditionTree public
\Bitrix\Main\Entity\Query\Filter\ConditionTree::whereBetween(
  $column,
  $valueMin,
  $valueMax
);

Нестатический метод устанавливает условие BETWEEN.

Параметры

Параметр | Описание | Версия
$column | столбец |
$valueMin | минимальное значение |
$valueMax | максимальное значение |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


whereColumn

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>Query>Filter>ConditionTree>whereColumn (с версии 17.5.1)

ConditionTree::whereColumn

\Bitrix\Main\Entity\Query\Filter\ConditionTree public
\Bitrix\Main\Entity\Query\Filter\ConditionTree::whereColumn(
 array $filter
);

Нестатический метод имеет ту же логику, что и where, но значение будет взято из другого столбца.

Параметры

Параметр | Описание | Версия
$filter | фильтр |

Исключения

  • \Bitrix\Main\ArgumentException

См. также

  • \Bitrix\Main\Entity\Query\Filter\ConditionTree::where

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


whereExists

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>Query>Filter>ConditionTree>whereExists (с версии 17.5.1)

ConditionTree::whereExists

\Bitrix\Main\Entity\Query\Filter\ConditionTree public
\Bitrix\Main\Entity\Query\Filter\ConditionTree::whereExists(
 \Bitrix\Main\Entity\Query|\Bitrix\Main\DB\SqlExpression $query
);

Нестатический метод устанавливает условие Exists(). Может использоваться вместе с объектом Query или простой sql обёрткой с SqlExpression.

Параметры

Параметр | Описание | Версия
$query | объект |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


whereIn

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>Query>Filter>ConditionTree>whereIn (с версии 17.5.1)

ConditionTree::whereIn

\Bitrix\Main\Entity\Query\Filter\ConditionTree public
\Bitrix\Main\Entity\Query\Filter\ConditionTree::whereIn(
 string $column,
 array|\Bitrix\Main\Entity\Query|\Bitrix\Main\DB\SqlExpression $values
);

Нестатический метод устанавливает условие IN().

Параметры

Параметр | Описание | Версия
$column | столбец |
$values | значения |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


whereLike

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>Query>Filter>ConditionTree>whereLike (с версии 17.5.1)

ConditionTree::whereLike

\Bitrix\Main\Entity\Query\Filter\ConditionTree public
\Bitrix\Main\Entity\Query\Filter\ConditionTree::whereLike(
  $column,
  $value
);

Нестатический метод устанавливает условие LIKE, без размещения % по умолчанию.

Параметры

Параметр | Описание | Версия
$column | столбец |
$value | значение |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


whereMatch

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>Query>Filter>ConditionTree>whereMatch (с версии 17.5.5)

ConditionTree::whereMatch

\Bitrix\Main\Entity\Query\Filter\ConditionTree public
\Bitrix\Main\Entity\Query\Filter\ConditionTree::whereMatch(
  $column,
  $value
);

Нестатический метод задаёт условие полнотекстового поиска.

Параметры

Параметр | Описание | Версия
$column | Колонка |
$value | Значение |

См. также

  • \Bitrix\Main\Entity\Query\Filter\Helper::matchAgainstWildcard

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


whereNot

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>Query>Filter>ConditionTree>whereNot (с версии 17.5.1)

ConditionTree::whereNot

\Bitrix\Main\Entity\Query\Filter\ConditionTree public
\Bitrix\Main\Entity\Query\Filter\ConditionTree::whereNot(
 array $filter
);

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

Параметры

Параметр | Описание | Версия
$filter | фильтр |

См. также

  • \Bitrix\Main\Entity\Query\Filter\ConditionTree::where

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


whereNotBetween

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>Query>Filter>ConditionTree>whereNotBetween (с версии 17.5.1)

ConditionTree::whereNotBetween

\Bitrix\Main\Entity\Query\Filter\ConditionTree public
\Bitrix\Main\Entity\Query\Filter\ConditionTree::whereNotBetween(
  $column,
  $valueMin,
  $valueMax
);

Нестатический метод устанавливает отрицательное условие BETWEEN.

Параметры

Параметр | Описание | Версия
$column | столбец |
$valueMin | минимальное значение |
$valueMax | максимальное значение |

См. также

  • \Bitrix\Main\Entity\Query\Filter\ConditionTree::whereBetween

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


whereNotExists

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>Query>Filter>ConditionTree>whereNotExists (с версии 17.5.1)

ConditionTree::whereNotExists

\Bitrix\Main\Entity\Query\Filter\ConditionTree public
\Bitrix\Main\Entity\Query\Filter\ConditionTree::whereNotExists(
 \Bitrix\Main\Entity\Query|\Bitrix\Main\DB\SqlExpression $query
);

Нестатический метод устанавливает условие отрицания Exists(). Может быть использование с объектом Query или простой sql обёрткой с SqlExpression.

Параметры

Параметр | Описание | Версия
$query | объект |

Исключения

  • \Bitrix\Main\ArgumentException

См. также

  • \Bitrix\Main\Entity\Query\Filter\ConditionTree::whereExists

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


whereNotIn

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>Query>Filter>ConditionTree>whereNotIn (с версии 17.5.1)

ConditionTree::whereNotIn

\Bitrix\Main\Entity\Query\Filter\ConditionTree public
\Bitrix\Main\Entity\Query\Filter\ConditionTree::whereNotIn(
 string $column,
 array|\Bitrix\Main\Entity\Query|\Bitrix\Main\DB\SqlExpression $values
);

Нестатический метод устанавливает условие отрицания IN().

Параметры

Параметр | Описание | Версия
$column | столбец |
$values | значения |

См. также

  • \Bitrix\Main\Entity\Query\Filter\ConditionTree::whereIn

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


whereNotLike

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>Query>Filter>ConditionTree>whereNotLike (с версии 17.5.1)

ConditionTree::whereNotLike

\Bitrix\Main\Entity\Query\Filter\ConditionTree public
\Bitrix\Main\Entity\Query\Filter\ConditionTree::whereNotLike(
  $column,
  $value
);

Нестатический метод устанавливает условие отрицания LIKE, без размещения % по умолчанию.

Параметры

Параметр | Описание | Версия
$column | столбец |
$value | значение |

См. также

  • \Bitrix\Main\Entity\Query\Filter\ConditionTree::whereLike

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


whereNotMatch

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>Query>Filter>ConditionTree>whereNotMatch (с версии 17.5.5)

ConditionTree::whereNotMatch

\Bitrix\Main\Entity\Query\Filter\ConditionTree public
\Bitrix\Main\Entity\Query\Filter\ConditionTree::whereNotMatch(
  $column,
  $value
);

Нестатический метод задаёт условия отрицательного полнотекстового поиска.

Параметры

Параметр | Описание | Версия
$column | столбец |
$value | Значение |

См. также

  • \Bitrix\Main\Entity\Query\Filter\Helper::matchAgainstWildcard

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


whereNotNull

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>Query>Filter>ConditionTree>whereNotNull (с версии 17.5.1)

ConditionTree::whereNotNull

\Bitrix\Main\Entity\Query\Filter\ConditionTree public
\Bitrix\Main\Entity\Query\Filter\ConditionTree::whereNotNull(
 string $column
);

Нестатический метод сравнивает столбец с NOT NULL.

Параметры

Параметр | Описание | Версия
$column | столбец |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


whereNull

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Entity>Query>Filter>ConditionTree>whereNull (с версии 17.5.1)

ConditionTree::whereNull

\Bitrix\Main\Entity\Query\Filter\ConditionTree public
\Bitrix\Main\Entity\Query\Filter\ConditionTree::whereNull(
 string $column
);

Нестатический метод сравнивает столбец с NULL.

Параметры

Параметр | Описание | Версия
$column | столбец |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


QueryChainElement

QueryChainElement - класс запросов элемента цепочки.

Обращается к пространству имён:

  • \Main\SystemException
Метод | Описание | С версии
Конструктор | Создаёт объект класса |


Конструктор QueryChainElement

 public
\Bitrix\Main\Entity\QueryChainElement::__construct(
 \Bitrix\Main\Entity\Field|array|\Bitrix\Main\Entity\Base $element,
 array $parameters = array()
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия.

Значения формата:

  1. Field - обычное скалярное поле;
  2. ReferenceField - указание на другой объект;
  3. array(Base, ReferenceField) - указание от другого объект к этому;
  4. Base - все поля объекта

Параметры

Параметр | Описание | Версия
$element |  |
$parameters |  |

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Result

Result - класс результата выполнения запроса. Расширение класса \Bitrix\Main\Result.

Метод | Описание | С версии
getErrorMessages | Метод возвращает массив строк с сообщениями об ошибках. |
getErrors | Метод возвращает массив объектов \Main\Error. |
isSuccess | Метод возвращает статус результата. |
getData | Метод возвращает массив данных, сохранённых в записи. | 14.0.6


getData

array public
\Bitrix\Main\Entity\Result::getData(
);

Нестатический метод возвращает массив данных, сохранённых в записи.

Без параметров

Примеры

Добавление цены к товару.

$result = \Bitrix\Catalog\PriceTable::add([
   'PRODUCT_ID' => 2,
   'CATALOG_GROUP_ID' => 1,
   'PRICE' => 10,
   'PRICE_SCALE' => 10,
   'CURRENCY' => 'RUB'
]);
echo '<pre>'.print_r($result->getData(), 1).'</pre>';

Array(
    [TIMESTAMP_X] => Bitrix\Main\Type\DateTime Object
        (
            [value:protected] => DateTime Object
                (
                    [date] => 2019-08-23 22:11:37.369000
                    [timezone_type] => 3
                    [timezone] => Europe/Moscow
                )

        )

    [PRODUCT_ID] => 2
    [CATALOG_GROUP_ID] => 1
    [PRICE] => 10
    [PRICE_SCALE] => 10
    [CURRENCY] => RUB
)


getErrorMessages

array public
\Bitrix\Main\Entity\Result::getErrorMessages(
);

Нестатический метод возвращает массив строк с сообщениями об ошибках.

Без параметров

Примеры

Пример использования метода при добавлении цены к товару.

$result = \Bitrix\Catalog\PriceTable::add([
   'PRODUCT_ID' => 2,
   // 'CATALOG_GROUP_ID' => 1,
   'PRICE' => 10,
   'PRICE_SCALE' => 10,
   'CURRENCY' => 'RUB'
]);
if (!$result->isSuccess()) {
    print_r($result->getErrorMessages());
}

Array ( [0] => Не заполнено обязательное поле "Идентификатор типа цены" )


getErrors

array|array public
\Bitrix\Main\Entity\Result::getErrors(
);

Нестатический метод возвращает массив объектов \Main\Error.

Без параметров

Примеры

Пример получения и перебора списка ошибок при добавлении склада или любой другой сущности.

$result = \Bitrix\Catalog\StoreTable::add([
   'NAME' => 'Some value'
]);
if (!$result->isSuccess()) {
    $errors = $result->getErrors();
    foreach ($errors as $error) {
       echo '
'.'['.$error->getCode().'] '.$error->getMessage(); // [BX_EMPTY_REQUIRED] Не заполнено обязательное поле "Адрес"
    }
}


isSuccess

boolean public
\Bitrix\Main\Entity\Result::isSuccess(
 boolean $internalCall = false
);

Нестатический метод возвращает статус результата. В ядре и событиях должен вызываться с флагом internalCall.

Параметры

Параметр | Описание | Версия
$internalCall |  |

Примеры

Добавление цены к товару.

$result = \Bitrix\Catalog\PriceTable::add([
   'PRODUCT_ID' => 2,
   // 'CATALOG_GROUP_ID' => 1,
   'PRICE' => 10,
   'PRICE_SCALE' => 10,
   'CURRENCY' => 'RUB'
]);
if (!$result->isSuccess()) {
    print_r($result->getErrorMessages());
}


ScalarField

ScalarField - класс для методов скалярных полей

Метод | Описание | С версии
Конструктор | Метод создаёт новый объект класса. |


Конструктор ScalarField

 public
\Bitrix\Main\Entity\ScalarField::__construct(
  $name,
 array $parameters = array()
);

Метод создаёт новый объект класса

Параметры

Параметр | Описание | Версия
$name | Название |
$parameters | Параметры |

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


StringField

StringField - класс полей для типа данных "строка". Расширение класса \Bitrix\Main\ScalarField. Имеет ограничение на 255 символов, если нужно больше используйте Entity\TextField.

Метод | Описание | С версии
getSize | Метод возвращает размер поля в БД в символах. | 14.5.2
getFormat | Ссылка на валидатор Regexp. |


getFormat

null|string public
\Bitrix\Main\Entity\StringField::getFormat(
);

Нестатический метод. Ссылка на валидатор Regexp [image].

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSize

integer|null public
\Bitrix\Main\Entity\StringField::getSize(
);

Нестатический метод возвращает размер поля в БД в символах.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


UpdateResult

UpdateResult - класс обновлений записей. Расширение класса Result.

Обращается к пространству имён:

  • Bitrix\Main\DB\Connection;
Метод | Описание | С версии
getId | Метод возвращает ID обновлённой записи. | 14.9.1


getId

integer public
\Bitrix\Main\Entity\UpdateResult::getId(
);

Нестатический метод возвращает ID обновлённой записи.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Validator

Validator - пространство имён для классов валидации

Класс | Описание | С версии
Length | Класс проверки длины значения. | 14.0.5


Length

Length - класс проверки длины значения. Расширение класса \Bitrix\Main\Entity\Validator\Base.

Класс загружает языковые фразы для текущего скрипта: Loc::loadMessages(__FILE__).

Обращается к пространству имён:

  • \Main\Entity;
  • \Main\Localization\Loc;
  • \Main\ArgumentException;
Метод | Описание | С версии
getMax | Метод возвращает максимально возможную длину. | 14.9.4
getMin | Метод возвращает минимально возможную длину. | 14.9.4
validate | Метод проверяет минимальную и/или максимальную длину (как строку) значения. |


getMax

integer|null public
\Bitrix\Main\Entity\Validator\Length::getMax(
);

Нестатический метод возвращает максимально возможную длину. Если значение не установлено, вернётся null.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMin

integer|null public
\Bitrix\Main\Entity\Validator\Length::getMin(
);

Нестатический метод возвращает минимально возможную длину. Если значение не установлено, вернётся null.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validate

boolean|string public
\Bitrix\Main\Entity\Validator\Length::validate(
 mixed $value,
 array $primary,
 array $row,
 \Bitrix\Main\Entity\Field $field
);

Нестатический метод проверяет минимальную и/или максимальную длину (как строку) значения. Возвращает true если проверка успешна или, в противном случае, string с текстом ошибки.

Параметры

Параметр | Описание | Версия
$value | Значение для проверки. |
$primary | Не использовать в этой функции. |
$row | Не использовать в этой функции. |
$field | Поле метаданных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Environment

Environment - класс работы с окружением. Расширение класса \Main\Type\ParameterDictionary.

Обращается к пространству имён:

  • \Main\Type\ParameterDictionary
Метод | Описание | С версии
Конструктор | Метод создаёт объект окружения. |


Конструктор Environment

 public
\Bitrix\Main\Environment::__construct(
 array $arEnv
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия.

Параметры

Параметр | Описание | Версия
$arEnv |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Error

Error - класс ошибок.

Метод | Описание | С версии
Конструктор | Метод создаёт новый объект. |
getMessage | Метод возвращает сообщение об ошибке. | 15.5.9
getCode | Метод возвращает код ошибки. | 15.5.9


getCode

integer|string public
\Bitrix\Main\Error::getCode(
);

Нестатический метод возвращает код ошибки.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMessage

string public
\Bitrix\Main\Error::getMessage(
);

Нестатический метод возвращает сообщение об ошибке.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор Error

 public
\Bitrix\Main\Error::__construct(
 string $message,
 integer|string $code
integer|string $customData
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия.

Параметры

Параметр | Описание | Версия
$message | Сообщение об ошибке. |
$code | Код ошибки. |
$customData | Пользовательские данные. |

Примеры

public function jsonSerialize()
{
    return [
        'message' => $this->getMessage(),
        'code' => $this->getCode(),
        'customData' => $this->getCustomData(),
    ];
}


ErrorCollection

ErrorCollection - коллекция ошибок. Расширение класса \Main\Type\Dictionary.

Обращается к пространству имён:

  • \Main\Type\Dictionary
Метод | Описание | С версии
add | Метод добавляет массив ошибок в коллекцию. |
getErrorByCode | Метод возвращает ошибку по полученному коду. |
offsetSet | Реализация интерфейса \ArrayAccess. |
setError | Метод добавляет ошибку в коллекцию. |
Конструктор | Метод создаёт объект. |


add

void public
\Bitrix\Main\ErrorCollection::add(
 array $errors
);

Нестатический метод добавляет массив ошибок в коллекцию.

Параметры

Параметр | Описание | Версия
$errors |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrorByCode

\Bitrix\Main\Error|null public
\Bitrix\Main\ErrorCollection::getErrorByCode(
 string|integer $code
);

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

Параметры

Параметр | Описание | Версия
$code | Код ошибки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


offsetSet

 public
\Bitrix\Main\ErrorCollection::offsetSet(
 mixed $offset,
 mixed $value
);

Нестатический метод. Реализация интерфейса \ArrayAccess.

Параметры

Параметр | Описание | Версия
$offset |  |
$value |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setError

void public
\Bitrix\Main\ErrorCollection::setError(
 \Bitrix\Main\Error $error,
  $offset = null
);

Нестатический метод добавляет ошибку в коллекцию.

Параметры

Параметр | Описание | Версия
$error | Объект ошибки |
$offset | Смещение в массиве. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор ErrorCollection

 public
\Bitrix\Main\ErrorCollection::__construct(
 array $values = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия.

Параметры

Параметр | Описание | Версия
$values | Коллекция первоначальных ошибок. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


EventManager

EventManager - класс кратко- и долгосрочной регистрации обработчиков событий. Класс реализует паттерн Singleton (Одиночка), обращаться к нему нужно через getInstance().

В обработчики, зарегистрированные с помощью \Bitrix\Main\EventManager::AddEventHandler, в качестве аргумента будет передан объект события (Bitrix\Main\Event). Если хотите, чтобы передавались старые аргументы, нужно использовать \Bitrix\Main\EventManager::addEventHandlerCompatible. Аналогично с \Bitrix\Main\EventManager::registerEventHandler и \Bitrix\Main\EventManager::registerEventHandlerCompatible.

Аналогами класса в старом ядре являются функции:
RegisterModuleDependences [image],
UnRegisterModuleDependences [image],
AddEventHandler [image],
RemoveEventHandler [image],
GetModuleEvents [image].

Примеры

//версия 1
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->registerEventHandlerCompatible("module","event","module2","class","function");
//версия 2 для событий в DataManager например
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->registerEventHandler("module","event","module2","class","function");

Свои обработчики в своих модулях

$arMacros["PRODUCTS"]  = "";
$basketId = "10";
$event = new \Bitrix\Main\Event("mymodule", "OnMacrosProductCreate",array($basketId));
   $event->send();
   if ($event->getResults()){
      foreach($event->getResults() as $evenResult){
         if($evenResult->getResultType() == \Bitrix\Main\EventResult::SUCCESS){
         $arMacros["PRODUCTS"] = $evenResult->getParameters();
      }
   }
}
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler("mymodule", "OnMacrosProductCreate", "OnMacrosProductCreate");

function OnMacrosProductCreate(\Bitrix\Main\Event $event){
   $arParam = $event->getParameters();
   $basketId = $arParam[0];
   $result = new \Bitrix\Main\EventResult(1,$basketId);
    return $result;
}
use Bitrix\Main\EventManager;

$handler = EventManager::getInstance()->addEventHandler(
    "main",
    "OnUserLoginExternal",
    array(
        "Intervolga\\Test\\EventHandlers\\Main",
        "onUserLoginExternal"
    )
);
EventManager::getInstance()->removeEventHandler(
    "main",
    "OnUserLoginExternal",
    $handler
);
EventManager::getInstance()->registerEventHandler(
    "main",
    "OnProlog",
    $this->MODULE_ID,
    "Intervolga\\Test\\EventHandlers",
    "onProlog"
);
EventManager::getInstance()->unRegisterEventHandler(
    "main",
    "OnProlog",
    $this->MODULE_ID,
    "Intervolga\\Test\\EventHandlers",
    "onProlog"
);
$handlers = EventManager::getInstance()->findEventHandlers("main", "OnProlog");


FinderDestTable

Описание

FinderDestTable - класс для работы с таблицей сущностей, выбираемые в диалоге выбора, в списке Последние.

Обращается к пространству имён:

  • \Main;
  • \Main\Localization\Loc;
  • \Main\DB\SqlExpression;

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы и Поля

Метод | Описание | С версии
merge | Метод добавляет или обновляет данные |

Поля таблицы данных класса

Поле | Описание | Тип | Обяз.
USER_ID | Идентификатор пользователя. | Int | Да
CODE | Идентификатор сообщения. | Int | Да
CODE_USER_ID | Служебное. | Int | Нет
CODE_TYPE | Тип сущности сообщения. | String | Да
CONTEXT | Тип сообщения. | String | Да
LAST_USE_DATE | Дата последнего обращения к пользователю. | Datetime | Да


merge

 public static
\Bitrix\Main\FinderDestTable::merge(
  $data
);

Статический метод добавляет или обновляет данные используя назначение пользователя.

Параметры

Параметр | Описание | Версия
$data | Данные для обновления |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Grid

Grid - пространство имён для работы с гридом (табличным элементом управления).

Список классов

Класс | Описание
Panel | Класс для работы с панелью грида.
MessageType | Класс для работы с типами сообщений.
Types | Класс для работы с типами грида.
Editor | Класс для работы с редактором.
Context | Класс для работы с контекстом.
Actions | Класс для работы с действиями в гриде.
Options | Класс для работы с опциями грида.


Actions

Actions - класс для работы с действиями в гриде.

Список методов

Метод | Описание
[link=5927685]getList[/link] | Метод возвращает список действий.


getList

array public static
\Bitrix\Main\Grid\Actions::getList(
);

Статический метод возвращает список действий

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Context

Context - класс для работы с контекстом.

Список методов

Метод | Описание
[link=5927705]isInternalRequest[/link] | Статический метод возвращает true, если запрос внутренний (из грида).


isInternalRequest

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Grid>Context>isInternalRequest

Context::isInternalRequest

boolean public static
\Bitrix\Main\Grid\Context::isInternalRequest(
);

Статический метод возвращает true, если запрос внутренний (из грида). В ином случае возвращает false

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Editor

Editor - класс для работы с редактором.

Список классов

Метод | Описание
Types | Класс для работы с типами.


Types

Types - класс для работы с типами.

Список методов

Метод | Описание
[link=5927725]getList[/link] | Метод возвращает список типов.


getList

array public static
\Bitrix\Main\Grid\Editor\Types::getList(
);

Статический метод возвращает список типов.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


MessageType

MessageType - класс для работы с типами сообщений.

Список методов

Метод | Описание
[link=5927733]getList[/link] | Метод возвращает список типов сообщений.


getList

array public static
\Bitrix\Main\Grid\MessageType::getList(
);

Статический метод возвращает список типов сообщений

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Options

Options - класс для работы с опциями грида.

Список методов

Метод | Описание
[link=5928179]__construct[/link] | Конструктор класса Options.
[link=5928183]getId[/link] | Метод возвращает ID грида.
[link=5928199]save[/link] | Метод сохраняет заданные опции.
[link=5927677]getSorting[/link] | Метод возвращает массив текущих сортировок грида.
[link=5927637]setColumnsSizes[/link] | Метод устанавливает ширину колонок грида.
[link=5927641]setPageSize[/link] | Метод устанавливает размер страницы.
[link=5927645]setCustomNames[/link] | Метод изменяет названия колонок грида.
[link=5927649]resetExpandedRows[/link] | Метод сбрасывает все сохраненные ID расширенных рядов.
[link=5927653]setExpandedRows[/link] | Метод задает значения ID расширенных рядов.
[link=5927657]getExpandedRows[/link] | Метод возвращает массив ID расширенных рядов.
[link=5927661]setCollapsedGroups[/link] | Метод задаёт объединенные группы.
[link=5927665]getCollapsedGroups[/link] | Метод возвращает массив ID объединенных групп.
[link=5927669]resetView[/link] | Метод сбрасывает текущие настройки отображения по его ID.
[link=5927673]deleteView[/link] | Метод удаляет текущие настройки отображения по его ID.


__construct

 public
\Bitrix\Main\Grid\Options::__construct(
  $gridId,
 array $filterPresets = array()
);

Конструктор класса Options.

Параметры

Параметр | Описание | Версия
$gridId | $arParams["GRID_ID"] |
$filterPresets | массив предустановок фильтра |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteView

 public
\Bitrix\Main\Grid\Options::deleteView(
 string $viewId
);

Метод удаляет текущие настройки отображения по его ID. Метод ничего не возвращает.

Параметры

Параметр | Описание | Версия
$viewId | ID отображения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCollapsedGroups

\Bitrix\Main\Grid\?array public
\Bitrix\Main\Grid\Options::getCollapsedGroups(
);

Метод возвращает массив ID объединенных групп.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getExpandedRows

array|null public
\Bitrix\Main\Grid\Options::getExpandedRows(
);

Метод возвращает массив ID расширенных рядов. Возвращает null в случае неудачи.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getId

string public
\Bitrix\Main\Grid\Options::getId(
);

Метод возвращает ID грида.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSorting

array public
\Bitrix\Main\Grid\Options::getSorting(
 array
);

Метод возвращает массив текущих сортировок грида.

Параметры

Параметр | Описание | Версия
 | [$default = array()] - значение по умолчанию |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


resetExpandedRows

 public
\Bitrix\Main\Grid\Options::resetExpandedRows(
);

Метод сбрасывает все сохраненные ID расширенных рядов. Метод ничего не возвращает.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


resetView

 public
\Bitrix\Main\Grid\Options::resetView(
 string $viewId
);

Метод сбрасывает текущие настройки отображения по его ID. Метод ничего не возвращает.

Параметры

Параметр | Описание | Версия
$viewId | ID отображения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


save

 public
\Bitrix\Main\Grid\Options::save(
);

Метод сохраняет заданные опции. Метод ничего не возвращает.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setCollapsedGroups

 public
\Bitrix\Main\Grid\Options::setCollapsedGroups(
 array $ids = array()
);

Метод задаёт объединенные группы. Метод ничего не возвращает.

Параметры

Параметр | Описание | Версия
$ids | Массив значений ID для объединения |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setColumnsSizes

 public
\Bitrix\Main\Grid\Options::setColumnsSizes(
 \Bitrix\Main\Grid\number $expand,
 array $sizes
);

Метод устанавливает ширину колонок грида. Метод ничего не возвращает.

Параметры

Параметр | Описание | Версия
$expand | Параметры расширения колонок |
$sizes | Массив размеров |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setCustomNames

 public
\Bitrix\Main\Grid\Options::setCustomNames(
 array $names
);

Метод изменяет названия колонок грида. Метод ничего не возвращает.

Параметры

Параметр | Описание | Версия
$names | Массив имен |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setExpandedRows

 public
\Bitrix\Main\Grid\Options::setExpandedRows(
 array
);

Метод задает значения ID расширенных рядов.

Параметры

Параметр | Описание | Версия
 | [$ids = array()] |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setPageSize

 public
\Bitrix\Main\Grid\Options::setPageSize(
 integer $size
);

Метод устанавливает размер страницы. Метод ничего не возвращает.

Параметры

Параметр | Описание | Версия
$size | Размер страницы |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Panel

Panel - пространство имён для работы с панелью грида.

Список классов

Метод | Описание
Types | Класс для работы с типами панелей.
Actions | Класс для работы с действиями панели.
Snippet | Класс для работы со сниппетами.


Actions

Actions - класс для работы с действиями панели.

Список методов

Метод | Описание
[link=5927849]getList[/link] | Статический метод возвращает список действий.


getList

array public static
\Bitrix\Main\Grid\Panel\Actions::getList(
);

Статический метод возвращает список действий.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Snippet

Snippet - класс для работы со сниппетами.

Список классов

Метод | Описание
Onchange | Класс для работы с действиями после изменений.
Checkbox | Класс для работы с чекбоксами.
Button | Класс для работы с кнопками.

Список методов

Метод | Описание
[link=5927745]getSaveEditButton[/link] | Метод возвращает информацию о кнопке Сохранить.
[link=5927749]getCancelEditButton[/link] | Метод возвращает информацию о кнопке Отменить.
[link=5927753]getEditButton[/link] | Метод возвращает информацию о кнопке Изменить.
[link=5927757]getEditAction[/link] | Метод возвращает массив действий, совершаемых при редактировании.
[link=5927761]getRemoveButton[/link] | Метод возвращает информацию о кнопке Удалить.
[link=5927765]getRemoveAction[/link] | Метод возвращает массив действий, совершаемых при удалении.
[link=5927769]getApplyButton[/link] | Класс для работы с действиями после изменений.
[link=5927773]getForAllCheckbox[/link] | Метод возвращает информацию о чекбоксе Для всех.


getApplyButton

array public
\Bitrix\Main\Grid\Panel\Snippet::getApplyButton(
 array $params
);

Метод возвращает информацию о кнопке Применить.

Параметры

Параметр | Описание | Версия
$params | Массив параметров |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCancelEditButton

array public
\Bitrix\Main\Grid\Panel\Snippet::getCancelEditButton(
);

Метод возвращает информацию о кнопке Отменить.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEditAction

array public
\Bitrix\Main\Grid\Panel\Snippet::getEditAction(
);

Метод возвращает массив действий, совершаемых при редактировании.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEditButton

array public
\Bitrix\Main\Grid\Panel\Snippet::getEditButton(
);

Метод возвращает информацию о кнопке Изменить.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getForAllCheckbox

array public
\Bitrix\Main\Grid\Panel\Snippet::getForAllCheckbox(
);

Метод возвращает информацию о чекбоксе Для всех.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRemoveAction

array public
\Bitrix\Main\Grid\Panel\Snippet::getRemoveAction(
);

Метод возвращает массив действий, совершаемых при удалении.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRemoveButton

array public
\Bitrix\Main\Grid\Panel\Snippet::getRemoveButton(
);

Метод возвращает информацию о кнопке Удалить.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSaveEditButton

array public
\Bitrix\Main\Grid\Panel\Snippet::getSaveEditButton(
);

Метод возвращает информацию о кнопке Сохранить.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Button

Button - класс для работы с кнопками.

Список методов

Метод | Описание
[link=5927781]setTitle[/link] | Метод устанавливает заголовок кнопки.
[link=5927785]setId[/link] | Метод устанавливает ID кнопки.
[link=5927789]setName[/link] | Метод устанавливает значение параметра name кнопки.
[link=5927793]setClass[/link] | Метод устанавливает класс кнопки.
[link=5927797]setText[/link] | Метод задаёт текст кнопки.
[link=5927801]setOnchange[/link] | Метод задаёт действия, которые будут выполнены при изменении чекбокса.


setClass

\Bitrix\Main\Grid\Panel\Snippet\Button public
\Bitrix\Main\Grid\Panel\Snippet\Button::setClass(
 string $class = ""
);

Метод устанавливает класс кнопки и возвращает объект класса Snippet\Button.

Параметры

Параметр | Описание | Версия
$class | Значение класса |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setId

\Bitrix\Main\Grid\Panel\Snippet\Button public
\Bitrix\Main\Grid\Panel\Snippet\Button::setId(
 string $id = ""
);

Метод устанавливает ID кнопки и возвращает объект класса Snippet\Button.

Параметры

Параметр | Описание | Версия
$id | значение ID |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setName

\Bitrix\Main\Grid\Panel\Snippet\Button public
\Bitrix\Main\Grid\Panel\Snippet\Button::setName(
 string $name = ""
);

Метод устанавливает значение атрибута name кнопки и возвращает объект класса Snippet\Button.

Параметры

Параметр | Описание | Версия
$name | Значение атрибута name |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setOnchange

\Bitrix\Main\Grid\Panel\Snippet\Button public
\Bitrix\Main\Grid\Panel\Snippet\Button::setOnchange(
 \Bitrix\Main\Grid\Panel\Snippet\Onchange $onchange
);

Метод задаёт действия, которые будут выполнены при нажатии на кнопку. Возвращает объект класса Snippet\Button.

Параметры

Параметр | Описание | Версия
$onchange | Объект класса Onchange, содержащий действия. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setText

\Bitrix\Main\Grid\Panel\Snippet\Button public
\Bitrix\Main\Grid\Panel\Snippet\Button::setText(
 string $text = ""
);

Метод задаёт текст кнопки и возвращает объект класса Snippet\Button.

Параметры

Параметр | Описание | Версия
$text | Текст |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setTitle

\Bitrix\Main\Grid\Panel\Snippet\Button public
\Bitrix\Main\Grid\Panel\Snippet\Button::setTitle(
 string $title = ""
);

Метод устанавливает заголовок кнопки и возвращает объект класса Snippet\Button.

Параметры

Параметр | Описание | Версия
$title | Строка заголовка |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Checkbox

Checkbox - класс для работы с чекбоксами.

Список методов

Метод | Описание
[link=5927821]setValue[/link] | Метод устанавливает значение чекбокса.
[link=5927825]setId[/link] | Метод устанавливает ID чекбокса.
[link=5927829]setName[/link] | Метод устанавливает значение параметра name чекбокса.
[link=5927833]setClass[/link] | Метод устанавливает класс чекбокса.
[link=5927837]setText[/link] | Метод устанавливает содержание подписи к чекбоксу.
[link=5927841]setOnchange[/link] | Метод задаёт действия, которые будут выполнены при изменении чекбокса.


setClass

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Grid>Panel>Snippet>Checkbox>setClass

Checkbox::setClass

\Bitrix\Main\Grid\Panel\Snippet\Checkbox public
\Bitrix\Main\Grid\Panel\Snippet\Checkbox::setClass(
 string $class = ""
);

Метод устанавливает класс чекбокса и возвращает объект класса Snippet\Checkbox.

Параметры

Параметр | Описание | Версия
$class | Класс для установки |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setId

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Grid>Panel>Snippet>Checkbox>setId

Checkbox::setId

\Bitrix\Main\Grid\Panel\Snippet\Checkbox public
\Bitrix\Main\Grid\Panel\Snippet\Checkbox::setId(
 string $id = ""
);

Метод устанавливает ID чекбокса и возвращает объект класса Snippet\Checkbox.

Параметры

Параметр | Описание | Версия
$id | ID для установки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setName

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Grid>Panel>Snippet>Checkbox>setName

Checkbox::setName

\Bitrix\Main\Grid\Panel\Snippet\Checkbox public
\Bitrix\Main\Grid\Panel\Snippet\Checkbox::setName(
 string $name = ""
);

Метод устанавливает значение атрибута name чекбокса и возвращает объект класса Snippet\Checkbox.

Параметры

Параметр | Описание | Версия
$name | Значение для установки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setOnchange

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Grid>Panel>Snippet>Checkbox>setOnchange

Checkbox::setOnchange

\Bitrix\Main\Grid\Panel\Snippet\Checkbox public
\Bitrix\Main\Grid\Panel\Snippet\Checkbox::setOnchange(
 \Bitrix\Main\Grid\Panel\Snippet\Onchange $onchange
);

Метод задаёт действия, которые будут выполнены при изменении чекбокса. Возвращает объект класса Snippet\Checkbox.

Параметры

Параметр | Описание | Версия
$onchange | Объект класса Onchange, содержащий действия. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setText

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Grid>Panel>Snippet>Checkbox>setText

Checkbox::setText

\Bitrix\Main\Grid\Panel\Snippet\Checkbox public
\Bitrix\Main\Grid\Panel\Snippet\Checkbox::setText(
 string $text = ""
);

Метод устанавливает содержание подписи к чекбоксу и возвращает объект класса Snippet\Checkbox.

Параметры

Параметр | Описание | Версия
$text | Текст |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setValue

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Grid>Panel>Snippet>Checkbox>setValue

Checkbox::setValue

\Bitrix\Main\Grid\Panel\Snippet\Checkbox public
\Bitrix\Main\Grid\Panel\Snippet\Checkbox::setValue(
 string $value = ""
);

Метод устанавливает значение чекбокса и возвращает объект класса Snippet\Checkbox.

Параметры

Параметр | Описание | Версия
$value | Значение для установки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Onchange

Onchange - класс для работы с действиями после изменений.

Список методов

Метод | Описание
[link=5927809]__construct[/link] | Конструктор класса Onchange.
[link=5927813]addAction[/link] | Метод добавляет действие.


__construct

 public
\Bitrix\Main\Grid\Panel\Snippet\Onchange::__construct(
 array $actions = array()
);

Конструктор класса Onchange.

Параметры

Параметр | Описание | Версия
$actions | Массив с действиями. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addAction

 public
\Bitrix\Main\Grid\Panel\Snippet\Onchange::addAction(
 array $action = array()
);

Метод добавляет действие и ничего не возвращает.

Параметры

Параметр | Описание | Версия
$action |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Types

Types - класс для работы с действиями панели.

Список методов

Метод | Описание
[link=5927857]getList[/link] | Статический метод возвращает список типов.


getList

array public static
\Bitrix\Main\Grid\Panel\Types::getList(
);

Статический метод возвращает список типов.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Types

Types - класс для работы с типами.

Список методов

Метод | Описание
[link=5927713]getList[/link] | Метод возвращает список типов.


getList

array public static
\Bitrix\Main\Grid\Types::getList(
);

Статический метод возвращает список типов

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


GroupTaskTable

GroupTaskTable - класс описывает ORM-сущность GroupTaskTable.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getTableName | Метод возвращает название таблицы БД для сущности. |
getMap | Метод возвращает список полей для таблицы. |
validateExternalId | Метод возвращает валидаторы для поля EXTERNAL_ID. |

Поля таблицы сущности

Поле | Описание | Тип | Обяз.
GROUP_ID | Идентификатор группы. | Int | Да
TASK_ID | Код уровня доступа | Int | Да
EXTERNAL_ID | Не используется | String | Нет


getMap

array public static
\Bitrix\Main\GroupTaskTable::getMap(
);

Статический метод возвращает список полей для таблицы.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Main\GroupTaskTable::getTableName(
);

Статический метод возвращает название таблицы БД для сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateExternalId

array public static
\Bitrix\Main\GroupTaskTable::validateExternalId(
);

Статический метод возвращает валидаторы для поля EXTERNAL_ID.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


HttpApplication

HttpApplication - класс отвечает за обычный http-хит на сайте. Расширение абстрактного класса \Application.

Метод | Описание | С версии
start | Метод запускает выполнение запроса. |
finish | Метод завершает выполнение запроса. |


finish

 public
\Bitrix\Main\HttpApplication::finish(
);

Нестатический метод завершает выполнение запроса.

Метод регистрируется в start и вызывается автоматически при выполнении скрипта.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


start

 public
\Bitrix\Main\HttpApplication::start(
);

Нестатический метод запускает выполнение запроса. Вызывается после инициализации.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


HttpRequest

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

HttpRequest - Класс управляет объектом Request, содержащим информацию о текущем запросе - его тип, параметры и их значения: класс "запроса к серверу". Класс позволяет избавиться от глобальных переменных [image] в коде, используемых в старом ядре.

Примеры

Конструировать объект разработчику не нужно, получить его можно через приложение и контекст:

use Bitrix\Main\Application;
$request = Application::getInstance()->getContext()->getRequest();

$name = $request->getPost("name");
$email = htmlspecialchars($request->getQuery("email"));

Методы

Метод | Описание | С версии
Конструктор | Метод создаёт новый объект HttpRequest. |
addFilter | Метод применяет фильтр к данным запроса с сохранением оригинальных значений. | 14.0.0
getCookie | Метод возвращает параметры COOKIES из текущего запроса. |
getCookieList | Метод возвращает список параметров COOKIES текущего запроса. |
getHttpHost | метод возвращает узел переменной сервера без номера порта. |
getPost | метод возвращает POST параметры текущего запроса. |
getPostList | Метод возвращает список POST параметров текущего запроса. |
getQuery | Метод возвращает GET параметр текущего запроса. |
getQueryList | Метод возвращает список GET параметров текущего запроса. |
getRequestedPage | Метод возвращает текущую страницу, полученную из запрошенного URI. |
getScriptFile | Метод возвращает файл скрипта при необходимости откорректированный посредством urlrewrite.php или файл virtual_file_system.php. | 14.9.2
getSystemParameters | Метод возвращает массив с предопределёнными параметрами запроса. | 15.5.10
getUserAgent | Метод возвращает запрошенный заголовок юзер-агента HTTP. |
getDecodedUri | Метод возвращает расшифрованный URL | 14.9.4
getFile | Метод возвращает параметры FILES текущего запроса. |
getFileList | Метод возвращает список параметров FILES текущего запроса. |
getInput | Метод возвращает первичные запрошенные данные. | 16.5.8


addFilter

 public
\Bitrix\Main\HttpRequest::addFilter(
 \Bitrix\Main\Type\IRequestFilter $filter
);

Нестатический метод применяет фильтр к данным запроса с сохранением оригинальных значений.

Параметры

Параметр | Описание | Версия
$filter | Объект фильтра |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCookie

null|string public
\Bitrix\Main\HttpRequest::getCookie(
  $name
);

Нестатический метод возвращает параметры COOKIES из текущего запроса.

Анаолг метода CMain::get_cookie [image] в старом ядре.

Параметры

Параметр | Описание | Версия
$name |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCookieList

\Bitrix\Main\Type\ParameterDictionary public
\Bitrix\Main\HttpRequest::getCookieList(
);

Нестатический метод возвращает список параметров COOKIES текущего запроса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDecodedUri

string public
\Bitrix\Main\HttpRequest::getDecodedUri(
);

Нестатический метод возвращает расшифрованный URL, конвертированный в текущий кодированный URI запроса. (За исключением строки запроса.)

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFile

null|string public
\Bitrix\Main\HttpRequest::getFile(
  $name
);

Нестатический метод возвращает параметры FILES текущего запроса.

Параметры

Параметр | Описание | Версия
$name |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFileList

\Bitrix\Main\Type\ParameterDictionary public
\Bitrix\Main\HttpRequest::getFileList(
);

Нестатический метод возвращает список параметров FILES текущего запроса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getHttpHost

string public
\Bitrix\Main\HttpRequest::getHttpHost(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getInput

boolean|string public static
\Bitrix\Main\HttpRequest::getInput(
);

Статический метод возвращает первичные запрошенные данные с php://input.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPost

null|string public
\Bitrix\Main\HttpRequest::getPost(
  $name
);

Нестатический метод возвращает POST параметры текущего запроса.

Параметры

Параметр | Описание | Версия
$name | Запрос |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPostList

\Bitrix\Main\Type\ParameterDictionary public
\Bitrix\Main\HttpRequest::getPostList(
);

Нестатический метод возвращает список POST параметров текущего запроса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getQuery

null|string public
\Bitrix\Main\HttpRequest::getQuery(
 string $name
);

Нестатический метод возвращает GET параметр текущего запроса.

Параметры

Параметр | Описание | Версия
$name | Название параметра |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getQueryList

\Bitrix\Main\Type\ParameterDictionary public
\Bitrix\Main\HttpRequest::getQueryList(
);

Нестатический метод возвращает список GET параметров текущего запроса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRequestedPage

string public
\Bitrix\Main\HttpRequest::getRequestedPage(
);

Нестатический метод возвращает текущую страницу, полученную из запрошенного URI.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getScriptFile

string public
\Bitrix\Main\HttpRequest::getScriptFile(
);

Нестатический метод возвращает файл скрипта при необходимости откорректированный посредством urlrewrite.php или файл virtual_file_system.php.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSystemParameters

array public static
\Bitrix\Main\HttpRequest::getSystemParameters(
);

Статический метод возвращает массив с предопределёнными параметрами запроса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUserAgent

null|string public
\Bitrix\Main\HttpRequest::getUserAgent(
);

Нестатический метод возвращает запрошенный заголовок юзер-агента HTTP.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор HttpRequest

 public
\Bitrix\Main\HttpRequest::__construct(
 \Bitrix\Main\Server $server,
 array $queryString,
 array $postData,
 array $files,
 array $cookies
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия.

Параметры

Параметр | Описание | Версия
$server |  |
$queryString | массив _GET |
$postData | массив _POST |
$files | массив _FILES |
$cookies | массив _COOKIE |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


HttpResponse

Класс \Bitrix\Main\HttpResponse - это базовый класс для всех типов http-ответа. Он является контейнером для:

  • Http-заголовков \Bitrix\Main\Web\HttpHeaders
    • \Bitrix\Main\HttpResponse::addHeader(
   $name,
   $value
)
    • \Bitrix\Main\HttpResponse::setHeaders(
   Web\HttpHeaders $headers
)
    • \Bitrix\Main\HttpResponse::getHeaders(
)
  • Cookies \Bitrix\Main\Web\Cookie
    • \Bitrix\Main\HttpResponse::addCookie(
   Web\Cookie $cookie,
   $replace,
   $checkExpires)
    • \Bitrix\Main\HttpResponse::getCookies(
)
  • Контента, тела ответа \Bitrix\Main\HttpResponse::$content
    • \Bitrix\Main\HttpResponse::setContent(
   $content
)
    • \Bitrix\Main\HttpResponse::getContent(
)

С помощью \Bitrix\Main\HttpResponse можно формировать ответы приложения любого необходимого типа и содержания. Примеры использования:

$response = new \Bitrix\Main\HttpResponse();
$response->addHeader('Content-Type', 'text/plain');
$response->addCookie(new \Bitrix\Main\Web\Cookie('Biscuits', 'Yubileynoye'));
$response->setContent('Hello, world!');


AjaxJson

\Bitrix\Main\Engine\Response\AjaxJson - методы json-ответов.

По умолчанию все ответы от контроллеров \Bitrix\Main\Engine\Controller имеют типизированную структуру, которую прекрасно понимают js API BX.ajax.runAction [image], BX.ajax.runComponentAction [image]:

{
    "status": string,
    "data": mixed,
    "errors": array
}
Каким образом AjaxJson создается внутри контроллеров можно ознакомиться здесь.

Методы

Метод Описание С версии
__construct(
   $data = null,
   $status = self::STATUS_SUCCESS,
   ErrorCollection $errorCollection = null
)
 Конструктор класса. Параметры:
  • $data {mixed} Данные, основная часть json-ответа. Должны конвертироваться в json-представление механизмами php либо, реализуя один из интерфейсов:
    \JsonSerializable
    \Bitrix\Main\Type\Contract\Jsonable
    \Bitrix\Main\Type\Contract\Arrayable
  • $status {string} Статус ответа. По умолчанию success.
  • $errorCollection \Bitrix\Main\ErrorCollection Коллекция ошибок. По умолчанию пуста.

createSuccess(
   $data = null
)
 Создает объект AjaxJson со статусом success.
createError(
   ErrorCollection $errorCollection = null,
   $data = null
)
 Создает объект AjaxJson со статусом error и позволяет передать коллецию ошибок и, при необходимости, данные.
createDenied(
   ErrorCollection $errorCollection = null,
   $data = null
)
 Создает объект AjaxJson со статусом denied и позволяет передать коллецию ошибок и при необходимости данные.


Archive

\Bitrix\Main\Engine\Response\Zip\Archive - методы работы с архивами.

Если у вас веб-сервер NGINX, то вы можете использовать расширение mod_zip, чтобы создавать архивы налету без нагрузки на php.

use \Bitrix\Main\Engine\Response;

$archive = new Response\Zip\Archive('archive.zip');
$archive->addEntry(Response\Zip\ArchiveEntry::createFromFileId($fileId));
$archive->addEntry(Response\Zip\ArchiveEntry::createFromFileId($anotherFileId));

Методы

Метод Описание С версии
__construct(
   $name
)
 Метод-конструктор. Параметры:
  • $name {string} - имя архива, который будет отдан на скачивание.

addEntry(
   \Bitrix\Main\Engine\Response\Zip\ArchiveEntry $archiveEntry
)
 Добавление [link=]элемента[/link] в архив.
isEmpty(
)
 Возвращает true, если архив не пустой.


ArchiveEntry

\Bitrix\Main\Engine\Response\Zip\ArchiveEntry - объект, который описывает элемент zip-архива.

Методы

Метод Описание С версии
createFromFileId(
   $fileId,
   $moduleId = null
)
 Создаёт объект ArchiveEntry, используя $fileId. Значение $fileId используется для поиска записи в таблице b_file по ID. Параметры:
  • $fileId {int} - идентификатор файла из таблицы b_file.
  • $moduleId {string} - указание модуля, для сверки с данными в b_file.MODULE_ID. По умолчанию null, что означает отключение проверки.

createFromFilePath(
   $filePath,
   $name = null
)
 Создаёт объект ArchiveEntry, используя путь до файла. Параметры:
  • $filePath {string} - абсолютный путь до файла. На основе него с помощью \CFile::MakeFileArray будут получены данные о файле.
  • $name {string} - имя файла.

getName(
)
 Получение имени файла.
setName(
   $name
)
 Устанавливает имя файла.
getPath(
)
 Получение абсолютного пути до файла.
getSize(
)
 Получение размера файла в байтах.


BFile

\Bitrix\Main\Engine\Response\BFile - методы работы с файлами. Когда нужно отдать на скачивание файл, который хранится в b_file, то достаточно использовать \Bitrix\Main\Engine\Response\BFile.

Методы

Метод Описание С версии
__construct(
   array $file,
   $name = null)
 Конструирует объект BFile, используя заранее сформированный $file. Параметры:
  • $file {array} - массив, описывающий файл, см. \CFile::getFileArray() [image] [image].
  • $name {string} - имя, с которым будет отдан файл на скачивание.

createByFileData(
   array $file,
   $name = null
)
 Создаёт объект BFile, используя заранее сформированный $file. Параметры
  • $file {array} - массив, описывающий файл, см. \CFile::getFileArray() [image] [image].
  • $name {string} - имя, с которым будет отдан файл на скачивание.

createByFileId(
   $fileId,
   $name = null
)
 Создаёт объект BFile, используя $fileId. Значение $fileId используется для поиска записи в таблице b_file по ID. Параметры:
  • $fileId {int} - идентификатор файла из таблицы b_file.
  • $name {string} - имя, с которым будет отдан файл на скачивание.

createByFileId(
   $fileId,
   $name = null
)
 Создаёт объект BFile, используя $fileId. Значение $fileId используется для поиска записи в таблице b_file по ID. Параметры:
  • $fileId {int} - идентификатор файла из таблицы b_file.
  • $name {string} - имя, с которым будет отдан файл на скачивание.

getPath(
)
 Получение абсолютного пути до файла.
setPath(
   $path
)
 Установка абсолютного пути до файла. Параметры:
  • $path {string} - Абсолютный путь до файла.

getName(
)
 Получение имени файла.
setName(
   $name
)
 Получение имени файла. Параметры:
  • $name {string} - имя файла.

getContentType(
)
 Получение content-type данного файла. По умолчанию данные берутся из таблицы b_file.
setContentType(
   $contentType
)
 Установка content-type данного файла. Параметры:
  • $contentType {string} - content-type файла.

showInline(
   $enabled
)
 Параметры:
  • $enabled {bool} Если true, то будет установлен заголовок Content-Disposition: inline, иначе Content-Disposition: attachment.

setCacheTime(
   $cacheTime
)
 Устанавливает время кеширования. Параметры:
  • $cacheTime {int} Время кеширования файла браузером в секундах.

getCacheTime(
)
 Возвращает установленное время кеширования файла.


Component

\Bitrix\Main\Engine\Response\Component - методы работы с компонентами.

Когда необходимо загрузить компонент на аяксе, то достаточно в действии вернуть \Bitrix\Main\Engine\Response\Component. Сигнатура конструктора совпадает с $APPLICATION->IncludeComponent($name, $template, $parameters)

new \Bitrix\Main\Engine\Response\Component('bitrix:disk.file.view', '', [
    'FILE_ID' => $fileId,
]);

Формирует ответ для представления компонента:

{
    "status": string,
    "data": {
      "html": string,
        "assets": {
            "css": array,
            "js": array,
            "string": array
        },
      "additionalParams": array
    },
    "errors": array
}

Методы

Метод Описание С версии
__construct(
   $componentName,
   $componentTemplate = '',
   array $componentParams = [],
   array $additionalResponseParams = [],
   $dataKeys = []
)
 Метод-конструктор. Параметры:
  • $componentName {string} название компонента, например, "bitrix:disk.file.view".
  • $componentTemplate {string} - название шаблона компонента, по умолчанию ".default".
  • $componentParams {array} - массив параметров компонента, по умолчанию пустой массив.
  • $additionalResponseParams {array} - массив, который будет передан в JSON ответе отдельным ключом. Удобно использовать, если необходимо вывести ассоциированные данные с компонентом.
  • $dataKeys {array} - массив, который перечисляет все ключи arResult компонента, которые нужно вернуть в json-ответе.


Json

Класс \Bitrix\Main\Engine\Response\Json выполняет формирование json-ответа произвольной структуры. Автоматически будет выполнено преобразование данных в json, конвертация в utf-8, при необходимости, и выставлен заголовок application/json; charset=UTF-8.

Примеры

new \Bitrix\Main\Engine\Response\Json('ping-pong');
/**
Content-Type: application/json; charset=UTF-8
"ping-pong"
**/

new \Bitrix\Main\Engine\Response\Json([
    'id' => 2208,
    'type' => 'license',
]);

/**
Content-Type: application/json; charset=UTF-8
{"id": 2208, "type": "license"}
**/

Методы

Метод Описание С версии
__construct(
   $data = null,
   $options = 0
)
 Конструктор класса. Параметры:
  • $data {mixed} - данные json-ответа. Должны конвертироваться в json-представление механизмами php либо, реализуя один из интерфейсов:
    \JsonSerializable
    \Bitrix\Main\Type\Contract\Jsonable
    \Bitrix\Main\Type\Contract\Arrayable
  • $options {int} Передается в json_encode, вторым аргументом.

setData(
   $data
)
 Переустановка данных json-ответа. Должны конвертироваться в json-представление механизмами php либо, реализуя один из интерфейсов:
\JsonSerializable
\Bitrix\Main\Type\Contract\Jsonable
\Bitrix\Main\Type\Contract\Arrayable


Redirect

Класс \Bitrix\Main\Engine\Response\Redirect.

Чтобы выполнить редирект, достаточно использовать Response\Redirect. Ядро автоматически сделает необходимые проверки по безопасности и выполнит 301 или 302 редирект.

//сделать переадресацию с 302 статусом.
$response = new \Bitrix\Main\Engine\Response\Redirect('/auth');
//сделать переадресацию с 301 статусом.
$response = new \Bitrix\Main\Engine\Response\Redirect('/auth');
$response->setStatus('301 Moved Permanently');
Метод Описание С версии
__construct(
   $url,
   bool $skipSecurity = false
)
 Метод-конструктор. Параметры:
  • $url {string} - URL куда будет выполнен редирект. Может быть относительным или абсолютным.
  • $skipSecurity {bool} - если передан true, то будут отключены проверки безопасности. По умолчанию false.

getUrl(
)
 Возвращает URL куда будет выполнен редирект.
setUrl(
   $url)
 Устанавливает URL для редиректа. Параметры:
  • $url {string}. URL куда будет выполнен редирект. Может быть относительным или абсолютным.

isSkippedSecurity(): bool
 Возвращает текущее состояние отключенности проверок безопасности при редиректе.
setSkipSecurity(
   bool $skipSecurity
)
 Устанавливает состояние проверок безопасности. Параметры:
  • $skipSecurity {bool}. Если передан true, то будут отключены проверки безопасности. Если false - включены.


ResizedImage

\Bitrix\Main\Engine\Response\ResizedImage - методы для уменьшения изображений.

Методы

Метод Описание С версии
__construct(
   array $imageData,
   $width,
   $height,
   $name
)
 Конструирует объект ResizedImage, используя заранее сформированный $imageData. Параметры:
  • $imageData {array} - массив, описывающий файл, см. \CFile::getFileArray()
  • $width {int} - ширина результирующего изображения.
  • $height {int} - высота результирующего изображения.
  • $name {string} - имя, с которым будет отдано изображения на скачивание.

createByImageData(
   array $imageData,
   $width,
   $height,
   $name)
 Создает объект ResizedImage, используя заранее сформированный $imageData.Параметры:
  • $imageData {array} - массив, описывающий файл, см. \CFile::getFileArray()
  • $width {int} - ширина результирующего изображения.
  • $height {int} - высота результирующего изображения.
  • $name {string} - имя, с которым будет отдано изображения на скачивание.

createByImageId(
   $imageId, $width,
   $height,
   $name
)
 Создает объект ResizedImage, используя заранее сформированный $imageData.. Параметры:
  • $imageId {int} - идентификатор файла из таблицы b_file.
  • $width {int} - ширина результирующего изображения.
  • $height {int} - высота результирующего изображения.
  • $name {string} - имя, с которым будет отдано изображения на скачивание.

setWidth(
   $width
)
 Установка ширины результирующего изображения.
setHeight(
   $height
)
 Установка высоты результирующего изображения.
setResizeType(
   $resizeType
)
 {int}. Выбор типи ресайза:
BX_RESIZE_IMAGE_EXACT,
BX_RESIZE_IMAGE_PROPORTIONAL_ALT,
BX_RESIZE_IMAGE_PROPORTIONAL.


setLastModified

 public
\Bitrix\Main\HttpResponse::setLastModified(
 \Bitrix\Main\Type\DateTime $time
);

Нестатический метод устанавливает время изменения полей заголовков.

Параметры

Параметр | Описание | Версия
$time | Устанавливаемое время. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


IO

IO - объектно-ориентированная работа с файлами, обладает тремя базовыми классами: \Path, \Directory, \File. Кроме них есть и другие классы, в том числе и абстрактные, для организации иерархии.

Класс | Описание | С версии
File | Класс для работы с файлами. |
Directory | Класс для работы с директориями. |
Path | Класс для работы с путями. |
FileDeleteException | Исключение при удалении файла |
FileNotFoundException | Исключение при отсутствии требуемого файла |
FileOpenException | Исключение при открытии файла |
InvalidPathException | Исключение не корректного пути к файлу. |
IoException | Базовый класс всех исключений файлового ввода-вывода. |

В старом ядре DeleteDirFilesEx [image] принимал путь от корня сайта, а его аналог принимает абсолютный путь к файлу от корня сервера.

Обратите внимание : вместо $_SERVER["DOCUMENT_ROOT"] сейчас можно использовать \Bitrix\Main\Application::getDocumentRoot.

Примеры

// D7
use Bitrix\Main\Application;
use Bitrix\Main\IO\Directory;
use Bitrix\Main\IO\File;

Directory::createDirectory(
    Application::getDocumentRoot() . "/foo/bar/baz/"
);
File::putFileContents(
Application::getDocumentRoot() . "/foo/bar/baz/1.txt",
    "hello from D7"
);
Directory::deleteDirectory(
    Application::getDocumentRoot() . "/foo/bar/baz/"
);


Directory

Directory - класс для работы с директориями.

Метод | Описание | С версии
Конструктор | Метод создаёт экземпляр класса. |
createDirectory | Метод создает директорию. |
deleteDirectory | Метод удаляет директорию по указанному полному пути до папки. |
isDirectoryExists | Метод определяет существует ли папка. |

Примеры

use Bitrix\Main\Application;
use Bitrix\Main\IO\Directory;
use Bitrix\Main\IO\File;

Directory::createDirectory(
    Application::getDocumentRoot() . "/foo/bar/baz/"
);

Directory::deleteDirectory(
    Application::getDocumentRoot() . "/foo/bar/baz/"
);


createDirectory

public static
\Bitrix\Main\IO\Directory::createDirectory(
 string $path
);

Статический метод создает директорию. По сути этот метод - обертка над стандартным повторяющимся кодом mkdir($dir, BX_DIR_PERMISSIONS, true).

Аналог функции CheckDirPath [image] в старом ядре.

Параметры

Параметр | Описание | Версия
$path | Полный путь от корня сервера. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteDirectory

resource public
\Bitrix\Main\IO\Directory::deleteDirectory(
 string $path
);

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

Аналог метода в старом ядре: DeleteDirFilesEx [image]. DeleteDirFilesEx принимет путь от корня сайта, а текущий метод принимает абсолютный путь к файлу от корня сервера.

Параметры

Параметр | Описание | Версия
$path | Полный путь к папке. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isDirectoryExists

resource public
\Bitrix\Main\IO\Directory::isDirectoryExists(
 string $path
);

Статический метод определяет существует ли папка.

Параметры

Параметр | Описание | Версия
$path | Полный путь к папке |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор Directory

public function
\Bitrix\Main\IO\Directory::__construct(
 string $path
 string $siteId = nul
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия.

Параметры

Параметр | Описание | Версия
$path | Полный путь к папке |
$siteId | Идентификатор сайта |

Примеры

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

 $directory=new \Bitrix\Main\IO\Directory($path, $siteId = null);

Теперь с папкой, путь до которой был передан в конструктор класса можно сделать следующее:

Проверить существует ли указанный путь:

$directory->isExists()

Удалить папку и все ее содержимое:

$directory->delete()

Вернуть массив объектов классов Directory и File, которые являются вложенными в текущую директорию. Без рекурсии.

$directory->getChildren()

Создать поддерикторию, с именем, переданым в качестве параметра. Возвращает объект созданной папки:

$directory->createSubdirectory($name)

Получить время создания папки. Здесь и далее методы возвращают время в формате Unix timestamp. Выводиться информация о директории, которая была указана при создании объекта:

$directory->getCreationTime()

Получить время последнего доступа к папке:

$directory->getLastAccessTime()

Получить время последнего изменения папки:

$directory->getModificationTime()

Установить на папку права на запись:

$directory->markWritable()

Вернуть права доступа к папке:

$directory->getPermissions()


File

Описание и методы

File - класс для работы с файлами.

Метод | Описание | С версии
close | Метод закрывает файл | 15.0.15
getSize | Метод возвращает размер файла. | 14.5.1
open | Метод открывает файл и возвращает указатель файла. |
seek | Метод ищет указатель файла от начала | 15.0.15
deleteFile | Метод удаляет файл |
getFileContents | Метод возвращает содержимое файла в виде одной строки. |
isFileExists | Метод определяет существует ли файл. |
putFileContents | Метод записывает данные в файл. | 15.0.15

Пример

$file = new IO\File(Application::getDocumentRoot() . "/file.txt");

Информация о файле:

$isExist = $file->isExists(); // true, если файл существует

$dir = $file->getDirectory(); // Директория файла в виде объекта IO\Directory
$dir = $file->getDirectoryName(); // Директория файла

$fileName = $file->getName(); // Имя файла
$fileExt = $file->getExtension(); // Расширение файла
$fileSize = $file->getSize(); // Размер файла в байтах
$contentType = $file->getContentType(); // Content-type

$createdAt = $file->getCreationTime(); // Дата создания, timestamp
$accessAt = $file->getLastAccessTime(); // Дата последнего доступа, timestamp
$modifiedAt = $file->getModificationTime(); // Дата модификации, timestamp

$perms = $file->getPermissions(); // Права на файл в виде десятичного числа
$perms = substr(sprintf('%o', $file->getPermissions()), -3); // Права на файл в виде восьмеричного числа

Действия над файлами:

$content = $file->getContents(); // Получить содержание файла
$file->putContents("data"); // Записать содержимое в файл с заменой
$file->putContents("data", IO\File::APPEND); // Дописать содержимое в конец файла
$file->readFile(); // Вывести содержимое файла

$file->rename(Application::getDocumentRoot() . "/new_file.txt"); // Переместить/переименовать файл
$file->delete(); // Удалить файл

У некоторых методов есть статические варианты:

$path = Application::getDocumentRoot() . "/another_file.txt";
IO\File::isFileExists($path); // Проверить существование файла

IO\File::getFileContents($path); // Получить содержание файла
IO\File::putFileContents($path, "data"); // Записать содержимое в файл с заменой
IO\File::putFileContents($path, "data", self::APPEND); // Дописать содержимое в конец файла

IO\File::deleteFile($path); // Удалить файл


close

 public
\Bitrix\Main\IO\File::close(
);

Нестатический метод закрывает файл.

Без параметров

Исключения

  • \Bitrix\Main\IO\FileNotOpenedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteFile

resource public
\Bitrix\Main\IO\File::deleteFile(
 string $path
);

Статический метод удаляет файл.

Параметры

Параметр | Описание | Версия
$path | Полный путь к файлу. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFileContents

resource public
\Bitrix\Main\IO\File::getFileContents(
 string $path
);

Статический метод возвращает содержимое файла в виде одной строки.

Параметры

Параметр | Описание | Версия
$path | Полный путь к файлу |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSize

float|integer public
\Bitrix\Main\IO\File::getSize(
);

Нестатический метод возвращает размер файла.

Без параметров

Исключения

  • \Bitrix\Main\IO\FileNotFoundException
  • \Bitrix\Main\IO\FileOpenException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isFileExists

resource public
\Bitrix\Main\IO\File::isFileExists(
 string $path
);

Статический метод определяет существует ли файл.

Параметры

Параметр | Описание | Версия
$path | Полный путь к файлу |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


open

resource public
\Bitrix\Main\IO\File::open(
 string $mode
);

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

Параметры

Параметр | Описание | Версия
$mode |  |

Исключения

  • \Bitrix\Main\IO\FileOpenException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


putFileContents

resource public
\Bitrix\Main\IO\File::putFileContents(
 string $path,
 $data,
 $flags = self::REWRITE
);

Статический метод записывает данные в файл. Если флаг указан, то данные будут дописаны в конец. В противном случае файл будет перезаписан полностью. Если файла нет, то он будет создан. При создании не только создаёт сам файл, но и все директории на пути к нему.

Аналог метода в старом ядре: RewriteFile [image].

Параметры

Параметр | Описание | Версия
$path | Полный путь к файлу |
$data | Данные для записи |
$flags | флаг |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


seek

integer public
\Bitrix\Main\IO\File::seek(
 integer|float $position
);

Нестатический метод ищет указатель файла от начала (только SEEK_SET).

Параметры

Параметр | Описание | Версия
$position |  |

Исключения

  • \Bitrix\Main\IO\FileNotOpenedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор File

Сигнатура, описание и параметры

resource public
\Bitrix\Main\IO\File::__construct(
 string $path,
 $siteId = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия.

Параметры

Параметр | Описание | Версия
$path | Полный путь к файлу |
$siteId | Идентификатор сайта |

Примеры

Создаем экземпляр класса:

$file=new \Bitrix\Main\IO\File($path, $siteId = null);

Теперь с файлом, путь до которого был передан в конструктор класса можно сделать следующее:

Открыть файл. Параметром указывается тип доступа, который запрашивается у потока. Этот параметр аналогичен функции php fopen.

$file->open($mode)

Проверить его существование.

$file->isExists()

Записать данные в файл аналогично статическому методу putFileContents.

$file->putContents($data, $flags=self::REWRITE)

Получить размер файла.

$file->getSize()

Понять, доступен ли файл для записи.

$file->isWritable()

Понять, доступен ли файл для чтения.

$file->isReadable()

Прочесть файл и записать его в буфер вывода. Получить количество прочитанных из файла байт.

$file->readFile()

Получить дату создания файла.

$file->getCreationTime()

Получить время последнего доступа к файлу.

$file->getLastAccessTime()

Получить время последнего изменения файла.

$file->getModificationTime()

Установить на файл права на запись

$file->markWritable()

Узнать права доступа к файлу

$file->getPermissions()

Удалить файл.

$file->delete()

Получить тип контента файла.

$file->getContentType()


FileDeleteException

FileDeleteException - исключение при удалении файла

Метод | Описание | С версии
Конструктор | Метод создаёт новый объект исключения. |


Конструктор FileDeleteException

 public
\Bitrix\Main\IO\FileDeleteException::__construct(
   $path,
   \Exception $previous = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести какие-то действия, при создании объекта. В Конструктор передается только путь.

Параметры

Параметр | Описание | Версия
$path | Путь к файлу. |
$previous | Предыдущее исключение. Используется для построения цепочки исключений. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


FileNotFoundException

FileNotFoundException - исключение при отсутствии требуемого файла.

Метод | Описание | С версии
Конструктор | Метод создаёт новый объект исключения. |


Конструктор FileNotFoundException

 public
\Bitrix\Main\IO\FileNotFoundException::__construct(
  $path,
  \Exception $previous = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия. В Конструктор передается только путь.

Параметры

Параметр | Описание | Версия
$path | Путь к файлу. |
$previous | Предыдущее исключение. Используется для построения цепочки исключений. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


FileNotOpenedException

FileNotOpenedException - исключение при не открытии файла.

Метод | Описание | С версии
Конструктор | Метод создаёт новый объект исключения. |


Конструктор FileNotOpenedException

 public
\Bitrix\Main\IO\FileNotOpenedException::__construct(
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


FileOpenException

FileOpenException - исключение при открытии файла

Метод | Описание | С версии
Конструктор | Метод создаёт новый объект исключения. |


Конструктор FileOpenException

 public
\Bitrix\Main\IO\FileOpenException::__construct(
  $path,
  \Exception $previous = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия. В Конструктор передается только путь.

Параметры

Параметр | Описание | Версия
$path | Путь к файлу. |
$previous | Предыдущее исключение. Используется для построения цепочки исключений. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


InvalidPathException

InvalidPathException - Исключение не корректного пути к файлу.

Метод | Описание | С версии
Конструктор | Метод создаёт новый объект исключения. |


Конструктор InvalidPathException

 public
\Bitrix\Main\IO\InvalidPathException::__construct(
  $path,
  \Exception $previous = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия. В Конструктор передается только путь.

Параметры

Параметр | Описание | Версия
$path | Путь к файлу. |
$previous | Предыдущее исключение. Используется для построения цепочки исключений. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


IoException

IoException - базовый класс всех исключений файлового ввода-вывода.

Метод | Описание | С версии
getPath | Метод возвращает путь, который генерирует исключение. |
Конструктор | Метод создаёт новый объект исключения. |


getPath

string public
\Bitrix\Main\IO\IoException::getPath(
);

Нестатический метод возвращает путь, который генерирует исключение.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор IoException

 public
\Bitrix\Main\IO\IoException::__construct(
 string $message = "",
 string $path = "",
 \Exception $previous = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия. Принимает на вход только сообщение и путь. Код ошибки передается 120.

Параметры

Параметр | Описание | Версия
$message | Сообщение исключения |
$path | Путь, который сгенерировал исключение. |
$previous | Предыдущее исключение. Используется для построения цепочки исключений. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Path

Path - класс для работы с путями.

Метод | Описание | С версии
getDirectory | Метод принимает путь и возвращает путь без имени файла. |
getExtension | Метод принимает путь и возвращает расширение файла. |
getName | Метод принимает путь и возвращает имя файла, включая расширение. |
validate | Метод проверяет валиден ли путь. |
validateFilename | Метод проверяет правильно ли имя файла. |


getDirectory

resource public
\Bitrix\Main\IO\Path::getDirectory(
 string $path
);

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

Параметры

Параметр | Описание | Версия
$path | Путь к файлу |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getExtension

resource public
\Bitrix\Main\IO\Path::getExtension(
 string $path
);

Статический метод принимает путь и возвращает расширение файла.

Параметры

Параметр | Описание | Версия
$path | Путь к файлу |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getName

resource public
\Bitrix\Main\IO\Path::getName(
 string $path
);

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

Параметры

Параметр | Описание | Версия
$path | Путь к файлу |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validate

resource public
\Bitrix\Main\IO\Path::validate(
 string $path
);

Статический метод проверяет валиден ли путь.

Параметры

Параметр | Описание | Версия
$path | Путь к файлу |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateFilename

resource public
\Bitrix\Main\IO\Path::validateFilename(
 string $filename
);

Статический метод проверяет правильно ли имя файла.

Параметры

Параметр | Описание | Версия
$filename | Имя файла. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Loader

Loader - класс для загрузки необходимых файлов, классов и модулей. Это единственный класс, который включается непосредственно. Используется для подключения всех модулей, кроме main и fileman.

Аналог старого CModule [image].

Метод | Описание | С версии
autoLoad | Метод производит загрузку зарегистрированных для автозагрузки методов |
getDocumentRoot | Метод возвращает document root. | 14.0.0
getLocal | Метод проверяет существование файла в /local или /bitrix директориях. |
getPersonal | Метод проверяет существование файла в персональной директории. |
includeModule | Метод подключает модуль по его имени. |
includeSharewareModule | Метод подключает партнёрский модуль по его имени. | 14.0.2
registerAutoLoadClasses | Метод регистрирует классы для автозагрузки. |
registerNamespace | Метод регистрирует пространство имен. |

Примеры

// D7
use Bitrix\Main\Loader;
Loader::includeModule("iblock");
Loader::includeSharewareModule("eeeeee.tips");


autoLoad

 public static
\Bitrix\Main\Loader::autoLoad(
  $className
);

Статический метод производит загрузку зарегистрированных для автозагрузки методов из следующих файлов:

\Bitrix\Main\IO\File - файл /main/lib/io/file.php,
\Bitrix\IBlock\Type - файл /iblock/lib/type.php,
\Bitrix\IBlock\Section\Type - файл /iblock/lib/section/type.php,
\QSoft\Catalog\Tools\File - файл /qsoft.catalog/lib/tools/file.php.

Параметры

Параметр | Описание | Версия
$className | Имя класса для загрузки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDocumentRoot

string public static
\Bitrix\Main\Loader::getDocumentRoot(
);

Статический метод возвращает document root.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLocal

string|boolean public static
\Bitrix\Main\Loader::getLocal(
 string $path,
 string $root = null
);

Статический метод проверяет существование файла в /local или /bitrix директориях.

Параметры

Параметр | Описание | Версия
$path | Путь к файлу относительно /local/ или /bitrix/ |
$root | Document root сервера, по умолчанию: static::getDocumentRoot() |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPersonal

string|boolean public static
\Bitrix\Main\Loader::getPersonal(
 string $path
);

Статический метод проверяет существование файла в персональной директории.

Если $_SERVER["BX_PERSONAL_ROOT"] не установлена как персональная директория, то переменная равна /bitrix/.

Параметры

Параметр | Описание | Версия
$path | Путь к файлу относительно персональной директории. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


includeModule

boolean public static
\Bitrix\Main\Loader::includeModule(
 string $moduleName
);

Статический метод подключает модуль по его имени. Возвращает true если подключение успешно и false в обратном случае.

Аналог метода CModule::IncludeModule [image] в старом ядре.

Параметры

Параметр | Описание | Версия
$moduleName | Имя подключаемого модуля. |

Исключения

  • \Bitrix\Main\LoaderException

Примеры

Пример подключения модуля Веб-аналитика.

if (\Bitrix\Main\Loader::includeModule('statistic'))
{
...//ваш код
}


includeSharewareModule

integer public static
\Bitrix\Main\Loader::includeSharewareModule(
 string $moduleName
);

Статический метод подключает партнёрский модуль по его имени.

Модуль должен инициировать константу <module name>_DEMO = Y в файле include.php для определения деморежима. Файл include.php должен возвращать false для опредения истёкшего триал-периода.

Возвращает одну из следующих констант:
Loader::MODULE_NOT_FOUND,
Loader::MODULE_INSTALLED,
Loader::MODULE_DEMO,
Loader::MODULE_DEMO_EXPIRED.

Константы используются в силу того, что их легче подвергать обфускации.

Аналог метода CModule::IncludeModuleEx в старом ядре.

Параметры

Параметр | Описание | Версия
$moduleName | Имя подключаемого модуля. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


registerAutoLoadClasses

 public static
\Bitrix\Main\Loader::registerAutoLoadClasses(
 string $moduleName,
 array $arClasses
);

Статический метод регистрирует классы для автозагрузки.

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

Параметры

Параметр | Описание | Версия
$moduleName | Имя модуля. Может быть null если классы не являются часть какого-либо модуля. |
$arClasses | Массив классов с именами классов как ключами и пути как значения ключей. |

Исключения

  • \Bitrix\Main\LoaderException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


registerNamespace

public static
\Bitrix\Main\Loader::registerNamespace(
 string $namespace,
 string $path,
);

Статический метод регистрирует пространство имен.

Параметры

Параметр | Описание | Версия
$namespace | Пространство имен. |
$path | Путь к пространству имен. С версии 20.600.0 модуля main добавлена поддержка нескольких путей для одного namespace. |

Пример

Loader::registerNamespace(
    "Bitrix\\Main",
    Loader::getDocumentRoot()."/bitrix/modules/main/lib"
);


LoaderException

LoaderException - Исключение возникающее в загрузчике.

Метод | Описание | С версии
Конструктор | Метод создаёт новый объект исключений |


Конструктор LoaderException

 public
\Bitrix\Main\SystemException::__construct(
 string $message = "",
 integer $code,
 \Exception $previous = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия.

Параметры

Параметр | Описание | Версия
$message | Сообщение исключения |
$code | Код, вызвавший исключение |
$previous | Предыдущее исключение. Используется для построения цепочки исключений. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Localization

Localization - пространство имён для работы с языковыми файлами.

Класс | Описание | С версии
Loc | Финальный класс для работы с языковыми файлами. |


Loc

Loc - финальный класс для работы с языковыми файлами.

Аналоги класса в старом ядре: GetMessage [image], IncludeModuleLangFile [image], IncludeTemplateLangFile [image].

Метод | Описание | С версии
getDefaultLang | Метод возвращает язык-замену по умолчанию для других языков. |
getMessage | Метод возвращает по коду соответствующее сообщение на текущем языке. |
loadCustomMessages | Метод загружает изменённые фразы из файла для перезаписи сообщений по их ID. |
loadLanguageFile | Метод возвращает языковые сообщения для указанного файла. |
loadMessages | Метод загружает языковые сообщения для указанного файла. |

Примеры

Обращение к языковым файлам и переменным:

use Bitrix\Main\Localization\Loc;

Loc::loadMessages(__FILE__);
echo Loc::getMessage("EEEEEE_TIPS.TITLE");


getDefaultLang

string public static
\Bitrix\Main\Localization\Loc::getDefaultLang(
 string $lang
);

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

Параметры

Параметр | Описание | Версия
$lang | Сообщение на выбранном языке. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMessage

string public static
\Bitrix\Main\Localization\Loc::getMessage(
 string $code,
 array $replace = null,
 string $language = null
);

Статический метод возвращает по коду соответствующее сообщение на текущем языке. Массивы соответствий кодов и сообщений задаются в языковых файлах. Перед использованием этой функции необходимо подключить соответствующий языковой файл ( Loc::loadMessages(__FILE__)).

Аналог в старом ядре: GetMessage

Параметры

Параметр | Описание | Версия
$code | Код сообщения. Код должен быть уникальным в рамках всего продукта. |
$replace | Массив пар "шаблон" => "замена". Позволяет организовать замену по шаблону. Например, array("#NUM#"=>5). |
$language | ID языка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


loadCustomMessages

 public static
\Bitrix\Main\Localization\Loc::loadCustomMessages(
  $file,
 null $language = null
);

Статический метод загружает изменённые фразы из файла для перезаписи сообщений по их ID.

Параметры

Параметр | Описание | Версия
$file | Файл с фразами |
$language | ID языка | 15.5.6

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


loadLanguageFile

array public static
\Bitrix\Main\Localization\Loc::loadLanguageFile(
 string $file,
 string $language = null
);

Статический метод возвращает языковые сообщения для указанного файла.

Параметры

Параметр | Описание | Версия
$file | Файл |
$language | ID языка |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


loadMessages

Сигнатура, описание и параметры

 public static
\Bitrix\Main\Localization\Loc::loadMessages(
 string $file
);

Статический метод обозначает, для какого файла мы бы хотели в будущем загрузить языковые файлы. Поиск папки и подключение языкового файла будет происходить только при необходимости, когда вызовется Loc::getMessage (или функция GetMessage [image] старого ядра, которая вызовет Loc::getMessage). Этот механизм в Bitrix Framework называется ленивая загрузка.

Loc::getMessage будет искать первую папку /lang наверх по файловой структуре относительно переданного файла.

Аналог методов IncludeModuleLangFile [image] и IncludeTemplateLangFile [image] старого ядра.

Параметры

Параметр | Описание | Версия
$file | Файл. |

Примеры

Применение метода для файлов сайта вне модулей и шаблонов. Метод Loc::loadMessages практичнее, чем IncludeModuleLangFile и IncludeTemplateLangFile старого ядра. В старых функциях чётко указано, где искать папку с lang-файлами: в корне модуля или в корне шаблона. Loc::loadMessages можно использовать для других папок.

Пример структуры папок:

local
   php_interface
      askaron
         tools.php
      lang
         ru
            askaron
               tools.php
            init.php
            test.php
      init.php
      test.php

Возьмем любой файл. Например, init.php

Файл /local/php_interface/lang/ru/init.php.

<?
$MESS["HELLO_WORLD"] = "Привет мир";
?>

Файл /local/php_interface/init.php

<?
use Bitrix\Main\Localization\Loc;
Loc::loadMessages(__FILE__);

function getHelloWorld()
{
   return Loc::getMessage('HELLO_WORLD');
}
?>

Аналогично конструкция

use Bitrix\Main\Localization\Loc;
Loc::loadMessages(__FILE__);

будет работать в test.php и в askaron/tools.php.


Mail

Mail - описание пространства имён

Метод | Описание | С версии
Event | Класс почтовых событий. |
EventMessageThemeCompiler | Компилятор темы сообщения. |


Event

Event - класс почтовых событий.

Метод | Описание | С версии
send | Метод отсылает почтовое событие. |


send

\Bitrix\Main\Entity\AddResult public static
\Bitrix\Main\Mail\Event::send(
 array $data
);

Статический метод отсылает почтовое событие. Возвращает объект Main\Entity\AddResult.

Аналог метода CEvent::Send [image] старого ядра.

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

Параметры

Параметр | Описание | Версия
$data | Массив параметров события. |

Примеры

// D7
use Bitrix\Main\Mail\Event;
Event::send(array(
    "EVENT_NAME" => "NEW_USER",
    "LID" => "s1",
    "C_FIELDS" => array(
        "EMAIL" => "info@intervolga.ru",
        "USER_ID" => 42
    ),
));

Пример отправки файла во вложении:

$fileId = false;

if($_FILES['file'])

    $fileId = \CFile::SaveFile($_FILES['file'],"mailatt");

\Bitrix\Main\Mail\Event::sendImmediate(array( // or send

    "EVENT_NAME" => "VM_SERVICE_REQUEST",

    "LID" => "s2",

    "C_FIELDS" => array(

        "EMAIL" => $arCompany["PROPERTIES"]["EMAIL"]["VALUE"],

        "COMPANY_NAME" => $arCompany["NAME"],

        "MESSAGE" => $request->getPost("MESSAGE"),

        "USER_NAME" => $USER->GetFullName(),

        "USER_EMAIL" => $USER->GetEmail(),

    ),

    "FILE" => array($fileId), // нужно сохранять сначала, из документации к CEvent::send:
                              //Массив id файлов, которые используются классом CFile.
                              //Либо можно передать массив абсолютных путей до файлов.
));

if($fileId)

    CFile::Delete($fileId);

Для отправки конкретного почтового шаблона нужно передавать (int)MESSAGE_ID:

\Bitrix\Main\Mail\Event::send([
    "EVENT_NAME" => "LOCAL_CORE_FORM_ADD_FAQ",
    'MESSAGE_ID' => 64,
    "LID" => "s1",
    "C_FIELDS" => [
        'ID' => $arFields['ID'],
    ]
]);


EventMessageThemeCompiler

EventMessageThemeCompiler - компилятор темы сообщения.

Метод | Описание | С версии
createInstance | Метод создаёт экземпляр класса. |
execute | Метод выполняет пролог, тело и эпилог. |
getInstance | Метод возвращает текущий экземпляр класса. |
getLanguageId | Метод возвращает идентификатор языка. |
getResult | Метод возвращает результат типа строка, в которой результат замены шаблона значениями. |
getSiteId | Метод возвращает идентификатор сайта. |
getSiteTemplateId | Метод возвращает идентификатор шаблона сайта. |
getStyles | Метод возвращает список стилей для добавления в шаблон. |
getStylesString | Метод возвращает стили в виде строки для добавления в шаблон |
getThemeEpilog | Метод возвращает эпилог темы. |
getThemeProlog | Метод возвращает пролог темы |
includeComponent | Метод подключает почтовый компонент. | 16.0.2
includeThemeLang | Метод подключает языковые файлы из каталога темы. |
setLanguageId | Метод устанавливает идентификатор языка сайта. |
setParams | Метод устанавливает параметры, которые будут использоваться для замены плейсхолдеров. |
setSiteId | Метод устанавливает ID сайта. |
setSiteTemplateId | Метод устанавливает ID шаблона сайта. |
setStyle | Метод устанавливает стиль. |
setStyleArray | Метод устанавливает список стилей. |
setThemeEpilog | Метод устанавливает эпилог темы. |
setThemeProlog | Метод устанавливает пролог темы. |
showStyles | Метод отображает стили которые будут использованы в почтовом шаблоне. |
unsetInstance | Метод сбрасывает текущий экземпляр класса. |
Конструктор | Конструктор |


createInstance

\Bitrix\Main\Mail\EventMessageThemeCompiler public static
\Bitrix\Main\Mail\EventMessageThemeCompiler::createInstance(
 string|null $siteTemplateId = null,
 string $body,
 boolean $isHtml = true
);

Статический метод создаёт экземпляр класса.

Параметры

Параметр | Описание | Версия
$siteTemplateId | Идентификатор шаблона сайта |
$body | Тело |
$isHtml | В виде HTML. По умолчанию true. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


execute

 public
\Bitrix\Main\Mail\EventMessageThemeCompiler::execute(

);

Нестатический метод выполняет пролог, тело и эпилог.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getInstance

\Bitrix\Main\Mail\EventMessageThemeCompiler public static
\Bitrix\Main\Mail\EventMessageThemeCompiler::getInstance(
);

Статический метод возвращает текущий экземпляр класса.

Без параметров

Исключения

  • \Bitrix\Main\ObjectNotFoundException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLanguageId

mixed public
\Bitrix\Main\Mail\EventMessageThemeCompiler::getLanguageId(
);

Нестатический метод возвращает идентификатор языка.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getResult

string public
\Bitrix\Main\Mail\EventMessageThemeCompiler::getResult(
);

Нестатический метод возвращает результат типа строка, в которой результат замены шаблона значениями. Шаблон - это почтовый шаблон и тема оформления.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSiteId

string public
\Bitrix\Main\Mail\EventMessageThemeCompiler::getSiteId(
);

Нестатический метод возвращает идентификатор сайта.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSiteTemplateId

mixed public
\Bitrix\Main\Mail\EventMessageThemeCompiler::getSiteTemplateId(
);

Нестатический метод возвращает идентификатор шаблона сайта.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getStyles

array public
\Bitrix\Main\Mail\EventMessageThemeCompiler::getStyles(
);

Нестатический метод возвращает список стилей для добавления в шаблон.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getStylesString

string public
\Bitrix\Main\Mail\EventMessageThemeCompiler::getStylesString(
);

Нестатический метод возвращает стили в виде строки для добавления в шаблон.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getThemeEpilog

mixed public
\Bitrix\Main\Mail\EventMessageThemeCompiler::getThemeEpilog(
);

Нестатический метод возвращает эпилог темы.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getThemeProlog

mixed public
\Bitrix\Main\Mail\EventMessageThemeCompiler::getThemeProlog(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


includeComponent

mixed public static
\Bitrix\Main\Mail\EventMessageThemeCompiler::includeComponent(
 $componentName,
 $componentTemplate,
 $arParams = array(),
 $parentComponent = null,
 $arFunctionParams = array()
);

Статический метод подключает почтовый компонент.

Параметры

Параметр | Описание | Версия
$componentName | Название компонента. |
$componentTemplate | Шаблон компонента. |
$arParams | Массив параметров. |
$parentComponent | Родительский компонент. |
$arFunctionParams | . |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


includeThemeLang

void public
\Bitrix\Main\Mail\EventMessageThemeCompiler::includeThemeLang(
 string $relativePath = ""
);

Нестатический метод подключает языковые файлы из каталога темы.

Например: $this->includeThemeLang("header.php") подключит файл lang/en/header.php.

Примечание: тема должна быть инициирована методом \Bitrix\Main\Mail\EventMessageThemeCompiler::setTheme.

Параметры

Параметр | Описание | Версия
$relativePath | Относительный путь к файлу |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setLanguageId

 public
\Bitrix\Main\Mail\EventMessageThemeCompiler::setLanguageId(
 mixed $languageId
);

Нестатический метод устанавливает идентификатор языка сайта.

Параметры

Параметр | Описание | Версия
$languageId | Идентификатор языка |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setParams

 public
\Bitrix\Main\Mail\EventMessageThemeCompiler::setParams(
 array $params
);

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

Параметры

Параметр | Описание | Версия
$params |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setSiteId

void public
\Bitrix\Main\Mail\EventMessageThemeCompiler::setSiteId(
 mixed $siteId
);

Нестатический метод устанавливает ID сайта.

Параметры

Параметр | Описание | Версия
$siteId | Идентификатор сайта |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setSiteTemplateId

 public
\Bitrix\Main\Mail\EventMessageThemeCompiler::setSiteTemplateId(
 mixed $siteTemplateId
);

Нестатический метод устанавливает ID шаблона сайта.

Параметры

Параметр | Описание | Версия
$siteTemplateId | Идентификатор шаблона сайта |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setStyle

void public
\Bitrix\Main\Mail\EventMessageThemeCompiler::setStyle(
 array $arPaths,
 boolean $sort = false
);

Нестатический метод устанавливает стиль.

Параметры

Параметр | Описание | Версия
$arPaths | Массив путей |
$sort | Сортировка |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setStyleArray

void public
\Bitrix\Main\Mail\EventMessageThemeCompiler::setStyleArray(
 array $arPaths,
 boolean $sort = false
);

Нестатический метод устанавливает список стилей.

Параметры

Параметр | Описание | Версия
$arPaths | Массив путей к файлам стилей |
$sort | Сортировка |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setThemeEpilog

 public
\Bitrix\Main\Mail\EventMessageThemeCompiler::setThemeEpilog(
 mixed $themeEpilog
);

Нестатический метод устанавливает эпилог темы.

Параметры

Параметр | Описание | Версия
$themeEpilog |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setThemeProlog

 public
\Bitrix\Main\Mail\EventMessageThemeCompiler::setThemeProlog(
 mixed $themeProlog
);

Нестатический метод устанавливает пролог темы.

Параметры

Параметр | Описание | Версия
$themeProlog |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


showStyles

string public
\Bitrix\Main\Mail\EventMessageThemeCompiler::showStyles(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unsetInstance

void public static
\Bitrix\Main\Mail\EventMessageThemeCompiler::unsetInstance(
);

Статический метод сбрасывает текущий экземпляр класса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор EventMessageThemeCompiler

\Bitrix\Main\Mail\EventMessageThemeCompiler public
\Bitrix\Main\Mail\EventMessageThemeCompiler::__construct(
 string|null $siteTemplateId = null,
 string $body,
 boolean $isHtml = true
);

Нестатический метод - конструктор.

Параметры

Параметр | Описание | Версия
$siteTemplateId |  |
$body |  |
$isHtml |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


NotImplementedException

NotImplementedException - вызывается, если функционал должен поддерживаться, но пока не реализован. Расширение класса \Main\SystemException.

Метод | Описание | С версии
Конструктор | Метод создаёт новый объект исключения. |

См. также

  • Исключения [image] в курсе Разработчик Bitrix Framework


Конструктор NotImplementedException

 public
\Bitrix\Main\NotImplementedException::__construct(
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия. Устанавливает код ошибки 140.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


NotSupportedException

NotSupportedException - вызывается, если функционал не поддерживается в принципе. Расширение класса \Main\SystemException.

Метод | Описание | С версии
Конструктор | Метод создаёт новый объект исключения. |
  • Исключения [image] в курсе Разработчик Bitrix Framework


Конструктор NotSupportedException

 public
\Bitrix\Main\NotSupportedException::__construct(
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия. Конструктор принимает только сообщение и устанавливает код ошибки 150.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ObjectException

ObjectException - исключение выводится, если объект не может быть создан. Расширение класса \Main\SystemException.

Метод | Описание | С версии
Конструктор | Метод создаёт новый объект исключения. |
  • Исключения [image] в курсе Разработчик Bitrix Framework


Конструктор ObjectException

 public
\Bitrix\Main\ObjectException::__construct(
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ObjectNotFoundException

ObjectNotFoundException - выводит исключение когда объект не существует. Расширение класса \Main\SystemException.

Метод | Описание | С версии
Конструктор | Метод создаёт новый объект исключения. |
  • Исключения [image] в курсе Разработчик Bitrix Framework


Конструктор ObjectNotFoundException

 public
\Bitrix\Main\ObjectNotFoundException::__construct(
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ObjectPropertyException

ObjectPropertyException - исключение выводится когда свойства объекта не валидны. Расширение класса \Main\ArgumentException.

Метод | Описание | С версии
Конструктор | Метод создаёт новый объект исключения. |
  • Исключения [image] в курсе Разработчик Bitrix Framework


Конструктор ObjectPropertyException

 public
\Bitrix\Main\ObjectPropertyException::__construct(
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия./p>

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Page

Page - пространство имён для классов, работающих со страницей продукта.

Класс | Описание | С версии
Frame | Класс записывает все содержимое страницы в кеш, предварительно вырезав из нее контент динамических областей. | 14.0.1
Asset | Класс отвечает за подключение стилей и скриптов. | 14.9.4
FrameBuffered | Класс для создания буферизированных динамических областей. | 14.9.4
FrameLocker | Класс для блокирования буферизированных динамических областей. | 16.0.12


Asset

Asset - класс отвечает за подключение стилей и скриптов. Он реализует паттерн Singletone [image] и обратиться к объекту можно через Bitrix\Main\Page\Asset::getInstance.

Используется вместо методов старого ядра: CMain::AddHeadScript [image], CMain::SetAdditionalCss [image], CMain::AddHeadString [image].

Обращается к пространству имён:

  • \Main;
  • \Main\IO;
  • \Main\Config\Option;
  • Bitrix\Main\Text\BinaryString.
Метод | Описание | С версии
addString | Метод добавляет строку в секцию <head>…</head> сайта. |
addCss | Метод добавляет css в секцию <head>…</head> сайта. |
addJs | Метод добавляет js в секцию <head>…</head> сайта. |

Примеры

// D7
use Bitrix\Main\Page\Asset;

Asset::getInstance()->addJs(SITE_TEMPLATE_PATH . "/js/fix.js");
Asset::getInstance()->addCss(SITE_TEMPLATE_PATH . "/styles/fix.css");
Asset::getInstance()->addString("<link href='http://fonts.googleapis.com/css?family=PT+Sans:400&subset=cyrillic' rel='stylesheet' type='text/css'>");


addCss

boolean public
\Bitrix\Main\Page\Asset::addCss(
  $path,
 boolean $additional = false
);

Нестатический метод добавляет css в секцию <head>…</head> сайта.

Аналог метода CMain::SetAdditionalCSS [image] в старом ядре.

Параметры

Параметр | Описание | Версия
$path | Путь относительно корня к файлу с CSS стилями. |
$additional | Необязательный. По умолчанию "false". Добавление файлов стилей или js в конец списка ресурсов шаблона. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addJs

boolean public
\Bitrix\Main\Page\Asset::addJs(
  $path,
 boolean $additional = false
);

Нестатический метод добавляет js в секцию <head>…</head> сайта.

Аналог CMain::AddHeadScript [image] в старом ядре.

Параметры

Параметр | Описание | Версия
$path | Путь к JS файлу |
$additional | По умолчанию false, то есть скрипты подключаются после подключения скриптов ядра и шаблона сайта. Если true скрипты, подключаемые данным методом, будут добавляться в конец текущего таргета вывода скриптов. Т.е. если относятся к ядру то после всего ядра, если к шаблону, то после шаблона сайта и смогут на него повлиять. |

Примеры

use Bitrix\Main\Page\Asset;

Asset::getInstance()->addJs(SITE_TEMPLATE_PATH . "/js/fix.js");


addString

boolean public
\Bitrix\Main\Page\Asset::addString(
  $str,
 boolean $unique = false,
 string $location = \Bitrix\Main\Page\AssetLocation::AFTER_JS_KERNEL,
 null $mode = null
);

Нестатический метод добавляет строку в секцию <head>…</head> сайта.

Аналог метода CMain::AddHeadString [image] в старом ядре.

Параметры

Параметр | Описание | Версия
$str | Строка, которая будет добавлена |
$unique |  |
$location |  |
$mode |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Frame

Frame - класс записывает все содержимое страницы в кеш, предварительно вырезав из нее контент динамических областей. Также внедряет Javascript-код, который будет делать композитный аяксовый запрос.

Обращается к пространству имён:

  • \Main\Data\AppCacheManifest;
  • \Main\Context;
  • \Main\Config\Option;
  • \Main\Data\StaticHtmlCache;

Класс загружает языковые фразы для текущего скрипта: \Bitrix\Main\Localization\Loc::loadMessages(__FILE__).

Метод | Описание | С версии
getUseAppCache | Метод получает параметры включения AppCache. |
getUseHTMLCache | Метод получает параметры включения HTMLCache. | 14.0.10
getInstance | Метод возвращает собственный экземпляр метода. |
isAjaxRequest | Метод возвращает true если текущий запрос инициализирован Ajax. | 14.0.10
isEnabled | Метод получает параметры включения композитного режима. | 14.5.1
setEnable | Метод устанавливает значения свойств isEnabled и добавляет необходимые обработчики |
setUseAppCache | Метод устанавливает свойства используемого AppCache. |
setUseHTMLCache | Метод устанавливает свойства используемого HTML кеша. | 14.0.10
getAutoUpdate | Метод получает параметры автообновления кеша. | 16.0.12
getAutoUpdateTTL | Метод получает TTL автообновления кеша. | 16.0.12
isBannerEnabled | Метод возвращает true если баннер должен быть добавлен на страницу. | 16.0.14
setAutoUpdate | Метод устанавливает параметры автообновления кеша. | 16.0.12
setAutoUpdateTTL | Метод устанавливает TTL автообновления кеша | 16.0.12


getAutoUpdate

boolean public static
\Bitrix\Main\Page\Frame::getAutoUpdate(
);

Статический метод получает параметры автообновления кеша.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAutoUpdateTTL

integer public static
\Bitrix\Main\Page\Frame::getAutoUpdateTTL(
);

Статический метод получает TTL автообновления кеша.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getInstance

\Bitrix\Main\Page\Frame public static
\Bitrix\Main\Page\Frame::getInstance(
);

Статический метод возвращает экземпляр метода.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUseAppCache

boolean public static
\Bitrix\Main\Page\Frame::getUseAppCache(
);

Статический метод получает параметры включения AppCache.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUseHTMLCache

boolean public static
\Bitrix\Main\Page\Frame::getUseHTMLCache(
);

Статический метод получает параметры включения HTMLCache.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isAjaxRequest

boolean public static
\Bitrix\Main\Page\Frame::isAjaxRequest(
);

Статический метод возвращает true если текущий запрос инициализирован Ajax.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isBannerEnabled

boolean public static
\Bitrix\Main\Page\Frame::isBannerEnabled(
);

Статический метод возвращает true если баннер должен быть добавлен на страницу.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isEnabled

boolean public static
\Bitrix\Main\Page\Frame::isEnabled(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setAutoUpdate

void public static
\Bitrix\Main\Page\Frame::setAutoUpdate(
 boolean $flag
);

Статический метод устанавливает параметры автообновления кеша.

Параметры

Параметр | Описание | Версия
$flag |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setAutoUpdateTTL

void public static
\Bitrix\Main\Page\Frame::setAutoUpdateTTL(
 integer $ttl
);

Статический метод устанавливает TTL автообновления кеша

Параметры

Параметр | Описание | Версия
$ttl | Число секунд |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setEnable

void public static
\Bitrix\Main\Page\Frame::setEnable(
 boolean $isEnabled = true
);

Статический метод устанавливает значения свойств isEnabled и добавляет необходимые обработчики. Метод включает или выключает композитный режим для страницы в зависимости от флажка в аргументе.

Параметры

Параметр | Описание | Версия
$isEnabled | Флаг управления режимом. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setUseAppCache

void public
\Bitrix\Main\Page\Frame::setUseAppCache(
 boolean $useAppCache = true
);

Нестатический метод устанавливает свойства используемого AppCache.

Параметры

Параметр | Описание | Версия
$useAppCache | Флаг включения режима AppCache. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setUseHTMLCache

void public static
\Bitrix\Main\Page\Frame::setUseHTMLCache(
 boolean $useHTMLCache = true
);

Статический метод устанавливает свойства используемого HTML кеша.

Параметры

Параметр | Описание | Версия
$useHTMLCache | Флаг режима Композита. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


FrameBuffered

FrameBuffered - класс для создания буферизированных динамических областей.

Метод | Описание | С версии
isStarted | Метод возвращает true если динамическая область была запущена. |
isEnded | Метод возвращает true если динамическая область была завершена. |
end | Метод завершает динамическую часть контента. |
beginStub | Метод запускает статическую часть динамической зоны, которая будет показана пользователю |
begin | Метод запускает создание динамической зоны. |


begin

\Bitrix\Main\Page\FrameHelper public
\Bitrix\Main\Page\FrameBuffered::begin(
 null|string $stub = null
);

Нестатический метод запускает создание динамической зоны. Возвращает собственный экземпляр объекта.

Параметры

Параметр | Описание | Версия
$stub |  |

Исключения

  • \Main\NotSupportedException

См. также

  • \Bitrix\Main\Page\FrameHelper
  • \Bitrix\Main\Page\FrameHelper::end

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


beginStub

\Bitrix\Main\Page\FrameHelper public
\Bitrix\Main\Page\FrameBuffered::beginStub(
);

Нестатический метод запускает статическую часть динамической зоны, которая будет показана пользователю. Метод begin должен быть вызван перед использованием данного метода. Возвращает собственный экземпляр объекта.

Без параметров

Исключения

  • \Main\NotSupportedException

См. также

  • \Bitrix\Main\Page\FrameHelper
  • \Bitrix\Main\Page\FrameHelper::begin

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


end

\Bitrix\Main\Page\FrameHelper public
\Bitrix\Main\Page\FrameBuffered::end(
);

Нестатический метод завершает динамическую часть контента. Возвращает собственный экземпляр объекта.

Перед вызовом данного метода должен быть вызван метод begin.

Без параметров

Исключения

  • \Main\NotSupportedException

См. также

  • \Bitrix\Main\Page\FrameHelper
  • \Bitrix\Main\Page\FrameHelper::begin

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isEnded

boolean public
\Bitrix\Main\Page\FrameBuffered::isEnded(
);

Нестатический метод возвращает true если динамическая область была завершена.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isStarted

boolean public
\Bitrix\Main\Page\FrameBuffered::isStarted(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


FrameLocker

FrameLocker - класс для блокирования буферизированных динамических областей.

Метод | Описание | С версии
lock | Метод блокирует область. |
unlock | Метод снимает блокировку области |


lock

boolean public static
\Bitrix\Main\Page\FrameLocker::lock(
 string $id
);

Статический метод блокирует область по имени указанному в строке $id.
Поддерживает только Mysql.

Параметры

Параметр | Описание | Версия
$id | Имя блокировки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unlock

boolean public static
\Bitrix\Main\Page\FrameLocker::unlock(
 string $id
);

Статический метод снимает блокировку области с именем, указанным в $id.
Поддерживается только для Mysql.

Параметры

Параметр | Описание | Версия
$id | Имя блокировки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Replica

Replica - пространство имён для классов репликации главного модуля.

Класс | Описание | С версии
Bind | Класс для привязки модуля к логической репликации |
UrlMetadataHandler | Класс для логической репликации |


Bind

Bind - Класс для привязки модуля к логической репликации

Метод | Описание | С версии
start | Метод инициализирует процесс репликации на стороне главного модуля. |


start

void public
\Bitrix\Main\Replica\Bind::start(
);

Нестатический метод инициализирует процесс репликации на стороне главного модуля.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


UrlMetadataHandler

UrlMetadataHandler - Класс для логической репликации b_urlpreview_metadata. Расширение класса \Bitrix\Replica\Client\BaseHandler.

Метод | Описание | С версии
beforeLogInsert | Метод вызывается перед записью в лог. |


beforeLogInsert

boolean public
\Bitrix\Main\Replica\UrlMetadataHandler::beforeLogInsert(
 array $record
);

Нестатический метод вызывается перед записью в лог. Если вернётся false то записи в лог не произошло.

Параметры

Параметр | Описание | Версия
$record | Запись в БД. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Request

Описание и методы

Request - абстрактный класс. Объект запроса позволяет получить данные о текущем запросе: метод и протокол, запрошенный URL, переданные параметры и т.п. Расширение класса \Bitrix\Main\Type\ParameterDictionary.

Обращается к пространству имён:

  • \Main\Type;
  • \Main\IO
  • \Main\Text;
Метод | Описание | С версии
isAjaxRequest | Метод возвращает true если текущий запрос - AJAX. | 15.5.0

Примеры

$request = $context->getRequest();
// Или более краткая форма:
$request = Context::getCurrent()->getRequest();

Параметры запроса:

$value = $request->get("param");       // получение параметра GET или POST
$value = $request["param"];            // получение параметра GET или POST
$value = $request->getQuery("param");  // получение GET-параметра
$values = $request->getQueryList();    // получение списка GET-параметров
$value = $request->getPost("param");   // получение POST-параметра
$values = $request->getPostList();     // получение списка POST-параметров
$value = $request->getFile("param");   // получение загруженного файла
$values = $request->getFileList();     // получение списка загруженных файлов
$value = $request->getCookie("param"); // получение значения кука
$values = $request->getCookieList();   // получение списка кукисов

Данные о запросе:

$method = $request->getRequestMethod(); // получение метода запроса
$flag = $request->isGet();              // true - GET-запрос, иначе false
$flag = $request->isPost();             // true - POST-запрос, иначе false
$flag = $request->isAjaxRequest();      // true - AJAX-запрос, иначе false
$flag = $request->isHttps();            // true - HTTPS-запрос, иначе false

Данные о запрошенной странице:

$flag = $request->isAdminSection();            // true - находимся в админке, иначе false
$requestUri = $request->getRequestUri();       // Запрошенный адрес (напр. "/catalog/category/?param=value")
$requestPage = $request->getRequestedPage();   // Запрошенная страница (напр. "/catalog/category/index.php")
$rDir  = $request->getRequestedPageDirectory();// Директория запрошенной страницы (напр. "/catalog/category")


isAjaxRequest

boolean public
\Bitrix\Main\Request::isAjaxRequest(
);

Нестатический метод возвращает true если текущий запрос - AJAX.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Result

Result - класс результата выполнения запроса.

Метод | Описание | С версии
setData | Метод устанавливает данные результата. |
isSuccess | Метод возвращает статус результата. |
getErrors | Метод возвращает массив объектов \Main\Error. |
getErrorMessages | Метод возвращает массив строк с сообщениями об ошибках. |
getErrorCollection | Метод возвращает коллекцию ошибок. | 15.5.9
getData | Метод возвращает массив данных, записанных в результат. | 14.0.6
addErrors | Метод добавляет массив объектов ошибок. |
addError | Метод добавляет ошибку. |


addError

 public
\Bitrix\Main\Result::addError(
 \Bitrix\Main\Error $error
);

Нестатический метод добавляет ошибку.

Параметры

Параметр | Описание | Версия
$error |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addErrors

 public
\Bitrix\Main\Result::addErrors(
 array $errors
);

Нестатический метод добавляет массив объектов ошибок.

Параметры

Параметр | Описание | Версия
$errors |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getData

array public
\Bitrix\Main\Result::getData(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrorCollection

\Bitrix\Main\ErrorCollection public
\Bitrix\Main\Result::getErrorCollection(
);

Нестатический метод возвращает коллекцию ошибок.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrorMessages

array public
\Bitrix\Main\Result::getErrorMessages(
);

Нестатический метод возвращает массив строк с сообщениями об ошибках.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrors

array public
\Bitrix\Main\Result::getErrors(
);

Нестатический метод возвращает массив объектов \Main\Error.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isSuccess

boolean public
\Bitrix\Main\Result::isSuccess(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setData

 public
\Bitrix\Main\Result::setData(
 array $data
);

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

Параметры

Параметр | Описание | Версия
$data |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Security

Security - пространство имён для классов, отвечающих за безопасность.

Класс | Описание | С версии
Security | исключения при ошибке безопасности | 12.0.7
Random | генератор случайных чисел | 15.0.11
\Sign\BadSignatureException | Исключения ошибок подписи | 14.0.7
\Sign\HmacAlgorithm | Алгоритм HMAC. | 14.0.7
\Sign\Signer | Класс подписи. | 14.0.7
\Sign\SigningAlgorithm | Алгоритм подписи. | 14.0.7
\Sign\TimeSigner | Подпись с истечением времени. | 14.0.7


Random

Random - генератор случайных чисел

Обращается к пространству имён:

  • \Main\Text\BinaryString
Метод | Описание | С версии
getStringByCharsets | Метод возвращает случайную строку для данного листа кодировок. |
getStringByAlphabet | Метод возвращает случайную (если возможно) строку в ASCII для заданной алфавитной маски. |
getString | Метод возвращает случайную, если возможно, буквенно-цифровую строку. |
getInt | Метод возвращает случайное целое число из указанного диапазона. |
getBytes | Метод возвращает случайную (если возможно) байтовую строку. |


getBytes

string public static
\Bitrix\Main\Security\Random::getBytes(
 integer $length
);

Статический метод возвращает случайную (если возможно) байтовую строку.

Параметры

Параметр | Описание | Версия
$length | Длина результирующей байтовой строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getInt

integer public static
\Bitrix\Main\Security\Random::getInt(
 integer $min,
 integer $max = \PHP_INT_MAX
);

Статический метод возвращает случайное целое число из указанного диапазона.

Параметры

Параметр | Описание | Версия
$min | Нижняя границ диапазона. |
$max | Верхняя граница диапазона. |

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getString

string public static
\Bitrix\Main\Security\Random::getString(
 integer $length,
 boolean $caseSensitive = false
);

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

Параметры

Параметр | Описание | Версия
$length | Длина строки результата. |
$caseSensitive | Сформировать чувствительную к регистру случайную строку (например SoMeRandom1). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getStringByAlphabet

string public static
\Bitrix\Main\Security\Random::getStringByAlphabet(
 integer $length,
 integer $alphabet
);

Статический метод возвращает случайную (если возможно) строку в ASCII для заданной алфавитной маски.

Параметры

Параметр | Описание | Версия
$length | Длина строки результата. |
$alphabet | Алфавитные маски (например: Random::ALPHABET_NUM | Random::ALPHABET_ALPHALOWER). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getStringByCharsets

string public static
\Bitrix\Main\Security\Random::getStringByCharsets(
 integer $length,
 string $charsetList
);

Статический метод возвращает случайную (если возможно) строку для данного листа кодировок.

Параметры

Параметр | Описание | Версия
$length | Длина строки результата. |
$charsetList | Лист кодировок, должен быть в ASCII. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SecurityException

SecurityException - исключения при ошибке безопасности.

Метод | Описание | С версии
Конструктор | Метод создаёт новый объект исключения |


Конструктор SecurityException

 public
\Bitrix\Main\Security\SecurityException::__construct(
 string $message = "",
 string $code = 0,
 \Exception $previous = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия. Его сообщение принимает на вход только сообщение и код.

Параметры

Параметр | Описание | Версия
$message | Сообщение исключения |
$code | Код, который сгенерировал исключение. |
$previous |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Sign

Sign - пространство имён для классов, работающих с подписями.

Класс | Описание | С версии
BadSignatureException | Исключения ошибок подписи | 14.0.7
HmacAlgorithm | Алгоритм HMAC. | 14.0.7
Signer | Класс подписи. | 14.0.7
SigningAlgorithm | Алгоритм подписи. | 14.0.7
TimeSigner | Подпись с истечением времени. | 14.0.7


BadSignatureException

BadSignatureException - исключения ошибок подписи.

Метод | Описание | С версии
Конструктор | Метод создаёт новый объект исключения для целей подписания |


Конструктор BadSignatureException

 public
\Bitrix\Main\Security\Sign\BadSignatureException::__construct(
 string $message = "",
 \Exception $previous = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия.

Параметры

Параметр | Описание | Версия
$message | Сообщение. |
$previous | Предыдущее исключение. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


HmacAlgorithm

HmacAlgorithm - алгоритм HMAC.

Обращается к пространству имён:

  • \Main\ArgumentOutOfRangeException;
  • \Main\ArgumentTypeException
Метод | Описание | С версии
Конструктор | Метод создаёт алгоритм подписи на основе HMAC. |
verify | Метод верифицирует подпись сообщения. | 14.5.2
setHashAlgorithm | Метод устанавливает алгоритм хеширования для использования в HMAC |
getSignature | Метод возвращает подпись сообщения. |
getHashAlgorithm | Метод возвращает текущий используемый алгоритм хеширования. |


getHashAlgorithm

string public
\Bitrix\Main\Security\Sign\HmacAlgorithm::getHashAlgorithm(
);

Нестатический метод возвращает текущий используемый алгоритм хеширования.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSignature

string public
\Bitrix\Main\Security\Sign\HmacAlgorithm::getSignature(
 string $value,
 string $key
);

Нестатический метод возвращает подпись сообщения.

Параметры

Параметр | Описание | Версия
$value | Сообщение |
$key | Секретный пароль для HMAC. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setHashAlgorithm

\Bitrix\Main\Security\Sign\HmacAlgorithm public
\Bitrix\Main\Security\Sign\HmacAlgorithm::setHashAlgorithm(
 string $hashAlgorithm
);

Нестатический метод устанавливает алгоритм хеширования для использования в HMAC

Параметры

Параметр | Описание | Версия
$hashAlgorithm | Алгоритм хеширования. Смотри зарегистрированные алгоритмы в hash_algos() [image] . |

Исключения

  • \Main\ArgumentOutOfRangeException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


verify

boolean public
\Bitrix\Main\Security\Sign\HmacAlgorithm::verify(
 string $value,
 string $key,
 string $sig
);

Нестатический метод верифицирует подпись сообщения.

Параметры

Параметр | Описание | Версия
$value | Сообщение |
$key | Секретный пароль используемый для подписи. |
$sig | Пароль подписи сообщения для HMAC. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор HmacAlgorithm

 public
\Bitrix\Main\Security\Sign\HmacAlgorithm::__construct(
 string|null $hashAlgorithm = null
);

Нестатический метод создаёт алгоритм подписи на основе HMAC [image].

Параметры

Параметр | Описание | Версия
$hashAlgorithm | Алгоритм хэширования. Сморти зарегистрированные алгоритмы в hash_algos() [image] . |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Signer

Signer - класс подписи.

Обращается к пространству имён:

  • \Main\ArgumentTypeException;
  • \Main\Config\Option;
Метод | Описание | С версии
Конструктор | Метод создаёт новый объект класса. |
validate | Метод выполняет простую валидацию подписи сообщения. |
unsign | Метод проверяет подпись и возвращает оригинальное сообщение. |
unpack | Метод распаковывает значения из строки |
sign | Метод подписывает сообщение |
setSeparator | Метод устанавливает сепаратор для упаковки/распаковки |
setKey | Метод устанавливает ключ для подписи. |
pack | Метод упаковывает массив значений в простую строку |
getSignature | Метод возвращает подпись сообщения. |
getSeparator | Метод возвращает сепаратор, используемый для упаковки/распаковки. |


getSeparator

string public
\Bitrix\Main\Security\Sign\Signer::getSeparator(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSignature

string public
\Bitrix\Main\Security\Sign\Signer::getSignature(
 string $value,
 string|null $salt = null
);

Нестатический метод возвращает подпись сообщения.

Параметры

Параметр | Описание | Версия
$value | Сообщение |
$salt | Соль |

Исключения

  • \Main\ArgumentTypeException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


pack

string public
\Bitrix\Main\Security\Sign\Signer::pack(
 array $values
);

Нестатический метод упаковывает массив значений в простую строку вида: pack(['test', 'all', 'values']) -> 'test.all.values'

Параметры

Параметр | Описание | Версия
$values | Значения для упаковки |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setKey

\Bitrix\Main\Security\Sign\Signer public
\Bitrix\Main\Security\Sign\Signer::setKey(
 string $value
);

Нестатический метод устанавливает ключ для подписи.

Параметры

Параметр | Описание | Версия
$value | Ключ. |

Исключения

  • \Main\ArgumentTypeException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setSeparator

\Bitrix\Main\Security\Sign\Signer public
\Bitrix\Main\Security\Sign\Signer::setSeparator(
 string $value
);

Нестатический метод устанавливает сепаратор для упаковки/распаковки.

Параметры

Параметр | Описание | Версия
$value | Сепаратор |

Исключения

  • \Main\ArgumentTypeException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


sign

string public
\Bitrix\Main\Security\Sign\Signer::sign(
 string $value,
 string|null $salt = null
);

Нестатический метод подписывает сообщение, возвращает строку в формате: "{message}{separator}{signature}".

Параметры

Параметр | Описание | Версия
$value | Message for signing. |
$salt | Salt, if needed. |

Исключения

  • \Main\ArgumentTypeException

Примеры

 // If salt needed
 $foo = (new Signer)->sign('test', 'my_salt');

 // Otherwise
 $bar = (new Signer)->sign('test');


unpack

array public
\Bitrix\Main\Security\Sign\Signer::unpack(
 string $value,
 integer $limit = 2
);

Нестатический метод распаковывает значения из строки (подобно rsplit).

Параметры

Параметр | Описание | Версия
$value | Строка для распаковки. |
$limit | Если $limit === 0 - распаковывает все значения, по умолчанию - 2. |

Исключения

  • \Main\Security\Sign\BadSignatureException

Примеры

Примеры для разделителя ".":

 // Unpack all values:
 unpack('test.all.values', 0) -> ['test', 'all', 'values']

 // Unpack 2 values (by default). First element containing the rest of string.
 unpack('test.all.values') -> ['test.all', 'values']

 // Exception if separator is missing
 unpack('test.all values', 3) -> throws BadSignatureException


unsign

string public
\Bitrix\Main\Security\Sign\Signer::unsign(
 string $signedValue,
 string|null $salt = null
);

Нестатический метод проверяет подпись и возвращает оригинальное сообщение.

Параметры

Параметр | Описание | Версия
$signedValue | Подписанное значение, должно быть в формате: "{message}{separator}{signature}". |
$salt | Соль, если необходимо. |

Исключения

  • \Main\Security\Sign\BadSignatureException;
  • \Main\ArgumentTypeException

Примеры

 $signer = new Signer;

 // Sing message
 $signedValue = $signer->sign('test');

 // Get original message with checking
 echo $signer->unsign($signedValue);
 // Output: 'test'

 // Try to unsigning not signed value
 echo $signer->unsign('test');
 //throw BadSignatureException with message 'Separator not found in value'

 // Or with invalid sign
 echo $signer->unsign('test.invalid_sign');

 // Or invalid salt
 //throw BadSignatureException with message 'Signature does not match'
 echo $signer->unsign($signedValue, 'invalid_salt');


validate

boolean public
\Bitrix\Main\Security\Sign\Signer::validate(
 string $value,
 string $signature,
 string|null $salt = null
);

Нестатический метод выполняет простую валидацию подписи сообщения.

Параметры

Параметр | Описание | Версия
$value | Сообщение. |
$signature | Подпись. |
$salt | Соль, если необходимо. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор Signer

 public
\Bitrix\Main\Security\Sign\Signer::__construct(
 \Bitrix\Main\Security\Sign\SigningAlgorithm $algorithm = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия. Если необходимо использовать свой алгоритм подписи, используйте этот метод.

Параметры

Параметр | Описание | Версия
$algorithm | Пользовательский алгоритм подписи. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SigningAlgorithm

SigningAlgorithm - алгоритм подписи.

Обращается к пространству имён:

  • \Main\NotImplementedException
Метод | Описание | С версии
verify | Метод проверяет подпись сообщения. |
getSignature | Метод возвращает подпись сообщения. |


getSignature

string public
\Bitrix\Main\Security\Sign\SigningAlgorithm::getSignature(
 string $value,
 string $key
);

Нестатический метод возвращает подпись сообщения.

Параметры

Параметр | Описание | Версия
$value | Сообщение. |
$key | Секретный пароль. |

Исключения

  • \Main\NotImplementedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


verify

boolean public
\Bitrix\Main\Security\Sign\SigningAlgorithm::verify(
 string $value,
 string $key,
 string $sig
);

Нестатический метод проверяет подпись сообщения.

Параметры

Параметр | Описание | Версия
$value | Сообщение |
$key | Секретный пароль, используемый для подписи. |
$sig | Подпись сообщения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


TimeSigner

TimeSigner - подпись с истечением времени.

Обращается к пространству имён:

  • \Main\ArgumentException;
  • \Main\ArgumentTypeException;
Метод | Описание | С версии
getSeparator | Метод возвращает сепаратор, используемый для упаковки/распаковки. |
getSignature | Метод возвращает подпись сообщения. | 15.0.4
pack | Метод упаковывает массив значений в простую строку |
setKey | Метод устанавливает ключ для подписи. |
setSeparator | Метод устанавливает сепаратор для упаковки/распаковки. |
sign | Метод подписывает сообщение с истекшим временем |
unpack | Метод распаковывает значения из строки. |
unsign | Метод проверяет подпись и время жизни сообщения. |
validate | Метод выполняет простую валидацию подписи сообщения. | 15.0.4
Конструктор | Метод создаёт объект класса |


getSeparator

string public
\Bitrix\Main\Security\Sign\TimeSigner::getSeparator(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSignature

string public
\Bitrix\Main\Security\Sign\TimeSigner::getSignature(
 string $value,
 integer $timestamp,
 null $salt = null
);

Нестатический метод возвращает подпись сообщения.

Параметры

Параметр | Описание | Версия
$value | Сообщение. |
$timestamp | Истечение метки времени. |
$salt | Соль, если необходимо. |

Исключения

  • \Main\ArgumentTypeException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


pack

string public
\Bitrix\Main\Security\Sign\TimeSigner::pack(
 array $values
);

Нестатический метод упаковывает массив значений в простую строку вида: pack(['test', 'all', 'values']) -> 'test.all.values'

Параметры

Параметр | Описание | Версия
$values | Значения для упаковки |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setKey

\Bitrix\Main\Security\Sign\TimeSigner public
\Bitrix\Main\Security\Sign\TimeSigner::setKey(
 string $value
);

Нестатический метод устанавливает ключ для подписи.

Параметры

Параметр | Описание | Версия
$value | Ключ. |

Исключения

  • \Main\ArgumentTypeException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setSeparator

\Bitrix\Main\Security\Sign\TimeSigner public
\Bitrix\Main\Security\Sign\TimeSigner::setSeparator(
 string $value
);

Нестатический метод устанавливает сепаратор для упаковки/распаковки.

Параметры

Параметр | Описание | Версия
$value | Сепаратор |

Исключения

  • \Main\ArgumentTypeException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


sign

string public
\Bitrix\Main\Security\Sign\TimeSigner::sign(
 string $value,
 string $time,
 string|null $salt = null
);

Нестатический метод подписывает сообщение с истекшим временем, возвращает строку в формате: {message}{separator}{expired timestamp}{separator}{signature}.

Параметры

Параметр | Описание | Версия
$value | Сообщение для подписи |
$time | Метка времени или дата описания (представлено в формате аналогичном strtotime [image] ). |
$salt | Соль, если необходимо. |

Примеры

 // If salt needed
 $foo = (new TimeSigner)->sign('test', '+1 hour', 'my_salt');

 // Otherwise
 $bar = (new TimeSigner)->sign('test', '+1 day');


unpack

array public
\Bitrix\Main\Security\Sign\TimeSigner::unpack(
 string $value,
 integer $limit = 2
);

Нестатический метод распаковывает значения из строки (подобно rsplit).

Параметры

Параметр | Описание | Версия
$value | Строка для распаковки. |
$limit | Если $limit === 0 - распаковывает все значения, по умолчанию - 2. |

Исключения

  • \Main\Security\Sign\BadSignatureException

Примеры

Простые примеры для разделителя ".":

 // Unpack all values:
 unpack('test.all.values', 0) -> ['test', 'all', 'values']

 // Unpack 2 values (by default). First element containing the rest of string.
 unpack('test.all.values') -> ['test.all', 'values']

 // Exception if separator is missing
 unpack('test.all values', 3) -> throws BadSignatureException


unsign

string public
\Bitrix\Main\Security\Sign\TimeSigner::unsign(
 string $signedValue,
 string|null $salt = null
);

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

Параметры

Параметр | Описание | Версия
$signedValue | Подписанное значение, должно быть в формате: {message}{separator}{expired timestamp}{separator}{signature}. |
$salt | Соль, если необходимо. |

Исключения

  • \Main\Security\Sign\BadSignatureException

Примеры

 $signer = new TimeSigner;

 // Sing message for 1 second
 $signedValue = $signer->sign('test', '+1 second');

 // Or sign with expiring on some magic timestamp (e.g. 01.01.2030)
 $signedValue = $signer->sign('test', 1893445200);

 // Get original message with checking
 echo $signer->unsign($signedValue);
 // Output: 'test'

 // Try to unsigning not signed value
 echo $signer->unsign('test');
 //throw BadSignatureException with message 'Separator not found in value'

 // Or with invalid sign
 echo $signer->unsign('test.invalid_sign');

 // Or invalid salt
 echo $signer->unsign($signedValue, 'invalid_salt');
 //throw BadSignatureException with message 'Signature does not match'

 // Or expired lifetime
 echo $signer->unsign($signedValue);
 //throw BadSignatureException with message 'Signature timestamp expired (1403039921 < 1403040024)'


validate

boolean public
\Bitrix\Main\Security\Sign\TimeSigner::validate(
 string $value,
 integer $timestamp,
 string $signature,
 string|null $salt = null
);

Нестатический метод выполняет простую валидацию подписи сообщения.

Параметры

Параметр | Описание | Версия
$value | Сообщение. |
$timestamp | Время истечения. |
$signature | Подпись. |
$salt | Соль, если используется. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор TimeSigner

 public
\Bitrix\Main\Security\Sign\TimeSigner::__construct(
 \Bitrix\Main\Security\Sign\SigningAlgorithm $algorithm = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия. Если необходимо использовать новый алгоритм подписывания - сделайте это с помощью нового объекта.

Параметры

Параметр | Описание | Версия
$algorithm | Пользовательский алгоритм подписания. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Server

Описание и методы

Server - объект сервера позволяет получить информацию из массива $_SERVER, а также некоторую другую информацию. Расширение класса Main\Type\ParameterDictionary.

Обращается к пространству имён:

  • Bitrix\Main\Type\ParameterDictionary;
Метод | Описание | С версии
Конструктор | Метод создаёт новый объект сервера. |
getServerPort | Метод возвращает порт сервера. |
getServerName | Метод возвращает имя сервера. |
getServerAddr | Метод возвращает адрес сервера. |
getScriptName | Метод возвращает SCRIPT_NAME. |
getRequestUri | Метод возвращает запрошенный uri |
getRequestMethod | Метод возвращает запрошенный метод. |
getPhpSelf | Метод возвращает PHP_SELF. |
getPersonalRoot | Метод возвращает установленную папку root |
getHttpHost | Метод возвращает http хост сервера |
getDocumentRoot | Метод возвращает DOCUMENT_ROOT сервера. |

Пример

$server = $context->getServer();
// Или более краткая форма:
$server = Context::getCurrent()->getServer();
$server->getDocumentRoot(); // DOCUMENT_ROOT
$server->getPersonalRoot(); // BX_PERSONAL_ROOT ("/bitrix")
$server->getHttpHost();     // HTTP_HOST
$server->getServerName();   // SERVER_NAME
$server->getServerAddr();   // SERVER_ADDR
$server->getServerPort();   // SERVER_PORT
$server->getRequestUri();   // REQUEST_URI
$server->getRequestMethod();// REQUEST_METHOD
$server->getPhpSelf();      // PHP_SELF
$server->getScriptName();   // SCRIPT_NAME
$server->get('HTTP_ACCEPT');// Любое значение из $_SERVER


getDocumentRoot

string public
\Bitrix\Main\Server::getDocumentRoot(
);

Нестатический метод возвращает DOCUMENT_ROOT сервера.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getHttpHost

string public
\Bitrix\Main\Server::getHttpHost(
);

Нестатический метод возвращает http хост сервера.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPersonalRoot

string public
\Bitrix\Main\Server::getPersonalRoot(
);

Нестатический метод возвращает установленную папку root. Используется серверная переменнтая BX_PERSONAL_ROOT. Если переменная пустая - возвращается /bitrix.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPhpSelf

string public
\Bitrix\Main\Server::getPhpSelf(
);

Нестатический метод возвращает PHP_SELF вида /index.php/test1/test2

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRequestMethod

string public
\Bitrix\Main\Server::getRequestMethod(
);

Нестатический метод возвращает запрошенный метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRequestUri

string public
\Bitrix\Main\Server::getRequestUri(
);

Нестатический метод возвращает запрошенный uri вида: /index.php/test1/test2?login=yes&back_url_admin=/

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getScriptName

string public
\Bitrix\Main\Server::getScriptName(
);

Нестатический метод возвращает SCRIPT_NAME вида /index.php

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getServerAddr

string public
\Bitrix\Main\Server::getServerAddr(
);

Нестатический метод возвращает адрес сервера.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getServerName

string public
\Bitrix\Main\Server::getServerName(
);

Нестатический метод возвращает имя сервера.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getServerPort

string public
\Bitrix\Main\Server::getServerPort(
);

Нестатический метод возвращает порт сервера.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор Server

 public
\Bitrix\Main\Server::__construct(
 array $arServer
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия.

Параметры

Параметр | Описание | Версия
$arServer |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Service

Service - Пространство имён для классов интеграций с различными сервисами.

Метод | Описание | С версии
GeoIP | Пространство имён для классов для работы с геолокацией | 17.0.9


GeoIp

GeoIp - Пространство имён для классов для работы с геолокацией.

Метод | Описание | С версии
Base | Базовый класс |
HandlerTable | Расширение класса Entity\DataManager. |
Manager | Финальный класс для работы с информацией о геолокации. |
Result | Содержит информацию об описаниях запрошенных данных по геолокации. |
MaxMind | Конкретная реализация базового класса для MaxMind [image] . |
Extension | Конкретная реализация базового класса для стандартного php GeoIP [image] . |
SypexGeo | Конкретная реализация базового класса для стандартного php SypexGeo [image] . |


Base

Base - абстрактный класс для обработчиков геолокации.

Метод | Описание | С версии
Конструктор класса | Метод создаёт новый объект класса |
isInstalled | Метод возвращает true, если обработчик установлен и готов к работе. |
getSupportedLanguages | Метод возвращает массив поддерживаемых обработчиком языков по ISO 639-1. |
getId | Метод возвращает идентификатор записи в БД |
getSort | Метод возвращает поле сортировки. |
isActive | Метод возвращает true, если обработчик активен. |
getTitle | Метод возвращает название обработчика. |
getDataResult | Метод возвращает результат с данными геолокации - класс \Bitrix\Main\Service\GeoIp\Result. |
getDescription | Метод возвращает описание обработчика. |
getConfigForAdmin | Метод возвращает массив, который используется для построения административной формы настроек обработчика. |
createConfigField | Метод вызывается при сохранении настроек обработчика в административной форме |
getProvidingData | Метод возвращает структуру вида \Bitrix\Main\Service\GeoIp\ProvidingData. |


createConfigField

    public function
createConfigField(
   array $postFields
)

Нестатический метод вызывается при сохранении настроек обработчика в административной форме.

Параметр | Описание | С версии
postFields | Массив полей из администраторской формы редактирования во время процесса сохранения |


getConfigForAdmin

public function
getConfigForAdmin()

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

Без параметров


getDataResult

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

abstract public function
getDataResult(
   $ip,
   $lang = ''
);

Нестатический абстрактный метод возвращает результат с данными геолокации - класс \Bitrix\Main\Service\GeoIp\Result, если она определена или null в противном случае.

Параметр | Описание | С версии
ip | IP адрес |
lang | Идентификатор языка |

Примеры

Получить всю доступную информацию сразу:

$geoResult = GeoIp\Manager::getDataResult('92.50.195.50');

if($geoResult)
{
    if($geoResult->isSuccess())
        var_dump($geoResult->getGeoData());
    elseif(!$geoResult->isSuccess())
        echo "Ошибка: ".implode("
\n", $geoResult->getErrorMessages());
}
else
{
    echo 'Нет данных для данного IP - адреса';
}

В результате получим объект - структуру данных \Bitrix\Main\Service\GeoIp\Data:

>>object(Bitrix\Main\Service\GeoIp\Data)[97]
  public 'ip' => string '92.50.195.50' (length=12)
  public 'lang' => string 'en' (length=2)
  public 'countryName' => string 'Russia' (length=6)
  public 'regionName' => string 'Moskva' (length=6)
  public 'subRegionName' => GeoIp\Manager::INFO_NOT_AVAILABLE
  public 'cityName' => string 'Moscow' (length=6)
  public 'countryCode' => string 'RU' (length=2)
  public 'regionCode' => string 'RU-MOW' (length=6)
  public 'zipCode' => GeoIp\Manager::INFO_NOT_AVAILABLE
  public 'latitude' => float 55.75222
  public 'longitude' => float 37.61556
  public 'timezone' => string 'Europe/Moscow' (length=13)
  public 'asn' => GeoIp\Manager::INFO_NOT_AVAILABLE
  public 'ispName' => GeoIp\Manager::INFO_NOT_AVAILABLE
  public 'organizationName' => GeoIp\Manager::INFO_NOT_AVAILABLE
  public 'handlerClass' => string 'Bitrix\Main\Service\GeoIp\SypexGeo' (length=34)

Если информации нет - вернётся GeoIp\Manager::INFO_NOT_AVAILABLE.

Если нам нужен строго определенный язык и определенные поля:

 $geoResult = GeoIp\Manager::getDataResult('92.50.195.50', 'ru', array('countryName', 'cityName'));


getDescription

abstract public function
getDescription();

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

Без параметров


getId

public function
getId()

Нестатический метод возвращает идентификатор записи в БД.

Без параметров


getProvidingData

public function
getProvidingData()

Нестатический метод возвращает структуру вида \Bitrix\Main\Service\GeoIp\ProvidingData в которой значения полей, поддерживаемые данным провайдером установлены в true. Неподдерживаемые в false.

Без параметров


getSort

public function
getSort()

Нестатический метод возвращает поле сортировки.

Без параметров


getSupportedLanguages

array public
\Bitrix\Main\Service\GeoIp\Base::getSupportedLanguages(
);

Нестатический метод возвращает массив поддерживаемых обработчиком языков по ISO 639-1.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTitle

abstract public
function getTitle()

Нестатический абстрактный метод возвращает название обработчика.

Без параметров


isActive

public function
isActive()

Нестатический метод возвращает true, если обработчик активен.

Без параметров.


isInstalled

boolean public
\Bitrix\Main\Service\GeoIp\Base::isInstalled(
);

Нестатический метод возвращает true, если обработчик установлен и готов к работе.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор Base

 public
\Bitrix\Main\Service\GeoIp\Base::__construct(
 array $fields = array()
);

Нестатический метод создаёт новый объект класса

Параметры

Параметр | Описание | Версия
$fields | Поля БД с настройками обработчика. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


HandlerTable

HandlerTable - расширение класса Entity\DataManager.

Метод | Описание | С версии
validateClassName | Метод возвращает валидаторы для поля CLASS_NAME. |
getTableName | Метод возвращает имя таблицы БД для сущности |
getMap | Метод возвращает определение карты сущности |

Поля | Описание | тип | Примечание
ID | Идентификатор | int | Обязательное
SORT | Сортировка | int | По умолчанию 100. Необязательное.
ACTIVE | Активность | bool | По умолчанию Y. Необязательное.
CLASS_NAME | Название класса | string(255) | Обязательное.
CONFIG | Поле содержащее данные конфигурации обработчика. | string | Необязательное.


getMap

array public static
\Bitrix\Main\Service\GeoIp\HandlerTable::getMap(
);

Статический метод возвращает определение карты сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Main\Service\GeoIp\HandlerTable::getTableName(
);

Статический метод возвращает имя таблицы БД для сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateClassName

array public static
\Bitrix\Main\Service\GeoIp\HandlerTable::validateClassName(
);

Статический метод возвращает валидаторы для поля CLASS_NAME.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Manager

Manager - финальный класс для работы с информацией о геолокации.

Метод | Описание | С версии
getCityName | Метод возвращает полное название города. |
getCityPostCode | Метод возвращает почтовый индекс, FSA или Zip код. |
getCountryCode | Метод возвращает двухбуквенный код страны. |
getCountryName | Метод возвращает полное имя страны. |
getDataResult | Метод возвращает всю возможную информацию о геолокации. |
getGeoPosition | Метод возвращает атрибуты гео-положения. |
getGeoPositionLatitude | Метод возвращает широту. |
getGeoPositionLongitude | Метод возвращает долготу. |
getIspName | Метод возвращает имя Internet Service Provider (ISP). |
getOrganizationName | Метод возвращает название организации. |
getTimezoneName | Метод получает временную зону. |
setLogErrors | Метод включает/выключает ведение лога для выявления ошибок. |
useCookieToStoreInfo | Метод включает/выключает хранение информации о геолокации в файлах cookie. |


getCityName

string|null public static
\Bitrix\Main\Service\GeoIp\Manager::getCityName(
 string $ip = '',
 string $lang = ''
);

Статический метод возвращает полное название города.

Параметры

Параметр | Описание | Версия
$ip | Ip адрес. |
$lang | Идентификатор языка. |

Примеры

Получить наименование города для текущего IP-адреса:

echo \Bitrix\Main\Service\GeoIp\Manager::getCityName();
>>Kaliningrad

Если информации нет - вернётся пустая строка.

Для явно указанного IP:

echo \Bitrix\Main\Service\GeoIp\Manager::getCityName('78.81.165.248');
>>Kaliningrad

Для явно указанного IP и языка:

echo \Bitrix\Main\Service\GeoIp\Manager::getCityName('78.81.165.248', 'ru');
>>Калининград


getCityPostCode

string|null public static
\Bitrix\Main\Service\GeoIp\Manager::getCityPostCode(
 string $ip = '',
 string $lang = ''
);

Статический метод возвращает почтовый индекс, FSA или Zip код.

Параметры

Параметр | Описание | Версия
$ip | Ip адрес. |
$lang | Идентификатор языка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCountryCode

string|null public static
\Bitrix\Main\Service\GeoIp\Manager::getCountryCode(
 string $ip = '',
 string $lang = ''
);

Статический метод возвращает двухбуквенный код страны.

Параметры

Параметр | Описание | Версия
$ip | Ip адрес. |
$lang | Идентификатор языка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCountryName

string|null public static
\Bitrix\Main\Service\GeoIp\Manager::getCountryName(
 string $ip = '',
 string $lang = ''
);

Статический метод возвращает полное имя страны.

Параметры

Параметр | Описание | Версия
$ip | Ip адрес. |
$lang | Идентификатор языка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDataResult

\Bitrix\Main\Service\GeoIp\Result public static
\Bitrix\Main\Service\GeoIp\Manager::getDataResult(
 string $ip = '',
 string $lang = '',
 array $required = array()
);

Статический метод возвращает либо \Bitrix\Main\Service\GeoIp\Result либо \Bitrix\Main\Service\GeoIp\Manager::INFO_NOT_AVAILABLE.

Параметры

Параметр | Описание | Версия
$ip | Ip адрес. |
$lang | Идентификатор языка. |
$required | Список полей (из \Bitrix\Main\Service\GeoIp\Data) по которым информация необходима. Будут перебираться все доступные обработчики пока либо найдётся тот, который предоставит всю необходимую информацию, либо если никто не может предоставить такую информацию вернется \Bitrix\Main\Service\GeoIp\Manager::INFO_NOT_AVAILABLE. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getGeoPosition

array|null public static
\Bitrix\Main\Service\GeoIp\Manager::getGeoPosition(
 string $ip = '',
 string $lang = ''
);

Статический метод возвращает массив с широтой и долготой вида:

Array(
                'latitude' => 54.12342,
                'longitude' => 20.34567,
            );

Параметры

Параметр | Описание | Версия
$ip | Ip адрес |
$lang | Идентификатор языка |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getGeoPositionLatitude

string|null public static
\Bitrix\Main\Service\GeoIp\Manager::getGeoPositionLatitude(
 string $ip = '',
 string $lang = ''
);

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

Параметры

Параметр | Описание | Версия
$ip | Ip адрес. |
$lang | Идентификатор языка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getGeoPositionLongitude

string|null public static
\Bitrix\Main\Service\GeoIp\Manager::getGeoPositionLongitude(
 string $ip = '',
 string $lang = ''
);

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

Параметры

Параметр | Описание | Версия
$ip | Ip адрес. |
$lang | Идентификатор языка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getIspName

string|null public static
\Bitrix\Main\Service\GeoIp\Manager::getIspName(
 string $ip = '',
 string $lang = ''
);

Статический метод возвращает имя Internet Service Provider (ISP).

Параметры

Параметр | Описание | Версия
$ip | Ip адрес. |
$lang | Идентификатор языка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOrganizationName

string|null public static
\Bitrix\Main\Service\GeoIp\Manager::getOrganizationName(
 string $ip = '',
 string $lang = ''
);

Статический метод возвращает название организации.

Параметры

Параметр | Описание | Версия
$ip | Ip адрес. |
$lang | Идентификатор языка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTimezoneName

string|null public static
\Bitrix\Main\Service\GeoIp\Manager::getTimezoneName(
 string $ip = '',
 string $lang = ''
);

Статический метод получает временную зону.

Параметры

Параметр | Описание | Версия
$ip | Ip адрес. |
$lang | Идентификатор языка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setLogErrors

 public static
\Bitrix\Main\Service\GeoIp\Manager::setLogErrors(
 boolean $isLog
);

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

Параметры

Параметр | Описание | Версия
$isLog |  |

Примеры

В целях отладки можно записывать ошибки в системный журнал:

GeoIp\Manager::setLogErrors(true);
 $geoResult = GeoIp\Manager::getDataResult('92.50.195.50', 'ru', array('countryName', 'cityName'));


useCookieToStoreInfo

 public static
\Bitrix\Main\Service\GeoIp\Manager::useCookieToStoreInfo(
 boolean $isUse
);

Статический метод включает/выключает хранение информации о геолокации в файлах cookie. Может быть полезно в случае использования сторонних сервисов, чтобы не обращаться к ним лишний раз.

Параметры

Параметр | Описание | Версия
$isUse |  |

Примеры

Если хотим сохранить результат в coockie - предварительно сообщаем об этом. Может быть полезно в случае, когда, например, мы работаем не с расширением GeoIP а используем сторонние сетевые сервисы:

 GeoIp\Manager::useCookieToStoreInfo(true);
 $geoResult = GeoIp\Manager::getDataResult('92.50.195.50', 'ru', array('countryName', 'cityName'));


MaxMind

Реализация базового класса для MaxMind

Класс | Описание | С версии
[link=5927625]getSupportedLanguages [/link] | Метод возвращает список поддерживаемых обработчиком языков. |
[link=5927629]isInstalled[/link] | Метод возвращает true, если обработчик установлен и готов к работе. |


getSupportedLanguages

array public
\Bitrix\Main\Service\GeoIp\MaxMind::getSupportedLanguages(
);

Метод возвращает список языков, поддерживаемых обработчиком.


isInstalled

boolean public
\Bitrix\Main\Service\GeoIp\MaxMind::isInstalled(
);

Метод возвращает true, если обработчик установлен и готов к работе.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Result

Result - расширение класса Main\Result. Содержит информацию об успешных и ошибочных описаниях запрошенных данных по геолокации и саму информацию по геолокации.

Метод | Описание | С версии
Конструктор | Метод создаёт объект класса. |
getGeoData | Метод получает данные геолокации. |
setGeoData | Метод присваивает данные геолокации. |


getGeoData

public function
getGeoData()

Нестатический метод получает данные геолокации. Получаются данные типа класса \Bitrix\Main\Service\GeoIp\Data.

Без параметров


setGeoData

public function
setGeoData(
   Data $geoData
)

Нестатический метод присваивает данные геолокации. Присваиваются данные типа класса \Bitrix\Main\Service\GeoIp\Data.

Параметры

Параметр | Описание | С версии
geoData |  |


Конструктор Result

 public
\Bitrix\Main\Service\GeoIp\Result::__construct(
);

Метод создаёт объект класса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SypexGeo

Реализация базового класса для стандартного php SypexGeo

Класс | Описание | С версии
[link=5927617]getSupportedLanguages[/link] | Метод возвращает список поддерживаемых обработчиком языков. |


getSupportedLanguages

array public
\Bitrix\Main\Service\GeoIp\SypexGeo::getSupportedLanguages(
);

Метод возвращает список поддерживаемых обработчиком языков.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


События

События геолокаций.

Событие Описание С версии
onMainGeoIpHandlersBuildList Событие вызывается при инициализации списка обработчиков геолокации. Ожидается получение результата тип \Bitrix\Main\EventResult тип - \Bitrix\Main\EventResult::SUCCESS в качестве параметров - массив со списком обработчиков.

Пример:

function addCustomGeoIpHandler()
{
    return new \Bitrix\Main\EventResult(
        \Bitrix\Main\EventResult::SUCCESS,
        array(
            '\Custom\GeoIP\Handler' => '/local/custom/geoip/handler.php'
        ),
        'main'
    );
}

$eventManager->addEventHandler('main', 'onMainGeoIpHandlersBuildList', 'addCustomGeoIpHandler');
 17.0.9


Session

Пространство имён для классов работы с сессиями.


SessionInterface

Методы для работы с сессиями.

Метод Описание С версии
\Bitrix\Main\Session\SessionInterface::start()
 Стартует сессию, выставляет необходимые опции для безопасной работы, вызывает session_start() [image]. Повторный вызов метода не вызовет ошибки и повторного старта.
\Bitrix\Main\Session\SessionInterface::getId()
 Получение идентификатора сессии.
\Bitrix\Main\Session\SessionInterface::setId($id)
 Установка идентификатора сессии. В случае, если сессия активна, то будет выброшено исключение \RuntimeException.
\Bitrix\Main\Session\SessionInterface::getName()
 Получение имени сессии.
\Bitrix\Main\Session\SessionInterface::setName($name)
 Установка имени сессии. В случае, если сессия активна, то будет выброшено исключение \RuntimeException.
\Bitrix\Main\Session\SessionInterface::regenerateId(): bool
 Генерация нового id сессии с сохранением всех значений. В отличие от session_regenerate_id() [image] учитывает возможные проблемы с нестабильным интернет соединением.
\Bitrix\Main\Session\SessionInterface::save()
 Сохраняет данные сессии и закрывает её.
\Bitrix\Main\Session\SessionInterface::has($name)
 Возвращает true, если в сессии есть ключ $name.
\Bitrix\Main\Session\SessionInterface::get($name)
 Возвращает значение в сессии по ключу $name.
\Bitrix\Main\Session\SessionInterface::set($name, $value)
 Установка значения $value по ключу $name.
\Bitrix\Main\Session\SessionInterface::remove($name)
 Удаляет значение в сессии по ключу $name.
\Bitrix\Main\Session\SessionInterface::clear()
 Удаление всех значений, которые есть в сессии.
\Bitrix\Main\Session\SessionInterface::isStarted()
 Возвращает true, если сессия успешно стартовала.


SystemException

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

SystemException - базовый класс для всех исключений в системе.

В D7 обработка ошибок производится при помощи механизма исключений в полной аналогии с механизмом исключений в php [image]. Если происходит ошибка - выводится исключение. Если необходимо обработать ошибку - нужно поймать исключение.

Аналоги в старом ядре:

  • CMain::ThrowException [image],
  • CMain::ResetException [image],
  • CMain::GetException [image].
Метод | Описание | С версии
construct | метод создаёт новый объект исключений. |
  • Исключения [image] в курсе Разработчик Bitrix Framework

Примеры

// D7
use Bitrix\Main\SystemException;

try
{
    // ...
    throw new SystemException("Error");
}
catch (SystemException $exception)
{
    echo $exception->getMessage();
}

Иерархия исключений в D7

  • Bitrix\Main\SystemException - базовый класс всех системных исключений
    • Bitrix\Main\IO\IoException - базовый класс всех исключений файлового ввода-вывода
      • Bitrix\Main\IO\FileDeleteException - исключение при удалении файла
      • Bitrix\Main\IO\FileNotFoundException - отсутствие требуемого файла
      • Bitrix\Main\IO\FileOpenException - исключение при открытии файла
      • Bitrix\Main\IO\InvalidPathException - не корректный путь
      • Bitrix\Main\IO\FileNotOpenedException - файл не открыт
    • Bitrix\Main\Config\ConfigurationException - ошибка в конфигурации
    • Bitrix\Main\Security\SecurityException - ошибка безопасности
      • \Bitrix\Main\Security\Sign\BadSignatureException - исключения ошибок подписи.
    • Bitrix\Main\ArgumentException - базовый класс исключений, связанных с входящими параметрами методов
      • Bitrix\Main\ArgumentNullException - параметр должен быть не пустым
      • Bitrix\Main\ArgumentOutOfRangeException - параметр вне допустимого диапазона
      • Bitrix\Main\ArgumentTypeException - параметр не допустимого типа
    • Bitrix\Main\DB\Exception - базовый класс для исключений БД
      • Bitrix\Main\DB\ConnectionException - исключение при соединении
      • Bitrix\Main\DB\SqlException - исключение при выполнении запроса
    • Bitrix\Main\NotSupportedException - вызывается, если функционал не поддерживается
    • Bitrix\Main\NotImplementedException - вызывается, если функционал должен поддерживаться, но пока не реализован
    • Bitrix\Main\AccessDeniedException - вызывается когда доступ запрещён
  • \Bitrix\Main\ObjectPropertyException - исключение выводится когда свойства объекта не валидны.
  • \Bitrix\Main\ObjectNotFoundException - выводит исключение когда объект не существует.
  • \Bitrix\Main\ObjectException - исключение выводится, если объект не может быть создан.
  • Bitrix\Main\LoaderException - исключение в загрузчике


Конструктор SystemException

 public
\Bitrix\Main\SystemException::__construct(
 string $message = "",
 integer $code,
 string $file = "",
 integer $line,
 \Exception $previous = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия.

Параметры

Параметр | Описание | Версия
$message | Сообщение исключения |
$code | Код, вызвавший исключение |
$file | Файл вызвавший исключение | 12.0.9
$line | Строка в файле | 12.0.9
$previous | Предыдущее исключение. Используется для построения цепочки исключений. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Text

Text - пространство имён для работы с текстом: классы для конвертации текста и другие.

Класс | Описание | С версии
BinaryString | Класс для операций с бинарными строками. | 16.0.10
Encoding | Класс для работы с кодировкой. |
HtmlFilter | Для безопасного вывода в HTML. | 16.0.10
UtfSafeString | Класс для безопасных операций со строками, возможно содержащими невалидные символы. | 16.0.10
Diff | Класс для визуального отображения изменений. | 17.1.0
DateConverter | Класс для поиска дат в тексте. | 17.0.5
DateConverterResult | Класс для работы с результатом поиска дат в тексте. | 17.0.5


BinaryString

BinaryString - класс для операций с бинарными строками.

Метод | Описание | С версии
changeCaseToLower | Метод преобразует строку в нижний регистр. |
getLastPosition | Метод ищет позицию последнего вхождения подстроки needle в строку haystack. |
getLastPositionIgnoreCase | Метод возвращает номер позиции последнего вхождения подстроки needle относительно начала строки haystack |
getLength | Метод возвращает длину строки. |
getPosition | Метод возвращает позицию, в которой находится искомая строка. |
getPositionIgnoreCase | Метод возвращает позицию, в которой находится искомая строка без учета регистра. |
getSubstring | Метод возвращает подстроку строки str, начинающейся с start символа по счету. |


changeCaseToLower

string public static
\Bitrix\Main\Text\BinaryString::changeCaseToLower(
  $str
);

Статический метод. Преобразует строку в нижний регистр. Выполняет безопасную с точки зрения многобайтных кодировок операцию. Аналог PHP функции strtolower.

Параметры

Параметр | Описание | Версия
$str | Входная строка для преобразования. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLastPosition

boolean|integer public static
\Bitrix\Main\Text\BinaryString::getLastPosition(
  $haystack,
  $needle,
 integer $offset
);

Статический метод ищет позицию последнего вхождения подстроки needle в строку haystack. Выполняет безопасную с точки зрения многобайтных кодировок операцию. Возвращает номер позиции последнего вхождения искомой подстроки относительно начала строки haystack, независимо от направления поиска и смещения offset. Позиция строки отсчитывается от 0, а не от 1. Возвращает false, если искомая строка не найдена. Аналог PHP функции strrpos.

Параметры

Параметр | Описание | Версия
$haystack | Строка, в которой производится поиск. |
$needle | Искомая подстрока. Если не является строкой, то он приводится к целому и трактуется как код символа. |
$offset | Если значение указано, то поиск начнется с данного количества символов с начала строки. Если значение отрицательное, то поиск начнется с указанного количества символов от конца строки, но по прежнему будет производится поиск последнего вхождения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLastPositionIgnoreCase

integer public static
\Bitrix\Main\Text\BinaryString::getLastPositionIgnoreCase(
  $haystack,
  $needle,
 integer $offset
);

Статический метод. Выполняет безопасную с точки зрения многобайтных кодировок операцию. Возвращает номер позиции последнего вхождения подстроки needle относительно начала строки haystack, независимо от направления поиска и смещения offset. Позиция строки отсчитывается от 0, а не от 1. Возвращает false, если искомая строка не найдена. Аналог PHP функции strripos.

Параметры

Параметр | Описание | Версия
$haystack | Строка, в которой производится поиск. |
$needle | Искомая подстрока. Если параметр не является строкой, то он будет преобразован к целому и обработан как код символа. |
$offset | Если значение указано, то поиск начнется с данного количества символов с начала строки. Если значение отрицательное, то поиск начнется с указанного количества символов от конца строки, но по прежнему будет производится поиск последнего вхождения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLength

integer public static
\Bitrix\Main\Text\BinaryString::getLength(
  $str
);

Статический метод. Возвращает длину строки или 0, если строка пуста. Выполняет безопасную с точки зрения многобайтных кодировок операцию. Аналог PHP функции strlen.

Параметры

Параметр | Описание | Версия
$str | Строка, для которой измеряется длина. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPosition

boolean|integer public static
\Bitrix\Main\Text\BinaryString::getPosition(
  $haystack,
  $needle,
 integer $offset
);

Статический метод. Возвращает позицию, в которой находится искомая строка, относительно начала строки haystack, независимо от смещения offset. Позиция строки отсчитывается от 0, а не от 1. Возвращает false, если искомая строка не найдена. Выполняет безопасную с точки зрения многобайтных кодировок операцию. Аналог PHP функции strpos.

Параметры

Параметр | Описание | Версия
$haystack | Строка, в которой производится поиск. |
$needle | Искомая подстрока. Если не является строкой, он приводится к целому и трактуется как код символа. |
$offset | Смещение. Если этот параметр указан, то поиск будет начат с указанного количества символов с начала строки. Не может быть отрицательным. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPositionIgnoreCase

integer public static
\Bitrix\Main\Text\BinaryString::getPositionIgnoreCase(
  $haystack,
  $needle,
 integer $offset
);

Статический метод. Возвращает позицию, в которой находится искомая строка, относительно начала строки haystack, независимо от смещения offset, без учета регистра. Позиция строки отсчитывается от 0, а не от 1. Возвращает false, если искомая строка не найдена. Выполняет безопасную с точки зрения многобайтных кодировок операцию. Аналог PHP функции stripos.

Параметры

Параметр | Описание | Версия
$haystack | Строка, в которой производится поиск. |
$needle | Искомая подстрока |
$offset | Если этот параметр указан, то поиск будет начат с указанного количества символов с начала строки. Не может быть отрицательным. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSubstring

string public static
\Bitrix\Main\Text\BinaryString::getSubstring(
  $str,
  $start
);

Статический метод. Возвращает подстроку строки str, начинающейся с start символа по счету или false в случае возникновения ошибки или пустую строку string. Выполняет безопасную с точки зрения многобайтных кодировок операцию. Аналог PHP функции substr.

Параметры

Параметр | Описание | Версия
$str | Входная строка. Должна содержать хотя бы один символ. |
$start | Если значение неотрицательно, то возвращаемая подстрока начинается с указанной позиции от начала строки, считая от нуля. Например, в строке abcdef, в позиции 0 находится символ a, в позиции 2 - символ c, и так далее. Если значение отрицательное, то возвращаемая подстрока начинается с позиции, отстоящей на указанное число символов от конца строки string. Если string меньше либо содержит ровно start символов, будет возвращено false. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DateConverter

DateConverter - класс по распознаванию дат из текста. Класс работает для языков EN / RU / DE. Словарь для остальных языков можно создать самостоятельно: используйте в качестве примера файл main/lang/ru/lib/text/dateconverter.php.

Метод | Описание | С версии
decode | Метод осуществляет распознавание дат из текста. |


decode

Сигнатура, описание и параметры

\Bitrix\Main\Text\DateConverter::decode(
   $text,
   $limit = 0
);

Статический метод распознаёт даты в тексте.

Параметры

Параметр | Описание | С версии
text | Текст для распознавания. |
limit | Ограничение на обработку текста в символах. 0 - без ограничений. Рекомендуется использовать разумный лимит, например: распознавать дату только из первой тысячи символов. |

Фразы и модификаторы

Для построения есть 3 группы фраз и 2 группы модификаторов, на основе которых строится распознавание:

Относительная дата | Дни недели | Точная дата | Модификаторы даты | Модификаторы времени
Послезавтра | Понедельник | 11.02 | После: +час | Утро - 10:00
Завтра | Вторник | 11.02.2013 | Перед: -час | Обед - 14:00
Сегодня | Среда | 11.02.13 - (будет 11.02.2013) | До: -час | Днем - 18:00
Вчера | Четверг |  |  | Вечер - 20:00
Позавчера | Пятница |  |  |
Неделя | Суббота |  |  |
Выходной | Воскресенье |  |  |
Месяц |  |  |  |

Смешивая элементы групп и модификаторов, можно получить сложную дату, например фраза: Напомни в середине следующего месяца поставить тебе задачу вернет дату (пример для сообщения, написанного в апреле 2017-го):

2017-05-16 19:00:00

Пример

Вам нужна только дата:

$date = Bitrix\Main\Type\DateTime::createFromText('Напомни в середине следующего месяца поставить тебе задачу');
$date // Обьект DateTime

Вам нужно больше данных или все найденные даты внутри текста

$results = \Bitrix\Main\Text\DateConverter::decode('Напомни в середине следующего месяца поставить тебе задачу', 1000);
foreach ($results as $result) // Массив обьектов результатов распознования
{
   $result->getDate(); // Обьект DateTime
   $result->getText(); // Распознанный текст, который можете использовать для замены на действие
   $result->getTextPosition(); // Начало распознанного текста
   $result->getTextLength(); //  Длина распознанного текста
   $result->getType(); // Распознанный основной тип
   $result->getMetrics(); // Основная метрика (день недели, неделя и тд)
   $result->getMetricModifier(); // Модификаторы основной метрики (до, после, время)
}


DateConverterResult

DateConverterResult - класс для работы с результатом поиска дат в тексте.

Метод | Описание
[link=5927257]Конструктор DateConverterResult[/link] | Конструктор класса DateConverterResult.
[link=5927261]getDate[/link] | Нестатический метод получает дату из текста и возвращает ее в виде объекта класса DateTime.
[link=5927265]getText[/link] | Нестатический метод преобразует дату в строку.
[link=5927269]getTextPosition[/link] | Нестатический метод возвращает позицию начала части текста, которая была преобразована в дату.
[link=5927273]getTextLength[/link] | Нестатический метод возвращает длину строки, которая была использована для преобразования в дату.
[link=5927277]getType[/link] | Нестатический метод возвращает основной тип распознавания даты.
[link=5927281]getMetrics[/link] | Нестатический метод возвращает массив фраз для распознавания.
[link=5927285]getMetricModifier[/link] | Нестатический метод возвращает массив модификаторов для фраз распознавания.


__construct

 public
\Bitrix\Main\Text\DateConverterResult::__construct(
 \Bitrix\Main\Type\DateTime $date,
 string $text,
  $type = self::TYPE_UNKNOWN,
 array $metrics = array(),
 array $metricModifier = array()
);

Конструктор класса DateConverterResult

Параметры

Параметр | Описание | Версия
$date | Объект класса DateTime |
$text | Текст |
$type | Необязательный параметр - тип распознавания. |
$metrics | Массив фраз для распознавания |
$metricModifier | Массив модификаторов фраз распознавания. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDate

\Bitrix\Main\Type\DateTime|null public
\Bitrix\Main\Text\DateConverterResult::getDate(
);

Нестатический метод получает дату из текста и возвращает ее в виде объекта класса DateTime. В случае неудачи возвращает null.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMetricModifier

array public
\Bitrix\Main\Text\DateConverterResult::getMetricModifier(
);

Нестатический метод возвращает массив модификаторов для фраз распознавания (к примеру, "прошлый", "следующий" и т.п.)

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMetrics

array public
\Bitrix\Main\Text\DateConverterResult::getMetrics(
);

Нестатический метод возвращает массив фраз для распознавания.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getText

string public
\Bitrix\Main\Text\DateConverterResult::getText(
);

Нестатический метод преобразует дату в строку.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTextLength

integer public
\Bitrix\Main\Text\DateConverterResult::getTextLength(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTextPosition

integer public
\Bitrix\Main\Text\DateConverterResult::getTextPosition(
);

Нестатический метод возвращает позицию начала части текста, которая была преобразована в дату.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getType

string public
\Bitrix\Main\Text\DateConverterResult::getType(
);

Нестатический метод возвращает основной тип распознавания даты.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Diff

Diff - класс для визуального отображения изменений.

Метод | Описание
[link=6321859]getDiffHtml[/link] | Нестатический метод получает две версии текста и возвращает текст, в котором разница между версиями визуально выделена.
[link=6321863]getDiffScript[/link] | Нестатический метод получает две версии массива и возвращает скрипт, который необходим для преобразования первого массива во второй.


getDiffHtml

string public
\Bitrix\Main\Text\Diff::getDiffHtml(
 string $a,
 string $b
);

Нестатический метод получает две версии текста и возвращает текст, в котором разница между версиями визуально выделена.

Параметры

Параметр | Описание | Версия
$a | Первая версия текста для сравнения. |
$b | Вторая версия текста для сравнения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDiffScript

array public
\Bitrix\Main\Text\Diff::getDiffScript(
 array $a,
 array $b
);

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

Параметры

Параметр | Описание | Версия
$a | Первый массив. |
$b | Второй массив. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Encoding

Encoding - класс для работы с кодировкой.

Примечание: с версии 20.5.100 Главного модуля (main) класс Encoding работает только с библиотекой mbstring.

Обращается к пространствам имён

  • Bitrix\Main\Loader;
  • Bitrix\Main\Application;
  • Bitrix\Main\Config\Configuration;
  • Bitrix\Main\ErrorCollection;
  • Bitrix\Main\Error.
Метод | Описание | С версии
convertEncoding | Метод конвертирует данные из кодировки источника в целевую кодировку. |


convertEncoding

string|array|\SplFixedArray|boolean public static
\Bitrix\Main\Text\Encoding::convertEncoding(
 string|array|\SplFixedArray $data,
 string $charsetFrom,
 string $charsetTo,
 string $errorMessage = ""
);

Статический метод конвертирует данные из кодировки источника в целевую кодировку. Возвращает сконвертированные данные или false в случае ошибки.

Параметры

Параметр | Описание | Версия
$data | Данные для конвертации. С версии 16.0.10 данные могут быть массивом. |
$charsetFrom | Кодировка источника |
$charsetTo | Целевая кодировка |
$errorMessage | Ссылка на переменную, содержащую сообщения об ошибках. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


HtmlFilter

HtmlFilter - для безопасного вывода в HTML.

Метод | Описание | С версии
encode | Метод конвертирует специальные символы в HTML-сущности для безопасного вывода. |


encode

public static
\Bitrix\Main\Text\HtmlFilter::encode(
 string $string,
 string $flags = "ENT_COMPAT"
);

Статический метод конвертирует специальные символы в HTML-сущности для безопасного вывода.

Параметры

Параметр | Описание | Версия
$string | Конвертируемая строка. |
$flags | Флаг, определяющий режим обработки кавычек, некорректных кодовых последовательностей и используемый тип документа. По умолчанию используется - ENT_COMPAT. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


UtfSafeString

UtfSafeString - класс для безопасных операций со строками, возможно содержащими невалидные символы.

Метод | Описание | С версии
getLastPosition | Метод ищет позицию последнего вхождения подстроки needle в строку haystack. |


getLastPosition

public static
\Bitrix\Main\Text\UtfSafeString::getLastPosition(
  $haystack,
  $needle,
);

Статический метод. Статический метод ищет позицию последнего вхождения подстроки needle в строку haystack. Возвращает номер позиции последнего вхождения искомой подстроки относительно начала строки haystack, независимо от направления поиска. Позиция строки отсчитывается от 0, а не от 1. Возвращает false, если искомая строка не найдена.

Параметры

Параметр | Описание | Версия
$haystack | Строка, в которой производится поиск. |
$needle | Искомая подстрока. Если параметр не является строкой, то он будет преобразован к целому и обработан как код символа. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Type

Type - работа с типами данных: дата, файл и другие.

Класс | Описание | С версии
Collection | Инструменты для работы с массивами и коллекциями | 12.0.7
Date | Класс для работы с датами. | 12.0.10
DateTime | Класс для работы с датами и временем. | 12.0.7
Dictionary | Класс - словарь. | 12.0.7
FilterableDictionary | Фильтрующийся словарь. | 14.0.0
ParameterDictionary | Класс параметров словаря. | 14.0.0
RandomSequence | Класс для генерации псевдослучайных последовательностей. | 14.0.15


Collection

Collection - инструменты для работы с массивами и коллекциями

Метод | Описание | С версии
firstNotEmpty | Метод размещает все аргументы и ключи по парам. | 14.0.4
isAssociative | Метод проверяет является ли массив ассоциативным. | 14.5.4
normalizeArrayValuesByInt | Метод конвертирует значения массива в целые числа, возвращает уникальные значения > 0 | 14.5.4
sortByColumn | Метод сортирует массив по колонкам |


firstNotEmpty

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Type>Collection>firstNotEmpty (с версии 14.0.4)

Collection::firstNotEmpty

mixed|string public static
\Bitrix\Main\Type\Collection::firstNotEmpty(
 array $a,
 string|integer $k,
 mixed $a,...
);

Статический метод размещает все аргументы и ключи по парам.

Нечетные аргументы - массивы, четные - ключи, по которым искать в массивах.

Ключи могут быть массивами. В этом случае поиск происходит во вложенных массивах. Возвращает первый не пустой элемент пары аргумент/ключ.

Параметры

Параметр | Описание | Версия
$a | массив для анализа |
$k | Ключи поиска |
$a,... | Неограниченные последовательно проверяемые пары массив\ключ |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isAssociative

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Type>Collection>isAssociative (с версии 14.5.4)

Collection::isAssociative

boolean public static
\Bitrix\Main\Type\Collection::isAssociative(
  $array
);

Статический метод проверяет является ли массив ассоциативным.

Параметры

Параметр | Описание | Версия
$array | Массив для проверки |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


normalizeArrayValuesByInt

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Type>Collection>normalizeArrayValuesByInt (с версии 14.5.4)

Collection::normalizeArrayValuesByInt

null public static
\Bitrix\Main\Type\Collection::normalizeArrayValuesByInt(
 array $map,
 boolean $sorted = true
);

Статический метод конвертирует значения массива в целые числа, возвращает уникальные значения > 0. Дополнительно: сортирует массив.

Параметры

Параметр | Описание | Версия
$map | массив для нормализации |
$sorted | Если true, результат будет отсортирован |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


sortByColumn

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>Type>Collection>sortByColumn (с версии 12.0.7)

Collection::sortByColumn

 public static
\Bitrix\Main\Type\Collection::sortByColumn(
 array $array,
 string|array $columns,
 string|array $callbacks = '',
 null $defaultValueIfNotSetValue = null,
 boolean $preserveKeys = false
);

Статический метод сортирует массив по колонкам.

Можно использовать короткий вид записи. Например, запись Collection::sortByColumn($arr, 'value'); эквивалентна записи Collection::sortByColumn($arr, array('value' => SORT_ASC))

Пример:

Collection::sortByColumn($arr, array('value' => array(SORT_NUMERIC, SORT_ASC), 'attr' => SORT_DESC), array('attr' => 'strlen'), 'www');

Параметры

Параметр | Описание | Версия
$array |  |
$columns |  |
$callbacks |  |
$defaultValueIfNotSetValue | Если значение не установлено, используется $defaultValueIfNotSetValue (any cols) |
$preserveKeys | Если false числовые ключи переиндексируются. Если true - значения будут сохранены. |

Исключения

  • \Bitrix\Main\ArgumentOutOfRangeException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Date

Date - класс для работы с датами.

Обращается к пространству имён:

  • \Main;
  • \Main\DB;
  • \Main\Context.
Метод | Описание | С версии
add | Метод выполняет арифметические действия с датами. | 14.0.18
convertFormatToPhp | Метод конвертирует формат даты из региональных настроек в PHP формат. | 14.0.18
createFromPhp | Метод создаёт объект Date из PHP объекта \DateTime. | 14.5.0
createFromTimestamp | Метод создаёт объект Date из Unix метки времени. | 14.5.0
format | Метод возвращает строковое значение формата даты. | 14.0.18
getFormat | Метод конвертирует формат даты из региональных настроек в PHP формат. | 14.0.18
getTimestamp | Метод возвращает Unix отметку времени для даты. | 14.0.18
isCorrect | Метод проверяет строку на корректность даты | 14.0.18
toString | Метод конвертирует дату в строку. | 14.0.18
__clone | Метод создаёт копию объекта. | 14.0.18
__toString | Метод конвертирует дату в строку в соответствии с региональными установками по умолчанию. | 14.0.18


__clone

void public
\Bitrix\Main\Type\Date::__clone(
);

Нестатический метод создаёт копию объекта.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


__toString

string public
\Bitrix\Main\Type\Date::__toString(
);

Нестатический метод конвертирует дату в строку в соответствии с региональными установками по умолчанию.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


add

\Bitrix\Main\Type\Date public
\Bitrix\Main\Type\Date::add(
 string $interval
);

Нестатический метод выполняет арифметические действия с датами.

Продолжительность каждого периода представлена числовым значением, следующим за указателем периода. Если продолжительность включает элементы времени, то этой части спецификации предшествует буква T.

Форматы метода аналогичны форматам дат [image] и интервалов [image] в PHP.

Примеры: два дня - 2D, две секунды - T2S, 6 лет и 5 минут - 6YT5M.

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

Примеры: "+5 weeks", "12 day", "-7 weekdays", '3 months - 5 days'

Параметры

Параметр | Описание | Версия
$interval | Временной интервал для добавления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


convertFormatToPhp

mixed public static
\Bitrix\Main\Type\Date::convertFormatToPhp(
 string $format
);

Статический метод конвертирует формат даты из региональных настроек в PHP формат. Аналог старого CDatabase::DateFormatToPHP

Параметры

Параметр | Описание | Версия
$format | Format string. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createFromPhp

static public static
\Bitrix\Main\Type\Date::createFromPhp(
 \DateTime $datetime
);

Статический метод создаёт объект класса \Date из PHP объекта класса \DateTime.

Параметры

Параметр | Описание | Версия
$datetime | Источник объекта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createFromTimestamp

static public static
\Bitrix\Main\Type\Date::createFromTimestamp(
 integer $timestamp
);

Статический метод создаёт объект класса \Date из Unix метки времени.

Параметры

Параметр | Описание | Версия
$timestamp | Метка времени. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


format

string public
\Bitrix\Main\Type\Date::format(
 string $format
);

Нестатический метод возвращает строковое значение формата даты.

Параметры

Параметр | Описание | Версия
$format | PHP формат даты. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFormat

string public static
\Bitrix\Main\Type\Date::getFormat(
 \Bitrix\Main\Context\Culture $culture = null
);

Статический метод конвертирует формат даты из региональных настроек в PHP формат.

Параметры

Параметр | Описание | Версия
$culture | Культурные настройки. |

Примеры

use \Bitrix\Main\Type;
$dateTime = new Type\DateTime();
echo $dateTime->format(Type\Date::getFormat());


getTimestamp

integer public
\Bitrix\Main\Type\Date::getTimestamp(
);

Нестатический метод возвращает Unix отметку времени для даты.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isCorrect

boolean public static
\Bitrix\Main\Type\Date::isCorrect(
 string $time,
 string $format = null
);

Статический метод проверяет строку на корректность даты (при попытке создать объект класса \Date).

Параметры

Параметр | Описание | Версия
$time | Строковое представление даты. |
$format | Формат PHP даты. Если не указано, то используется формат текущих настроек. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


toString

string public
\Bitrix\Main\Type\Date::toString(
 \Bitrix\Main\Context\Culture $culture = null
);

Нестатический метод конвертирует дату в строку.

Параметры

Параметр | Описание | Версия
$culture | Региональные настройки даты. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DateTime

Описание

DateTime - Класс для работы с датами и временем. Большинство дат в ядре - объекты этого класса. Сам класс - расширение класса Date.

Обращается к пространству имён:

  • \Main;
  • \Main\DB;
  • \Main\Context.

Объект класса \Datetime является практически аналогом встроенного в PHP класса \DateTime [image], но от него не наследуется. Объект класса \DateTime можно получить из объекта PHP-класса с помощью метода \Bitrix\Main\Type\DateTime::createFromPhp или из timestamp с помощью \Bitrix\Main\Type\DateTime::createFromTimestamp:

$objDateTime = DateTime::createFromPhp(new \DateTime('2000-01-01'));

$objDateTime = DateTime::createFromTimestamp(1346506620);

Конструкторы:

// Текущее время:
$objDateTime = new DateTime();
// Из строки в формате текущего сайта
$objDateTime = new DateTime("25.12.2012 12:30:00");
// Из строки с указанием формата:
$objDateTime = new DateTime("2007-05-14 12:10:00", "Y-m-d H:i:s");

Методы

Метод | Описание | С версии
createFromTimestamp | Метод создаёт объект DateTime из временной метки Unix. | 15.0.7
createFromPhp | Метод создаёт объект DateTime объекта \DateTime PHP. |
createFromUserTime | Метод создаёт DateTime объект из локального времени пользователя с использованием глобальных настроек временной зоны и региональных настроек по умолчанию. | 14.0.18
getTimeZone | Метод возвращает объект временной зоны |
setDefaultTimeZone | Метод устанавливает временную зону по умолчанию. | 14.0.18
setTimeZone | Метод устанавливает объект временной зоны. | 14.0.18
toString | Метод конвертирует дату в строку с использованием региональных настроек и настроек глобальных временных зон. |
toUserTime | Метод изменяет время с серверного на время пользователя с использованием настроек глобальных временных зон. | 14.0.18

Примеры

Как из объекта получить представление в виде timestamp:

echo $objDateTime->getTimestamp();

Как из объекта получить представление в виде строки в формате текущего сайта:

echo $objDateTime->toString();

Как из объекта получить представление в произвольном формате (используя \Bitrix\Main\Type\DateTime::format):

echo $objDateTime->format("Y-m-d H:i:s");

Реализовать сложение и вычитание дат можно указывая смещение словами: years, months, days, weeks, hours, minutes, seconds и знаками +/-:

$objDateTime = new DateTime("01.01.2012 00:00:00"); // "2012-01-01 00:00:00"
$objDateTime->add("1 day"); // "2012-01-02 00:00:00"
$objDateTime->add("-1 day"); // "2011-12-31 00:00:00"
$objDateTime->add("3 months - 5 days + 10 minutes"); // "2012-03-27 00:10:00"

Можно указывать смещение в формате DateInterval [image] (но буква P в начале строки необязательна):

$objDateTime = new DateTime("01.01.2012 00:00:00"); // "2012-01-01 00:00:00"
$objDateTime->add("7M5DT2M"); // "2012-08-06 00:02:00"
$objDateTime->add("-2YT10M"); // "2009-12-31 23:50:00"

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

Время из формата текущего сайта:

$date = new \Bitrix\Main\Type\DateTime("16.08.2014 15:30:10");

$arFields = Array(
   'DATE_START' => \Bitrix\Main\Type\DateTime::createFromUserTime("16.08.2014 15:30:10");
);

Фильтр по datetime:

//для текущей даты
$filter = array(
   "<DATE_START" => new \Bitrix\Main\Type\DateTime(),
   ">DATE_END" => new \Bitrix\Main\Type\DateTime(),
);


createFromPhp

static public static
\Bitrix\Main\Type\DateTime::createFromPhp(
 \DateTime $datetime
);

Статический метод создаёт объект класса \DateTime из объекта \DateTime [image] PHP.

Параметры

Параметр | Описание | Версия
$datetime | Объект источника. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createFromTimestamp

static public static
\Bitrix\Main\Type\DateTime::createFromTimestamp(
 integer $timestamp
);

Статический метод создаёт объект класса \DateTime из временной метки Unix.

Параметры

Параметр | Описание | Версия
$timestamp | Временная метка источника. |

Примеры

Создание объекта по timestamp

\Bitrix\Main\Type\DateTime::createFromTimestamp(strtotime("+5 days"));
/*$date = Bitrix\Main\Type\DateTime Object
                        ( [value:protected] => DateTime Object
                                (
                                    [date] => 2014-09-02 12:00:00
                                    [timezone_type] => 3
                                    [timezone] => Europe/Minsk
                                )

                        );*/
echo $date->toString(new \Bitrix\Main\Context\Culture(array("FORMAT_DATETIME" => "HH:MI"))); // на выходе 12:00


createFromUserTime

\Bitrix\Main\Type\DateTime public static
\Bitrix\Main\Type\DateTime::createFromUserTime(
 string $timeString
);

Статический метод создаёт объект класса \DateTime из локального времени пользователя с использованием глобальных настроек временной зоны и региональных настроек по умолчанию.

Параметры

Параметр | Описание | Версия
$timeString | Полное или краткое форматированное время. |

Примеры

//время из формата текущего сайта, в случае отсутствия время подставляет 00:00:00
\Bitrix\Main\Type\DateTime::createFromUserTime("16.08.2014 15:30:10");

//время из формата текущего сайта
$date = new \Bitrix\Main\Type\DateTime("16.08.2014 15:30:10");

$arFields = Array(
   'DATE_START' => \Bitrix\Main\Type\DateTime::createFromUserTime("16.08.2014 15:30:10");
);


getTimeZone

\DateTimeZone public
\Bitrix\Main\Type\DateTime::getTimeZone(
);

Нестатический метод возвращает объект временной зоны.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDefaultTimeZone

\Bitrix\Main\Type\DateTime public
\Bitrix\Main\Type\DateTime::setDefaultTimeZone(
);

Нестатический метод устанавливает временную зону по умолчанию.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setTimeZone

\Bitrix\Main\Type\DateTime public
\Bitrix\Main\Type\DateTime::setTimeZone(
 \DateTimeZone $timezone
);

Нестатический метод устанавливает объект временной зоны.

Параметры

Параметр | Описание | Версия
$timezone | Объект временной зоны. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


toString

string public
\Bitrix\Main\Type\DateTime::toString(
 \Bitrix\Main\Context\Culture $culture = null
);

Нестатический метод конвертирует дату в строку с использованием региональных настроек [image] и настроек глобальных временных зон.

Параметры

Параметр | Описание | Версия
$culture | Формат даты и времени для региональных настроек. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


toUserTime

\Bitrix\Main\Type\DateTime public
\Bitrix\Main\Type\DateTime::toUserTime(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Dictionary

Dictionary - класс - словарь. Включает \ArrayAccess, \Iterator, \Countable.

Метод | Описание | С версии
count | Метод подсчитывает число элементов объекта. |
current | Метод возвращает текущий элемент. |
get | Метод возвращает любую переменную по её имени. |
isEmpty | Метод возвращает true если словарь пустой | 15.5.9
key | Метод возвращает ключ текущего элемента. |
next | Переход вперёд к следующему элементу |
offsetExists | Существует ли смещение. |
offsetGet | Установка по получению. |
offsetSet | Установка по смещению. |
offsetUnset | Очистка по смещению. |
rewind | Метод возвращает итератор к первому элементу. |
toArray | Метод возвращает значения как массив. |
valid | Метод проверяет валидность текущей позиции. |
Конструктор | Метод создаёт объект класса. |


count

 public
\Bitrix\Main\Type\Dictionary::count(
);

Нестатический метод подсчитывает число элементов объекта.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


current

 public
\Bitrix\Main\Type\Dictionary::current(
);

Нестатический метод возвращает текущий элемент.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


get

string public
\Bitrix\Main\Type\Dictionary::get(
 string $name
);

Нестатический метод возвращает любую переменную по её имени. Возвращает 0, если переменной не существует.

Параметры

Параметр | Описание | Версия
$name |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isEmpty

boolean public
\Bitrix\Main\Type\Dictionary::isEmpty(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


key

 public
\Bitrix\Main\Type\Dictionary::key(
);

Нестатический метод возвращает ключ текущего элемента.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


next

 public
\Bitrix\Main\Type\Dictionary::next(
);

Нестатический метод. Переход вперёд к следующему элементу.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


offsetExists

 public
\Bitrix\Main\Type\Dictionary::offsetExists(
);

Нестатический метод. Существует ли смещение.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


offsetGet

 public
\Bitrix\Main\Type\Dictionary::offsetGet(
);

Нестатический метод. Установка по получению.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


offsetSet

 public
\Bitrix\Main\Type\Dictionary::offsetSet(
);

Нестатический метод. Установка по смещению.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


offsetUnset

 public
\Bitrix\Main\Type\Dictionary::offsetUnset(
);

Нестатический метод. Очистка по смещению.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


rewind

 public
\Bitrix\Main\Type\Dictionary::rewind(
);

Нестатический метод возвращает итератор к первому элементу.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


toArray

array public
\Bitrix\Main\Type\Dictionary::toArray(
);

Нестатический метод возвращает значения как массив.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


valid

 public
\Bitrix\Main\Type\Dictionary::valid(
);

Нестатический метод проверяет валидность текущей позиции.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор Dictionary

 public
\Bitrix\Main\Type\Dictionary::__construct(
 array $values = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия.

Параметры

Параметр | Описание | Версия
$values |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


FilterableDictionary

FilterableDictionary - фильтрующийся словарь. Расширение класса \Bitrix\Main\Type\Dictionary.

Метод | Описание | С версии
Конструктор | Метод создаёт объект класса. |
getRaw | Метод возвращает оригинальное значение любой переменной по её имени. |
offsetUnset | Очистка по смещению. |
offsetSet | Установка по смещению. |


getRaw

string public
\Bitrix\Main\Type\FilterableDictionary::getRaw(
 string $name
);

Нестатический метод возвращает оригинальное значение любой переменной по её имени. Возвращает 0, если переменная не существует.

Параметры

Параметр | Описание | Версия
$name |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


offsetSet

 public
\Bitrix\Main\Type\FilterableDictionary::offsetSet(
);

Нестатический метод. Установка по смещению.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


offsetUnset

 public
\Bitrix\Main\Type\FilterableDictionary::offsetUnset(
);

Нестатический метод. Очистка по смещению.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор FilterableDictionary

 public
\Bitrix\Main\Type\FilterableDictionary::__construct(
 array $values
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести при создании объекта какие-то действия.

Параметры

Параметр | Описание | Версия
$values |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ParameterDictionary

ParameterDictionary - класс параметров словаря. Расширение класса \Bitrix\Main\Type\Dictionary.

Обращается к пространству имён:

  • \Bitrix\Main\NotSupportedException
Метод | Описание | С версии
getRaw | Метод возвращает оригинальное значение любой переменной по её имени. |
offsetSet | Установка по смещению. |
offsetUnset | Очистка по смещению. |


getRaw

string public
\Bitrix\Main\Type\ParameterDictionary::getRaw(
 string $name
);

Нестатический метод возвращает оригинальное значение любой переменной по её имени. Возвращает 0, если переменной не существует.

Параметры

Параметр | Описание | Версия
$name |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


offsetSet

 public
\Bitrix\Main\Type\ParameterDictionary::offsetSet(
);

Нестатический метод. Установка по смещению.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


offsetUnset

 public
\Bitrix\Main\Type\ParameterDictionary::offsetUnset(
);

Нестатический метод. Очистка по смещению.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


RandomSequence

RandomSequence - Класс для генерации псевдослучайных последовательностей. Не использовать для любых криптографических или защитных целей.

Метод | Описание | С версии
getNext | Метод возвращает следующее псевдослучайное значение последовательности. |
rand | Метод возвращает следующее псевдослучайное числовое значение последовательности |
randString | Метод возвращает следующую псевдослучайную строку из последовательности. |
Конструктор | Метод запускает новую последовательность псевдослучайных значений. |

Пример

use \Bitrix\Main\Type\RandomSequence;
 $rs = new RandomSequence("A");
 echo $rs->randString();


getNext

integer public
\Bitrix\Main\Type\RandomSequence::getNext(
);

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

Результат - подписанное 32-хбитное целое число.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


rand

integer public
\Bitrix\Main\Type\RandomSequence::rand(
 integer $min,
 integer $max
);

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

Значение выбирается между $min и $max, включая границы.

Параметры

Параметр | Описание | Версия
$min |  |
$max |  |

Исключения

  • \Bitrix\Main\NotSupportedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


randString

string public
\Bitrix\Main\Type\RandomSequence::randString(
 integer $length = 10
);

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

Параметры

Параметр | Описание | Версия
$length |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор RandomSequence

void public
\Bitrix\Main\Type\RandomSequence::__construct(
 string $seed = ""
);

Нестатический метод запускает новую последовательность псевдослучайных значений.

Параметры

Параметр | Описание | Версия
$seed |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


UI

UI - пространство имён пользовательских интерфейсов.

Класс | Описание | С версии
PageNavigation | Класс для простой навигации. |
ReversePageNavigation | Класс для обратной навигации |
Uploader | Пространство имён для классов загрузки файлов. |
Spotlight | Класс для работы с Spotlight. |
Filter | Пространство имён для классов работы с фильтром |


Filter

Filter - Пространство имён для классов работы с фильтром.

Список классов

Класс | Описание
Type | Класс для работы с типами полей.
NumberType | Класс для работы с типами числовых полей.
DateType | Класс для работы с подтипами поля даты.
Theme | Класс для работы с темами.
DateTime | Класс для работы с датами.
Field | Класс методов полей фильтра.
Actions | Класс методов действий фильтра.
Options | Класс методов настройки фильтра.
Quarter | Класс рассчитывает начальную и конечную дату квартала, по номеру квартала


Actions

Action - класс для работы с действиями фильтра.

Список методов

Метод | Описание
[link=5927469]getList[/link] | Метод возвращает список действий.


getList

array public static
\Bitrix\Main\UI\Filter\Actions::getList(
);

Статический метод возвращает список действий.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


AdditionalDateType

AdditionalDateType - класса методов работы с дополнительными типами данных.

Метод | Описание | С версии
getList | Метод получает список подтипов полей данных |


getList

array public static
\Bitrix\Main\UI\Filter\AdditionalDateType::getList(
);

Статический метод получает список подтипов полей данных.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DateTime

DateTime - класс для работы с датами.

Список методов

Метод | Описание
[link=5927517]year[/link] | Метод возвращает значение года.
[link=5927521]quarter[/link] | Метод возвращает значение номера квартала.
[link=5927525]quarterStart[/link] | Метод возвращает значение даты начала квартала.
[link=5927529]quarterEnd[/link] | Метод возвращает значение даты конца квартала.
[link=5927533]offset[/link] | Метод возвращает значение даты с заданным отступом.
[link=5927537]toString[/link] | Метод возвращает значение даты в виде строки.
[link=5927541]getTimestamp[/link] | Метод возвращает текущую отметку времени в формате объекта класса \Bitrix\Main\UI\Filter\number.
[link=5927509]Конструктор[/link] | Конструктор класса DateTime.
[link=5927513]month[/link] | Метод возвращает значение месяца.


__construct

 public
\Bitrix\Main\UI\Filter\DateTime::__construct(
 string $timestamp = ""
);

Конструктор класса DateTime.

Параметры

Параметр | Описание | Версия
$timestamp | Отметка времени |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTimestamp

\Bitrix\Main\UI\Filter\number public
\Bitrix\Main\UI\Filter\DateTime::getTimestamp(
);

Метод возвращает текущую отметку времени в формате объекта класса \Bitrix\Main\UI\Filter\number.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


month

string public
\Bitrix\Main\UI\Filter\DateTime::month(
);

Метод возвращает значение месяца.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


offset

string public
\Bitrix\Main\UI\Filter\DateTime::offset(
 string $offset
);

Метод возвращает значение даты с заданным отступом.

Параметры

Параметр | Описание | Версия
$offset | Значение отступа |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


quarter

integer public
\Bitrix\Main\UI\Filter\DateTime::quarter(
);

Метод возвращает значение номера квартала.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


quarterEnd

string public
\Bitrix\Main\UI\Filter\DateTime::quarterEnd(
);

Метод возвращает значение даты конца квартала.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


quarterStart

string public
\Bitrix\Main\UI\Filter\DateTime::quarterStart(
);

Метод возвращает значение даты начала квартала.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


toString

string public
\Bitrix\Main\UI\Filter\DateTime::toString(
);

Метод возвращает значение даты в виде строки.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


year

string public
\Bitrix\Main\UI\Filter\DateTime::year(
);

Метод возвращает значение года.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DateType

DateType - класс для работы с подтипами поля даты.

Список методов

Метод | Описание
[link=5927561]getList[/link] | Статический метод возвращает список подтипов поля даты.


getList

array public static
\Bitrix\Main\UI\Filter\DateType::getList(
);

Статический метод возвращает список подтипов поля даты.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Field

Field - класс для работы с полями фильтра.

Список методов

Метод | Описание
[link=5927485]customEntity[/link] | Метод обрабатывает данные поля custom_entity.
[link=5927489]date[/link] | Метод обрабатывает данные поля date.
[link=5927493]number[/link] | Метод обрабатывает данные поля number.
[link=5927497]select[/link] | Метод обрабатывает данные поля select.
[link=5927501]multiSelect[/link] | Метод обрабатывает данные поля multiselect.
[link=5927477]string[/link] | Метод обрабатывает данные поля string.
[link=5927481]custom[/link] | Метод обрабатывает данные поля custom.


custom

array public static
\Bitrix\Main\UI\Filter\Field::custom(
 string $name,
 string $value,
 string $label = "",
 string $placeholder = "",
 boolean $style = false
);

Статический метод обрабатывает данные поля custom и возвращает готовый массив.

Параметры

Параметр | Описание | Версия
$name | Название |
$value | Значение |
$label | Заголовок |
$placeholder | Плейсхолдер |
$style | Использован ли стиль |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


customEntity

array public static
\Bitrix\Main\UI\Filter\Field::customEntity(
 string $name,
 string $label = "",
 string $placeholder = "",
 boolean $multiple = false
);

Статический метод обрабатывает данные поля custom_entity и возвращает готовый массив.

Параметры

Параметр | Описание | Версия
$name | Название |
$label | Заголовок |
$placeholder | Плейсхолдер |
$multiple | Является ли множественным |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


date

array public static
\Bitrix\Main\UI\Filter\Field::date(
 string $name,
 string $type = \Bitrix\Main\UI\Filter\DateType::NONE,
 array $values = array(),
 string $label = "",
 string $placeholder = "",
 boolean $enableTime = false,
 array $exclude = array()
);

Статический метод обрабатывает данные поля date и возвращает готовый массив.

Параметры

Параметр | Описание | Версия
$name | Название |
$type | Тип |
$values | Массив значений |
$label | Заголовок |
$placeholder | Плейсхолдер |
$enableTime | Логический параметр использования времени. |
$exclude | Массив исключений |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


multiSelect

array public static
\Bitrix\Main\UI\Filter\Field::multiSelect(
 string $name,
 array $items,
 array $defaultValues = array(),
 string $label = "",
 string $placeholder = ""
);

Статический метод обрабатывает данные поля multiselect и возвращает готовый массив.

Параметры

Параметр | Описание | Версия
$name | Название |
$items | Массив элементов |
$defaultValues | Массив значений по умолчанию |
$label | Название |
$placeholder | Плейсхолдер |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


number

array public static
\Bitrix\Main\UI\Filter\Field::number(
 string $name,
 string $type = \Bitrix\Main\UI\Filter\NumberType::SINGLE,
 array $values = array(),
 string $label = "",
 string $placeholder = ""
);

Статический метод обрабатывает данные поля date и возвращает готовый массив.

Параметры

Параметр | Описание | Версия
$name | Название |
$type | Тип |
$values | Массив значений |
$label | Заголовок |
$placeholder | Плейсхолдер |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


select

array public static
\Bitrix\Main\UI\Filter\Field::select(
 string $name,
 array $items,
 array $defaultValue = array(),
 string $label = "",
 string $placeholder = ""
);

Статический метод обрабатывает данные поля select и возвращает готовый массив.

Параметры

Параметр | Описание | Версия
$name | Название |
$items | Массив элементов |
$defaultValue | Массив значений по умолчанию |
$label | Заголовок |
$placeholder | Плейсхолдер |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


string

array public static
\Bitrix\Main\UI\Filter\Field::string(
 string $name,
 string $defaultValue = "",
 string $label = "",
 string $placeholder = ""
);

Статический метод обрабатывает данные поля string и возвращает готовый массив.

Параметры

Параметр | Описание | Версия
$name | Название |
$defaultValue | Значение по умолчанию |
$label | Заголовок |
$placeholder | Плейсхолдер |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


NumberType

NumberType - класс для работы с типами числовых полей.

Список методов

Метод | Описание
[link=5927569]getList[/link] | Статический метод возвращает список типов числовых полей.


getList

array public static
\Bitrix\Main\UI\Filter\NumberType::getList(
);

Статический метод возвращает список типов числовых полей.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Options

Options - Класс методов настройки фильтра.

Метод | Описание
Конструктор | Метод-конструктор
[link=5927409]getFilter[/link] | Метод возвращает текущие значения фильтра.
[link=5927413]getSearchString[/link] | Метод возвращает значение строки поиска фильтра.
[link=5927417]save[/link] | Метод сохраняет значения фильтра.
[link=5927421]getAllUserOptions[/link] | Метод возвращает опции фильтра для всех пользователей в виде объекта класса CDBResult.
[link=5927425]saveForAll[/link] | Метод сохраняет опции фильтра для всех пользователей.
[link=5927429]isCommon[/link] | Метод возвращает true, если параметры общие.
[link=5927433]saveOptionsForUser[/link] | Метод сохраняет параметры для пользователя с ID $userId.
[link=5927437]saveCommon[/link] | Метод сохраняет текущие параметры как общие.
[link=5927441]setFilterRows[/link] | Метод устанавливает порядок рядов фильтра.
[link=5927445]restore[/link] | Метод сбрасывает настройки фильтра к настройкам по умолчанию.
[link=5927449]deleteFilter[/link] | Метод удаляет предустановку фильтра по его ID.
[link=5927453]isDeletedPreset[/link] | Метод проверяет удалена ли предустановка.
[link=5927457]calcDates[/link] | Метод рассчитывает значение даты.
[link=5927461]reset[/link] | Метод сбрасывает текущий примененный фильтр.
[link=5927353]fetchCommonPresets[/link] | Метод получает список общих предустановок из базы данных.
[link=5927357]fetchOptions[/link] | Метод получает настройки фильтра из базы данных.
[link=5927361]findDefaultPresetId[/link] | Метод возвращает ID общей предустановки фильтра из массива предустановок.
[link=5927365]getOptions[/link] | Метод возвращает массив настроек фильтра.
[link=5927369]pinPreset[/link] | Метод делает предустановку общей.
[link=5927373]isSetFromRequest[/link] | Метод возвращает true если поля были установлены AJAX-запросом.
[link=5927377]fetchSettingsFromQuery[/link] | Метод получает значения полей из запроса.
[link=5927381]getSessionFilterId[/link] | Метод возвращает ID фильтра сессии.
[link=5927385]getDefaultFilterId[/link] | Метод возвращает ID фильтра по умолчанию.
[link=5927389]getCurrentFilterId[/link] | Метод возвращает ID текущего фильтра.
[link=5927393]getFilterSettings[/link] | Метод возвращает массив настроек фильтра по ID предустановки.
[link=5927401]fetchDateFieldValue[/link] | Метод получает значения поля даты.
[link=5927405]fetchNumberFieldValue[/link] | >Метод получает значения числового поля.
[link=5927313]getId[/link] | Метод возвращает ID фильтра.
[link=5927317]setPresets[/link] | Метод устанавливает предустановки фильтра.
[link=5927321]setCurrentPreset[/link] | Метод устанавливает предустановку в качестве текущей.
[link=5927325]getDefaultPresets[/link] | Метод возвращает массив предустановок по умолчанию из опций фильтра.
[link=5927329]getPresets[/link] | Метод возвращает массив предустановок.
[link=5927333]setDefaultPreset[/link] | Метод устанавливает предустановку в качестве предустановки по умолчанию.
[link=5927337]isUsePinPreset[/link] | Метод возвращает список действий.
[link=5927341]setDefaultPresets[/link] | Метод устанавливает предустановки в качестве предустановок по умолчанию.
[link=5927345]setDeletedPresets[/link] | Метод задаёт удаленные предустановки.
[link=5927469]setUsePinPreset[/link] | Метод устанавливает значение поля use_pin_preset.
[link=5927469]getFilterId[/link] | Метод возвращает ID фильтра.
[link=5927469]setupDefaultFilter[/link] | Метод устанавливает настройки фильтра по умолчанию.


calcDates

 public static
\Bitrix\Main\UI\Filter\Options::calcDates(
 string $fieldId,
 array $source,
 array $result
);

Статический метод рассчитывает значение даты. Метод ничего не возвращает.

Параметры

Параметр | Описание | Версия
$fieldId | ID поля |
$source | Массив значений источника |
$result | Массив результатов |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteFilter

 public
\Bitrix\Main\UI\Filter\Options::deleteFilter(
 string $presetId,
 boolean $isDefault = false
);

Метод удаляет предустановку фильтра по его ID. Метод ничего не возвращает.

Параметры

Параметр | Описание | Версия
$presetId | ID предустановки. |
$isDefault | Является ли настройкой по умолчанию. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


fetchCommonPresets

array|boolean public
\Bitrix\Main\UI\Filter\Options::fetchCommonPresets(
 string $id
);

Метод получает список общих предустановок из базы данных. Возвращает массив предустановок или false в случае неудачи.

Параметры

Параметр | Описание | Версия
$id | ID общих предустановок - $arParams["COMMON_PRESETS_ID"] |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


fetchDateFieldValue

array public static
\Bitrix\Main\UI\Filter\Options::fetchDateFieldValue(
 string $key = "",
 array $filterFields = array()
);

Статический метод получает значения поля даты.

Параметры

Параметр | Описание | Версия
$key | Ключ
$filterFields Массив полей фильтра.

Возвращаемые значения:
  • custom_date (произвольная дата) - возвращаемое значение:
    "DATE_CREATE_days" => array("1", "2"),
"DATE_CREATE_months" => array("4", "8"),
"DATE_CREATE_years" => array("2017")
  • date (дата) - значения поля будут возвращаться как набор полей с постфиксами _datesel, _from, _to, _days, _year, _quarter.
    "FIELD_datesel" => "Тип значения",
"FIELD_from" => "Начало диапазона",
"FIELD_to" => "Конец диапазона",
"FIELD_days" => "Количество дней",
"FIELD_year" => "Год",
"FIELD_quarter" => "Номер квартала",
"FIELD_month" => "Порядковый номер месяца. Без ведущего нуля"

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


fetchNumberFieldValue

array public static
\Bitrix\Main\UI\Filter\Options::fetchNumberFieldValue(
 string $key = "",
 array $filterFields = array()
);

Метод получает значения числового поля.

Параметры

Параметр | Описание | Версия
$key | Ключ
$filterFields Массив полей фильтра.

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

number (число) - значение поля будет возвращено в виде нескольких полей с постфиксами _numsel, _from, _to.
"FIELD_numsel" => "Тип значения",
"FIELD_from" => "Начало диапазона",
"FIELD_to" => "Конец диапазона"

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


fetchOptions

array|boolean public
\Bitrix\Main\UI\Filter\Options::fetchOptions(
 string $id
);

Метод получает настройки фильтра из базы данных. Возвращает массив настроек или false в случае неудачи

Параметры

Параметр | Описание | Версия
$id | ID фильтра - $arParams["FILTER_ID"] |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


fetchSettingsFromQuery

array|null public static
\Bitrix\Main\UI\Filter\Options::fetchSettingsFromQuery(
 array $fields = array(),
 \Bitrix\Main\HttpRequest $request
);

Статический метод, получает значения полей из запроса. Метод возвращает массив значений или null в случае неудачи.

Параметры

Параметр | Описание | Версия
$fields | Массив полей. Каждое поле должно содержать обязательные свойства, а также может содержать и необязательные свойства, присущие конкретному типу поля (см. ниже пункт Свойства полей). |
$request | Запрос - объект класса HttpRequest |

Свойства полей

Свойства всех типов полей:

Ключ | Тип | Обязательное | Значение по умолчанию | Описание
id | String | Да |  | Идентификатор поля. Например, NAME, USERNAME
name | String | Да |  | Отображаемое название поля. Будет выводиться пользователю.
default | Boolean | Нет | false | Определяет, будет ли поле выводиться по умолчанию.
type | Boolean | Нет | "string" | Определяет тип поля.

Свойства полей в зависимости от типа:

(по умолчанию, без явно указанного типа, поля приводятся к типу “строка”)

  • string (строка)

    Для полей типа строка тип можно не указывать. Либо явно указать "string".

    Пример

    array(
   "id" => "NAME",
   "name" => "Название"
)

  • list (список)

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

    Дополнительные свойства
    Ключ | Тип | Обязательное | Значение по умолчанию | Описание
    params | Array | Нет | array("multiple" => "N") | Определяет параметры списка. Может содержать свойство multiple со значением "Y"|"N". Свойство определяет, будет ли список множественным.
    items | Array | Нет | array("Не указано") | Ассоциативный массив определяющий элементы списка.
    Примеры
    1. Список с одиночным выбором.
      array(
   "id" => "MARK",
   "name" => "Оценка",
   "type" => "list",
   "items" => array(
      "P" => "Положительная",
      "N" => "Отрицательная",
   )
)
    2. Список с множественным выбором.
      array(
   "id" => "PARAMS",
   "name" => "Параметры задачи",
   "type" => "list",
   "params" => array(
      "multiple" => "Y",
   ),
   "items" => array(
      "MARKED" => "Оценены",
      "IN_REPORT" => "В отчете",
      "OVERDUED" => "Завершены не в срок",
      "ANY_TASK" => "Показать задачи, в которых я не участвую",
   )
)

  • custom_date (произвольная дата)

    Позволяет производить сложную фильтрацию по датам. Поле позволяет выбрать элементы, которые, например, были созданы 1-го числа в апреле и декабре, в 2012 и 2014 году.

    Пример

    array(
   "id" => "DATE_CREATE",
   "name" => "Дата создания",
   "type" => "custom_date"
)

  • date (дата)

    Поля типа дата могут поддерживать несколько типов значений, объявленных в \Bitrix\Main\UI\Filter\DateType. Это “точная дата”, “диапазон”, “последние N дней” и т. п.

    Дополнительные свойства
    Ключ | Тип | Обязательное | Значение по умолчанию | Описание
    time | Boolean | Нет | false | Включает поддержку времени.
    exclude | Array | Нет | array() | Определяет, какие типы значений исключить из текущего поля. Типы значений объявлены \Bitrix\Main\UI\Filter\DateType.
    Примеры
    1. Стандартное поле.
      array(
   "id" => "DATE_START",
   "name" => "Дата начала",
   "type" => "date"
)
    2. Поле с поддержкой времени.
      array(
   "id" => "DATE_START",
   "name" => "Дата начала",
   "type" => "date",
   "time" => true
)
    3. Поле с исключенными типами значений.
      array(
   "id" => "DATE_START",
   "name" => "Дата начала",
   "type" => "date",
   "exclude" => array(
      \Bitrix\Main\UI\Filter\DateType::LAST_7_DAYS,
      \Bitrix\Main\UI\Filter\DateType::LAST_30_DAYS,
      \Bitrix\Main\UI\Filter\DateType::LAST_60_DAYS,
      \Bitrix\Main\UI\Filter\DateType::LAST_90_DAYS
   )
)

  • number (число)

    Поля типа число могут поддерживать несколько типов значений, объявленных в \Bitrix\Main\UI\Filter\NumberType.

    Пример

    array(
   "id" => "ID",
   "name" => "ID",
   "type" => "number"
)

  • checkbox (чекбокс)

    Поле типа чекбокс реализует поле типа список с предустановленными элементами списка. Чекбокс, в отличии от нативного контрола, имеет три значения: “Да”, “Нет” и “Не выбрано”.

    Дополнительные свойства
    Ключ Тип Обязательное Значение по умолчанию Описание
    valueType String Нет "" Определяет тип возвращаемого значения. Может принимать значение "numeric" или пустую строку. Если указано "numeric", то в качестве значения будет возвращаться 1|0, если не указано или указано значение, отличное от "numeric", то будет возвращаться Y|N.
    Пример

    array(
   "id" => "IS_CHECKED",
   "name" => "Чекбокс",
   "type" => "checkbox"
)

  • custom_entity (выбор сущности)

    Реализует пользовательский и программный интерфейс для взаимодействия с данными вне фильтра. Например, выбор сущности CRM, выбор группы, пользователя и т. п.

    Дополнительные свойства
    Ключ | Тип | Обязательное | Значение по умолчанию | Описание
    valueType String Нет "" Определяет тип возвращаемого значения. Может принимать значение "numeric" или пустую строку. Если указано "numeric", то в качестве значения будет возвращаться 1|0, если не указано или указано значение, отличное от "numeric", то будет возвращаться Y|N.
    params | Array | Нет | array("multiple" => "N") | Определяет параметры поля. Может содержать свойство multiple со значением "Y"/"N", свойство определяет, будет ли поддержка множественного выбора.

    Пользовательский интерфейс реализован как текстовое поле с вставляемыми в него значениями.

    Программный интерфейс реализует набор Javascript событий и объект поля с набором методов для взаимодействия с ним.

    События:

    • customEntityFocus [Field:BX.Main.ui.CustomEntity] - срабатывает, когда поле находится в фокусе, обычно по этому событию рядом с полем показывают всплывающее окно с вариантами возможных значений поля.
    • customEntityBlur [Field:BX.Main.ui.CustomEntity] - срабатывает, когда поле потеряло фокус. Обычно по этому событию закрывают показанное ранее всплывающее окно. Событие не срабатывает, когда фокус переходит на всплывающее окно.
    • customEntityRemove [Field:BX.Main.ui.CustomEntity] - срабатывает, когда пользователь удалил поле.

    Методы:

    • BX.Main.ui.CustomEntity.setData (label:string, value:string|items:object[]) : void - устанавливает значение поля.
      Параметры поля с одиночным выбором значения
      Параметр | Тип | Обязательное | Описание
      label | String | Да | Значение, которое отображается пользователю.
      value | String | Да | Значение, которое будет возвращено фильтром
      Параметры поля с поддержкой множественного выбора значений
      Параметр | Тип | Обязательное | Описание
      item | Object[] | Да | Массив объектов со свойствами label и value.
      value | String | Да | Значение, которое будет возвращено фильтром.
    • BX.Main.ui.CustomEntity.setPopupContainer (container:HTMLElement) : void - устанавливает контейнер всплывающего окна, это необходимо для корректной обработки событий.
    • BX.Main.ui.CustomEntity.getCurrentValues () : object - возвращает текущее значение поля. Вернет объект со свойствами label, value.
    • BX.Main.ui.CustomEntity.getField () : ?HTMLElement - возвращает ссылку на корневой элемент поля.
    • BX.Main.ui.CustomEntity.getLabelNode () : ?HTMLInputElement - возвращает ссылку на элемент поля ввода.
    • BX.Main.ui.CustomEntity.isMultiple () : Boolean - проверяет, является ли поле множественным.
    Пример
    Создадим поле, при клике на которое будет открываться попап с возможностью выбрать значение.

    Добавляем поле в фильтр
    array(
   "id" => "CREATED_BY",
   "name" => "Постановщик",
   "type" => "custom_entity"
)
    Создаем обработчики событий
    BX.addCustomEvent('BX.Main.Filter:customEntityFocus', onFieldFocus);
BX.addCustomEvent('BX.Main.Filter:customEntityBlur', onFieldBlur);

function onFieldFocus(Field) {
   // Устанавливаем ссылку на контейнер окна
   // BX.Main.ui.CustomEntity.setPopupContainer(container)
   // Показываем всплывающее окно
}

function onFieldBlur() {
   // Скрываем окно
}


findDefaultPresetId

string public static
\Bitrix\Main\UI\Filter\Options::findDefaultPresetId(
 array $presets = array()
);

Статический метод возвращает ID общей предустановки фильтра из массива предустановок.

Параметры

Параметр | Описание | Версия
$presets | Массив предустановок |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAllUserOptions

boolean|\CDBResult public
\Bitrix\Main\UI\Filter\Options::getAllUserOptions(
);

Метод возвращает опции фильтра для всех пользователей в виде объекта класса CDBResult. Возвращает false в случае неудачи.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrentFilterId

mixed public
\Bitrix\Main\UI\Filter\Options::getCurrentFilterId(
);

Метод возвращает ID текущего фильтра.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDefaultFilterId

mixed public
\Bitrix\Main\UI\Filter\Options::getDefaultFilterId(
);

Метод возвращает ID фильтра по умолчанию.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDefaultPresets

array|null public
\Bitrix\Main\UI\Filter\Options::getDefaultPresets(
);

Метод возвращает массив предустановок по умолчанию из опций фильтра. Возвращает null в случае неудачи.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFilter

array public
\Bitrix\Main\UI\Filter\Options::getFilter(
 array $sourceFields = array()
);

Метод возвращает текущие значения фильтра.

Параметры

Параметр Описание Версия
$sourceFields Массив полей фильтра $arParams["FILTER"].

Возвращаемые значения разных типов полей:
  • string (строка) - значение поля будет возвращено как “id поля” => “Значение поля”;
  • list (список) - для списка с одиночным выбором значение будет возвращено как "id поля" => "Значение выбранного элемента", для списка с множественным выбором "id поля" => "Массив значений выбранных элементов";
  • custom_date (произвольная дата) - возвращаемое значение:
    "DATE_CREATE_days" => array("1", "2"),
"DATE_CREATE_months" => array("4", "8"),
"DATE_CREATE_years" => array("2017")
  • date (дата) - значения поля будут возвращаться как набор полей с постфиксами _datesel, _from, _to, _days, _year, _quarter.
    "FIELD_datesel" => "Тип значения",
"FIELD_from" => "Начало диапазона",
"FIELD_to" => "Конец диапазона",
"FIELD_days" => "Количество дней",
"FIELD_year" => "Год",
"FIELD_quarter" => "Номер квартала",
"FIELD_month" => "Порядковый номер месяца. Без ведущего нуля"
  • number (число) - значение поля будет возвращено в виде нескольких полей с постфиксами _numsel, _from, _to.
    "FIELD_numsel" => "Тип значения",
"FIELD_from" => "Начало диапазона",
"FIELD_to" => "Конец диапазона"
  • checkbox (чекбокс) - ключ valueType поля типа чекбокс может принимать значение "numeric" или пустую строку. Если указано "numeric", то в качестве значения будет возвращаться 1|0, если не указано или указано значение отличное от "numeric", то будет возвращаться Y|N.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFilterSettings

array|null public
\Bitrix\Main\UI\Filter\Options::getFilterSettings(
  $presetId
);

Метод возвращает массив настроек фильтра по ID предустановки. Возвращает null в случае неудачи.

Параметры

Параметр | Описание | Версия
$presetId | ID предустановки |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getId

string public
\Bitrix\Main\UI\Filter\Options::getId(
);

Метод возвращает ID фильтра.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOptions

array public
\Bitrix\Main\UI\Filter\Options::getOptions(
);

Метод возвращает массив настроек фильтра.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPresets

array|null public
\Bitrix\Main\UI\Filter\Options::getPresets(
);

Метод возвращает массив предустановок. Возвращает null в случае неудачи.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSearchString

string public
\Bitrix\Main\UI\Filter\Options::getSearchString(
);

Метод возвращает значение строки поиска фильтра.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSessionFilterId

mixed public
\Bitrix\Main\UI\Filter\Options::getSessionFilterId(
);

Метод возвращает ID фильтра сессии.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isCommon

boolean public static
\Bitrix\Main\UI\Filter\Options::isCommon(
  $options
);

Статический метод возвращает true, если параметры общие. Возвращает false, если параметры привязаны к пользователю.

Checks whether the parameters is common

Параметры

Параметр | Описание | Версия
$options | Параметры |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isDeletedPreset

boolean public
\Bitrix\Main\UI\Filter\Options::isDeletedPreset(
 string $presetId
);

Метод проверяет удалена ли предустановка. Возвращает true или false

Параметры

Параметр | Описание | Версия
$presetId | ID предустановки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isSetFromRequest

boolean public static
\Bitrix\Main\UI\Filter\Options::isSetFromRequest(
 \Bitrix\Main\HttpRequest $request
);

Метод возвращает true если поля были установлены AJAX-запросом. Возвращает false в обратном случае.

Параметры

Параметр | Описание | Версия
$request | Объект класса HttpRequest |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isUsePinPreset

boolean public
\Bitrix\Main\UI\Filter\Options::isUsePinPreset(
);

Метод проверяет необходимость использования закрепленной предустановки. Возвращает true или false.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


pinPreset

 public
\Bitrix\Main\UI\Filter\Options::pinPreset(
 string $presetId = "default_filter"
);

Метод делает предустановку общей. Метод ничего не возвращает.

Параметры

Параметр | Описание | Версия
$presetId | ID предустановки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


reset

 public
\Bitrix\Main\UI\Filter\Options::reset(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


restore

 public
\Bitrix\Main\UI\Filter\Options::restore(
 array $settings = array()
);

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

Параметры

Параметр | Описание | Версия
$settings | Массив настроек |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


save

 public
\Bitrix\Main\UI\Filter\Options::save(
);

Метод сохраняет значения фильтра. Метод ничего не возвращает.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


saveCommon

 public
\Bitrix\Main\UI\Filter\Options::saveCommon(
);

Метод сохраняет текущие параметры как общие.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


saveForAll

 public
\Bitrix\Main\UI\Filter\Options::saveForAll(
);

Метод сохраняет опции фильтра для всех пользователей. Метод ничего не возвращает.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


saveOptionsForUser

 public
\Bitrix\Main\UI\Filter\Options::saveOptionsForUser(
 array $options = array(),
  $userId
);

Метод сохраняет параметры для пользователя с ID $userId. Метод ничего не возвращает.

Параметры

Параметр | Описание | Версия
$options | Массив параметров |
$userId | ID пользователя |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setCurrentPreset

 public
\Bitrix\Main\UI\Filter\Options::setCurrentPreset(
 string $presetId = "default_filter"
);

Метод устанавливает предустановку в качестве текущей. Метод ничего не возвращает.

Параметры

Параметр | Описание | Версия
$presetId | ID предустановки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDefaultPreset

 public
\Bitrix\Main\UI\Filter\Options::setDefaultPreset(
 string $presetId = "default_filter"
);

Метод устанавливает предустановку в качестве предустановки по умолчанию. Метод ничего не возвращает.

Параметры

Параметр | Описание | Версия
$presetId |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDefaultPresets

 public
\Bitrix\Main\UI\Filter\Options::setDefaultPresets(
 array $presets = array()
);

Метод устанавливает предустановки в качестве предустановок по умолчанию. Метод ничего не возвращает.

Параметры

Параметр | Описание | Версия
$presets | Массив предустановок |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDeletedPresets

 public
\Bitrix\Main\UI\Filter\Options::setDeletedPresets(
 array $deletedPresets = array()
);

Метод задаёт удаленные предустановки. Метод ничего не возвращает.

Параметры

Параметр | Описание | Версия
$deletedPresets | Массив удаленных предустановок |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setFilterRows

 public
\Bitrix\Main\UI\Filter\Options::setFilterRows(
 string $presetId = "",
  $rows
);

Метод устанавливает порядок рядов фильтра. Метод ничего не возвращает.

Параметры

Параметр | Описание | Версия
$presetId | ID предустановки. |
$rows | Ряды |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setPresets

 public
\Bitrix\Main\UI\Filter\Options::setPresets(
 array $presets = array()
);

Метод устанавливает предустановки фильтра. Метод ничего не возвращает.

Параметры

Параметр | Описание | Версия
$presets | Массив предустановок. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setUsePinPreset

 public
\Bitrix\Main\UI\Filter\Options::setUsePinPreset(
 boolean $value = true
);

Метод устанавливает значение поля use_pin_preset. Метод ничего не возвращает.

Параметры

Параметр | Описание | Версия
$value |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор Options

 public
\Bitrix\Main\UI\Filter\Options::__construct(
  $filterId;
  $filterPresets = array()
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести какие-то действия, при создании объекта.

Параметры

Параметр | Описание | Версия
$filterId | Идентификатор фильтра. Строка. |
$filterPresets | Пресеты фильтра. Необязательный параметр. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Quarter

Quarter - класс для работы с расчетами квартала.

Метод | Описание
[link=5407213]getStartDate[/link] | Метод возвращает начальную дату квартала.
[link=5407209]get[/link] | Метод возвращает номер квартала из объекта Bitrix\Main\Type\Date.
[link=5407217]getEndDate[/link] | Метод возвращает конечную дату квартала.
[link=5407205]getCurrent[/link] | Метод возвращает номер текущего квартала.


get

integer public static
\Bitrix\Main\UI\Filter\Quarter::get(
 \Bitrix\Main\Type\Date $date
);

Статический метод возвращает номер квартала из объекта Bitrix\Main\Type\Date.

Параметры

Параметр | Описание | Версия
$date | Дата |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrent

integer public static
\Bitrix\Main\UI\Filter\Quarter::getCurrent(
);

Статический метод возвращает номер текущего квартала.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEndDate

string public static
\Bitrix\Main\UI\Filter\Quarter::getEndDate(
  $quarter,
  $year
);

Статический метод возвращает дату завершения квартала.

Параметры

Параметр | Описание | Версия
$quarter | Квартал |
$year | Год |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getStartDate

string public static
\Bitrix\Main\UI\Filter\Quarter::getStartDate(
  $quarter,
  $year
);

Статический метод возвращает начальную дату квартала.

Параметры

Параметр | Описание | Версия
$quarter | квартал |
$year | год |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Theme

Theme - класс для работы с темами.

Список методов

Метод | Описание
[link=5927549]getList[/link] | Статический метод возвращает список тем.


getList

array public static
\Bitrix\Main\UI\Filter\Theme::getList(
);

Статический метод возвращает список тем.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Type

Type - класс для работы с типами полей.

Список методов

Метод | Описание
[link=5927577]getList[/link] | Статический метод возвращает список типов.


getList

array public static
\Bitrix\Main\UI\Filter\Type::getList(
);

Статический метод возвращает список типов полей.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


PageNavigation

PageNavigation - класс рассчитывает лимит для запроса БД и использует другие источники данных для организации постраничной навигации при просмотре результатов.

Обращается к пространству имён:

  • \Main\Web
Метод | Описание | С версии
addParams | Метод возвращает URI с параметрами навигации |
allRecordsAllowed | Метод возвращает true если показаны все разрешённые записи. |
allRecordsShown | Метод возвращает true если показаны все записи на одной странице. |
clearParams | Метод сбрасывает URI из навигационных параметров и возвращает его. |
getCurrentPage | Метод возвращает номер текущей страницы. |
getId | Метод возвращает ID навигации |
getLimit | Метод возвращает число записей на текущей странице. |
getOffset | Метод возвращает смещение первой записи для текущей страницы. |
getPageCount | Метод возвращает число страниц или 0 если не существует записи числа страниц. |
getPageSize | Метод возвращает "формальный" размер страницы. |
getPageSizes | Метод возвращает разрешённые размеры страниц. |
getRecordCount | Метод возвращает число записей. |
initFromUri | Метод инициализирует навигацию от URI. |
setPageSizes | Метод контролирует размеры страниц доступных через пользовательский интерфейс. |

См. также:

  • Постраничная навигация [image] в курсе Разработчик Bitrix Framework


addParams

\Bitrix\Main\Web\Uri public
\Bitrix\Main\UI\PageNavigation::addParams(
 \Bitrix\Main\Web\Uri $uri,
 boolean $sef,
 string $page,
 string $size = null
);

Нестатический метод возвращает URI с параметрами навигации совместимыми с initFromUri.

Параметры

Параметр | Описание | Версия
$uri |  |
$sef | Режим SEF. |
$page | Номер страницы. |
$size | Размер страницы. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


allRecordsAllowed

boolean public
\Bitrix\Main\UI\PageNavigation::allRecordsAllowed(
);

Нестатический метод возвращает true если показаны все разрешённые записи.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


allRecordsShown

boolean public
\Bitrix\Main\UI\PageNavigation::allRecordsShown(
);

Нестатический метод возвращает true если показаны все записи на одной странице.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearParams

\Bitrix\Main\Web\Uri public
\Bitrix\Main\UI\PageNavigation::clearParams(
 \Bitrix\Main\Web\Uri $uri,
 boolean $sef
);

Нестатический метод сбрасывает URI из навигационных параметров и возвращает его.

Параметры

Параметр | Описание | Версия
$uri |  |
$sef | Режим SEF. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrentPage

integer public
\Bitrix\Main\UI\PageNavigation::getCurrentPage(
);

Нестатический метод возвращает номер текущей страницы.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getId

string public
\Bitrix\Main\UI\PageNavigation::getId(
);

Нестатический метод возвращает ID навигации.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLimit

integer public
\Bitrix\Main\UI\PageNavigation::getLimit(
);

Нестатический метод возвращает число записей на текущей странице.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOffset

integer public
\Bitrix\Main\UI\PageNavigation::getOffset(
);

Нестатический метод возвращает смещение первой записи для текущей страницы.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPageCount

integer public
\Bitrix\Main\UI\PageNavigation::getPageCount(
);

Нестатический метод возвращает число страниц или 0 если не существует записи числа страниц.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPageSize

integer public
\Bitrix\Main\UI\PageNavigation::getPageSize(
);

Нестатический метод возвращает "формальный" размер страницы.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPageSizes

array public
\Bitrix\Main\UI\PageNavigation::getPageSizes(
);

Нестатический метод возвращает разрешённые размеры страниц.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRecordCount

integer|null public
\Bitrix\Main\UI\PageNavigation::getRecordCount(
);

Нестатический метод возвращает число записей.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


initFromUri

 public
\Bitrix\Main\UI\PageNavigation::initFromUri(
);

Нестатический метод инициализирует навигацию от URI.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setPageSizes

\Bitrix\Main\UI\PageNavigation public
\Bitrix\Main\UI\PageNavigation::setPageSizes(
 array $sizes
);

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

Параметры

Параметр | Описание | Версия
$sizes | Массив целых чисел. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ReversePageNavigation

ReversePageNavigation - класс для обратной навигации. Расширение класса \Main\UI\PageNavigation.

Обращается к пространству имён:

  • \Main\Web.
Метод | Описание | С версии
getCurrentPage | Метод возвращает номер текущей страницы. |
getLimit | Метод возвращает число записей на текущей странице. |
getOffset | Метод возвращает смещение первой записи текущей страницы. |
getPageCount | Метод возвращает число страниц. |

См. также:

  • Постраничная навигация [image] в курсе Разработчик Bitrix Framework


getCurrentPage

integer public
\Bitrix\Main\UI\ReversePageNavigation::getCurrentPage(
);

Нестатический метод возвращает номер текущей страницы.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLimit

integer public
\Bitrix\Main\UI\ReversePageNavigation::getLimit(
);

Нестатический метод возвращает число записей на текущей странице.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOffset

integer public
\Bitrix\Main\UI\ReversePageNavigation::getOffset(
);

Нестатический метод возвращает смещение первой записи текущей страницы.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPageCount

integer public
\Bitrix\Main\UI\ReversePageNavigation::getPageCount(
);

Нестатический метод возвращает число страниц.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Отправить отзыв по этому разделу

Spotlight

  • Методы


Методы

Класс \Bitrix\Main\UI\Spotlight позволяет:

  • Зафиксировать факт просмотра подсказки конкретным пользователем.
  • Определить нужно ли конкретному пользователю показывать пульсирующий круг.
Метод Описание С версии
new Spotlight(
   $id
)
 Конструктор класса.

Параметр:

  • id - идентификатор подсказки.

Пример:

use \Bitrix\Main\UI\Spotlight;

$spotlight = new Spotlight("my-hint");
$spotlight->setEndDate(time() - 3600);
$spotlight->setLifetime(3600 * 5);
$spotlight->setUserTimeSpan(3600 * 5);
$spotlight->setUserType(Spotlight::USER_TYPE_NEW); //для новых пользователей
if ($spotlight->isAvailable())
{
  //можно показывать подсказку
}

spotlight.isAvailable(
   $userId = false
)
 Возвращает true, если подсказка доступна пользователю.

Параметры:

  • userId {number} - Идентификатор пользователя.

spotlight.getActivationDate
 Возвращает дату (timestamp) активации подсказки на сайте.
spotlight.activate(
   $activationDate = false
)
 Активирует подсказку на сайте.

Параметры:

  • activationDate {number} - Дата активации подсказки на сайте в секундах (timestamp). По умолчанию текущее время.

spotlight.deactivate
 Деактивирует подсказку на сайте.
spotlight.isViewed(
   $userId
)
 Возвращает true, если подсказка была просмотрена.

Параметры:

  • userId {number} - Идентификатор пользователя.

spotlight.getViewDate(
   $userId
)
 Возвращает дату просмотра подсказки.

Параметры:

  • userId {number} - Идентификатор пользователя.

spotlight.setViewDate(
   $userId,
   $date = false
)
 Устанавливает дату просмотра подсказки.

Параметры:

  • userId {number} - Идентификатор пользователя.
  • date {number} - Дата просмотра подсказки в секундах (timestamp). По умолчанию текущее время.

spotlight.unsetViewDate(
   $userId
)
 Сбрасывает дату просмотра подсказки.

Параметры:

  • userId {number} - Идентификатор пользователя.

spotlight.getId
 Возвращает идентификатор подсказки.
spotlight.getUserType
 Возвращает тип пользователя. Возвращаемые значения:
  • NEW - новый пользователь.
  • OLD - старый пользователь.
  • ALL - любой пользователь.

spotlight.setUserType(
   $userType
)
 Устанавливает тип пользователя, для которого нужно определить доступность подсказки.

Параметры:

  • userType - Тип пользователя. Допустимые значения:
    • Spotlight::USER_TYPE_OLD - старый пользователь.
    • Spotlight::USER_TYPE_NEW - новый пользователь.
    • Spotlight::USER_TYPE_ALL - любой пользователь.

spotlight.setUserTimeSpan(
   $userTimeSpan
)
 Устанавливает промежуток времени, по которому определяется новый/старый пользователь.

Параметры:

  • userTimeSpan {number} - Промежуток времени в секундах.

spotlight.getUserTimeSpan
 Возвращает промежуток времени, по которому определяется новый/старый пользователь.
spotlight.getLifetime
 Возвращает время жизни подсказки в секундах.
spotlight.setLifetime(
   $lifetime
)
 Устанавливает время жизни подсказки.

Параметры:

  • lifetime {number} - Время жизни подсказки в секундах

spotlight.getStartDate
 Возвращает дату, с которой начнется показ подсказки. Возвращает null, если дата не задана.
spotlight.setStartDate(
   $startDate
)
 Устанавливает дату, с которой начнется показ подсказки.

Параметры:

  • startDate {number|null} - Дата, с которой начнется показ подсказки в секундах (timestamp).

spotlight.getEndDate
 Возвращает дату, до которой возможен показ подсказки. Возвращает null, если дата не задана.
spotlight.setEndDate(
   $endDate
)
 Устанавливает дату, до которой возможен показ подсказки.

Параметры:

  • endDate {number|null} - Дата, до которой возможен показ подсказки в секундах (timestamp).


Uploader

Uploader - пространство имён для классов загрузки файлов.

Класс | Описание | С версии
Uploader | Класс для методов по загрузке файлов. | 16.0.0


Uploader

Uploader - класс для методов по загрузке файлов.

Обращается к пространству имён:

  • \Main\Web\Uri;
  • \Main\Web\Json;
  • \Main\Web\HttpClient;
  • \Main\UI\FileInputUtility.
Метод | Описание | С версии
getFile | Метод возвращает все сохранённые данные для хеша этого файла. |
merge | Метод соединяет два массива с несколькими вложенными ключами. |
uploadData | Главный метод для загрузки данных. |


getFile

array public
\Bitrix\Main\UI\Uploader\Uploader::getFile(
  $hash,
 boolean $copies = false,
 boolean $watermark = false
);

Нестатический метод возвращает все сохранённые данные для хеша этого файла.

Параметры

Параметр | Описание | Версия
$hash |  |
$copies |  |
$watermark |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


merge

array public static
\Bitrix\Main\UI\Uploader\Uploader::merge(
  $res,
  $res2
);

Статический метод соединяет два массива с несколькими вложенными ключами: array_merge перемещает ключи на второй уровень и вложенный array_merge_recursive подобных умноженных ключей.

Параметры

Параметр | Описание | Версия
$res |  |
$res2 |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


uploadData

 public
\Bitrix\Main\UI\Uploader\Uploader::uploadData(
);

Нестатический метод. Главный метод для загрузки данных.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


UrlPreview

UrlPreview - пространство имён для работы с "богатыми ссылками".

Класс | Описание | С версии
HtmlDocument | Класс для работы с HTML документом. |
Parser | Абстрактный класс-парсер. |
ParserChain | Класс последовательности парсеров. |
Router | Класс-маршрутизатор |
RouteTable | Класс для работы с таблицей маршрутов. |
UrlMetadataTable | Класс для работы с метаданными "богатых ссылок". |
UrlPreview | Класс для работы с "богатыми ссылками". |


HtmlDocument

HtmlDocument - класс для работы с HTML документом.

Обращается к пространству имён:

  • \Main\Context;
  • \Main\Text\Encoding;
  • \Main\Web\Uri;
Метод | Описание | С версии
Конструктор | Конструктор класса HtmlDocument. |
checkMetadata | Метод возвращает true если метаданные заполнены. |
detectEncoding | Автоопределение и установка кодировки HTML документа. |
extractElementAttributes | Метод парсит html контент для атрибутов указанных элементов и заполняет $destination массивом найденных атрибутов. |
getExtraField | Метод возвращает значение поля дополнительных метаданных. |
getHtml | Метод возвращает полный html код документа. |
getLinkHref | Метод возвращает значение атрибута href элемента link с указанным атрибутом rel. |
getMetaContent | Метод возвращает значение атрибута контента. |
getMetadata | Метод возвращает метаданные, извлечённые из страницы. |
getTitle | Метод возвращает метаданные TITLE документа. |
getUri | Метод возвращает URI документа. |
setDescription | Метод устанавливает метаданные DESCRIPTION для документа. |
setEmbed | Метод устанавливает метаданные EMBED для документа, если это разрешено. |
setEncoding | Метод устанавливает кодировку HTML документа. |
setExtraField | Метод устанавливает дополнительные поля метаданных. |
setImage | Метод устанавливает метаданные IMAGE для документа. |
setTitle | Метод устанавливает метаданные TITLE для документа. |


checkMetadata

boolean public
\Bitrix\Main\UrlPreview\HtmlDocument::checkMetadata(
);

Нестатический метод возвращает true если метаданные заполнены.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


detectEncoding

string public
\Bitrix\Main\UrlPreview\HtmlDocument::detectEncoding(
);

Нестатический метод. Автоопределение и установка кодировки HTML документа.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


extractElementAttributes

array public
\Bitrix\Main\UrlPreview\HtmlDocument::extractElementAttributes(
 string $tagName
);

Нестатический метод парсит html контент для атрибутов указанных элементов и заполняет $destination массивом найденных атрибутов.

Параметры

Параметр | Описание | Версия
$tagName | Имя тега. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getExtraField

string|null public
\Bitrix\Main\UrlPreview\HtmlDocument::getExtraField(
 string $fieldName
);

Нестатический метод возвращает значение поля дополнительных метаданных.

Параметры

Параметр | Описание | Версия
$fieldName | Имя поля. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getHtml

string public
\Bitrix\Main\UrlPreview\HtmlDocument::getHtml(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLinkHref

string public
\Bitrix\Main\UrlPreview\HtmlDocument::getLinkHref(
 string $rel
);

Нестатический метод возвращает значение атрибута href элемента link с указанным атрибутом rel.

Параметры

Параметр | Описание | Версия
$rel | Значение атрибута rel. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMetaContent

string public
\Bitrix\Main\UrlPreview\HtmlDocument::getMetaContent(
 string $name
);

Нестатический метод возвращает значение атрибута контента.

Параметры

Параметр | Описание | Версия
$name | Значение имени или свойства атрибута. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMetadata

array|false public
\Bitrix\Main\UrlPreview\HtmlDocument::getMetadata(
);

Нестатический метод возвращает метаданные, извлечённые из страницы. Будет возвращён массив с запрошенным ключом TITLE и дополнительными ключами DESCRIPTION и URL.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTitle

string public
\Bitrix\Main\UrlPreview\HtmlDocument::getTitle(
);

Нестатический метод возвращает метаданные TITLE документа.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUri

\Bitrix\Main\Web\Uri public
\Bitrix\Main\UrlPreview\HtmlDocument::getUri(
);

Нестатический метод возвращает URI документа.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDescription

void public
\Bitrix\Main\UrlPreview\HtmlDocument::setDescription(
 string $description
);

Нестатический метод устанавливает метаданные DESCRIPTION для документа.

Параметры

Параметр | Описание | Версия
$description | Описание |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setEmbed

void public
\Bitrix\Main\UrlPreview\HtmlDocument::setEmbed(
 string $embed
);

Нестатический метод устанавливает метаданные EMBED для документа, если это разрешено.

Параметры

Параметр | Описание | Версия
$embed | HTML код для ссылающегося объекта на странице. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setEncoding

void public
\Bitrix\Main\UrlPreview\HtmlDocument::setEncoding(
 string $encoding
);

Нестатический метод устанавливает кодировку HTML документа.

Параметры

Параметр | Описание | Версия
$encoding | Кодировка документа. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setExtraField

void public
\Bitrix\Main\UrlPreview\HtmlDocument::setExtraField(
 string $fieldName,
 string $fieldValue
);

Нестатический метод устанавливает дополнительные поля метаданных.

Параметры

Параметр | Описание | Версия
$fieldName Название поля. Допускаемые значения:
  • FAVICON: $fieldValue должен содержать URL для фавикона
  • IMAGES: $fieldValue должен быть массив URL картинок, обнаруженных в документе.
  • В других случаях $fieldValue должен содержать простой текст.
$fieldValue | Значение поля.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setImage

void public
\Bitrix\Main\UrlPreview\HtmlDocument::setImage(
 string $image
);

Нестатический метод устанавливает метаданные IMAGE для документа.

Параметры

Параметр | Описание | Версия
$image | URL главной картинки документа. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setTitle

void public
\Bitrix\Main\UrlPreview\HtmlDocument::setTitle(
 string $title
);

Нестатический метод устанавливает метаданные TITLE для документа.

Параметры

Параметр | Описание | Версия
$title | Название |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор HtmlDocument

 public
\Bitrix\Main\UrlPreview\HtmlDocument::__construct(
 string $html,
 \Bitrix\Main\Web\Uri $uri
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести какие-то действия при создании объекта.

Параметры

Параметр | Описание | Версия
$html | Код HTML документа. |
$uri | URL документа. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Parser

Parser - абстрактный класс-парсер.

Метод | Описание | С версии
handle | Абстрактный метод парсит документ и заполняет свойства метаданных документа. |
Common::handle | Метод парсит метатеги HTML документа и заполняет поля метаданных документа. |
Oembed::handle | Метод загружает и парсит метаданные HTML документа, форматируя их по стандарту oEmbed. |
OpenGraph::handle | Метод парсит HTML документ по разметке OpenGraph. |
SchemaOrg::handle | Метод парсит метаданные HTML документа по стандарту Schema.org. |


handle

 public
\Bitrix\Main\UrlPreview\Parser::handle(
 \Bitrix\Main\UrlPreview\HtmlDocument $document
);

Абстрактный нестатический метод парсит документ и заполняет свойства метаданных документа, которые не были заполнены предыдущими парсерами в цепочке.

Параметры

Параметр | Описание | Версия
$document |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Common

Common. Расширение класса \Main\UrlPreview\Parser.

Обращается к пространству имён:

  • \Main\Web\HttpHeaders;
  • \Main\UrlPreview\HtmlDocumentt;
  • \Main\UrlPreview\Parser.
Метод | Описание | С версии
handle | Метод парсит метатеги HTML документа и заполняет поля метаданных документа. |


handle

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>UrlPreview>Parser>Common>handle (с версии 16.0.0)

Common::handle

void public
\Bitrix\Main\UrlPreview\Parser\Common::handle(
 \Bitrix\Main\UrlPreview\HtmlDocument $document
);

Нестатический метод парсит метатеги HTML документа и заполняет поля метаданных документа.

Параметры

Параметр | Описание | Версия
$document | HTML документ для сканирования метаданных |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Oembed

Oembed - класс-парсер по по стандарту oEmbed. Расширение класса \Main\UrlPreview\Parser.

Обращается к пространству имён:

  • \Main\Web\Json;
  • \Main\Text\Encoding;
  • \Main\Web\HttpClient;
  • \Main\UrlPreview\HtmlDocumentt;
  • \Main\UrlPreview\Parser.
Метод | Описание | С версии
handle | Метод загружает и парсит метаданные HTML документа, форматируя их по стандарту oEmbed |


handle

 public
\Bitrix\Main\UrlPreview\Parser\Oembed::handle(
 \Bitrix\Main\UrlPreview\HtmlDocument $document
);

Нестатический метод загружает и парсит метаданные HTML документа, форматируя их по стандарту oEmbed.

Параметры

Параметр | Описание | Версия
$document | HTML документ. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


OpenGraph

OpenGraph - класс-парсер по разметке Open Graph. Расширение класса \Main\UrlPreview\Parser.

Обращается к пространству имён:

  • \Main\UrlPreview\HtmlDocumentt;
  • \Main\UrlPreview\Parser
Метод | Описание | С версии
handle | Метод парсит HTML документ по разметке OpenGraph. |


handle

void public
\Bitrix\Main\UrlPreview\Parser\OpenGraph::handle(
 \Bitrix\Main\UrlPreview\HtmlDocument $document
);

Нестатический метод парсит HTML документ по разметке OpenGraph.

Параметры

Параметр | Описание | Версия
$document | HTML документ для парсинга. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SchemaOrg

SchemaOrg - класса для парсинга документов по стандарту schema.org. Расширение класса \Main\UrlPreview\Parser.

Обращается к пространству имён:

  • \Main\Web\HttpHeaders;
  • \Main\UrlPreview\HtmlDocumentt;
  • \Main\UrlPreview\Parser
Метод | Описание | С версии
handle | Метод парсит метаданные HTML документа по стандарту Schema.org. |


handle

 public
\Bitrix\Main\UrlPreview\Parser\SchemaOrg::handle(
 \Bitrix\Main\UrlPreview\HtmlDocument $document
);

Нестатический метод парсит метаданные HTML документа по стандарту Schema.org.

Параметры

Параметр | Описание | Версия
$document |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ParserChain

ParserChain - класс последовательности парсеров.

Обращается к пространству имён:

  • \Main\ArgumentException;
  • \Main\Web\Uri;
Метод | Описание | С версии
extractMetadata | Метод выполняет последовательность парсеров для приходящего $document. |
registerMetadataParser | Метод регистрирует специальный парсер для хоста. |


extractMetadata

 public static
\Bitrix\Main\UrlPreview\ParserChain::extractMetadata(
 \Bitrix\Main\UrlPreview\HtmlDocument $document
);

Статический метод выполняет последовательность парсеров для приходящего $document.

Параметры

Параметр | Описание | Версия
$document |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


registerMetadataParser

 public static
\Bitrix\Main\UrlPreview\ParserChain::registerMetadataParser(
 string $host,
 string $parserClassName
);

Статический метод регистрирует специальный парсер для хоста.

Параметры

Параметр | Описание | Версия
$host | Хост |
$parserClassName | Класс парсера - расширение \Bitrix\Main\UrlPreview\Parser |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Router

Router - класс-маршрутизатор.

Обращается к пространству имён:

  • \Main\Application;
  • \Main\ArgumentException;
  • \Main\Web\Uri;
Метод | Описание | С версии
dispatch | Метод возвращает обработчик для URL. |
invalidateRouteCache | Метод сбрасывает кеш маршрутизатора. |
setRouteHandler | Метод добавляет или изменяет метод обработки маршрута. |


dispatch

array|false public static
\Bitrix\Main\UrlPreview\Router::dispatch(
 \Bitrix\Main\Web\Uri $uri
);

Статический метод возвращает обработчик для URL.

Параметры

Параметр | Описание | Версия
$uri | Абсолютный или относительный URL. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


invalidateRouteCache

void public static
\Bitrix\Main\UrlPreview\Router::invalidateRouteCache(
);

Статический метод сбрасывает кеш маршрутизатора.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setRouteHandler

void public static
\Bitrix\Main\UrlPreview\Router::setRouteHandler(
 string $route,
 string $handlerModule,
 string $handlerClass,
 array $handlerParameters
);

Статический метод добавляет или, если маршрут существует, изменяет метод обработки маршрута.

Параметры

Параметр | Описание | Версия
$route | Шаблон URL маршрута. Параметры маршрута следует заключать в хеш символы, пример: /user/#userId#/.
$handlerModule | Модуль обработчика маршрута.
$handlerClass Класс обработчика маршрута должен применять методы:
  • buildPreview($params): string Метод должен принимать массив параметров и возвращать готовую "богатую ссылку".
  • checkUserReadAccess($params): boolean. Метод должен принимать массив параметров и возвращать true, если зарегистрированный пользователь успешно прочитал сущность и false в противном случае.
  • getCacheTag(): string. Метод должен возвращать тег кеша для сущности.
$handlerParameters | Массив параметров отправляемых методом в обработчик. Массив должен быть передан как аргумент когда вызывается метод обработчика для создания "богатой ссылки" или проверки доступа. Массив значений должен содержать переменные, ссылающиеся на параметры маршрута, например: ['userId' => '$userId'].

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


RouteTable

RouteTable - класс для работы с таблицей маршрутов.

Обращается к пространству имён:

  • \Main;
  • \Main\Application;
  • \Main\Entity;
  • \Main\Entity\AddResult;
  • \Main\Entity\ScalarField.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getByRoute | Метод возвращает первую запись, отфильтрованную по значению переменной $route. |
getMap | Метод возвращает описание карты сущностей. |
getTableName | Метод возвращает имя таблицы БД для сущности. |
merge | Метод добавляет маршрут в таблицу маршрутов. |
serializeParameters | Метод сериализирует значение переменной $value. |
unserializeParameters | Метод десериализирует значение переменной $value. |


getByRoute

array|false public static
\Bitrix\Main\UrlPreview\RouteTable::getByRoute(
 string $route
);

Статический метод возвращает первую запись, отфильтрованную по значению переменной $route.

Параметры

Параметр | Описание | Версия
$route | Шаблон маршрута. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Main\UrlPreview\RouteTable::getMap(
);

Статический метод возвращает описание карты сущностей.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Main\UrlPreview\RouteTable::getTableName(
);

Статический метод возвращает имя таблицы БД для сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


merge

\Bitrix\Main\Entity\AddResult public static
\Bitrix\Main\UrlPreview\RouteTable::merge(
 array $data
);

Статический метод добавляет маршрут в таблицу маршрутов. Если запись маршрута уже существует, то обновляет её.

Параметры

Параметр | Описание | Версия
$data | Запись для добавления в таблицу. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


serializeParameters

string public static
\Bitrix\Main\UrlPreview\RouteTable::serializeParameters(
 array $value
);

Статический метод сериализирует значение переменной $value.

Параметры

Параметр | Описание | Версия
$value |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unserializeParameters

array public static
\Bitrix\Main\UrlPreview\RouteTable::unserializeParameters(
 string $value
);

Статический метод десериализирует значение переменной $value

Параметры

Параметр | Описание | Версия
$value |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


UrlMetadataTable

UrlMetadataTable - класс для работы с метаданными "богатых ссылок".

Обращается к пространству имён:

  • \Main;
  • \Main\Application;
  • \Main\Entity;
  • \Main\Entity\AddResult;
  • \Main\Entity\ScalarField.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getByUrl | Метод возвращает первую запись, отфильтрованную по значению переменной $url. |
getMap | Метод возвращает описание карты сущностей. |
getTableName | Метод возвращает имя таблицы БД для сущности. |


getByUrl

array|false public static
\Bitrix\Main\UrlPreview\UrlMetadataTable::getByUrl(
 string $url
);

Статический метод возвращает первую запись, отфильтрованную по значению переменной $url.

Параметры

Параметр | Описание | Версия
$url | Url страницы с матаданными. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Main\UrlPreview\UrlMetadataTable::getMap(
);

Статический метод возвращает описание карты сущностей.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Main\UrlPreview\UrlMetadataTable::getTableName(
);

Статический метод возвращает имя таблицы БД для сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


UrlPreview

UrlPreview - класс для работы с "богатыми ссылками".

Обращается к пространству имён:

  • \Main\Application;
  • \Main\ArgumentException;
  • \Main\Config\Option;
  • \Main\DB\SqlQueryException;
  • \Main\Loader;
  • \Main\Web\Uri;
  • \Main\Web\HttpHeaders;
  • \Main\Web\HttpClient;
  • \Main\Security\Sign\Signer;
Метод | Описание | С версии
checkDynamicPreviewAccess | Метод возвращает true если у текущего пользователя есть права на чтение данных сущности за внутренней ссылкой. |
getDynamicPreview | Метод возвращает HTML код для динамической (внутренний URL) "богатой ссылки". |
getMetadataAndHtmlByIds | Метод возвращает сохранённые метаданные для массива ID. |
getMetadataAndHtmlByUrl | Если URL - удалённый, то возвращает метаданные для него. Если URL - локальный, проверяет пользователя на доступ к сущности и возвращает "богатую ссылку". |
getMetadataByUrl | Метод возвращает метаданные, связанные с указанным URL |
isEnabled | Метод проверяет разрешено ли использование "богатых ссылок" (UrlPreview) в настройках главного модуля. |
isUrlCached | Метод проверяет могут ли метаданные для указанного URL быть выданы и закешированы. |
reserveIdForUrl | Метод создаёт временную запись для URL. |
resolveTemporaryMetadata | Метод возвращает и хранит метаданные для временной записи созданной методом reserveIdForUrl. |
setMetadataImage | Метод устанавливает картинку с указанным ID, отображающуюся для богатой ссылки. |
showEdit | Метод возвращает html код "богатой ссылки" для вывода в режиме редактирования. |
showView | Метод возвращает html код для "богатой ссылки". |
sign | Метод подписывает значение с использованием соли \UrlPreview. |
getImAttach | Метод возвращает приложение к сообщению мессенджера. | 17.0.0


checkDynamicPreviewAccess

boolean public static
\Bitrix\Main\UrlPreview\UrlPreview::checkDynamicPreviewAccess(
 string $url
);

Статический Метод возвращает true если у текущего пользователя есть права на чтение данных сущности за внутренней ссылкой.

Параметры

Параметр | Описание | Версия
$url | URL внутреннего документа. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDynamicPreview

string|false public static
\Bitrix\Main\UrlPreview\UrlPreview::getDynamicPreview(
 string $url,
 boolean $checkAccess = true
);

Статический метод возвращает HTML код для динамической (внутренний URL) "богатой ссылки".

Параметры

Параметр | Описание | Версия
$url | URL внутреннего документа. |
$checkAccess | Указание методу проверять или нет права доступа пользователя к сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getImAttach

\CIMMessageParamAttach public static
\Bitrix\Main\UrlPreview\UrlPreview::getImAttach(
 string $url,
 boolean $checkAccess = true
);

Статический метод возвращает приложение к сообщению мессенджера с запрошенным контентом, соответствующим сущности.

Параметры

Параметр | Описание | Версия
$url | URL внутреннего документа. |
$checkAccess | Y\N - проверять наличие прав доступа на сущность у текущего пользователя. |

Примеры

$attach = UrlPreview\UrlPreview::getImAttach('https://cp.bitrix.ru/company/personal/user/580/tasks/task/view/92846/', true);


getMetadataAndHtmlByIds

array public static
\Bitrix\Main\UrlPreview\UrlPreview::getMetadataAndHtmlByIds(
 array $ids,
 boolean $checkAccess = true
);

Статический метод возвращает сохранённые метаданные для массива ID.

Параметры

Параметр | Описание | Версия
$ids | Массив ID записей. |
$checkAccess | Указание методу следует ли проверять или нет права доступа пользователя к внутренним сущностям. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMetadataAndHtmlByUrl

array|false public static
\Bitrix\Main\UrlPreview\UrlPreview::getMetadataAndHtmlByUrl(
 string $url,
 boolean $addIfNew = true
);

Статический метод. Если URL - удалённый, то возвращает метаданные для него. Если URL - локальный, проверяет пользователя на доступ к сущности и возвращает "богатую ссылку".

Параметры

Параметр | Описание | Версия
$url | URL документа. |
$addIfNew | Указание следует ли методу выбрать и сохранить метаданные для документа если их нет в БД. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMetadataByUrl

array|false public static
\Bitrix\Main\UrlPreview\UrlPreview::getMetadataByUrl(
 string $url,
 boolean $addIfNew = true
);

Статический метод возвращает метаданные, связанные с указанным URL.

Параметры

Параметр | Описание | Версия
$url | URL. |
$addIfNew | Указание должны ли метаданные быть выданы и сохранены, если их нет в БД. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isEnabled

boolean public static
\Bitrix\Main\UrlPreview\UrlPreview::isEnabled(
);

Статический метод проверяет разрешено ли использование "богатых ссылок" (UrlPreview) в настройках [image] главного модуля.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isUrlCached

boolean public static
\Bitrix\Main\UrlPreview\UrlPreview::isUrlCached(
 string $url
);

Статический метод проверяет, найдены ли закэшированные метаданные для указанного URL.

Параметры

Параметр | Описание | Версия
$url | URL документа. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


reserveIdForUrl

integer public static
\Bitrix\Main\UrlPreview\UrlPreview::reserveIdForUrl(
 string $url
);

Статический метод создаёт временную запись для URL.

Параметры

Параметр | Описание | Версия
$url | URL для которой должна быть создана временная запись. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


resolveTemporaryMetadata

array|false public static
\Bitrix\Main\UrlPreview\UrlPreview::resolveTemporaryMetadata(
 integer $id,
 boolean $checkAccess = true
);

Статический метод возвращает и хранит метаданные для временной записи созданной методом reserveIdForUrl. Если метаданные не могут быть выданы, запись удаляется.

Параметры

Параметр | Описание | Версия
$id | ID записи метаданных |
$checkAccess | Проверять или нет права доступа пользователя к сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setMetadataImage

boolean public static
\Bitrix\Main\UrlPreview\UrlPreview::setMetadataImage(
 integer $id,
 string $imageUrl
);

Статический метод устанавливает картинку с указанным ID, отображающуюся для богатой ссылки.

Параметры

Параметр | Описание | Версия
$id | ID картинки, отображаемой для богатой ссылки. |
$imageUrl | Url картинки. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


showEdit

string public static
\Bitrix\Main\UrlPreview\UrlPreview::showEdit(
 array $userField,
 array $userFieldParams
);

Статический метод возвращает html код "богатой ссылки" для вывода в режиме редактирования.

Параметры

Параметр | Описание | Версия
$userField | Значение пользовательского поля. |
$userFieldParams | Параметры юзерского поля. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


showView

string public static
\Bitrix\Main\UrlPreview\UrlPreview::showView(
 array $userField,
 array $userFieldParams,
 string $cacheTag,
 boolean $edit = false
);

Нестатический метод возвращает html код для "богатой ссылки".

Параметры

Параметр | Описание | Версия
$userField | Значение пользовательского поля. |
$userFieldParams | Параметры пользовательского поля. |
$cacheTag | Тег кеша для кэширования внутренней богатой ссылки (без параметров). |
$edit | Указание метода как выводить ссылку. Если false - вернется html код для вывода богатой ссылки в режиме просмотра, если true - вернется html код для вывода в режиме редактирования. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


sign

string public static
\Bitrix\Main\UrlPreview\UrlPreview::sign(
 string $id
);

Статический метод подписывает значение с использованием соли \UrlPreview.

Параметры

Параметр | Описание | Версия
$id | Неподписанное значение. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


UrlRewriterRuleMaker

UrlRewriterRuleMaker - класс для работы с правилами переадресации.

Обращается к пространствам имён:

  • \Main\Component;
  • \Main\IO;
  • \Main\Config.
Метод | Описание | С версии
getRule | Метод возвращает поле RULE из правила SEF. |
getCondition | Метод возвращает поле CONDITION из правила SEF |


getCondition

string public
\Bitrix\Main\UrlRewriterRuleMaker::getCondition(
);

Нестатический метод возвращает поле CONDITION из правила SEF на основе того, что было обработано.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRule

string public
\Bitrix\Main\UrlRewriterRuleMaker::getRule(
);

Нестатический метод возвращает поле RULE из правила SEF на основе того, что было обработано.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


UserConsent

UserConsent - пространство имён для работы с соглашениями пользователей.

Список классов

Метод | Описание
Text | Класс для работы с текстом.
AgreementLink | Класс для работы со ссылками на соглашение.
DataProvider | Класс для получения провайдеров данных.
Consent | Класс для работы с соглашениями пользователей.
Agreement | Класс для управления соглашением.


Agreement

Agreement - класс для управления соглашением.

Список методов

Метод | Описание
[link=5928005]getText[/link] | Метод возвращает текст соглашения.
[link=5928009]getLabelText[/link] | Метод возвращает текст заголовка.
[link=5928017]getFields[/link] | Метод возвращает массив полей соглашения.
[link=5928021]getFieldValues[/link] | Метод возвращает массив значений полей соглашения.
[link=5927945]getTypeNames[/link] | Метод возвращает массив имён типов.
[link=5927949]__construct[/link] | Конструктор класса \Main\UserConsent\Agreement.
[link=5927953]load[/link] | Метод загружает соглашение по его ID.
[link=5927957]setReplace[/link] | Метод заменяет данные в соглашении.
[link=5927961]getErrors[/link] | Метод возвращает массив ошибок.
[link=5927965]hasErrors[/link] | Метод возвращает true при наличии ошибок.
[link=5927969]getId[/link] | Метод возвращает ID соглашения.
[link=5927973]getData[/link] | Метод возвращает текст соглашения.
[link=5927977]setData[/link] | Метод устанавливает текст соглашения.
[link=5927981]mergeData[/link] | Метод совмещает данные соглашения.
[link=5927985]save[/link] | Метод сохраняет данные соглашения.
[link=5927993]isExist[/link] | Метод возвращает true, если соглашение существует.
[link=5927997]isActive[/link] | Метод возвращает true, если соглашение активно.
[link=5927941]getActiveList[/link] | Метод возвращает массив активных соглашений.


__construct

 public
\Bitrix\Main\UserConsent\Agreement::__construct(
 integer $id,
 array $replace = array()
);

Конструктор класса \Main\UserConsent\Agreement.

Параметры

Параметр | Описание | Версия
$id | ID соглашения. |
$replace | Массив данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getActiveList

array public static
\Bitrix\Main\UserConsent\Agreement::getActiveList(
);

Статический метод возвращает массив активных соглашений.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getData

string public
\Bitrix\Main\UserConsent\Agreement::getData(
);

Метод возвращает данные соглашения.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrors

array public
\Bitrix\Main\UserConsent\Agreement::getErrors(
);

Метод возвращает массив ошибок.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFields

array public
\Bitrix\Main\UserConsent\Agreement::getFields(
);

Метод возвращает массив полей соглашения.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFieldValues

array public
\Bitrix\Main\UserConsent\Agreement::getFieldValues(
);

Метод возвращает массив значений полей соглашения.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getId

string public
\Bitrix\Main\UserConsent\Agreement::getId(
);

Метод возвращает ID соглашения.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLabelText

string public
\Bitrix\Main\UserConsent\Agreement::getLabelText(
);

Метод возвращает текст заголовка.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getText

string public
\Bitrix\Main\UserConsent\Agreement::getText(
   $cutTitle = false
);

Метод возвращает текст соглашения.

Параметры

Параметр | Описание | С версии
cutTitle | Возвращать название соглашения. По умолчанию false. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTypeNames

array public static
\Bitrix\Main\UserConsent\Agreement::getTypeNames(
);

Статический метод возвращает массив имён типов.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


hasErrors

boolean public
\Bitrix\Main\UserConsent\Agreement::hasErrors(
);

Метод возвращает true при наличии ошибок. В ином случае возвращает false.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isActive

string public
\Bitrix\Main\UserConsent\Agreement::isActive(
);

Метод возвращает true, если соглашение активно. В ином случае метод возвращает false.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isExist

boolean public
\Bitrix\Main\UserConsent\Agreement::isExist(
);

Метод возвращает true, если соглашение существует. В ином случае метод возвращает false

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


load

string public
\Bitrix\Main\UserConsent\Agreement::load(
 integer $id
);

Метод загружает соглашение по его ID. Возвращает результат в виде true или false.

Параметры

Параметр | Описание | Версия
$id | ID соглашения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


mergeData

void public
\Bitrix\Main\UserConsent\Agreement::mergeData(
 array $data
);

Метод совмещает данные соглашения. Метод ничего не возвращает.

Параметры

Параметр | Описание | Версия
$data | Массив данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


save

void public
\Bitrix\Main\UserConsent\Agreement::save(
);

Метод сохраняет данные соглашения. Метод ничего не возвращает.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setData

void public
\Bitrix\Main\UserConsent\Agreement::setData(
 array $data
);

Метод устанавливает текст соглашения. Ничего не возвращает.

Параметры

Параметр | Описание | Версия
$data | Текст для вставки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setReplace

string public
\Bitrix\Main\UserConsent\Agreement::setReplace(
 array $replace
);

Метод заменяет данные в соглашении. Возвращает измененные данные.

Параметры

Параметр | Описание | Версия
$replace | Данные для изменения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


AgreementLink

AgreementLink - Класс для работы со ссылками на соглашение.

Список методов

Метод | Описание
[link=5928093]getUri[/link] | Метод возвращает параметры URI.
[link=5928097]getAgreementFromUriParameters[/link] | Метод возвращает соглашение по URI параметрам.
[link=5928101]getErrors[/link] | Метод возвращает массив ошибок.


getAgreementFromUriParameters

\Bitrix\Main\UserConsent\Agreement public static
\Bitrix\Main\UserConsent\AgreementLink::getAgreementFromUriParameters(
 array $parameters = array()
);

Статический метод возвращает соглашение по URI параметрам.

Параметры

Параметр | Описание | Версия
$parameters | Параметры URI. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrors

array public static
\Bitrix\Main\UserConsent\AgreementLink::getErrors(
);

Статический метод возвращает массив ошибок.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUri

array public static
\Bitrix\Main\UserConsent\AgreementLink::getUri(
 integer $agreementId,
 array $replace = array(),
 string $baseUri = ''
);

Статический метод возвращает параметры URI.

Параметры

Параметр | Описание | Версия
$agreementId | ID соглашения. |
$replace | Массив данных для замены. |
$baseUri | Базовый URI. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Consent

Consent - класс для работы с соглашениями пользователей.

Список методов

Метод | Описание
[link=5928029]addByContext[/link] | Метод добавляет соглашение пользователя по контексту.
[link=5928033]getOriginData[/link] | Метод возвращает данные источника.


addByContext

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>UserConsent>Consent>addByContext

Consent::addByContext

integer|null public static
\Bitrix\Main\UserConsent\Consent::addByContext(
 integer $id,
 integer|null $originatorId = null,
 integer|null $originId = null,
 array $data = array()
);

Статический метод добавляет соглашение пользователя по контексту. Возвращает ID результата или null в случае неудачи.

Параметры

Параметр | Описание | Версия
$id | ID соглашения. |
$originatorId | ID автора. |
$originId | ID источника. |
$data | Массив с информацией. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOriginData

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Главный модуль>UserConsent>Consent>getOriginData

Consent::getOriginData

array|null public static
\Bitrix\Main\UserConsent\Consent::getOriginData(
 string $originatorId,
 string|integer|null $originId = null
);

Статический метод возвращает данные источника.

Параметры

Параметр | Описание | Версия
$originatorId | ID автора. |
$originId | ID источника. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DataProvider

DataProvider - класс для получения провайдеров данных.

Список методов

Метод | Описание
[link=5928045]getByCode[/link] | Метод возвращает данные о провайдере данных по его коду.
[link=5928049]__construct[/link] | Конструктор класса DataProvider.
[link=5928053]getCode[/link] | Метод возвращает код провайдера.
[link=5928057]getName[/link] | Метод возвращает имя провайдера данных.
[link=5928061]getEditUrl[/link] | Метод возвращает URL страницы изменения информации.
[link=5928065]getData[/link] | Метод возвращает данные провайдера.
[link=5928069]toArray[/link] | Метод возвращает данные о провайдере в виде массива.
[link=5928073]getList[/link] | Статический метод возвращает массив провайдеров.


__construct

 public
\Bitrix\Main\UserConsent\DataProvider::__construct(
 string $code,
 string $name,
 array|callable $data,
 string $editUrl,
 array|callable $data
);

Конструктор класса DataProvider.

Параметры

Параметр | Описание | Версия
$code | Код. |
$name | Имя. |
$data | Дата. |
$editUrl | URL страницы изменения информации.. |
$data | Информация. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getByCode

static|null public static
\Bitrix\Main\UserConsent\DataProvider::getByCode(
 string $providerCode
);

Статический метод возвращает провайдер данных по его коду. Возвращает null в случае неудачи.

Параметры

Параметр | Описание | Версия
$providerCode | Код провайдера. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCode

string public
\Bitrix\Main\UserConsent\DataProvider::getCode(
);

Метод возвращает код провайдера.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getData

array public
\Bitrix\Main\UserConsent\DataProvider::getData(
);

Метод возвращает данные провайдера.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEditUrl

string public
\Bitrix\Main\UserConsent\DataProvider::getEditUrl(
);

Метод возвращает URL страницы изменения информации.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getList

array public static
\Bitrix\Main\UserConsent\DataProvider::getList(
);

Статический метод возвращает массив провайдеров.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getName

string public
\Bitrix\Main\UserConsent\DataProvider::getName(
);

Метод возвращает имя провайдера данных.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


toArray

array public
\Bitrix\Main\UserConsent\DataProvider::toArray(
);

Метод возвращает данные о провайдере в виде массива.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Text

Text - класс для работы с текстом соглашений.

Список методов

Метод | Описание
[link=5928081]replace[/link] | Метод для замены данных в шаблоне.
[link=5928085]formatArrayToText[/link] | Метод преобразует массив в текст.


formatArrayToText

string public static
\Bitrix\Main\UserConsent\Text::formatArrayToText(
 array $list
);

Статический метод преобразует массив в текст. Возвращает полученный текст.

Параметры

Параметр | Описание | Версия
$list | Исходный массив. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


replace

string public static
\Bitrix\Main\UserConsent\Text::replace(
 string $template,
 array $data,
 boolean $isCut = false
);

Статический метод для изменения текста. Возвращает измененный шаблон.

Параметры

Параметр | Описание | Версия
$template | Текст шаблона. |
$data | Данные для замены. |
$isCut | true - обрезать пустые области, false - не обрезать. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


UserField

UserField - пространство имён для классов и событий Пользовательских полей.


Введение

Как было

На текущий момент наблюдается несколько подходов в реализации отрисовки контролов пользовательских полей:

  • через компоненты [image] system.field.edit и system.field.view с шаблонами для пользовательских полей различных типов. Данные компоненты позволяют отрисовать контрол либо в режиме просмотра (view), либо в режиме редактирования (edit);
  • через CUserType классы старого ядра, [image] например, CUserTypeString [image] или CUserTypeInt, которые содержат в себе методы отрисовки контролов uf-полей для различных условий;
  • самостоятельная отрисовка контрола в конкретном компоненте. Например, так реализованы бизнес-процессы и новый фильтр в административном разделе, а также сущности CRM в мобильном приложении.

Минусы таких подходов:

  1. сложность поддержки (сейчас js, html и php "перемешаны" в методах классов CUserType);
  2. сложность поддержки различных форматов устройств (десктоп, планшет, мобильная версия и т.д.), если для каждого устройства поле должно выводиться различными способами;
  3. сложность расширения способов отображения полей (например, если для какого-то конкретного компонента требуется отрисовка поля особым уникальным способом);
  4. сложность расширения (при создании нового шаблона отображения поля необходимо реализовать его для всех существующих типов полей, даже если уникальный вид нужен только для нескольких типов полей, а для других вполне подходят стандартные шаблоны);
  5. трудоемкость создания нового типа поля.

Обновленный подход

Обновленный подход предполагает использование класса пользовательского поля и соответствующего ему компонента, содержащего все необходимые шаблоны. Например, появились связки:

  • main/lib/userfield/types/StringType и main/install/components/bitrix/main.field.string
  • iblock/lib/userfield/types/ElementType и iblock/install/components/bitrix/iblock.field.element

Для обеспечения обратной совместимости старые классы UserType сохранены и представляют собой заглушки.

Вызовы компонентов system.field.edit и system.field.view также приводят к вызову отрисовки контрола при помощи нового api.

Примечание: обновленный подход доступен с версии Главного модуля (main) 20.0.800.


Класс UF-поля

Все uf-классы должны являться наследниками класса BaseType и располагаться по пути <modulename>/lib/usefield/types/<classname>/ соответствующего модуля, например, /main/lib/userfield/types/stringtype.

Для регистрации нового типа пользовательского поля необходимо зарегистрировать его в b_module_to_modules:

RegisterModuleDependences("main", "OnUserTypeBuildList", "testmodule", '\testmodule\lib\usefield\types\customstring\CustomString', 'GetUserTypeDescription');

или через файл init.php:

use Bitrix\Main;
$eventManager = Main\EventManager::getInstance();

//Вешаем обработчик на событие создания списка пользовательских свойств OnUserTypeBuildList
$eventManager->addEventHandler('main', 'OnUserTypeBuildList', ['\testmodule\lib\usefield\types\customstring\CustomString', 'GetUserTypeDescription']);

Обязательные константы:
  • USER_TYPE_ID - уникальный идентификатор пользовательского типа;
  • RENDER_COMPONENT - имя компонента, который будет использован для отрисовки.

Обязательные методы:
  • getDescription - метод должен вернуть ассоциативный массив с человекопонятным именем типа поля (DESCRIPTION) и базовым типом (BASE_TYPE);
  • getDbColumnType - метод возвращает MySQL тип колонки, в которой будет храниться значение одиночного поля. Множественные поля всегда хранятся как text.

Остальные методы:
  • prepareSettings - подготавливает и возвращает массив настроек экземпляра пользовательского типа;
  • getFilterData - возвращает массив для использования в новом фильтре в административном разделе;
  • checkFields - валидатор, возвращает ассоциативный массив вида ['id'=> 'FIELD_NAME', 'text' => 'erorr message'] или пустой массив в случае отсутствия ошибок валидации;
  • onSearchIndex - возвращает значение поля для поиска;
  • onBeforeSave - вызывается перед сохранением значения uf-поля;
  • [dw]getDefaultValue[/dw][di] Метод доступен с версии 20.5.500.

    Параметры метода:
    Параметр | Описание
    $userField | Массив метаинформации пользовательского поля. Может быть получен методом GetUserFields класса CUserTypeManager.
    $additionalParameters Массив, который содержит необходимые настройки в зависимости от шаблона, которым выводится контрол. В частности в этом массиве передаются следующие элементы:
    • mode - имя шаблона компонента;
    • mediaType - имя страницы шаблона (на текущий момент или .default, или mobile). Пустое значение эквивалентно .default.
    * при этом $additionalParameters может быть пустым массивом. [/di] - возвращает значение пользовательского поля, установленное по умолчанию.


Компонент для отрисовки UF-поля

Класс компонента

Класс должен быть наследником BaseUfComponent и реализовывать метод getUserTypeId, в котором возвращается уникальный идентификатор типа поля, с которым работает конкретный компонент.

Название компонента

Название компонентов формируется по следующему принципу:

<moduleName>.field.<componentName>

Например, main.field.string.

Особенности работы компонента

  • На текущий момент есть два возможных варианта отрисовки поля:
    • десктоп
    • мобильное устройство (планшет, телефон и т.д.)

    В терминологии компонента это называется MEDIA_TYPE (имя вида внутри шаблона). Соответственно, его можно установить либо в шаблон .default, либо в mobile. В случае необходимости можно добавить дополнительные MEDIA_TYPE. Если MEDIA_TYPE не указан, то будет использован вид по умолчанию .default.php.

  • Также можно указать значение MODE (имя шаблона). Либо будет использоваться шаблон по умолчанию .default, если MODE не указан или шаблон с таким именем отсутствует в конкретном компоненте. Т.е. теперь нет необходимости создавать шаблон для всех типов полей, а можно ограничиться лишь необходимыми типами полей. Во всех остальных типах будет задействован шаблон по умолчанию. Можно передать массив желаемых шаблонов в порядке их приоритета, и компонент сам выберет ближайший существующий шаблон.
  • То же самое справедливо для MEDIA_TYPE (вида) внутри MODE (шаблона). При отсутствии указанного вида будет использован вид по умолчанию, а именно .default.php. Если он тоже отсутствует, и при этом сам шаблон физически существует, то будет отдана стандартная ошибка, например, Cannot find 'main.view' template with page '.default'.

Схема выбора шаблона

Схема справедлива при указании одного шаблона. В случае передачи массива шаблонов будет найден первый подходящий шаблон из массива. В случае отсутствия подходящих шаблонов будет дополнительно проверен шаблон .default согласно схеме.

Основные шаблоны существующих uf полей

  • .default
  • main.view - отрисовка значения поля, в частности применяется в сущностях CRM;
  • main.edit - отрисовка контрола поля в режиме редактирования, в частности применяется в сущностях CRM;
  • main.public_text - получение печатного значения поля, например, для подстановки в шаблонах писем;
  • main.filter_html - отрисовка контрола для старого фильтра в административном разделе;
  • main.edit_form - редактирование поля в административном разделе;
  • main.admin_settings - блок настроек поля;
  • main.admin_list_edit_html - отрисовка поля в режиме редактирования в гридах административного раздела;
  • main.admin_list_view_html - отрисовка поля в режиме показа в гридах административного раздела;
  • crm.field.element - привязка к элементам CRM;
  • crm.field.status - привязка к справочникам CRM;
  • intranet.field.employee - привязка к пользователю;
  • fileman.field.address - адрес.

Дополнительно

  • Список компонентов модуля main
  • Список компонентов модуля iblock
  • Компонент модуля currency


Отрисовка поля через новое api

$field = new \Bitrix\Main\UserField\Renderer($userField, $params);
print $field->render();

Ассоциативный массив $params может содержать в себе ключи MODE и MEDIA_TYPE, в которых указываются имена соответствующих шаблонов или видов. Причем MODE может быть как строкой с именем одного шаблона, так и массивом желаемых имен шаблонов в порядке их приоритета.

$userField - ассоциативный массив, описывающий uf-поле. В минимальном виде достаточно указать ключ USER_TYPE_ID с уникальным идентификатором типа uf-поля.


Настройки полей

Пользовательские поля широко используются в продукте. До недавнего времени единственный "общий" интерфейс их настройки находился только в административном разделе.

В облачной версии Битрикс24 административного раздела нет, что усложняет доступ к настройкам. Каждый модуль, использующий пользовательские поля, делал свои интерфейсы для показа и управления настройками пользовательских полей. При этом сам набор этих настроек абсолютно одинаковый для всех модулей.

В модуле RPA (Роботизация бизнеса) пользовательские поля являются основным способом хранения данных. Понадобился интерфейс настройки полей, аналогичный тому, что есть в административном разделе или CRM.

Принято решение сделать единый интерфейс доступа, а также единую точку входа для Rest.

Т.к. доступ к настройкам должен иметь ограниченный круг лиц, (а к некоторым пользовательским полям, типа UF_DEPARTMENT, доступа не должно быть вовсе), была разработана следующая схема:

  • В ядре есть абстрактный класс UserFieldAccess, который отвечает за ограничение доступа к настройкам;
  • Каждый модуль должен иметь свой наследник этого класса;
  • Указание наследника делается через файл .settings.php модуля.

Во всех запросах к настройкам пользовательских полей через публичную часть, или через Rest, указывается идентификатор модуля. По идентификатору загружаются настройки модуля и в них пытается найти путь к файлу-наследнику:

  • Если он не найден, то выводится ошибка:
  • Если найден, то наследник сам определяет, какие настройки доступны для пользователя.

Чтобы наследник был найден, в файл .settings.php необходимо добавить запись вида:

return [
    'userField' => [
        'value' => [
            'access' => 'MyModule\\UserFieldAccess', // FQN-путь к наследнику
        ],
    ],
];

Публичная часть

Компоненты

  • Компонент main.field.config.list - список полей;
  • Компонент main.field.config.detail - настройки поля.

Компоненты подключены в файлах в публичной части intranet в папке с файлами для настройки портала:

  • Облачная версия
    • /settings/configs/userfield_list.php для списка;
    • /settings/configs/userfield_detail.php для настройки.
  • Коробочная версия
    • /configs/userfield_list.php для списка;
    • /configs/userfield_detail.php для настройки.

Актуальный путь к файлу можно получить с помощью методов \Bitrix\Intranet\Util::getUserFieldListConfigUrl() и \Bitrix\Intranet\Util::getUserFieldDetailConfigUrl()


Типы пользовательских полей и их настройки

В ядре есть основной набор базовых типов полей. В некоторых модулях есть дополнительные типы полей.

  • string - строка;
  • integer - целое число;
  • double - число;
  • date - дата;
  • datetime - дата со временем;
  • boolean - Да / Нет;
  • file - файл;
  • enumeration - список;
  • url - ссылка;
  • address - адрес;
  • iblock_section - раздел инфоблока;
  • iblock_element - элемент инфоблока;
  • employee - сотрудник;
  • crm - элемент CRM;
  • crm_status - привязка к справочнику CRM.


UserFieldAccess

Описание

Абстрактный класс, определяющий доступные пользователю настройки пользовательских полей

Таблицу настроек смотрите в классе Userfieldtable.

Публичные методы

Метод | Описание | С версии
public function __construct(int $userId = nul) Конструктор.

Параметры:
  • $userId - идентификатор пользователя, для которого будет определяться доступ. Если не передан, то будет взят идентификатор текущего пользователя
public static function getInstance(string $moduleId, int $userId = null): UserFieldAccess Метод попытается найти наследника для модуля $moduleId, создаст его объект и вернет его. Если наследник не найден, то метод бросит исключение \Bitrix\Main\ObjectNotFoundException.

Параметры:
  • $moduleId - идентификатор модуля
  • $userId - идентификатор пользователя, для которого будет определяться доступ. Если не передан, то будет взят идентификатор текущего пользователя
public function setUserId(int $userId): UserFieldAccess | Позволяет указать идентификатор пользователя, для которого будет определяться доступ. Метод вернет $this.
public function getUserId(): int | Метод вернет текущий идентификатор пользователя, для которого определяется доступ.
public function getRestrictedTypes(): array Метод возвращает массив запрещенных идентификаторов типов пользовательских полей. По умолчанию возвращает:
[
    'resourcebooking', // available in crm only
    'mail_message', // no way to edit
    'hlblock', // the field is not implemented yet
];
Наследники могут переопределить этот список.
public function canReadWithFilter(array $filter): bool Метод вернет true, если пользователь имеет доступ к полям с учетом фильтра $filter.

Параметры:
  • $filter - массив для фильтрации настроек пользовательских полей
public function prepareFilter(array $filter = []): ?array Метод вернет фильтр по настройкам пользовательских полей, к которым пользователь имеет доступ. Если пользователь не имеет доступ ни к каким настройкам - вернет null.

Параметры:
  • $filter - массив для фильтрации настроек пользовательских полей
public function canRead(int $id): bool Метод вернет true, если пользователь может считать настройки пользовательского поля с идентификатором $id.

Параметры:
  • $id - идентификатор настроек пользовательского поля
public function canAdd(array $field): bool Метод вернет true, если пользователь может добавить настройки пользовательского поля с полями $fields.

Параметры:
  • $fields - набор полей для настроек пользовательского поля
public function canUpdate(int $id): bool Метод вернет true, если пользователь может изменить настройки пользовательского поля с идентификатором $id.

Параметры:
  • $id - идентификатор настроек пользовательского поля
public function canDelete(int $id): bool Метод вернет true, если пользователь может удалить настройки пользовательского поля с идентификатором $id.

Параметры:
  • $id - идентификатор настроек пользовательского поля

Типичное использование

В самом простом варианте доступ к настройкам пользовательских полей ограничивается не на уровне отдельных полей, а на уровне сущностей. Если пользователь имеет доступ к настройкам пользовательских полей одной сущности, он, как правило, имеет доступ ко всем полям этой сущности.

При таком варианте использования в наследнике необходимо определить только один абстрактный метод getAvailableEntityIds.

Этот метод должен вернуть набор кодов сущностей (поле ENTITY_ID), к которым пользователь имеет доступ.

Например, для CRM код этого метода может выглядеть следующим образом:

protected function getAvailableEntityIds(): array
{
    $permissions = \CCrmPerms::GetUserPermissions($this->userId);
    if($permissions->HavePerm('CONFIG', BX_CRM_PERM_CONFIG, 'WRITE'))
    {
        return array_keys(\CCrmFields::GetEntityTypes());
    }

    return [];
}

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

Но в CRM есть "системные" поля, доступ к которым должен быть ограничен только чтением (например, поля для печати / подписи у компаний для печати в документах).

Чтобы реализовать такое ограничение, надо переопределить методы canUpdate и canDelete, в которых ограничить доступ к этим полям.


UserFieldTable

Описание и методы

Класс-таблет для работы с таблицей настроек пользовательских полей

Это таблет был добавлен позже исходного апи CUserTypeEntity [image]. Поэтому он используется для простого доступа к существующим данным. Для изменения записей надо пользоваться старым API.

Языковые названия для полей хранятся в отдельной таблице UserFieldLangTable.

Методы

Метод | Описание | С версии
public static function getLabelsReference(string $referenceName = null, string $languageId = null): ORM\Fields\Relations\Reference Метод возвращает поле для связи с таблицей языковых названий полей.

Параметры:
  • $referenceName - имя поля, по умолчанию LABELS
  • $languageId - идентификатор языка
public static function getLabelFields(): array | Возвращает массив названий полей, содержащих языковые фразы из связанной таблицы.
public static function getLabelsSelect(string $referenceName = null): array Возвращает массив для select метода getList с выборкой языкозависимых фраз из связанной таблицы.

Параметры:
  • $referenceName - имя поля, по умолчанию LABELS
public static function getFieldData(int $id): ?array Метод возвращает данные о настройках поля с идентификатором $id. Если записи нет, вернут null.

Параметры:
  • $id - идентификатор записи

Поля таблицы

  • ID
  • ENTITY_ID Строковый идентификатор сущности. Обязательное
  • FIELD_NAME Код поля. Обязательное
  • USER_TYPE_ID Код типа поля. Обязательное
  • XML_ID Внешний строковый идентификатор
  • SORT Индекс сортировки
  • MULTIPLE Булевый флаг множественности (N или Y). По умолчанию N
  • MANDATORY Булевый флаг обязательности (N или Y). По умолчанию N
  • SHOW_FILTER Булевый флаг наличия поля в фильтре (N или Y). По умолчанию N
  • SHOW_IN_LIST Булевый флаг наличия поля в списке (N или Y). По умолчанию N
  • EDIT_IN_LIST Булевый флаг разрешения редактирования в списке (N или Y). По умолчанию N
  • IS_SEARCHABLE Булевый флаг наличия поиска по этому полю (N или Y). По умолчанию N
  • SETTINGS Сериализованный (через serialize) массив дополнительных настроек поля, которые зависят от типа


UserFieldLangTable

Класс-таблет для работы с таблицей языкозависимых фраз для настроек пользовательских полей

Поля таблицы:

  • USER_FIELD_ID - Идентификатор настроек пользовательского поля. Обязательное. Является частью ключа таблицы
  • LANGUAGE_ID Строковый идентификатор языка. Обязательное. Является частью ключа таблицы
  • EDIT_FORM_LABEL Название поля. Как правило, используется только это поле для всех мест
  • LIST_COLUMN_LABEL - Подпись поля в списке. Не используется
  • LIST_FILTER_LABEL Подпись поля в фильтре. Не используется
  • ERROR_MESSAGE Не используется
  • HELP_MESSAGE Подсказка


EmployeeType

EmployeeType - Класс контрола пользовательского поля типа "привязка к пользователю". Взамен класса старого ядра [image] CUserTypeEmployee.

Компонент | Описание | С версии
intranet.field.employee | Компонент отвечает за привязку к пользователю. |


intranet.field.employee

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

Компонент отвечает за вывод контрола пользовательского поля типа "привязка к пользователю".

В физической структуре компонент находится в папке /bitrix/components/bitrix/intranet.field.employee.

Параметр | Описание
$userField | Массив метаинформации пользовательского поля. Может быть получен методом GetUserFields класса CUserTypeManager.
$additionalParameters Массив, который содержит необходимые настройки в зависимости от шаблона, которым выводится контрол. В частности в этом массиве передаются следующие элементы:
  • mode - имя шаблона компонента;
  • mediaType - имя страницы шаблона, на текущий момент или .default, или mobile. Пустое значение эквивалентно .default.

Пример прямого вызова

<?
$APPLICATION->IncludeComponent(
            'bitrix:intranet.field.employee',
            '',
            [
                'userField' => $userField,
                'additionalParameters' => $additionalParameters
            ]
        );
?>

Дополнительно

Также можно использовать универсальное API:

$renderer = new \Bitrix\Main\UserField\Renderer($userField, $additionalParameters);
echo $renderer->render();


Internal

Пространство имен Internal содержит классы для хранения значений пользовательских полей в собственных таблицах.

Класс | Описание | С версии
Item | Класс ORM-объекта, который является родителем всех ORM-объектов элементов. |
PrototypeItemDataManager | Абстрактный класс для абстрактных прототипов таблетов элементов. Содержит в себе API модификации значений пользовательских полей перед их сохранением в базу данных. |
Registry | Класс для хранения инстансов фабрик. Синглтон. |
[link=11276870 ]Type[/link] | Класс орм-объекта, который является родителем всех орм-объектов типов. |
TypeDataManager | Абстрактный класс для таблетов типов. |
TypeFactory | Абстрактный класс фабрики типов (абстрактная фабрика). Этот класс хранит в себе соответствие между типом и его элементами. |
UserFieldHelper | Класс содержит методы-обработчики событий от API пользовательских полей. Синглтон. |


Item

Класс ORM-объекта, который является родителем всех ORM-объектов элементов.

Не имеет собственных методов.

Цепочка наследования

Класс Bitrix\Main\UserField\Internal\Item является наследником класса Bitrix\Main\ORM\Objectify\EntityObject.


PrototypeItemDataManager

Описание и методы

Абстрактный класс для абстрактных прототипов таблетов элементов. Содержит в себе API модификации значений пользовательских полей перед их сохранением в базу данных.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image].

Методы

Метод | Описание | С версии
public static function getType(): ?array | Возвращает массив-описание типа, для которого был скомпилирован конечный класс таблета. |
public static function getMap(): array | По умолчанию у элементов есть только идентификатор. Но наследники могут добавить свои системные поля, как сделано в модуле RPA. |
public static function checkFields(ORM\Data\Result $result, $primary, array $data) | Переопределенный класс родителя, чтобы не было обращения к API пользовательских полей для их поиска. |
public static function getItemUserFieldEntityId(): ?string | Возвращает строковый идентификатор сущности пользовательских полей для конкретного таблета. |
public static function isOwnField(string $fieldName): bool | Возвращает true, если у сущности есть системное поле с кодом $fieldName. |
public static function getOwnFieldNames(): array | Возвращает массив с названиями полей, которые являются системными |

Преобразование данных

Методы-обработчики событий выполняют преобразование данных для их корректного сохранения в базе

Здесь значения полей подготавливаются к сохранению в БД:

  • public static function onBeforeAdd(Event $event): ORM\EventResult
  • public static function onBeforeUpdate(Event $event): ORM\EventResult

Здесь сохраняются множественные значения полей в отдельные таблицы:

  • public static function onAfterAdd(Event $event): ORM\EventResult
  • public static function onAfterUpdate(Event $event): ORM\EventResult

После удаления элемента удаляются данные из связанных таблиц - из таблиц для хранения множественных значений, из b_file

  • public static function onAfterDelete(Event $event): ORM\EventResult

Обработка событий от старого API пользовательских полей

У API пользовательских полей есть методы, позволяющие напрямую менять значения. Эти методы обращались напрямую к собственным таблицам и записывали туда новые значения.

Теперь так делать нельзя, т.к. этих таблиц нет. Чтобы при работе через старое API не было ошибок, были добавлены новые события, которые перехватываются UserFieldHelper и обращаются к методам этого класса:

  • public static function getUserFieldValues(int $id, array $userFields): ?array - возвращает массив значений пользовательских полей с кодами $userFields для элемента с идентификатором $id. Возвращает null, если такого элемента нет;
  • public static function updateUserFieldValues(int $id, array $fields): Main\Result - обновляет значения пользовательских полей элемента с идентификатором $id. В массиве $fields лежат коды полей и значения для них;
  • public static function deleteUserFieldValues(int $id): Main\Result - очищает значения всех пользовательских полей элемента $id.


Registry

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

Класс для хранения инстансов фабрик. Синглтон.

Сбор инстансов осуществляется через событие onGetUserFieldTypeFactory.

Пример добавления своей фабрики

Полностью работающая схема есть в модуле RPA.

Bitrix\Main\EventManager::getInstance()->addEventHandler('main', 'onGetUserFieldTypeFactory', static function(){
    return [
        new MyFactory(),
    ];
});

Методы

Метод | Описание | С версии
public static function getInstance(): Registry | Возвращает инстанс |
public function registerFactory(TypeFactory $factory) | Регистрирует новую фабрику |
public function registerTypeByEntity(Entity $entity, array $type): void | Добавляет во внутреннее хранилище информацию о типе $type по скомпилированной сущности $entity таблета элементов. |
public function getTypeByEntity(Entity $entity): ?array | Возвращает информацию о типе по скомпилированной сущности $entity таблета элементов |
public function getFactoryByCode(string $code): ?TypeFactory | Возвращает инстанс фабрики по её строковому идентификатору $code |
public function getFactoryByTypeDataClass($typeDataClass): ?TypeFactory | Возвращает инстанс фабрики по названию класса таблета для типов |
public function getUserFieldEntityIdByItemEntity(Entity $entity): ?string | Возвращает строковый идентификатор пользовательских полей для скомпилированной сущности $entity |


Type

Класс орм-объекта, который является родителем всех орм-объектов типов.

Есть стандартный набор геттеров-сеттеров для системных полей.

Цепочка наследования

Bitrix\Main\UserField\Internal\Type является наследником класса Bitrix\Main\ORM\Objectify\EntityObject.


TypeDataManager

Описание и методы

Абстрактный класс для таблетов типов. Таблет имеет некоторый набор системных полей. Наследники могут добавить свои.

Цепочка наследования

Bitrix\Main\UserField\Internal\TypeDataManager является наследником класса Bitrix\Main\ORM\Data\DataManager [image].

Поля по умолчанию

  • ID
  • NAME Строковый идентификатор элемента. Обязательное
  • TABLE_NAME Строка с названием таблицы, где хранятся элементы. Обязательное

Методы

Метод | Описание | С версии
public static function getFactory(): TypeFactory | Возвращает инстанc фабрики |
public static function resolveType($type): ?array | Пытается наименее затратным способом получить информацию о типе. $type может быть идентификатором типа, всем массивом или орм-объектом |
public static function compileEntity($type): Entity | Компилирует сущность для таблета элементов типа $type. |

Создание колонок и таблиц

Методы-обработчики событий выполняют создание и удаление колонок и таблиц.

Метод | Описание | С версии
public static function onAfterAdd(Event $event): EventResult | В этом методе создается таблица для элементов типа.
public static function onAfterUpdate(Event $event): EventResult | Здесь переименовываются созданные ранее таблицы, если поле TABLE_NAME было изменено.
public static function onBeforeDelete(Event $event): EventResult Здесь:

  • удаляются файлы из значений свойств типа "файл";
  • удаляются значения списка для свойств типа "список";
  • удаляются языковые фразы всех пользовательских полей этого типа;
  • удаляются все записи о пользовательских полях этого типа;
  • удаляются все таблицы множественных значений полей этого типа.
public static function onAfterDelete(Event $event): EventResult | Здесь удаляется таблица элементов.


TypeFactory

Абстрактный класс фабрики типов (абстрактная фабрика). Этот класс хранит в себе соответствие между типом и его элементами.

Методы

Метод | Описание | С версии
abstract public function getTypeDataClass(): string; | Метод должен вернуть FQN-название конкретного класса-наследника таблета типов. |
abstract public function getItemPrototypeDataClass(): string; | Метод должен вернуть FQN-название прототипа класса-наследника таблета элементов |
abstract public function getCode(): string; | Метод должен вернуть строковый идентификатор фабрики (например, идентификатор модуля). |
public function getItemDataClass($type): string | Метод возвращает класс таблета элементов для типа $type. |
public function getItemEntity($type): \Bitrix\Main\ORM\Entity | Метод возвращает объект сущности для таблета элементов для типа $type. |
public function getItemParentClass(): string | Метод возвращает родительский орм-класс для объектов элементов. |
public function getUserFieldEntityPrefix(): string | Метод возвращает префикс для пользовательских полей. |
public function getUserFieldEntityId(int $typeId): string | Метод возвращает строковый идентификатор сущности пользовательских полей. |


UserFieldHelper

Описание и методы

Класс содержит методы-обработчики событий от API пользовательских полей. Синглтон.

Методы

Метод | Описание | С версии
public static function getInstance(): UserFieldHelper | Возвращает инстанс класса. |
public function getManager(): ?\CUserTypeManager |  |
public function getApplication(): ?\CAllMain | Геттеры, чтобы не писать в коде других методов global. |
public function parseUserFieldEntityId(string $entityId): ?array | Пытается получить инстанс фабрики и идентификатор [link=11276914 ]типа[/link] из строкового идентификатора сущности пользовательского поля. Если это удалось (фабрика была зарегистрирована корректно), то в результате будет массив, где первый элемент - фабрика, а второй - идентификатор типа. |

Обработчики событий

Метод | Описание | С версии
public static function OnBeforeUserTypeAdd($field) Перед созданием нового поля. Пытается определить, есть ли зарегистрированная фабрика для сущности этого поля.
Если есть, то API пользовательских полей не будет создавать свои таблицы.
public static function onAfterUserTypeAdd($field) После создания нового пользовательского поля этот метод добавляет новую колонку в таблицу элементов.
Если надо - создает таблицу для хранения множественных значений
public static function OnBeforeUserTypeDelete($field) Метод зачищает данные перед удалением поля:
  • файлы (если поле типа "файл");
  • удаляет колонку из таблицы элементов;
  • удаляет таблицу хранения множественных значений.
public static function onGetUserFieldValues(Event $event): EventResult | Не допускает обращение к собственным таблицам пользовательских полей для поиска значений. Собирает значения из своей таблицы и возвращает их.
public static function onUpdateUserFieldValues(Event $event): EventResult | Не допускает обращение к собственным таблицам пользовательских полей для изменения значений. Определяет таблет, к которому надо обратиться, и изменяет значения через него.
public static function onDeleteUserFieldValues(Event $event): EventResult | Не допускает обращение к собственным таблицам пользовательских полей для удаления значений. Определяет таблет, к которому надо обратиться, и удаляет значения через него.


События

События

 | Описание
onGetUserFieldValues | При получении значений пользовательских полей
onUpdateUserFieldValues | При обновлении пользовательского поля
onDeleteUserFieldValues | При удалении пользовательского поля


onDeleteUserFieldValues

Параметры

Параметр | Описание | С версии
string entityId | Строка-идентификатор сущности (например, UF_USR для пользователя) |
int $id | Идентификатор сущности (например, ид пользователя) |

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

Возвращаемое значение аналогично тому, что в событии onUpdateUserFieldValues

Пример

\Bitrix\Main\EventManager::getInstance()->addEventHandler('main', 'onDeleteUserFieldValues', function(\Bitrix\Main\Event $event)
{
   $resultType = \Bitrix\Main\EventResult::UNDEFINED;

   $entityId = $event->getParameter('entityId');
   $id = $event->getParameter('id');

   if($entityId === 'UF_MY_ENTITY')
   {
      //delete data
      $result = \MyModule\Model\SomeStorageTable::delete($id);
      if($result->isSuccess())
      {
         $resultType = \Bitrix\Main\EventResult::SUCCESS;
      }
      else
      {
         $resultType = \Bitrix\Main\EventResult::ERROR;
      }
   }

   return new \Bitrix\Main\EventResult($resultType);
});


onGetUserFieldValues

Вызывается каждый раз при получении значений пользовательских полей в методе \CUserTypeManager::getUserFieldValuesByEvent()

Параметры

Параметр | Описание | С версии
array userFields | Массив описаний пользовательских полей, где ключ - название поля. |
string entityId | Строка-идентификатор сущности (например, UF_USR для пользователя) |
int $value | Идентификатор сущности (например, ид пользователя) |

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

Обработчик события должен вернуть массив values, где будут лежать значения пользовательских полей, где ключ - это название поля. Если не передать values, то значения будут получены "по-старому", из соответствующих таблиц

Пример

\Bitrix\Main\EventManager::getInstance()->addEventHandler('main', 'onGetUserFieldValues', function(\Bitrix\Main\Event $event)
{
   $result = new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS);

   $entityId = $event->getParameter('entityId');
   $userFields = $event->getParameter('userFields');
   $value = $event->getParameter('value');

   if($entityId === 'UF_MY_ENTITY')
   {
      $values = [
         'UF_MY_ENTITY_FIELD' => 'someValue',
      ];

      $result = new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, [
         'values' => $values,
      ]);
   }

   return $result;
});


onUpdateUserFieldValues

Параметры

Параметр | Описание | С версии
string entityId | Строка-идентификатор сущности (например, UF_USR для пользователя) |
int $id | Идентификатор сущности (например, ид пользователя) |
array fields | Значения пользовательских полей, где ключ - название поля |

Обработчик события должен вернуть объект \Bitrix\Main\EventResult с типом:

  • \Bitrix\Main\EventResult::SUCCESS в случае успешной записи новых значений
  • \Bitrix\Main\EventResult::ERROR, если при обновлении произошла ошибка

Если событие было перехвачено, но обновление не производилось, то надо вернуть объект \Bitrix\Main\EventResult с типом \Bitrix\Main\EventResult::UNDEFINED/

Пример

\Bitrix\Main\EventManager::getInstance()->addEventHandler('main', 'onUpdateUserFieldValues', function(\Bitrix\Main\Event $event)
{
   $resultType = \Bitrix\Main\EventResult::UNDEFINED;

   $entityId = $event->getParameter('entityId');
   $fields = $event->getParameter('fields');
   $id = $event->getParameter('id');

   if($entityId === 'UF_MY_ENTITY')
   {
      //update data
      $result = \MyModule\Model\SomeStorageTable::update($id, $fields);
      if($result->isSuccess())
      {
         $resultType = \Bitrix\Main\EventResult::SUCCESS;
      }
      else
      {
         $resultType = \Bitrix\Main\EventResult::ERROR;
      }
   }

   return new \Bitrix\Main\EventResult($resultType);
});


UserTable

UserTable - класс для работы с пользователями.

Внимание! с версии 20.0.1300 формы авторизации/регистрации теперь принимают данные только POST-запросом.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы. |


getMap

array public static
\Bitrix\Main\UserTable::getMap(
);

Статический метод возвращает список полей для таблицы пользователей.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


UserUtils

UserUtils - Класс утилит для работы с пользователями.

Метод | Описание | С версии
getUserSearchFilter | Метод позволяет получить массив для фильтрации в Main\UserTable::getList по полям с персональными данными |
getDepartmentNames | Метод позволяет получить локализацию для подразделений в которых состоит пользователь. |
getDepartmentName | Метод позволяет получить локализацию для подразделения в котором состоит пользователь. |


getDepartmentName

\Bitrix\Main\UserUtils::getDepartmentName
(
   $departmentId
)

Статический метод - аналог getDepartmentNames, но только для одного подразделения.

Параметры

Параметр | Описание | С версии
departmentId | Идентификатор подразделения |

Пример

$result = \Bitrix\Main\UserUtils::getDepartmentName(3);


getDepartmentNames

\Bitrix\Main\UserUtils::getDepartmentNames(
   $departmentIds
)

Статический метод позволяет получить локализацию для подразделений в которых состоит пользователь.

Параметры

Параметр | Описание | С версии
departmentIds | Массив с идентификаторами подразделений UF_DEPARTMENT из таблицы Main\UserTable. |

Пример

$result = \Bitrix\Main\UserUtils::getDepartmentNames(array(1,2,3));


getUserSearchFilter

\Bitrix\Main\UserUtils::getUserSearchFilter (
   $fields
)

Статический метод позволяет получить специально сформированный массив для фильтрации в Main\UserTable::getList по полям с персональными данными (имя, фамилия, отчество, название подразделения, должность).Работает в двух режимах: быстро с помощью Fulltext Index и более медленный вариант через [dw]правый LIKE[/dw][di]USER_NAME LIKE "Текст%" - это называется правый лайк, когда поиск осуществляется только по тексту который начинается на заданную фразу, но может содержать разные окончания - такой поиск существенно быстрее чем у двухстороннего лайка "%текст%" или левостороенного "%текст" - за счет архитектуры хранения индексированных полей в БД[/di] (поддержка определяется автоматически).

Параметры

Параметр Описание С версии
fields Массив может содержать поля в любом сочетании:
  • NAME - имя
  • LAST_NAME - фамилия
  • SECOND_NAME - отчество
  • WORK_POSITION - должность
  • UF_DEPARTMENT_NAME - название подразделения
Или FIND - поле которое будет искать во всех перечисленных полях (Это аналог режима старого CUser::GetList [image] в котором можно было задать фильтр NAME_SEARCH и получить результат)

Пример

$filter = \Bitrix\Main\UserUtils::getUserSearchFilter(Array(
    'FIND' => 'Мария Ившина'
));
$filter['IS_REAL_USER'] = 'Y';

$record = \Bitrix\Main\UserTable::getList(Array(
    'select' => Array('ID', 'NAME', 'SECOND_NAME', 'LAST_NAME', 'WORK_POSITION', 'UF_DEPARTMENT'),
    'filter' => $filter
))->fetchAll();

print_r($record);


Web

Web - работа с WEB: URL, обращения по сети и другое.

Класс | Описание | С версии
HttpClient | Класс для работы с HTTP | 14.0.15
HttpHeaders | Класс для работы с заголовками. | 14.0.15
Uri | Класс для работы со ссылками. | 12.0.7
Json | Класс для работs с текстовым форматом обмена данными JSON. | 14.0.8
PostDecodeFilter | Класс декодирует данные в коллекции. | 15.0.7
Cookie | Класс для работы с файлами cookie.. | 12.0.1


Cookie

Cookie - класс для работы с файлами cookie.

Аналоги в старом ядре:
CMain::set_cookie [image] - для создания,
CMain::get_cookie [image] - для получения.

В ядре D7 cookie задавать нужно через класс Bitrix\Main\HttpResponse, получать их нужно через класс Bitrix\Main\HttpRequest.

Примеры

use Bitrix\Main\Application;
use Bitrix\Main\Web\Cookie;
$cookie = new Cookie("TEST", 42);
$cookie->setDomain("example.com");
Application::getInstance()->getContext()->getResponse()->addCookie($cookie);
// Cookie будет доступна только на следующем хите!
echo Application::getInstance()->getContext()->getRequest()->getCookie("TEST");


HttpClient

HttpClient - класс для работы с HTTP. Класс работает через сокеты. Класс принимает опции по умолчанию из настроек конфигурации http_client_options файла /bitrix/.settings.php.

Метод | Описание | С версии
disableSslVerification | Метод запрещает верификацию ssl сертификата. | 15.5.9
download | Метод скачивает и сохраняет файлы. |
get | Метод выполняет GET запрос. |
getCharset | Метод возвращает кодировку контента ответа. |
getContentType | Метод возвращает тип контента ответа. |
getCookies | Метод возвращает отпарсенный HTTP ответ cookies |
getEffectiveUrl | Метод возвращает URL последнего редиректа или первначалный URL. |
getError | Метод возвращает массив ошибок при неудаче |
getHeaders | Метод возвращает отпарсенные заголовки HTTP ответов. |
getResult | Метод возвращает строку сущности HTTP ответа. |
getStatus | Метод возвращает код статуса HTTP ответа. |
head | Метод выполняет HEAD запрос. |
post | Метод выполняет POST запрос. |
query | Метод выполняет HTTP запрос. |
setAuthorization | Метод устанавливает поле заголовка запроса аутентификации. |
setCharset | Метод устанавливает кодировку для тела объекта |
setCompress | Метод устанавливает опции компрессии. |
setCookies | Метод устанавливает массив cookies для HTTP запроса |
setHeader | Метод устанавливает поле заголовка HTTP запроса. |
setOutputStream | Метод устанавливает вывод ответа в поток вместо строкового результата. |
setProxy | Метод устанавливает HTTP прокси для запроса. |
setRedirect | Метод устанавливает опции редиректа. |
setStreamTimeout | Метод устанавливает поток сокетов для чтения таймаута. |
setVersion | Метод устанавливает версию HTTP протокола. |
waitResponse | Метод устанавливает опцию ожидания ответа. |
destruct | Метод закрывает соединение при уничтожении объекта. |
Конструктор | Метод создаёт новый объект класса. |
setTimeout | Метод устанавливает таймаут соединения. |

Примеры

Пример настройки:

  'http_client_options' =>
   array (
     'value' =>
        array (
         'redirect' => true,//делаем редиректы, если требуется
         'redirectMax' => 10,//но не более 10
         'version' => '1.1'//работаем по протоколу http 1.1
        ),
     'readonly' => false,
   ),

Правильность настроек, можно проверить так (должен быть выведен ваш массив):

use Bitrix\Main\Config\Configuration;
print_r(Configuration::getValue("http_client_options"));

use Bitrix\Main\Web\HttpClient;

$httpClient = new HttpClient();
$httpClient->setHeader('Content-Type', 'application/json', true);
$response = $httpClient->post('http://www.example.com', json_encode(array('x' => 1)));

use Bitrix\Main\Web\HttpClient;

$httpClient = new HttpClient();
$httpClient->download('http://www.example.com/robots.txt', $_SERVER['DOCUMENT_ROOT'].'/upload/my.txt');

use Bitrix\Main\Web\HttpClient;
$url = "http://www.example.com"; // отсюда возьмется кука
$url2 = "http://www.example.com/form_request"; // адрес, куда посылать запрос
$post = "val1=true&val2=false"; // запрос строкой, либо массивом

$httpClient = new HttpClient();
$httpClient->query("GET", $url);
$cookie = $httpClient->getCookies()->toArray(); // Кука отдаются объектом -> впихнем ее в массив.

echo "<pre>"; print_r($cookie); echo "</pre>";

$httpClient->setHeader('Content-Type','application/x-www-form-urlencoded');
$httpClient->setCookies($cookie); // Аргумент должен быть массивом!
$response = $httpClient->post($url2, $post);

echo "<pre>"; var_dump($response); echo "</pre>";


disableSslVerification

void public
\Bitrix\Main\Web\HttpClient::disableSslVerification(
);

Нестатический метод запрещает верификацию ssl сертификата.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


download

boolean public
\Bitrix\Main\Web\HttpClient::download(
 string $url,
 string $filePath
);

Нестатический метод скачивает и сохраняет файлы.

Параметры

Параметр | Описание | Версия
$url | URI для скачивания. |
$filePath | Абсолютный путь. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


get

string|boolean public
\Bitrix\Main\Web\HttpClient::get(
 string $url
);

Нестатический метод выполняет GET запрос.

Параметры

Параметр | Описание | Версия
$url | абсолютный URI в виде: "http://user:pass@host:port/path/?query" |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCharset

string public
\Bitrix\Main\Web\HttpClient::getCharset(
);

Нестатический метод возвращает кодировку контента ответа.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getContentType

string public
\Bitrix\Main\Web\HttpClient::getContentType(
);

Нестатический метод возвращает тип контента ответа.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCookies

\Bitrix\Main\Web\HttpCookies public
\Bitrix\Main\Web\HttpClient::getCookies(
);

Нестатический метод возвращает отпарсенный HTTP ответ cookies.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEffectiveUrl

string public
\Bitrix\Main\Web\HttpClient::getEffectiveUrl(
);

Нестатический метод возвращает URL последнего редиректа, если запрос был перенаправлен, или первоначалный URL если перенаправления не было.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getError

array public
\Bitrix\Main\Web\HttpClient::getError(
);

Нестатический метод возвращает массив ошибок при неудаче.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getHeaders

\Bitrix\Main\Web\HttpHeaders public
\Bitrix\Main\Web\HttpClient::getHeaders(
);

Нестатический метод возвращает отпарсенные заголовки HTTP ответов.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getResult

string public
\Bitrix\Main\Web\HttpClient::getResult(
);

Нестатический метод возвращает строку сущности HTTP ответа.

Важно! если установлен OutputStream, то результатом будет пустая строка.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getStatus

integer public
\Bitrix\Main\Web\HttpClient::getStatus(
);

Нестатический метод возвращает код статуса HTTP ответа.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


head

\Bitrix\Main\Web\HttpHeaders|boolean public
\Bitrix\Main\Web\HttpClient::head(
 string $url
);

Нестатический метод выполняет HEAD запрос.

Параметры

Параметр | Описание | Версия
$url | абсолютный URI в виде: "http://user:pass@host:port/path/?query" |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


post

string|boolean public
\Bitrix\Main\Web\HttpClient::post(
 string $url,
 array|string|resource $postData = null,
 $multipart = false
);

Нестатический метод выполняет POST запрос.

Примечания:
1. Заголовки устанавливает метод setHeader.
2. XML можно передать тремя способами:
- как поле формы,
- как файл формы,
- просто в теле запроса.

Параметры

Параметр | Описание | Версия
$url | Абсолютный URI в виде: "http://user:pass@host:port/path/?query". |
$postData | Сущность POST/PUT [dw]запроса[/dw][di]Вид запроса зависит от того, как именно сервер принимает. Будьте внимательны.[/di]. Если это - обработчик ресурсов, то чтение данных осуществляется непосредственно из потока. |
$multipart | По умолчанию false. Использовать или нет multipart/form-data. Если true, то метод принимает файл как источник или как массив с ключами resource (или content) и опциональными ключами filename и contentType. | 17.5.5

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


query

boolean public
\Bitrix\Main\Web\HttpClient::query(
 string $method,
 string $url,
 array|string|resource $entityBody = null
);

Нестатический метод выполняет HTTP запрос.

Параметры

Параметр | Описание | Версия
$method | HTTP метод (GET, POST и так далее). Важно: должно быть набрано в верхнем регистре. |
$url | Абсолютный URI в виде: "http://user:pass@host:port/path/?query". |
$entityBody | Сущность POST/PUT запроса. Если это - обработчик ресурсов, то данные будут читаться непосредственно из потока. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setAuthorization

void public
\Bitrix\Main\Web\HttpClient::setAuthorization(
 string $user,
 string $pass
);

Нестатический метод устанавливает поле заголовка запроса аутентификации (Basic Authorization).

Параметры

Параметр | Описание | Версия
$user | Логин. |
$pass | Пароль. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setCharset

void public
\Bitrix\Main\Web\HttpClient::setCharset(
 string $value
);

Нестатический метод устанавливает кодировку для тела объекта (используется в поле заголовка запроса Content-Type для POST и PUT).

Параметры

Параметр | Описание | Версия
$value | Кодировка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setCompress

void public
\Bitrix\Main\Web\HttpClient::setCompress(
 boolean $value
);

Нестатический метод устанавливает опции компрессии.

Примите во внимание, что не нужно использовать опции сжатия с выходным потоком, если контент может быть большим. Учтите что сжатый ответ обрабатывается в любом случае, если установлено поле заголовка Content-Encoding.

Параметры

Параметр | Описание | Версия
$value | Если true, будет послан Accept-Encoding: gzip. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setCookies

void public
\Bitrix\Main\Web\HttpClient::setCookies(
 array $cookies
);

Нестатический метод устанавливает массив cookies для HTTP запроса.

Параметры

Параметр | Описание | Версия
$cookies | Массив пар cookie_name => value. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setHeader

void public
\Bitrix\Main\Web\HttpClient::setHeader(
 string $name,
 string $value,
 boolean $replace = true
);

Нестатический метод устанавливает поле заголовка HTTP запроса.

Параметры

Параметр | Описание | Версия
$name | Имя поля заголовка. |
$value | Значение поля. |
$replace | Заменить существующий заголовок с текщим именем или добавить ещё один. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setOutputStream

void public
\Bitrix\Main\Web\HttpClient::setOutputStream(
 resource $handler
);

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

Внимание! Поток должен иметь возможность записи/чтения, чтобы поддерживать сжатый ответ. В этом режиме строчный ответ - пустой.

Параметры

Параметр | Описание | Версия
$handler | Файл либо обработчик потока. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setProxy

void public
\Bitrix\Main\Web\HttpClient::setProxy(
 string $proxyHost,
 null|integer $proxyPort = null,
 null|string $proxyUser = null,
 null|string $proxyPassword = null
);

Нестатический метод устанавливает HTTP прокси для запроса.

Параметры

Параметр | Описание | Версия
$proxyHost | Имя или адрес хоста (без http://). |
$proxyPort | Номер порта. |
$proxyUser | Имя пользователя. |
$proxyPassword | Пароль пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setRedirect

void public
\Bitrix\Main\Web\HttpClient::setRedirect(
 boolean $value,
 null|integer $max = null
);

Нестатический метод устанавливает опции редиректа.

Параметры

Параметр | Описание | Версия
$value | Если true, выполняется редирект (по умолчанию true). |
$max | Максимально возможное число редиректов. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setStreamTimeout

void public
\Bitrix\Main\Web\HttpClient::setStreamTimeout(
 integer $value
);

Нестатический метод устанавливает таймаут чтения потока сокетов.

Параметры

Параметр | Описание | Версия
$value | Таймаут чтения потока в секундах; "0" - нет ограничений (по умолчанию 60). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setTimeout

void public
\Bitrix\Main\Web\HttpClient::setTimeout(
 integer $value
);
Нестатический метод устанавливает таймаут соединения.

Параметры

Параметр | Описание | Версия
$value | Таймаут соединения в секундах (по умолчанию 30). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setVersion

void public
\Bitrix\Main\Web\HttpClient::setVersion(
 string $value
);

Нестатический метод устанавливает версию HTTP протокола. В версии 1.1 возможен фрагментированный ответ.

Параметры

Параметр | Описание | Версия
$value | Версия "1.0" или "1.1" (По умолчанию "1.0"). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


waitResponse

void public
\Bitrix\Main\Web\HttpClient::waitResponse(
 boolean $value
);

Нестатический метод устанавливает опцию ожидания ответа.

Параметры

Параметр | Описание | Версия
$value | Если true - ожидает получения тела ответа.Если false - разрывает соединение сразу после чтения заголовков ответа. (По умолчанию true). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Деструктор HttpClient

 public
\Bitrix\Main\Web\HttpClient::__destruct(
);

Нестатический метод вызывается при уничтожении последней ссылки на экземпляр объекта, но не уничтожает объект класса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор HttpClient

Описание

public
\Bitrix\Main\Web\HttpClient::__construct(
 array $options = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести какие-то действия при создании объекта.

Параметры

Параметр Описание Версия
options Массив параметров:
  • bool redirect Следовать переадресации (по умолчанию true - редирект).
  • int redirectMax Максимальное количество редиректов (по умолчанию 5).
  • bool waitResponse Дождаться ответа или отключиться сразу после запроса (по умолчанию true - ожидание ответа)
  • int socketTimeout Таймаут соединения в секундах (по умолчанию 30).
  • int streamTimeout Таймаут потока в секундах (по умолчанию 60).
  • string version Версия HTTP (HttpClient::HTTP_1_0, HttpClient::HTTP_1_1) (по умолчанию "1.0").
  • string proxyHost Имя\адрес прокси сервера.
  • int proxyPort Порт прокси сервера.
  • string proxyUser Имя пользователя прокси сервера.
  • string proxyPassword Пароль прокси.
  • bool compress Использование сжатия zip (по умолчанию false). Если true, будет послан Accept-Encoding: gzip.
  • string charset Кодировка для содержимого POST и PUT запросов. (Используется в поле заголовка запроса Content-Type.)
  • bool disableSslVerification Если установлено true, то верификация ssl-сертификатов производиться не будет.
Все эти опции не обязательно указывать при создании экземпляра класса, их можно установить в дальнейшем.

Примеры

Создать экземпляр класса:

$http=new \Bitrix\Main\Web\HttpClient(array $options = null);)

Выполнение GET запроса. В параметр необходимо передать абсолютный путь. Возвращается строка ответа или false, если произошла ошибка. Обратите внимание, что пустая строка не является ошибкой.

$http->get($url)

Выполнение POST запроса. Первый параметр - абсолютный путь. Второй параметр может быть массивом, строкой, объектом. Аналогично предыдущему методу возвращает строку ответа или false, если произошла ошибка.

$http->post($url, $postData = null)

Установка заголовока http в запросе. Первый параметр устанавливает имя поля заголовка, второй параметр значение этого поля. (Обратите внимание, что в обоих случаях передается строка. То есть если нужно сразу установить несколько заголовков, то метод нужно будет вызвать несколько раз.) Третий параметр отвечает за то, будет ли перезаписываться заголовок, если уже установлен параметр с таким же именем или нет.

$http->setHeader($name, $value, $replace = true)

Установка cookies для запроса. Единственный параметр принимает массив, где ключ - это имя cookies, а значение - значение cookies.

$http->setCookies(array $cookies)

Установка поля заголовка запроса базовой http авторизации. В параметрах передается имя пользователя и пароль.

$http->setAuthorization($user, $pass)

Установка опции перенаправления. Первый параметр устанавливает делать ли перенаправления или нет, а второй задаёт максимальное количество перенаправлений.

$http->setRedirect($value, $max = null)

Установка параметра, который задаёт ожидание отклика от сервера или закрытие соединения сразу после запроса. По умолчанию - ожидание.

$http->waitResponse($value)

Установка максимального времени ожидания ответа в секундах.

$http->setTimeout($value)

Установка версии HTTP протокола. По умолчанию 1.0. Можно установить 1.1

$http->setVersion($value)

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

$http->setCompress($value)

Установка кодировки для тела объектов запросов POST и PUT

$http->setCharset($value)

Установка параметров для использования прокси сервера. Указывается первым параметром хост или адрес, вторым - порт, третий параметр - это имя пользователя и четвертый - пароль. Все параметры кроме имени хоста не обязательны.

$http->setProxy($proxyHost, $proxyPort = null, $proxyUser = null, $proxyPassword = null)

Указание, что результатом будет поток. Параметром передается реcурс на файл или на поток.

$http->setOutputStream($handler)

Загрузка и сохранение файла. Первый параметр - это адрес откуда нужно скачать файл. Второй параметр - это абсолютный путь для сохранения файла.

$http->download($url, $filePath)


HttpHeaders

HttpHeaders - класс для работы с заголовками.

Метод | Описание | С версии
add | Метод добавляет заголовок. |
clear | Метод очищает все заголовки. |
get | Метод возвращает заголовок по его имени. |
getCharset | Метод возвращает кодировку из Content-Type заголовка. |
getContentDisposition | Метод возвращает disposition-type из Content-Disposition заголовка. |
getContentType | Метод возвращает тип контента из Content-Type заголовка. |
getFilename | Метод возвращает имя файла из Content-disposition заголовка. |
set | Метод устанавливает значение заголовка. |
toArray | Метод возвращает заголовки в виде исходного массива. |
toString | Метод возвращает строковое представление запроса HTTP. |


add

 public
\Bitrix\Main\Web\HttpHeaders::add(
 string $name,
 string $value
);

Нестатический метод добавляет заголовок.

Параметры

Параметр | Описание | Версия
$name |  |
$value |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clear

 public
\Bitrix\Main\Web\HttpHeaders::clear(
);

Нестатический метод очищает все заголовки.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


get

null|string|array public
\Bitrix\Main\Web\HttpHeaders::get(
 string $name,
 boolean $returnArray = false
);

Нестатический метод возвращает заголовок по его имени.

Параметры

Параметр | Описание | Версия
$name | Имя заголовка. |
$returnArray | Если true, то возвращает массив с несколькими значениями. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCharset

null|string public
\Bitrix\Main\Web\HttpHeaders::getCharset(
);

Нестатический метод возвращает кодировку из Content-Type заголовка.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getContentDisposition

null|string public
\Bitrix\Main\Web\HttpHeaders::getContentDisposition(
);

Нестатический метод возвращает disposition-type из Content-Disposition заголовка.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getContentType

null|string public
\Bitrix\Main\Web\HttpHeaders::getContentType(
);

Нестатический метод возвращает тип контента из Content-Type заголовка.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFilename

string|null public
\Bitrix\Main\Web\HttpHeaders::getFilename(
);

Нестатический метод возвращает имя файла из Content-disposition заголовка.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


set

 public
\Bitrix\Main\Web\HttpHeaders::set(
 string $name,
 string $value
);

Нестатический метод устанавливает значение заголовка.

Параметры

Параметр | Описание | Версия
$name |  |
$value |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


toArray

array public
\Bitrix\Main\Web\HttpHeaders::toArray(
);

Нестатический метод возвращает заголовки в виде исходного массива.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


toString

string public
\Bitrix\Main\Web\HttpHeaders::toString(
);

Нестатический метод возвращает строковое представление запроса HTTP.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Json

Json - класс реализует работу с текстовым форматом обмена данными JavaScript Object Notation (JSON).

Метод | Описание | С версии
decode | Метод выполняет декодирование строки JSON и конвертирует данные в переменные PHP. |
encode | Метод возвращает строку, содержащую JSON представление переменной $data. |


decode

mixed public static
\Bitrix\Main\Web\Json::decode(
 string $data
);

Статический метод выполняет декодирование строки JSON и конвертирует данные в переменные PHP.

Параметры

Параметр | Описание | Версия
$data | Json строка для декодирования. |

Исключения

  • \Bitrix\Main\ArgumentException

См. также

  • \Bitrix\Main\Web\Json::encode

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


encode

mixed public static
\Bitrix\Main\Web\Json::encode(
 mixed $data,
 null $options = null
);

Статический метод возвращает строку, содержащую JSON представление переменной $data.

Параметры

Параметр | Описание | Версия
$data | Данные для кодирования. |
$options | Параметры битовой маски. По умолчанию: JSON_HEX_TAG|JSON_HEX_AMP|JSON_HEX_APOS|JSON_HEX_QUOT. |

Исключения

  • \Bitrix\Main\ArgumentException

См. также

  • \Bitrix\Main\Web\Json::encode

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


PostDecodeFilter

Класс декодирует данные в коллекции. Актуально при работе с коллекциями _POST.

Метод | Описание | С версии
filter | Метод возвращает массив декодированных данных через getPost(). |

Примеры

Application::getInstance()->getContext()->getRequest()->addFilter(new PostDecodeFilter)


filter

public
Bitrix\Main\Web\PostDecodeFilter::filter(
 array $values
);

Нестатический метод возвращает массив декодированных данных через getPost().

Выполняет функции метода CUtil::jSPostUnescape в старом ядре.

Параметры

Параметр | Описание | Версия
$values | Данные, которые подвергаются обработке. |

Примеры

use Bitrix\Main\Web\PostDecodeFilter;
...
Application::getInstance()->getContext()->getRequest()->addFilter(new PostDecodeFilter)


Uri

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

Uri - класс для работы со ссылками.

Аналог CMain::GetCurPageParam [image] и DeleteParam [image] в старом ядре. Работа с классом \Bitrix\Main\Web\Uri несколько сложнее чем в старом ядре: это следствие того, что в этом классе каждый метод отвечает только за один аспект работы класса.

Примеры

use Bitrix\Main\Application;
use Bitrix\Main\Web\Uri;

$request = Application::getInstance()->getContext()->getRequest();
$uriString = $request->getRequestUri();
$uri = new Uri($uriString);
$uri->deleteParams(array("baz"));
$uri->addParams(array("foo" => "bar"));
$redirect = $uri->getUri();

Методы

Метод | Описание | С версии
addParams | Метод добавляет параметры в запрос или заменяет существующие параметры. | 15.5.10
deleteParams | Метод удаляет параметры из запроса. | 15.5.10
getFragment | Метод возвращает фрагмент. | 14.0.15
getHost | Метод возвращает хост. | 14.0.15
getLocator | Метод возвращает URI без фрагмента. | 15.5.10
getPass | Метод возвращает пароль. | 14.0.15
getPath | Метод возвращает путь. | 14.0.15
getPathQuery | Метод возвращает путь с запросом. | 14.0.15
getPort | Метод возвращает номер порта. | 14.0.15
getQuery | Метод возвращает запрос | 14.0.15
getScheme | Метод возвращает схему. | 14.0.15
getUri | Метод возвращает URI с фрагментом, если он имеется. | 15.5.10
getUser | Метод возвращает пользователя. | 14.0.15
setHost | Метод устанавливает хост | 14.0.15
setPath | Метод устанавливает путь. | 15.5.10
setUser | Метод устанавливает пользователя. | 16.5.7
setPass | Метод устанавливает пароль. | 16.5.7


addParams

\Bitrix\Main\Web\Uri public
\Bitrix\Main\Web\Uri::addParams(
 array $params
);

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

Выполняет функции метода CMain::GetCurPageParam [image] в старом ядре.

Параметры

Параметр | Описание | Версия
$params | Параметры для добавления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteParams

\Bitrix\Main\Web\Uri public
\Bitrix\Main\Web\Uri::deleteParams(
 array $params
);

Нестатический метод удаляет параметры из запроса.

Выполняет функции методов CMain::GetCurPageParam [image] и DeleteParam [image] в старом ядре.

Параметры

Параметр | Описание | Версия
$params | Удаляемые параметры. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFragment

string public
\Bitrix\Main\Web\Uri::getFragment(
);

Нестатический метод возвращает фрагмент.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getHost

string public
\Bitrix\Main\Web\Uri::getHost(
);

Нестатический метод возвращает хост.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLocator

string public
\Bitrix\Main\Web\Uri::getLocator(
);

Нестатический метод возвращает URI без фрагмента.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPass

string public
\Bitrix\Main\Web\Uri::getPass(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPath

string public
\Bitrix\Main\Web\Uri::getPath(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPathQuery

string public
\Bitrix\Main\Web\Uri::getPathQuery(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPort

string public
\Bitrix\Main\Web\Uri::getPort(
);

Нестатический метод возвращает номер порта.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getQuery

string public
\Bitrix\Main\Web\Uri::getQuery(
);

Нестатический метод возвращает запрос.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getScheme

string public
\Bitrix\Main\Web\Uri::getScheme(
);

Нестатический метод возвращает схему.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUri

string public
\Bitrix\Main\Web\Uri::getUri(
);

Нестатический метод возвращает URI с фрагментом, если он имеется.

Выполняет функции методов CMain::GetCurPageParam [image] и DeleteParam [image] в старом ядре.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUser

string public
\Bitrix\Main\Web\Uri::getUser(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setHost

\Bitrix\Main\Web\Uri public
\Bitrix\Main\Web\Uri::setHost(
 string $host
);

Нестатический метод устанавливает хост.

Параметры

Параметр | Описание | Версия
$host | Host name. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setPass

\Bitrix\Main\Web\Uri public
\Bitrix\Main\Web\Uri::setPass(
 string $pass
);

Нестатический метод устанавливает пароль.

Параметры

Параметр | Описание | Версия
$pass | Пароль |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setPath

\Bitrix\Main\Web\Uri public
\Bitrix\Main\Web\Uri::setPath(
 string $path
);

Нестатический метод устанавливает путь.

Параметры

Параметр | Описание | Версия
$path |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setUser

\Bitrix\Main\Web\Uri public
\Bitrix\Main\Web\Uri::setUser(
 string $user
);

Нестатический метод устанавливает пользователя.

Параметры

Параметр | Описание | Версия
$user | Пользователь |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


XmlWriter

Описание и методы

XmlWriter - класс для экспорта в XML

Метод | Описание | С версии
construct | Метод - конструктор |
writeItem | Метод записывает один блок в xml файл. |
writeFullTag | Метод записывает полный тег в файл. |
writeEndTag | Метод записывает конец тега в файл. |
writeBeginTag | Метод начинает запись тега в файл. |
openFile | Метод открывает файл для записи и начинает XML запись. |
getErrors | Метод возвращает ошибку. |
closeFile | Метод закрывает открытый файл. |

Примеры

$export = new \Bitrix\Main\XmlWriter(array(
   'file' => '<относительный путь, куда пишем>',
   'create_file' => true,
   'charset' => SITE_CHARSET,
   'lowercase' => true //приводить ли все теги к нижнему регистру (для педантов)
));

//открываем файл
$export->openFile();

//обрамляем массив тегом
$export->writeBeginTag('items');

//получаем в выборке элемент - заметьте, вложенность поддерживается
$test = array(
   'name' => 'Tra & tata',
   'Timе' => time(),
   'array' => array(
      'one' => 1,
      'two' => 2,
      'subarray' => array(
         't1' => 1,
         't2' => 2
      )
   )
);

//пишем тег (элемент выше)
$export->writeItem($test, 'item');

//вторым параметром мы передаем обрамляющий тег для этого массива, это то же самое, что и
$export->writeItem(array('item' =>  $test));

//словили ли ошибки
//$export->getErrors()

//закрываем массив тегом
$export->writeEndTag('items');

//закрываем файл
$export->closeFile();

Удобство класса в возможности пошаговой записи в файл. Например, у вас идет экспорт и вы пишите большой массив данных из базы в файл. Вот переписанный пример выше для реализации пошагового алгоритма (отличия помечены (***)).

$export =  new \Bitrix\Main\XmlWriter(array(
   'file' => '<относительный путь, куда пишем>',
   'create_file' => $step == 0,//создаем файл только на первом шаге (***)
   'charset' => SITE_CHARSET,
   'lowercase' => true //приводить ли все теги к нижнему регистру
));

//открываем файл
$export->openFile();

//обрамляем массив тегом (***)
if ($step == 0)
{
    $export->writeBeginTag('items');
}

//пишем тег (элемент выше) (***) - вот сюда мы возвращаем раз за разом на каждом хите мастера
$export->writeItem($test, 'item');

//закрываем массив тегом (***)
if ($step == 0)
{
    $export->writeEndTag('items');
}

//закрываем файл
$export->closeFile();


closeFile

void public
\Bitrix\Main\XmlWriter::closeFile(
);

Нестатический метод закрывает открытый файл.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrors

array public
\Bitrix\Main\XmlWriter::getErrors(
);

Нестатический метод возвращает ошибки.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


openFile

void public
\Bitrix\Main\XmlWriter::openFile(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


writeBeginTag

void public
\Bitrix\Main\XmlWriter::writeBeginTag(
 string $code
);

Нестатический метод пишет начальный тег в файл.

Параметры

Параметр | Описание | Версия
$code | Код тега. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


writeEndTag

void public
\Bitrix\Main\XmlWriter::writeEndTag(
 string $code
);

Нестатический метод пишет конечный тег в файл.

Параметры

Параметр | Описание | Версия
$code | Код тега. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


writeFullTag

void public
\Bitrix\Main\XmlWriter::writeFullTag(
 string $code,
 string $value
);

Нестатический метод записывает тег и его содержимое в файл.

Параметры

Параметр | Описание | Версия
$code | Код тега. |
$value | Значение тега. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


writeItem

void public
\Bitrix\Main\XmlWriter::writeItem(
 array $item,
 string $wrapperTag = ''
);

Нестатический метод записывает элемент массива в xml файл согласно своей структуре (учитывается вложенность).

Параметры

Параметр | Описание | Версия
$item | Данные для записи |
$wrapperTag | Если != '' данные помещаются в этот тег. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор XmlWriter

 public
\Bitrix\Main\XmlWriter::__construct(
 array $params
);

Метод - конструктор. Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести какие-то действия, при создании объекта.

Параметры

Параметр Описание Версия
$params Массив параметров настроек.
  • create_file - если true, то файл создаётся. Иногда файл не требуется создавать, если он уже есть и идет дописывание в него. Подробнее смотрите в примере.
  • charset - кодировка создаваемого файла, по умолчанию в кодировке сайта.
  • lowercase - если true, то будет приведено к нижнему регистру
  • tab - количество табуляции, с которой начинать запись файл. Используется в случае дописывания файла. Подробнее смотрите в примере.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Управление структурой

Управление структурой - модуль для управления информационным наполнением и структурой сайта (ов), меню и правами доступа.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('fileman');

Класс | Описание | С версии
Block | Набор классов блочного визуального редактора. |

Смотрите также:

  • Управление структурой (пользовательская документация)
  • Управление структурой (учебный курс)


Управление структурой в старом ядре

Информация по модулю Управление структурой в старом ядре

Визуальный редактор

  • Добавление панелей задач
  • Добавление парсеров
  • Объект BXNodeElement
  • Объект oBXEditorUtils

События

Для регистрации обработчика укажите fileman в качестве идентификатора модуля. Список событий модуля Управление структурой:

События, связанные с визуальным HTML-редактором
Событие | Вызывается | Метод | С версии
OnBeforeHTMLEditorScriptsGet | непосредственно перед подключением JavaScript-файлов редактора. Позволяет добавить в список подключаемых файлов дополнительный JavaScript файл или файл стилей. | CFileMan::ShowHTMLEditControl | 6.5.6
OnBeforeLightEditorScriptsGet | перед подключением JavaScript-файлов упрощенного редактора. | CLightHTMLEditor::Init | 8.5.3
OnIncludeHTMLEditorScript | непосредственно после подключения редактора, на странице вызова, но до его инициализации. | CFileMan::ShowHTMLEditControl | 5.0.2
OnIncludeLightEditorScript | непосредственно после подключения упрощенного редактора, на странице вызова, но до его инициализации. | CLightHTMLEditor::InitScripts | 9.5.3
OnIframeBeforeGetValue | Событие позволяет модифицировать содержимое получаемое из визредактора. |  | 17.5.1
Прочие события
Событие | Вызывается | Метод | С версии
OnMedialibItemView | происходит перед созданием и выдачей элемента медиабиблиотеки в виде HTML для показа пользователю. | CMedialib::GetItemViewHTML | 9.0.0


Block

Block - набор классов блочного визуального редактора.

Класс/Пространство имен | Описание | С версии
Editor | Класс методов для работы с блочным редактором. |
EditorMail | Класс для работы с блочным редактором для почты. |


Editor

Editor - класс методов для работы с блочным редактором.

Метод | Описание | С версии
createInstance | Возвращает объект редактора. |
fillDocumentBySliceContent | Заполняет шаблон (как DOM-документ) кусочным контентом. |
fillTemplateBySliceContent | Заполняет шаблон (как HTML) кусочным контентом. |
getDefaultBlockList | Возвращает список стандартных блоков. |
getDefaultToolList | Возвращает список стандартных инструментов, используемых для изменения блоков. |
getHtmlForEditor | Возвращает принятую строку, преобразованную php в специальный формат для работы с блочным редактором. |
getUI | Возвращает HTML части интерфейса. |
isContentSupported | Проверяет строку на наличие атрибутов тегов, указывающих на поддержку блочного редактора. |
isHtmlDocument | Проверяет строку на наличие HTML. |
isSliceContent | Проверяет строку на наличие кусочного контента. |
parseSliceContent | Преобразует строку кусочного контента в массив элементов блочного контента. |
replaceCharset | Меняет кодировку в HTML-строке. |
setBlockList | Устанавливает пользовательский список блоков. |
setComponentFilter | Устанавливает фильтр компонентов. |
setToolList | Устанавливает пользовательский список инструментов. |
show | Возвращает HTML-код для показа в редакторе, включая css и js. |
showEditor | Возвращает HTML интерфейса редактора без css и js. |
Конструктор Editor | Создает объект редактора. |


createInstance

\Bitrix\Fileman\Block\Editor public static
\Bitrix\Fileman\Block\Editor::createInstance(
 array $params
);

Статический метод возвращает объект редактора.

Параметры

Параметр | Описание | Версия
$params | Параметры возвращаемого объекта. |


fillDocumentBySliceContent

boolean public static
\Bitrix\Fileman\Block\Editor::fillDocumentBySliceContent(
 \Bitrix\Main\Web\DOM\Document $document,
 string $sliceContent,
 string $encoding = null
);

Статический метод заполняет шаблон (как DOM-документ) кусочным контентом. Результатом исполнения является DOM-документ.

Параметры

Параметр | Описание | Версия
$document | Целевой документ. |
$sliceContent | Кусочный контент, которым будет заполнен шаблон. |
$encoding | Кодировка. |


fillTemplateBySliceContent

string public static
\Bitrix\Fileman\Block\Editor::fillTemplateBySliceContent(
 string $template,
 string $sliceContent,
 string $encoding = null
);

Статический метод заполняет шаблон (как HTML) кусочным контентом. Результатом исполнения является строка.

Параметры

Параметр | Описание | Версия
$template | Целевой шаблон. |
$sliceContent | Кусочный контент, которым будет заполнен шаблон. |
$encoding | Кодировка. |


getDefaultBlockList

array public
\Bitrix\Fileman\Block\Editor::getDefaultBlockList(
);

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

Без параметров


getDefaultToolList

array public
\Bitrix\Fileman\Block\Editor::getDefaultToolList(
);

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

Без параметров


getHtmlForEditor

string public static
\Bitrix\Fileman\Block\Editor::getHtmlForEditor(
 string $html,
 string $charset = null
);

Статический метод возвращает принятую строку, преобразованную php в специальный формат для работы с блочным редактором.

Параметры

Параметр | Описание | Версия
$html | Принятая HTML-строка. |
$charset | Кодировка. |


getUI

string public
\Bitrix\Fileman\Block\Editor::getUI(
 string $id,
 array $values
);

Нестатический метод возвращает HTML части интерфейса.

Параметры

Параметр | Описание | Версия
$id | Код шаблона. |
$values | Массив заменяемых полей. |


isContentSupported

boolean public static
\Bitrix\Fileman\Block\Editor::isContentSupported(
 string $content
);

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

Параметры

Параметр | Описание | Версия
$content | Проверяемый контент. |


isHtmlDocument

boolean public static
\Bitrix\Fileman\Block\Editor::isHtmlDocument(
 string $content
);

Статический метод проверяет строку на наличие HTML.

Параметры

Параметр | Описание | Версия
$content | Проверяемый контент. |


isSliceContent

boolean public static
\Bitrix\Fileman\Block\Editor::isSliceContent(
 string $content
);

Статический метод проверяет строку на наличие кусочного контента.

Параметры

Параметр | Описание | Версия
$content | Проверяемый контент. |


parseSliceContent

array public static
\Bitrix\Fileman\Block\Editor::parseSliceContent(
 string $content
);

Статический метод преобразует строку кусочного контента в массив элементов блочного контента.

Параметры

Параметр | Описание | Версия
$content | Преобразуемый контент. |


replaceCharset

string public static
\Bitrix\Fileman\Block\Editor::replaceCharset(
 string $html,
 string $charset = '#CHARSET#',
 boolean $add = false
);

Статический метод меняет кодировку в HTML-строке.

Параметры

Параметр | Описание | Версия
$html | HTML-строка. |
$charset | Кодировка. |
$add | Добавлять ли кодировку, если она не указана в HTML. |


setBlockList

void public
\Bitrix\Fileman\Block\Editor::setBlockList(
 array $blocks
);

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

Параметры

Параметр | Описание | Версия
$blocks | Список блоков. |


setComponentFilter

void public
\Bitrix\Fileman\Block\Editor::setComponentFilter(
 array $componentFilter = null
);

Нестатический метод устанавливает фильтр компонентов.

Параметры

Параметр | Описание | Версия
$componentFilter | Устанавливаемый фильтр. |


setToolList

void public
\Bitrix\Fileman\Block\Editor::setToolList(
 array $tools
);

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

Параметры

Параметр | Описание | Версия
$tools | Список инструментов. |


show

string public
\Bitrix\Fileman\Block\Editor::show(
);

Нестатический метод возвращает HTML-код для показа в редакторе, включая css и js.

Без параметров


showEditor

string public
\Bitrix\Fileman\Block\Editor::showEditor(
);

Нестатический метод возвращает HTML интерфейса редактора без css и js.

Без параметров


Конструктор Editor

 public
\Bitrix\Fileman\Block\Editor::__construct(
 array $params
);

Нестатический метод создает объект редактора.

Параметры

Параметр | Описание | Версия
$params | Параметры создаваемого объекта. |


EditorMail

EditorMail - класс для работы с блочным редактором для почты.

Метод | Описание | С версии
show | Показывает редактор. |
createInstance | Создает экземпляр редактора. |
getBlockList | Возвращает список блоков. |
getPreview | Показывает превью контента |


createInstance

\Bitrix\Fileman\Block\Editor public static
\Bitrix\Fileman\Block\EditorMail::createInstance(
 array $params
);

Статический метод создает экземпляр редактора.

Параметры

Параметр | Описание | Версия
$params | Параметры создаваемого экземпляра. |


getBlockList

array public static
\Bitrix\Fileman\Block\EditorMail::getBlockList(
);

Статический метод возвращает список блоков.

Без параметров


getPreview

string public static
\Bitrix\Fileman\Block\EditorMail::getPreview(
 array $params
);

Статический метод показывает превью контента.

Параметры

Параметр | Описание | Версия
$params | Параметры показа. |


show

string public static
\Bitrix\Fileman\Block\EditorMail::show(
 array $params
);

Статический метод показывает редактор.

Параметры

Параметр | Описание | Версия
$params | Параметры показа. |


Адреса и местоположения

\Bitrix\Location - пространство имен модуля Адреса и местоположения.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('location');

Класс, пространство имен | Описание
[link=137916]Entity[/link] | Подпространство имён, содержит сущности Адрес, Формат, Местоположение.
Address | Класс для работы с адресами.
Format | Класс для работы с форматами местоположений.
Location | Класс для работы с местоположениями.
[link=137934]Service[/link] | Сервисы (фасады), предоставляемые модулем для работы с сущностями из Bitrix\Location\Entity.


Отправить отзыв по этому разделу

Entity

  • Address
  • Format
  • Location


Address

В этой главе перечислены методы класса Address (Адрес).

Метод | Описание
__construct | Конструктор класса Address.
addLink | Метод добавляет связь адреса с внешней сущностью.
clearLinks | Метод удаляет все связи адреса с внешними сущностями.
[link= 12661248]delete[/link] | Метод удаляет адрес.
fromArray | Метод создает адрес из массива.
fromJson | Метод создает адрес из JSON.
getAllFieldsValues | Метод возвращает значения всех полей адреса в виде массива.
getFieldValue | Метод возвращает значение поля адреса.
getId | Метод возвращает идентификатор адреса.
getLanguageId | Метод возвращает идентификатор языка адреса.
getLatitude | Метод возвращает географическую широту адреса.
getLinks | Метод возвращает коллекцию связей адреса с внешними сущностями..
getLocation | Метод возвращает местоположение, к которому привязан адрес.
getLongitude | Метод возвращает географическую долготу адреса.
hasLinks | Метод проверяет, имеются ли связи у адреса.
isFieldExist | Метод проверяет, существует ли поле адреса заданного типа.
load | Метод загружает адрес из базы.
save | Метод сохраняет адрес в базу.
setFieldValue | Метод устанавливает значения полей адреса заданного типа.
setId | Метод устанавливает иденификатор адреса.
setLatitude | Метод устанавливает географическую широту адреса.
setLinks | Метод устанавливает связи адреса.
setLocation | Метод устанавливает местоположение.
setLongitude | Метод устанавливает географическую долготу адреса.
toArray | Метод конвертирует адрес в массив.
toJson | Метод конвертирует адрес в JSON.
toString | Метод конвертирует адрес в строку.


__construct

public __construct(string $languageId) : mixed

Конструктор класса Address.

Параметры

Параметр | Описание | Версия
$languageId | Идентификатор языка формата в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addLink

 public addLink(string $entityId, string $entityType) : void

Нестатический метод добавляет связь адреса с внешней сущностью.

Параметры

Параметр | Описание | Версия
$entityId | Идентификатор сущности. |
$entityType | Тип сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearLinks

 public clearLinks() : void

Нестатический метод удаляет все связи адреса с внешними сущностями.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delete

 public delete() : DeleteResult

Нестатический метод удаляет адрес.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


fromArray

 public static fromArray(array $arrayData) : Address

Нестатический метод создает адрес из массива.

Параметры

Параметр | Описание | Версия
$arrayData | Данные в виде массива. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


fromJson

 public static fromJson(string $jsonData) : Address

Нестатический метод создает адрес из JSON.

Параметры

Параметр | Описание | Версия
$jsonData | Данные в виде записи JSON. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAllFieldsValues

 public getAllFieldsValues() : array

Нестатический метод возвращает значения всех полей адреса в виде массива.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFieldValue

 public getFieldValue(int $type) : string|null

Нестатический метод возвращает значение поля адреса.

Параметры

Параметр | Описание | Версия
$type | Тип поля. См. \Bitrix\Location\Entity\Address\FieldType. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getId

 public getId() : int

Нестатический метод возвращает идентификатор адреса.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLanguageId

 public getLanguageId() : string

Нестатический метод получает идентификатор языка адреса.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLatitude

 public getLatitude() : string

Нестатический метод получает географическую широту адреса.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLinks

 public getLinks() : AddressLinkCollection

Нестатический метод возвращает коллекцию связей адреса с внешними сущностями.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLocation

 public getLocation() : Location

Нестатический метод возвращает местоположение, к которому привязан адрес.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLongitude

 public getLongitude() : string

Нестатический метод получает географическую долготу адреса.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


hasLinks

 public hasLinks() : bool

Нестатический метод проверяет, имеются ли связи у адреса.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isFieldExist

 public isFieldExist(int $type) : bool

Нестатический метод проверяет, существует ли поле адреса заданного типа.

Параметры

Параметр | Описание | Версия
$type | Тип поля. См. \Bitrix\Location\Entity\Address\FieldType. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


load

 public static load(int $id) : Address|bool|null

Нестатический метод загружает адрес из базы.

Параметры

Параметр | Описание | Версия
$id | Идентификатор адреса. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


save

 public save() : AddResult|Result|UpdateResult

Нестатический метод сохраняет адрес в базу.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setFieldValue

 public setFieldValue(int $type, string $value) : $this

Нестатический метод устанавливает значения полей адреса заданного типа.

Параметры

Параметр | Описание | Версия
$type | Тип поля. См. \Bitrix\Location\Entity\Address\FieldType |
$value | Значение поля в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setId

 public setId(int $id) : $this

Нестатический метод устанавливает иденификатор адреса.

Параметры

Параметр | Описание | Версия
$id | Значение идентификатора. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setLatitude

 public setLatitude(string $latitude) : Address

Нестатический метод устанавливает географическую широту адреса.

Параметры

Параметр | Описание | Версия
$latitude | Значение широты в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setLinks

 public setLinks(AddressLinkCollection $collection) : void

Нестатический метод устанавливает связи адреса.

Параметры

Параметр | Описание | Версия
$collection | Коллекция адресных ссылок AddressLinkCollection. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setLocation

 public setLocation(Location|null $location) : self

Нестатический метод устанавливает местоположение.

Параметры

Параметр | Описание | Версия
$location | Местоположение. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setLongitude

 public setLongitude(string $longitude) : Address

Нестатический метод устанавливает географическую долготу адреса.

Параметры

Параметр | Описание | Версия
$longitude | Значение долготы в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


toArray

 public toArray() : array

Нестатический метод конвертирует адрес в массив.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


toJson

 public toJson() : string

Нестатический метод конвертирует адрес в JSON.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


toString

 public toString(Format $format[, string $strategyType = StringConverter::STRATEGY_TYPE_TEMPLATE ][, string $contentType = StringConverter::CONTENT_TYPE_HTML ]) : string

Нестатический метод конвертирует адрес в строку.

Параметры

Параметр | Описание | Версия
$format | Формат адреса.
$strategyType Тип стратегии конвертации.
StringConverter::STRATEGY_TYPE_TEMPLATE - конвертация по шаблону.
StringConverter::STRATEGY_TYPE_FIELD_SORT - конвертация в соответствии с сортировкой поля.
StringConverter::STRATEGY_TYPE_FIELD_TYPE - конвертация в соответствии c типом поля.
$contentType Тип контента.
StringConverter::CONTENT_TYPE_HTML - html
StringConverter::CONTENT_TYPE_TEXT - text

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


AddressLink

AddressLink - класс-реализация интерфейса [dw]IAddressLink[/dw][di]Интерфейс, который могут использовать сущности, имеющие связь с адресом.[/di] по умолчанию.

Методы

Метод | Описание
__construct() | Конструктор класса AddressLink.
getAddressLinkEntityId | Метод возвращает идентификатор сущности, связанной с адресом.
getAddressLinkEntityType | Метод возвращает идентификатор типа сущности, связанной с адресом.


__construct

 public __construct(string $entityId, string $entityType) : mixed

Конструктор класса AddressLink.

Параметры

Параметр | Описание | Версия
$entityId | Идентификатор сущности, связанной с адресом. |
$entityType | Тип сущности, связанной с адресом. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAddressLinkEntityId

 public getAddressLinkEntityId() : string

Нестатический метод возвращает идентификатор сущности, связанной с адресом.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAddressLinkEntityType

 public getAddressLinkEntityType() : string

Нестатический метод возвращает идентификатор типа сущности, связанной с адресом.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


FieldType

FieldType - класс типов полей для адреса.

Методы

Метод | Описание
isTypeExist | Метод проверят, существует ли тип адреса.
isValueExist | Метод проверяет, существует ли значение адреса.

Константы

Константа | Описание, числовые значения
ADDRESS_LINE_1 | public mixed ADDRESS_LINE_1 = 410
ADM_LEVEL_1 | public mixed ADM_LEVEL_1 = 200
ADM_LEVEL_2 | public mixed ADM_LEVEL_1 = 210
ADM_LEVEL_3 | public mixed ADM_LEVEL_1 = 220
ADM_LEVEL_4 | public mixed ADM_LEVEL_1 = 230
BUILDING | public mixed BUILDING = 400
COUNTRY | public mixed COUNTRY = 100
FLOOR | public mixed FLOOR = 420
LOCALITY | public mixed LOCALITY = 300
ROOM | public mixed ROOM = 430
STREET | public mixed STREET = 340
SUB_LOCALITY | public mixed SUB_LOCALITY = 310
SUB_LOCALITY_LEVEL_1 | public mixed SUB_LOCALITY_LEVEL_1 = 320
SUB_LOCALITY_LEVEL_2 | public mixed SUB_LOCALITY_LEVEL_2 = 330
UNKNOWN | public mixed UNKNOWN = ""


isTypeExist

 public static isTypeExist(string $type) : bool

Нестатический метод проверяет, существует ли тип адреса.

Параметры

Параметр | Описание | Версия
$type | Тип адреса в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isValueExist

 public static isValueExist(int $value) : bool

Нестатический метод проверяет, существует ли числовое значение.

Параметры

Параметр | Описание | Версия
$value | Числовое значение. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Format

В этой главе перечислены методы класса Format (Формат).

Метод | Описание
__construct | Конструктор класса Format.
getCode | Метод возвращает код формата.
getDelimiter | Метод возвращает разделитель компонентов адреса.
getDescription | Метод возвращает описание формата.
getFieldForUnRecognized | Метод возвращает код типа поля адреса для нераспознанных элементов адреса.
getLanguageId | Метод возвращает идентификатор языка формата.
getName | Метод возвращает наименование формата.
getTemplate | Метод возвращает шаблон формата адреса для просмотра/печати.
setCode | Метод устанавливает значение кода формата.
setDelimiter | Метод устанавливает разделитель компонентов адреса.
setDescription | Метод устанавливает описание формата.
setFieldForUnRecognized | Метод устанавливает код типа поля адреса для нераспознанных элементов адреса.
setLanguageId | Метод устанавливает значение идентификатора языка формата.
setName | Метод устанавливает наименование формата.
setTemplate | Метод устанавливает шаблон формата адреса для просмотра/печати.
toJson | Метод конвертирует формат в JSON.


__construct

public __construct(string $languageId) : mixed

Конструктор класса Format.

Параметры

Параметр | Описание | Версия
$languageId | Идентификатор языка формата в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCode

public getCode() : string

Нестатический метод возвращает код формата.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDelimiter

public getDelimiter() : string

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

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDescription

public getDescription() : string

Нестатический метод возвращает описание формата.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFieldForUnRecognized

 public getFieldForUnRecognized() : int

Нестатический метод возвращает код типа поля адреса для нераспознанных элементов адреса. (См. \Bitrix\Location\Entity\Address\FieldType).

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLanguageId

 public getLanguageId() : string

Нестатический метод возвращает идентификатор языка формата.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getName

 public getName() : string

Нестатический метод возвращает наименование формата.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTemplate

 public getTemplate() : string

Нестатический метод возвращает шаблон формата адреса для просмотра/печати.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setCode

 public setCode(string $code) : $this

Нестатический метод устанавливает значение кода формата.

Параметры

Параметр | Описание | Версия
$code | Код в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDelimiter

 public setDelimiter(string $delimiter) : $this

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

Параметры

Параметр | Описание | Версия
$delimiter | Разделитель в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDescription

 public setDescription(string $description) : $this

Нестатический метод устанавливает описание формата.

Параметры

Параметр | Описание | Версия
$description | Описание формата в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setFieldForUnRecognized

 public setFieldForUnRecognized(int $fieldType) : $this

Нестатический метод устанавливает код типа поля адреса для нераспознанных элементов адреса.

Параметры

Параметр | Описание | Версия
$fieldType | Тип поля. См. \Bitrix\Location\Entity\Address\FieldType. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setLanguageId

 public setLanguageId(string $languageId) : $this

Нестатический метод устанавливает значение идентификатора языка формата.

Параметры

Параметр | Описание | Версия
$languageId | Идентификатор языка формата в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setName

 public setName(string $name) : $this

Нестатический метод устанавливает наименование формата.

Параметры

Параметр | Описание | Версия
$name | Наименование в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setTemplate

 public setTemplate(string $template) : $this

Нестатический метод устанавливает шаблон формата адреса для просмотра/печати.

Параметры

Параметр | Описание | Версия
$template | Шаблон формата в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


toJson

 public toJson() : string

Нестатический метод конвертирует формат в JSON.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Location

В этой главе перечислены методы сущности Location (Местоположение).

Метод | Описание
[link=12649150]__construct[/link] | Конструктор класса Location.
delete | Метод удаляет местоположение.
fromArray | Метод создает местоположение из массива.
getAddress | Метод возвращает параметры местоположения.
getAllFieldsValues | Метод возвращает значения всех полей в виде массива.
getCode | Метод возвращает код местоположения.
getExternalId | Метод возвращает внешний идентификатор местоположения.
getFieldValue | Метод возвращает значения полей местоположения.
getId | Метод возвращает идентификатор местоположения.
getLanguageId | Метод возвращает идентификатор языка местоположения.
getLatitude | Метод возвращает координаты географической широты местоположения.
getLongitude | Метод возвращает координаты географической долготы местоположения.
getName | Метод возвращает наименование местоположения.
getNameWithParents | Метод возвращает наименование текущего местоположения вместе с именами "родительских" или вышележащих местоположений.
getSourceCode | Метод возвращает код источника местоположения.
getType | Метод возвращает тип местоположения.
isChildOf | Метод определяет, является ли местоположение потомком по отношению к другому.
isEqualTo | Метод проверяет, равно ли данное местоположение другому.
isFieldExist | Метод определяет, существует ли поле местоположения.
isParentOf | Метод определяет, является ли местоположение родительским по отношению к другому.
load | Метод загружает местоположения.
save | Метод сохраняет местоположения.
serialize | Метод сериализует местоположение.
setAddress | Метод устанавливает значение адреса.
setCode | Метод устанавливает значение кода местоположения.
setExternalId | Метод устанавливает значение внешнего идентификатора местоположения.
setFieldValue | Метод устанавливает значения полей местоположения.
setId | Метод устанавливает значение идентификатора местоположения.
setLanguageId | Метод устанавливает значение идентификатора языка местоположения.
setLatitude | Метод устанавливает значение географической широты местоположения.
setLongitude | Метод устанавливает значение географической долготы местоположения.
setName | Метод устанавливает наименование местоположения.
setSourceCode | Метод устанавливает источник кода местоположения.
setType | Метод устанавливает тип местоположения.
toArray | Метод конвертирует местоположение в массив.
unserialize | Метод десериализует местоположение.


__construct

 public __construct() : mixed

Конструктор класса Location.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delete

public delete() : Result

Нестатический метод удаляет местоположение из базы данных.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


fromArray

 public static fromArray(array $location) : Location

Статический метод создает местоположение из массива.

Параметры

Параметр | Описание | Версия
$location | Массив параметров местоположения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAddress

public getAddress() : Address

Нестатический метод возвращает адрес местоположения.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAllFieldsValues

 public getAllFieldsValues() : array

Нестатический метод возвращает значения всех полей местоположения в виде массива.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCode

public getCode() : string

Нестатический метод возвращает код местоположения.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getExternalId

public getExternalId() : string

Нестатический метод возвращает внешний идентификатор местоположения.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFieldValue

 public getFieldValue(int $type) : string|null

Нестатический метод возвращает значения полей заданного типа местоположения.

Параметры

Параметр | Описание | Версия
$type | Тип местоположения. См. \Bitrix\Location\Entity\Location\FieldType |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getId

 public getId() : int

Нестатический метод возвращает идентификатор местоположения.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLanguageId

 public getLanguageId() : string

Нестатический метод возвращает идентификатор языка местоположения.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLatitude

 public getLatitude() : string

Нестатический метод возвращает координаты географической широты местоположения.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLongitude

 public getLongitude() : string

Нестатический метод возвращает координаты географической долготы местоположения.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getName

 public getName() : string

Нестатический метод возвращает наименование местоположения.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getNameWithParents

 public getNameWithParents() : string

Нестатический метод возвращает наименование текущего местоположения вместе с именами "родительских" или вышележащих местоположений. Например, если местоположение - Москва, то будет возвращено "Россия, Московская область, Москва".

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSourceCode

 public getSourceCode() : string

Нестатический метод возвращает код источника местоположения.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getType

 public getType() : int

Нестатический метод возвращает тип местоположения. См. \Bitrix\Location\Entity\Location\Type

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isChildOf

 public isChildOf(Location $parentCandidate) : bool

Нестатический метод определяет, является ли местоположение потомком по отношению к другому.

Параметры

Параметр | Описание | Версия
$parentCandidate | Местоположение. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isEqualTo

 public isEqualTo(Location $location) : bool

Нестатический метод проверяет, равно ли данное местоположение другому.

Параметры

Параметр | Описание | Версия
$location | Местоположение. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isFieldExist

 public isFieldExist(int $type) : bool

Нестатический метод определяет, существует ли поле местоположения.

Параметры

Параметр | Описание | Версия
$type | Тип местоположения. См. \Bitrix\Location\Entity\Location\Type |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isParentOf

 public isParentOf(Location $childCandidate) : bool

Нестатический метод определяет, является ли местоположение родительским по отношению к другому.

Параметры

Параметр | Описание | Версия
$childCandidate | Местоположение. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


load

 public static load(int $id[, string $languageId = LANGUAGE_ID ]) : Location|bool|null

Статический метод загружает местоположения.

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

Location - в случае если местоположение найдено в базе.

null - если не найдено.

false - если произошла ошибка.

Параметры

Параметр | Описание | Версия
$id | Идентификатор |
$languageId | Идентификатор языка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


save

 public save() : Result

Нестатический метод сохраняет местоположения.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


serialize

 public serialize() : string

Нестатический метод возвращает местоположение в сериализованном виде.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setAddress

 public setAddress(Address $address) : $this

Нестатический метод устанавливает значение адреса.

Параметры

Параметр | Описание | Версия
$address | Адрес. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setCode

 public setCode(string $code) : $this

Нестатический метод устанавливает значение кода местоположения.

Параметры

Параметр | Описание | Версия
$code | Код в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setExternalId

 public setExternalId(string $externalId) : $this

Нестатический метод устанавливает значение внешнего идентификатора местоположения.

Параметры

Параметр | Описание | Версия
$externalId | Внешний идентификатор в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setFieldValue

 public setFieldValue(int $type, string $value) : $this

Нестатический метод устанавливает значения полей местоположения.

Параметры

Параметр | Описание | Версия
$type | Тип местоположения. См. \Bitrix\Location\Entity\Location\FieldType. |
$value | Значения поля в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setId

 public setId(int $id) : $this

Нестатический метод устанавливает значение идентификатора местоположения.

Параметры

Параметр | Описание | Версия
$id | Идентификатор. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setLanguageId

 public setLanguageId(string $languageId) : $this

Нестатический метод устанавливает значение идентификатора языка местоположения.

Параметры

Параметр | Описание | Версия
$languageId | Идентификатор языка местоположения в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setLatitude

 public setLatitude(string $latitude) : self

Нестатический метод устанавливает значение географической широты местоположения.

Параметры

Параметр | Описание | Версия
$latitude | Значение широты в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setLongitude

 public setLongitude(string $longitude) : self

Нестатический метод устанавливает значение географической долготы местоположения.

Параметры

Параметр | Описание | Версия
$longitude | Значение долготы в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setName

 public setName(string $name) : $this

Нестатический метод устанавливает наименование местоположения.

Параметры

Параметр | Описание | Версия
$name | Наименование в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setSourceCode

 public setSourceCode(string $sourceCode) : $this

Нестатический метод устанавливает источник кода местоположения.

Параметры

Параметр | Описание | Версия
$sourceCode | Источник кода в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setType

 public setType(int $type) : $this

Нестатический метод устанавливает тип местоположения.

Параметры

Параметр | Описание | Версия
$type | Значение типа местоположения. См. \Bitrix\Location\Entity\Location\Type. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


toArray

 public toArray() : array

Нестатический метод конвертирует местоположение в массив.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unserialize

 public unserialize(string $serialized) : mixed

Нестатический метод возвращает местоположение в десериализованном виде.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


FieldType

FieldType - класс типов полей местоположений.

Константы

Константа | Описание, числовые значения
ADDRESS_LINE_1 | Улица, номер дома. public mixed ADDRESS_LINE_1 = 410
ADDRESS_LINE_2 | Квартира, этаж, офис и т.п.
ADM_LEVEL_1 | Административный уровень 1. public mixed ADM_LEVEL_1 = 200
ADM_LEVEL_2 | Административный уровень 2. public mixed ADM_LEVEL_1 = 210
ADM_LEVEL_3 | Административный уровень 3. public mixed ADM_LEVEL_1 = 220
ADM_LEVEL_4 | Административный уровень 4. public mixed ADM_LEVEL_1 = 230
BUILDING | Здание. public mixed BUILDING = 400
COUNTRY | Страна. public mixed COUNTRY = 100
FLOOR | Этаж. public mixed FLOOR = 420
LOCALITY | Населенный пункт. public mixed LOCALITY = 300
POSTAL_CODE | Почтовый индекс. public mixed POSTAL_CODE = 50
RECIPIENT_COMPANY | Организация, компания.
RECIPIENT | Получатель.
PO_BOX | Абонентский ящик.
ROOM | Квартира/офис/комната. public mixed ROOM = 430
STREET | Улица. public mixed STREET = 340
SUB_LOCALITY | Муниципальное деление. public mixed SUB_LOCALITY = 310
SUB_LOCALITY_LEVEL_1 | Муниципальное деление уровень 1. public mixed SUB_LOCALITY_LEVEL_1 = 320
SUB_LOCALITY_LEVEL_2 | Муниципальное деление уровень 2. public mixed SUB_LOCALITY_LEVEL_2 = 330
UNKNOWN | Неизвестная часть адреса. public mixed UNKNOWN = ""


type

Type - класс типов местоположений.

Методы

Метод | Описание
isTypeExist | Метод проверят, существует ли тип местоположений.
isValueExist | Метод проверяет, существует ли значение.

Константы

Константа | Описание, числовые значения
ADDRESS_LINE_1 | Улица, номер дома. public mixed ADDRESS_LINE_1 = 410
ADM_LEVEL_1 | Административный уровень 1. public mixed ADM_LEVEL_1 = 200
ADM_LEVEL_2 | Административный уровень 2. public mixed ADM_LEVEL_1 = 210
ADM_LEVEL_3 | Административный уровень 3. public mixed ADM_LEVEL_1 = 220
ADM_LEVEL_4 | Административный уровень 4. public mixed ADM_LEVEL_1 = 230
BUILDING | Здание. public mixed BUILDING = 400
COUNTRY | Страна. public mixed COUNTRY = 100
FLOOR | Этаж. public mixed FLOOR = 420
LOCALITY | Населенный пункт. public mixed LOCALITY = 300
ROOM | Квартира/офис/комната. public mixed ROOM = 430
STREET | Улица. public mixed STREET = 340
SUB_LOCALITY | Муниципальное деление. public mixed SUB_LOCALITY = 310
SUB_LOCALITY_LEVEL_1 | Муниципальное деление уровень 1. public mixed SUB_LOCALITY_LEVEL_1 = 320
SUB_LOCALITY_LEVEL_2 | Муниципальное деление уровень 2. public mixed SUB_LOCALITY_LEVEL_2 = 330
UNKNOWN | Неизвестная часть адреса. public mixed UNKNOWN = ""


isTypeExist

 public static isTypeExist(string $type) : bool

Нестатический метод проверяет, существует ли тип местоположения.

Параметры

Параметр | Описание | Версия
$type | Тип местоположения в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isValueExist

 public static isValueExist(int $value) : bool

Нестатический метод проверяет, существует ли значение местоположения.

Параметры

Параметр | Описание | Версия
$value | Значение типа местоположения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Отправить отзыв по этому разделу

Service

  • AddressService
  • FormatService
  • LocationService


AddressService

В этой главе перечислены методы сервиса AddressService.

Метод | Описание
delete | Метод удаляет адрес.
findById | Метод находит адрес по идентификатору.
findByLinkedEntity | Метод находит адреса по связанной сущности.
save | Метод сохраняет адрес.


delete

 public delete(int $addressId) : DeleteResult

Нестатический метод удаляет адрес по идентификатору.

Параметры

Параметр | Описание | Версия
$addressId | Значение идентификатора. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


findById

 public findById(int $addressId) : Address|bool|null

Нестатический метод находит адрес по идентификатору.

Параметры

Параметр | Описание | Версия
$addressId | Значение идентификатора. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


findByLinkedEntity

 public findByLinkedEntity(string $entityId, string $entityType) : AddressCollection

Нестатический метод находит адреса по связанной сущности.

Параметры

Параметр | Описание | Версия
$entityId | Идентификатор сущности. |
$entityType | Тип сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


save

 public save(Address $address) : AddResult|Result|UpdateResult

Нестатический метод сохраняет адрес.

Параметры

Параметр | Описание | Версия
$address | Адрес. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


FormatService

В этой главе перечислены методы сервиса FormatService.

Метод | Описание
findAll | Метод возвращает все существующие форматы.
findByCode | Метод находит формат по коду.
findDefault | Метод находит возвращает текущий формат.
getDefaultFormatCode | Метод возвращает код текущего формата.


findAll

 public findAll(string $languageId) : array|bool

Нестатический метод возвращает все существующие форматы.

Параметры

Параметр | Описание | Версия
$languageId | Идентификатор языка формата в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


findByCode

 public findByCode(string $formatCode, string $languageId) : Format|null|bool

Нестатический метод находит формат по коду.

Параметры

Параметр | Описание | Версия
$formatCode | Код формата в виде строки. |
$languageId | Идентификатор языка формата в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


findDefault

 public findDefault(string $languageId) : Format|bool|null

Нестатический метод возвращает текущий формат.

Параметры

Параметр | Описание | Версия
$languageId | Идентификатор языка формата в виде строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDefaultFormatCode

 public getDefaultFormatCode() : string

Нестатический метод возвращает код текущего формата.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LocationService

В этой главе перечислены методы сервиса LocationService.

Метод | Описание
delete | Метод удаляет местоположение.
findByExternalId | Метод находит местоположение по внешнему индентификатору.
findById | Метод находит местоположение по идентификатору.
save | Метод сохраняет местоположение.


delete

 public delete(Location $location) : Result

Нестатический метод удаляет местоположение.

Параметры

Параметр | Описание | Версия
$location | Местоположение. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


findByExternalId

 public findByExternalId(string $externalId, string $sourceCode, string $languageId[, int $searchScope = LOCATION_SEARCH_SCOPE_ALL ]) : Location|bool|null

Нестатический метод находит местоположение по внешнему индентификатору.

Параметры

Параметр | Описание | Версия
$externalId | Внешний идентификатор в виде строки. |
$sourceCode | Код источника. |
$languageId | Идентификатор языка. |
$searchScope | Скоуп поиска. int = LOCATION_SEARCH_SCOPE_ALL |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


findById

 public findById(int $locationId, string $languageId[, int $searchScope = LOCATION_SEARCH_SCOPE_ALL ]) : Location|null|bool

Нестатический метод находит местоположение по идентификатору.

Параметры

Параметр | Описание | Версия
$locationId | Идентификатор местоположения. |
$languageId | Идентификатор языка. |
$searchScope | Скоуп поиска. int = LOCATION_SEARCH_SCOPE_ALL |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


save

 public save(Location $location) : Result

Нестатический метод сохраняет местоположение.

Параметры

Параметр | Описание | Версия
$locationId | Идентификатор местоположения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


А/В тестирование

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

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('abtest');

Класс | Описание | С версии
ABTestTable | Класс для работы с данными А/В-тестов. |
AdminHelper | Служебный класс для проведения А/В-тестирований. |
EventHandler | Обработчики событий. |
Helper | Служебный класс для проведения А/В-тестирований. |

Смотрите также:

  • А/В тестирование (учебный курс)


ABTestTable

Описание и методы

ABTestTable - класс для работы с данными А/В-тестов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы

Метод | Описание | С версии
getMap | Возвращает список полей с типами. |
getTableName | Возвращает имя таблицы базы данных, соответствующей данной сущности. |

Таблица с данными A/B тестирования

Поле | Описание | Тип | Обяз.
ID | Идентификатор теста. | int | Y
SITE_ID | Идентификатор сайта. | varchar(255) | Y
ACTIVE | Ключ активности (Y/N). | char(1) | Y
ENABLED | Ключ готовности к запуску: Y - настроенный тест, готов к запуску; T - шаблон теста, нельзя запускать, пока не настроен до конца; N - недоступный тест. | char(1) | Y
NAME | Название теста. | varchar(255) | N
DESCR | Описание теста. | text | N
TEST_DATA | Настройки теста (например, какая страница на какую заменяется). | text | Y
START_DATE | Дата начала теста. | datetime | N
STOP_DATE | Дата завершения теста. | datetime | N
DURATION | Продолжительность теста в днях. | int | Y
PORTION | Процент трафика, выделяемый на тест. | int | Y
USER_ID | Пользователь, запустивший или остановивший тест. | int | N
SORT | Индекс сортировки теста. | int | N
MIN_AMOUNT | Минимальное количество хитов в каждую ветку теста, необходимое для достижения достаточной статистической мощности. | int | N


getMap

array public static
\Bitrix\ABTest\ABTestTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров


getTableName

string public static
\Bitrix\ABTest\ABTestTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров


AdminHelper

AdminHelper - служебный класс для проведения А/В-тестирований.

Метод | Описание | С версии
getRealPath | Возвращает путь к файлу страницы по ее адресу. |
getSiteCapacity | Возвращает объем трафика сайта. | 15.5.4
getTestCapacity | Возвращает показатели A/B-тестирования. | 15.5.4


getRealPath

string|null public static
\Bitrix\ABTest\AdminHelper::getRealPath(
 string $site,
 string $url
);

Статический метод возвращает путь к файлу страницы по ее адресу.

Параметры

Параметр | Описание | Версия
$site | Идентификатор сайта. |
$url | Адрес страницы. |


getSiteCapacity

array public static
\Bitrix\ABTest\AdminHelper::getSiteCapacity(
 string $id
);

Статический метод возвращает объем трафика сайта.

Параметры

Параметр | Описание | Версия
$id | Идентификатор сайта. |


getTestCapacity

array public static
\Bitrix\ABTest\AdminHelper::getTestCapacity(
 integer $id
);

Статический метод возвращает показатели A/B-тестирования.

Параметры

Параметр | Описание | Версия
$id | Идентификатор A/B-тестирования. |


EventHandler

EventHandler - обработчики событий, связанных с А/В-тестированием.

Метод | Описание | С версии
onConversionSetContextAttributes | Устанавливает относящиеся к A/B-тестированию атрибуты к контексту конверсии. |
onFileRewrite | Определяет, должен ли быть переопределен файл страницы. |
onGetAttributeTypes | Возвращает относящиеся к A/B-тестированию группы атрибутов. |
onGetCurrentSiteTemplate | Определяет, должен ли быть переопределен шаблон сайта. |
onPageStart | Сохраняет параметр запроса Режим А/Б-теста в сессию. |
onPanelCreate | Добавляет относящиеся к A/B-тестированию кнопки в панель управления. |


onConversionSetContextAttributes

void public static
\Bitrix\ABTest\EventHandler::onConversionSetContextAttributes(
 \Bitrix\Conversion\DayContext $conversionContext
);

Статический метод устанавливает относящиеся к A/B-тестированию атрибуты к контексту конверсии.

Параметры

Параметр | Описание | Версия
$conversionContext | Контекст конверсии. |


onFileRewrite

string|null public static
\Bitrix\ABTest\EventHandler::onFileRewrite(
 \Bitrix\Main\Event $event
);

Статический метод определяет, должен ли быть переопределен файл страницы.

Параметры

Параметр | Описание | Версия
$event | Событие. |


onGetAttributeTypes

array public static
\Bitrix\ABTest\EventHandler::onGetAttributeTypes(
);

Статический метод возвращает относящиеся к A/B-тестированию группы атрибутов.

Без параметров


onGetCurrentSiteTemplate

string|null public static
\Bitrix\ABTest\EventHandler::onGetCurrentSiteTemplate(
 \Bitrix\Main\Event $event
);

Статический метод определяет, должен ли быть переопределен шаблон сайта.

Параметры

Параметр | Описание | Версия
$event | Событие. |


onPageStart

void public static
\Bitrix\ABTest\EventHandler::onPageStart(
);

Статический метод сохраняет параметр запроса Режим А/Б-теста в сессию.

Без параметров


onPanelCreate

void public static
\Bitrix\ABTest\EventHandler::onPanelCreate(
);

Статический метод добавляет относящиеся к A/B-тестированию кнопки в панель управления.

Без параметров


Helper

Helper - служебный класс для проведения А/В-тестирований.

Метод | Описание | С версии
clearCache | Очищает кеш активного A/B-теста. |
deleteTest | Удаляет A/B-тестирование. |
getActiveTest | Возвращает текущее A/B-тестирование. |
getAlternative | Возвращает параметры альтернативного варианта для текущего контекста A/B-тестирования. |
getContext | Возвращает контекст текущего А/В-тестирования. |
startTest | Запускает A/B-тестирование. |
stopTest | Останавливает A/B-тестирование. |


clearCache

void public static
\Bitrix\ABTest\Helper::clearCache(
 integer $siteId
);

Статический метод очищает кеш активного A/B-теста.

Параметры

Параметр | Описание | Версия
$siteId | Идентификатор сайта. |


deleteTest

boolean public static
\Bitrix\ABTest\Helper::deleteTest(
 integer $id
);

Статический метод удаляет A/B-тестирование.

Параметры

Параметр | Описание | Версия
$id | Идентификатор A/B-теста. |


getActiveTest

array|null public static
\Bitrix\ABTest\Helper::getActiveTest(
);

Статический метод возвращает текущее A/B-тестирование.

Без параметров


getAlternative

string|null public static
\Bitrix\ABTest\Helper::getAlternative(
 string $type,
 string $value
);

Статический метод возвращает значения альтернативного варианта для текущего контекста A/B-тестирования.

Параметры

Параметр | Описание | Версия
$type | Тип тестирования. |
$value | Значение оригинального варианта. |


getContext

array|null public static
\Bitrix\ABTest\Helper::getContext(
);

Статический метод возвращает контекст текущего А/В-тестирования.

Без параметров


startTest

boolean public static
\Bitrix\ABTest\Helper::startTest(
 integer $id
);

Статический метод запускает A/B-тестирование.

Параметры

Параметр | Описание | Версия
$id | Идентификатор A/B-теста. |


stopTest

boolean public static
\Bitrix\ABTest\Helper::stopTest(
 integer $id,
 boolean $auto = false
);

Статический метод останавливает A/B-тестирование.

Параметры

Параметр | Описание | Версия
$id | Идентификатор A/B-теста. |
$auto | Флаг авто-остановки. |


UI-библиотека

Описание и расширения

UI-библиотека (user interface) — это библиотека пользовательских интерфейсов.

Основная задача модуля — стандартизировать и централизовать управление стилями и поведением типовых элементов, таких как: кнопки, формы, иконки, табы и т.п.

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

Расширение | Описание
ui.entity-selector | Диалог выбора сущностей.
ui.buttons | Кнопки.
ui.forms | Формы.
ui.alerts | Сообщения.
ui.icons | Иконки.
ui.progressbar | ПрогрессБар.
ui.notification | Нотификации.
ui.hint | Подсказки.
ui.button.panel | Панель кнопок.
toolbar | Тулбар.
ui.stepprocessing | Диалог для пошагового процесса.

Примеры

Универсальный пример получения доступа к API поля. С помощью этого API устанавливаются значения, удаляются значения и так далее.

// Получаем ссылку на DOM-элемент поля
var element = document.querySelector("[data-name=\"sEmployeeGroup\"]");
// Получаем запись из BX.Main.ui.Factory
var field = BX.Main.ui.Factory.get(element);

if (field)
{
   // Получаем ссылку на экземпляр класса поля
   var fieldInstance = field.instance;

   // Далее можно использовать API:

   // Установка значения для поля типа main-ui-select
   fieldInstance.updateValue(fieldInstance.getItems()[0]);
   fieldInstance.updateDataValue(fieldInstance.getItems()[0]);

   // Установка значения для поля типа main-ui-multi-select
   fieldInstance.selectItem(fieldInstance.getItems()[0]);
   // Удаление значения для поля типа main-ui-multi-select
   fieldInstance.unselectItem(fieldInstance.getItems()[0]);
}

Как через js библиотеку BX поменять настройки фильтра на странице.

var filter = BX.Main.filterManager.getById('my_filter_id');

if (filter) {
  var filterApi = filter.getApi();
  filterApi.setFields({'NAME': 'main 17.0.7'});
  filterApi.apply();
}

Смотрите также:

  • Стандартные диалоги Alert и Confirm
  • SidePanel - Слайдер


Отправить отзыв по этому разделу

Spotlight

  • Класс BX.SpotLight
  • Введение
  • Компонент bitrix:spotlight


Введение

Spotlight — элемент интерфейса в виде пульсирующего круга. При наведении курсора на круг, появляется диалог с подсказкой.

Область применения — показать старым или новым пользователям новинки продукта.

Spotlight можно показать 2 способами:

  1. Подключить js-расширение spotlight и воспользоваться JavaScript API.
  2. Подключить на странице компонент bitrix:spotlight с нужными настройками.

Дополнительно существует PHP API, c помощью которого можно узнать доступность подсказки для конкретного пользователя.


Компонент bitrix:spotlight

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

Компонент выводит подсказку на странице около указанного DOM-элемента. Учитывает и фиксирует факт показа подсказки текущему пользователю. Компонент адаптирован под композит.

Параметры

Параметр | Описание | С версии
ID | идентификатор подсказки. Обязательный параметр.
USER_TYPE Тип пользователя. Допустимые значения:
  • OLD - показ подсказки для старых пользователей.
  • NEW - показ подсказки для новых пользователей.
  • ALL - показ подсказки для любых пользователей.
USER_TIMESPAN | Промежуток времени в секундах для определения нового/старого пользователя. По умолчанию 30 дней.
LIFETIME | Время жизни подсказки в секундах. По умолчанию 30 дней.
START_DATE | Дата, с которой начнется показ подсказки. По умолчанию не задана.
END_DATE | Дата, до которой можно показывать подсказку. По умолчанию не задана.
JS_OPTIONS | массив опций для конструктора [link=]BX.SpotLight[/link].

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

<?$APPLICATION->includeComponent("bitrix:spotlight", "", array(
    "ID" => "my-spotlight",
    "JS_OPTIONS" => array(
        "targetElement" => "box",
        "content" => "Текст подсказки",
        "targetVertex" => "middle-center"
    )
));
?>

Пример обработки событий в JavaScript

Пример показывает два варианта обработки событий пульсирующего круга, подключенного с помощью компонента bitrix:spotlight:

  1. Статический. В ключе events указывается ссылка на статическую функцию.
  2. Экземплярный. Компонент bitrix:spotlight создает объект пульсирующего круга с помощью менеджера BX.SpotLight.Manager. Через этот менеджер можно получить ссылку на объект типа BX.SpotLight.
<?

$APPLICATION->includeComponent("bitrix:spotlight", "", array(
    "ID" => "my-spotlight3",
    "USER_TYPE" => "OLD",
    "USER_TIMESPAN" => 3600 * 24 * 30,
    "LIFETIME" => 3600 * 24 * 30,
    "START_DATE" => gmmktime(8, 30, 0, 10, 10, 2017), // October 10, 2017 11:30 MSK
    "END_DATE" => gmmktime(8, 30, 0, 12, 10, 2017), // December 10, 2017 11:30 MSK
    "JS_OPTIONS" => array(
        "targetElement" => "box",
        "content" => "Text Text",
        "top" => 100,
        "left" => 100,
        "events" => array(
            "onTargetEnter" => "BX.MyModule.MyComponent.handleTargetEnter" //статический метод
        ),
        "targetVertex" => "middle-right"
    )
));

?>

<script>
(function() {

    BX.namespace("BX.MyModule.MyComponent");

    BX.MyModule.MyComponent = function(options)
    {
        //Получаем экземпляр подсказки.
        var spotlight = BX.SpotLight.Manager.get("my-spotlight");
        if (spotlight)
        {
            spotlight.bindEvents({
                onTargetEnter: this.handleTargetEnter.bind(this)
            });
        }
    };

    BX.MyModule.MyComponent.handleTargetEnter = function(spotlight)
    {
        console.log("handleTargetEnter", this, spotlight);
    };

    BX.MyModule.MyComponent.prototype =
    {
        handleTargetEnter: function(spotlight)
        {
            console.log("handleTargetEnter prototype", this, spotlight);
        }
    };

})();

BX.ready(function() {
    new BX.MyModule.MyComponent();
});

</script>


Отправить отзыв по этому разделу

Класс BX.SpotLight

  • Список методов
  • BX.SpotLight
  • События
  • Примеры


Список методов

Метод | Описание | С версии
new BX.SpotLight | Конструктор
spotlight.show | Показывает пульсирующий круг на странице.
spotlight.close | Скрывает пульсирующий круг на странице.
spotlight.adjustPosition | Пересчитывает координаты круга и перемещает его на новое положение.
spotlight.save | Сохраняет факт просмотра подсказки текущим пользователем.
spotlight.setTargetElement(targetElement) Устанавливает элемент, около которого отобразится пульсирующий круг.
  • targetElement {Element|string} - DOM-элемент, либо id-атрибут DOM-элемента, либо селектор для поиска через document.querySelector.
spotlight.getTargetElement | Возвращает DOM-элемент, около которого позиционируется пульсирующий круг.
spotlight.bindEvents(events) Устанавливает обработчики событий.
  • events {object.} - Коллекция обработчиков событий.
spotlight.unbindEvents(events) Удаляет обработчики событий.
  • events {object.} - Коллекция обработчиков событий.
spotlight.getId | Возвращает уникальный идентификатор подсказки.
spotlight.setId(id) Устанавливает уникальный идентификатор подсказки.
  • id {string} - Идентификатор подсказки
spotlight.getZindex | Возвращает z-index пульсирующего круга.
spotlight.setZindex(zIndex) Устанавливает z-index пульсирующего круга.
  • zIndex {number} - z-index контейнера пульсирующего круга.
spotlight.getContent | Возвращает содержимое всплывающего диалога.
spotlight.setContent(content) Устанавливает содержимое всплывающего диалога.
  • content {Element|string} - Cодержимое всплывающего диалога.
spotlight.getTargetVertex | Возвращает точку позиционирования.
spotlight.setTargetVertex(vertex) Устанавливает точку позиционирования.
  • vertex {string} - Идентификатор точки позиционирования. Допустимые значения:
    • top-left- Верхний левый угол. Значение по умолчанию.
    • top-center- Центральная точка верхней границы.
    • top-right- Верхний правый угол.
    • middle-left- Центральная точка левой границы.
    • middle-center- Центральная точка элемента.
    • middle-right- Центральная точка правой границы.
    • bottom-left- Нижный левый угол.
    • bottom-center- Центральная точка нижней границы.
    • bottom-right - Нижний правый угол.
spotlight.getOffsetLeft | Возвращает смещение пульсирующего круга относительно точки позиционирования по оси абсцисс.
spotlight.setOffsetLeft(offset) Устанавливает смещение пульсирующего круга в пикселях по оси абсцисс.
  • offset {number} - Смещение по оси абсцисс в пикселях.
spotlight.getOffsetTop | Возвращает смещение пульсирующего круга относительно точки позиционирования по оси ординат.
spotlight.setOffsetTop(offset) Устанавливает смещение пульсирующего круга в пикселях по оси ординат.
  • offset {number} - Смещение по оси абсцисс в ординат.
spotlight.getLightMode | Возвращает true, если пульсирующий круг белого цвета.
spotlight.setLightMode([lightMode=true]) Устанавливает режим отображения.
  • lightMode {boolean} - Если указано true, пульсирующий круг будет белого цвета, иначе серого цвета.
spotlight.getAutoSave | Возвращает true, если после показа диалога с подсказкой, данный факт будет зафиксирован в опциях текущего пользователя. Иначе false.
spotlight.setAutoSave([autoSave=true]) | Устанавливает режим сохранения факта просмотра подсказки.
spotlight.getObserverTimeout | Возвращает таймаут проверки размеров в миллисекундах.
spotlight.setObserverTimeout(timeout) Устанавливает таймаут проверки размеров в миллисекундах.
  • timeout {number} - Таймаут проверки размеров в миллисекундах.
spotlight.getPopup | Возвращает ссылку (объект типа BX.PopupWindow) на высплывающий диалог с подсказкой.
spotlight.getTargetContainer | Возвращает ссылку (DOM-объект) на контейнер пульсирующего круга.


BX.SpotLight

new BX.SpotLight(
   options
)

Функция - конструктор.

Параметры Описание С версии
options {Object} Коллекция опций. Возможные значения:
  • targetElement {Element|string} - Элемент, около которого отобразится пульсирующий круг. Обязательная опция. Значением является либо ссылка на DOM-элемент, либо id-атрибут DOM-элемента, либо селектор для поиска через document.querySelector.
  • targetVertex {string} - Вершина элемента targetElement, относительно которой будет позиционироваться Spotlight. Допустимые значения:
    • top-left- Верхний левый угол. Значение по умолчанию.
    • top-center- Центральная точка верхней границы.
    • top-right- Верхний правый угол.
    • middle-left- Центральная точка левой границы.
    • middle-center- Центральная точка элемента.
    • middle-right- Центральная точка правой границы.
    • bottom-left- Нижный левый угол.
    • bottom-center- Центральная точка нижней границы.
    • bottom-right - Нижний правый угол.
  • content {Element|string} - Содержимое всплывающего диалога. Строка или DOM-элемент. Если этот параметр не указан, диалог показан не будет.
  • id {string} - Идентификатор подсказки. Необязательный параметр. Используется для сохранения факта просмотра пользователем подсказки.
  • top {number} - Смещение в пикселях относительно точки позиционирования targetVertex по оси ординат. По умолчанию 0.
  • left {number} - Смещение в пикселях относительно точки позиционирования targetVertex по оси абсцисс. По умолчанию 0.
  • lightMode {boolean} - Светлый режим показа Spotlight. Если указано true, пульсирующий круг будет белого цвета.
  • zIndex {number} - Z-index пульсирующего круга. По умолчанию 1001.
  • autoSave {boolean} - Если указано true, то после показа диалога с подсказкой, данный факт будет зафиксирован в опциях текущего пользователя. По умолчанию false.
  • observerTimeout {number} - Таймаут проверки изменений размеров и позиции элемента позиционарования targetElement. По умолчанию 1000.
  • events {object.} - Коллекция обработчиков событий.


События

События

Метод | Вызывается | С версии
BX.SpotLight:onShow | Когда пульсирующий круг отобразился на странице. |
BX.SpotLight:onClose | При закрытии пульсирующего круга. |
BX.SpotLight:onTargetEnter | При наведении курсора на пульсирующий круг. |
BX.SpotLight:onTargetLeave | При покидании курсора пульсирующего круга. |
BX.SpotLight:onPopupShow | При показе диалога с подсказкой. |
BX.SpotLight:onPopupClose | При закрытии диалога с подсказкой. |
BX.SpotLight:onPopupAccept | После нажатия на кнопку 'Закрыть' в диалоге с подсказкой. |


Примеры

Простая подсказка

<div id="box" style="background: #fff073; width: 300px; height: 200px;"></div>
<script>
(function() {
    var spotlight = new BX.SpotLight({
        targetElement: BX("box"),
        content: "Текст подсказки",
        targetVertex: "bottom-right"
    });
    spotlight.show();
})();
</script>

Подсветка нового пункта в меню

<button id="menu-button" style="width: 200px; height: 50px; border: 1px solid #ccc;">Меню</button>
<script>
(function() {

    "use strict";

    BX.namespace("BX.MyModule");

    BX.MyModule.MyButton = function()
    {
        this.button = BX("menu-button");
        BX.bind(this.button, "click", this.handleButtonClick.bind(this));

        this.menu = new BX.PopupMenuWindow(
            "mymenu",
            this.button,
            [
                { text: "Лондон" },
                { text: "Нью Йорк" },
                { text: "Торонто" },
                { text: "Киев" },
                { text: "Москва" },
                { text: "Калининград", id: "kaliningrad" }
            ],
            {
                events: {
                    onAfterPopupShow: this.handleAfterPopupShow.bind(this),
                    onPopupClose: this.handlePopupClose.bind(this)
                }
            }
        );

        this.spotlight = new BX.SpotLight({
            targetElement: this.button,
            targetVertex: "middle-right",
            events: {
                onTargetEnter: this.handleTargetEnter.bind(this)
            }
        });

        this.spotlight.show();
    };

    BX.MyModule.MyButton.prototype =
    {
        handleAfterPopupShow: function()
        {
            var targetItem = this.menu.getMenuItem("kaliningrad");
            var item = targetItem.getLayout().item;

            this.spotlight.setTargetElement(item);
            this.spotlight.setTargetVertex("middle-center");
            this.spotlight.adjustPosition();
        },

        handlePopupClose: function()
        {
            this.spotlight.setTargetElement(this.button);
            this.spotlight.setTargetVertex("middle-right");
            this.spotlight.adjustPosition();
        },

        handleButtonClick: function()
        {
            this.menu.show();
        },

        handleTargetEnter: function()
        {
            this.menu.show();
        }
    };

    BX.ready(function() {
        new BX.MyModule.MyButton();
    })

})();
</script>


Диалог выбора сущностей

Начало работы

JavaScript-расширение ui.entity-selector предоставляет 2 виджета:

  • Диалог выбора сущностей :

  • Виджет TagSelector :

Эти виджеты могут использоваться как по отдельности, так и совместно:

  • Простой диалог (dropdown) без поиска:

  • Диалог с поиском (с TagSelector):

  • Виджет TagSelector c диалогом:

Подключение в коде

При работе с виджетами рекомендуется "ленивая" загрузка ui.entity-selector.

Динамическая (ленивая) загрузка в JavaScript

Runtime.loadExtension('ui.entity-selector').then(exports => {
    const { Dialog, TagSelector } = exports;
});

Импорт в ES6

import { Dialog, TagSelector } from 'ui.entity-selector';

Использование в ES5

var selector = new BX.UI.EntitySelector.TagSelector(options);
var dialog = new BX.UI.EntitySelector.Dialog(options);

Подключение на PHP-странице

\Bitrix\Main\UI\Extension::load('ui.entity-selector');

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

Выбор "Кому" в Живой Ленте

const tagSelector = new TagSelector({
    dialogOptions: {
        context: 'MY_MODULE_CONTEXT',
        entities: [
            {
                id: 'user', // пользователи
            },
            {
                id: 'project', // группы и проекты
            },
            {
                id: 'department', // структура компании
                options: {
                    selectMode: 'usersAndDepartments' // выбор пользователей и отделов
                }
            },
            {
                id: 'meta-user',
                options: {
                    'all-users': true // Все сотрудники
                }
            },
        ],
    }
});

tagSelector.renderTo(document.getElementById('container'));

Диалог выбор пользователя

const button = document.getElementById('responsible-button');
const dialog = new Dialog({
    targetNode: button,
    enableSearch: true,
    context: 'MY_MODULE_CONTEXT',
    entities: [
        {
            id: 'user', // пользователи
        },
        {
            id: 'department', // структура компании: выбор только пользователей
        },
    ],
});

button.addEventListener('click', function() {
    dialog.show();
});

Выбор группы соц. сети

const tagSelector = new TagSelector({
    dialogOptions: {
        context: 'MY_MODULE_CONTEXT',
        entities: [
            {
                id: 'project', // группы и проекты
            },
        ],
    }
});

tagSelector.renderTo(document.getElementById('container'));

Диалог выбора экстранет-групп, где есть сервис "Задачи"

const button = document.getElementById('select-project');
const dialog = new Dialog({
    targetNode: button,
    enableSearch: true,
    context: 'MY_MODULE_CONTEXT',
    entities: [
        {
            id: 'project',
            options: {
                extranet: true, // только экстранет
                features: {
                    tasks: ['view'] // права доступа к группе
                }
            }
        },
    ],
});

button.addEventListener('click', function() {
    dialog.show();
});

Выбор отделов

const tagSelector = new TagSelector({
    dialogOptions: {
        context: 'MY_MODULE_CONTEXT',
        entities: [
            {
                id: 'department',
                options: {
                    selectMode: 'departmentsOnly', // только выбор отделов
                }
            },
        ],
    }
});

tagSelector.renderTo(document.getElementById('container'));


Диалог

Основные понятия:

Диалог

Диалог выбора сущностей представляет собой всплывающее (pop-up) окно со списком произвольных элементов, которые могут быть сгруппированы по вкладкам:

Дополнительно диалог может иметь встроенный поиск с возможностью создания новых элементов, а также специальный футер, в котором можно разместить ссылки на внешние интерфейсы.

Элементы

Элемент — это пункт списка.

Как правило, элементы отображаются в конкретных вкладках, но это условие необязательное. Если элемент не привязан ни к одной вкладке, его всего равно можно найти через поиск.

Каждый элемент уникально идентифицируется двумя атрибутами: id и entityId:

  • id — числовой или строковый идентификатор элемента.
  • entityId — строковый идентификатор сущности.

Атрибут entityId определяет принадлежность элемента к конкретной сущности, поэтому диалог позволяет одновременно отображать и выбирать элементы разных сущностей.

const dialog = new Dialog({
    items: [
        { id: 1, entityId: 'my-entity', title: 'Пункт A', tabs: 'my-tab' },
        { id: 2, entityId: 'my-entity', title: 'Пункт B', tabs: 'my-tab' },
        { id: 3, entityId: 'my-entity', title: 'Пункт C', tabs: 'my-tab' },
        { id: 1, entityId: 'my-user', title: 'Иван Иванов', tabs: 'my-tab' },
        { id: 2, entityId: 'my-user', title: 'Константин Константинопольский', tabs: 'my-tab' },
        { id: 'USD', entityId: 'my-currency', title: 'Американский Доллар', tabs: 'my-tab' },
    ],
    tabs: [
        { id: 'my-tab', title: 'Моя вкладка' }
    ],
    showAvatars: false,
    dropdownMode: true
});

dialog.show();

Сущности

Сущность — это уникальный тип элемента, который может определять:

  • Внешний вид элементов в диалоге [image] (аватар по умолчанию, цвет заголовка и др.).
  • Внешний вид элементов [image] в виджете TagSelector.
  • Провайдер данных — PHP-класс, который заполняет диалог данными с бэкенда.
  • Настройки полей [image] для поиска.

Настройки сущностей определяются либо глобально [image] [image] [image] (рекомендуется), либо непосредственно при создании объекта диалога (опция entities [image]).

Добавление элементов в диалог

Наполнение диалога элемента происходит двумя способами:

  • Статически — данные элементов и вкладок непосредственно передаются в конструктор класса Dialog.

    const button = document.getElementById('button');
const dialog = new Dialog({
  targetNode: button,
  width: 400,
  height: 300,
  dropdownMode: true,
  showAvatars: false,
  compactView: true,
  tabs: [
      { id: 'cities', title: 'Города', itemOrder: { 'title': 'asc' }  },
      { id: 'countries', title: 'Страны', itemOrder: { 'title': 'asc' } },
  ],
  items: [
      { id: 1, entityId: 'city', tabs: 'cities', title: 'Калининград' },
      { id: 2, entityId: 'city', tabs: 'cities', title: 'Москва' },
      { id: 3, entityId: 'city', tabs: 'cities', title: 'Киев' },
      { id: 4, entityId: 'city', tabs: 'cities', title: 'Санкт-Петербург' },
      { id: 5, entityId: 'city', tabs: 'cities', title: 'Минск' },
      { id: 6, entityId: 'city', tabs: 'cities', title: 'Гданьск' },
      { id: 7, entityId: 'city', tabs: 'cities', title: 'Варшава' },
      { id: 8, entityId: 'city', tabs: 'cities', title: 'Берлин' },
      { id: 1, entityId: 'country', tabs: 'countries', title: 'Российская Федерация' },
      { id: 2, entityId: 'country', tabs: 'countries', title: 'Соединенные Штаты Америки' },
      { id: 3, entityId: 'country', tabs: 'countries', title: 'Украина' },
      { id: 4, entityId: 'country', tabs: 'countries', title: 'Беларусь' },
      { id: 5, entityId: 'country', tabs: 'countries', title: 'Польша' },
      { id: 6, entityId: 'country', tabs: 'countries', title: 'Казахстан' },
    ],
});

dialog.show();

  • Динамически — данные загружаются с бэкенда с помощью провайдеров данных.

    const button = document.getElementById('button');
const dialog = new Dialog({
  targetNode: button,
  enableSearch: true,
  context: 'MY_MODULE_CONTEXT',
  entities: [
      {
          id: 'user', // пользователи
      },
      {
          id: 'department', // структура компании: выбор только пользователей
      },
  ],
});

dialog.show();

    Во время открытия диалог выполнит запрос на бэкенд и получит данные от соответствующих провайдеров. Необходимость выполнения запроса на бэкенд определяется наличием сущностей (опция entities), у которых свойство dynamicLoad [image] установлено в значение true. Для стандартных сущностей dynamicLoad установлен глобально [image] [image] [image], поэтому явно прописывать эту опцию не следует (см. пример выше).

Оба подхода можно использовать одновременно.

DOM-узлы элемента

Каждый элемент диалога может иметь несколько визуальных представлений. Это дает возможность отображать один и тот же элемент на разных вкладках или на разных уровнях древовидного представления.

Элемент диалога представлен классом Item, а его визуальные представления — классом ItemNode. Другими словами, класс ItemNode представляет DOM-узел элемента.

Данные (заголовок, аватар и др.), которые отображает DOM-узел, могут быть заданы как для конкретного представления, так и для элемента — в этом случае все DOM-узлы будут иметь одинаковый вид. Также есть возможность задать визуальные параметры для элемента глобально [image] [image] [image] в настройках сущности [image].

Вкладки

Вкладки позволяют группировать элементы диалога в группы:

По умолчанию диалог создает две системных вкладки: "Последние" и "Поиск". Вкладка "Последние" отображает элементы (при динамической загрузке), которые пользователь выбирал в последний раз. Вкладка "Поиск" скрыта по умолчанию и активируется только в момент набора поисковой фразы.

Если элементов на вкладке нет, то вместо пустого списка отображается [dw]"заглушка".[/dw][di] [image] [/di] Эту "заглушку" можно кастомизировать [image] по своему желанию.

Вкладка "Последние"

Когда пользователь выбирает элементы в диалоге, этот факт запоминается на бэкенде. В следующий раз при открытии диалога эти элементы будут автоматически показаны на вкладке "Последние".

Выбранные пользователем элементы запоминаются в рамках контекста — символьного идентификатора, который указывается при создании диалога в опции context [image]. С помощью идентификатора контекста можно как создавать разные списки "последних" элементов, так и делать их одинаковыми в рамках, например, одного сервиса.

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

Один и тот же элемент может быть выбран в разных диалогах и в разных контекстах. Чтобы можно было гибко управлять (с помощью провайдера данных) списком элементов вкладки "Последние", существуют два вида контекстов:

  • Локальный (текущий) контекст — контекст (указывается при создании диалога), для которого автоматически выбираются элементы на вкладке "Последние".

    Для работы с элементами локального контекста в провайдере есть следующие методы:

    • getRecentItems()
    • addRecentItem(Item $item)
    • addRecentItems(array $items)

  • Глобальный контекст — все остальные контексты, в которых пользователь выбирал элементы указанных сущностей.

    Чтобы получить элементы из глобального контекста в провайдере данных, используйте метод getGlobalRecentItems() [image].

Поиск

Форма поиска включается опцией enableSearch: true [image]:

По умолчанию поиск осуществляется по всем элементам диалога. Отменить поиск можно глобально для всех элементов сущности (опция searchable [image]), а также для конкретного элемента (аналогичная опция searchable [image]).

Поисковая фраза ищется в заголовке и подзаголовке элемента. Расширить поля для поиска, а также указать их приоритет можно с помощью опции searchFields [image] в настройках сущности.

Создание нового элемента из поиска

Дополнительно с помощью формы поиска можно создать новый элемент:

Данная возможность включается с помощью опции searchOptions.allowCreateItem [image].

Создание нового элемента делегируется внешнему коду, который выполняется на событии Search:onItemCreateAsync [image].

const button = document.getElementById('button');
button.addEventListener('click', function() {
   dialog.show();
});

const dialog = new Dialog({
    targetNode: button,
    width: 400,
    height: 300,
    dropdownMode: true,
    enableSearch: true,
    compactView: true,
    showAvatars: false,
    tabs: [
        { id: 'cities', title: 'Города', itemOrder: { sort: 'asc',  title: 'asc' } },
        { id: 'countries', title: 'Страны', itemOrder: { 'title': 'asc' } },
    ],
    items: [],
    searchOptions: {
        allowCreateItem: true,
        footerOptions: {
            label: 'Создать город:'
        }
    },
    events: {
        'Search:onItemCreateAsync': (event) => {
            return new Promise((resolve) => {

                const { searchQuery } = event.getData();
                const dialog = event.getTarget();

                setTimeout(() => { // эмуляция асинхронного действия
                    let tab = dialog.getTab('cities');
                    const item = dialog.addItem({
                        id: Text.getRandom(),
                        entityId: 'city',
                        title: searchQuery.getQuery(),
                        tabs: 'cities',
                        // можно использовать для сортировки элементов на вкладке
                        // для вкладки cities указана сортировка по этому полю.
                        sort: 1
                    });

                    if (item)
                    {
                        item.select();
                    }

                    dialog.selectTab(tab.getId());
                    resolve();

                }, 1000);
            });
        }
    }
});

Кеширование поисковых запросов

По умолчанию диалог кеширует поисковые запросы для того, чтобы уменьшить количество обращений на бэкенд. Считается, что при обработке поискового запроса на бэкенде провайдер отдает полностью все данные по указанной поисковой фразе. Например, если провайдер вернул данные по фразе "Иван", то по фразе "Иванов" диалог уже не будет делать запрос на бэкенд.

Отменить алгоритм кеширования по умолчанию можно двумя способами:

  • Метод $searchQuery->setCacheable(false) [image] позволяет отменить кеширование текущего запроса.
  • Опция searchCacheLimits [image] позволяет определить шаблоны регулярных выражений, по которым не будет происходить кеширование.

Футер

В интерфейсе диалога предусмотрен футер или подвал, в котором можно разместить дополнительные ссылки или даже вывести произвольную верстку:

Футер может быть задан как глобально [image] для всего диалога, так и отдельно для конкретной вкладки [image].

Следующие примеры показывают различные варианты установки футера:

const options = {
    footer:
        `<a href="/" class="ui-selector-footer-link ui-selector-footer-link-add">Пригласить сотрудника</a>
        <span class="ui-selector-footer-conjunction">или</span>' +
        <a href="/" class="ui-selector-footer-link">пригласить гостя</a>`,
};

const options = {
    footer: Tag.render`<span class="ui-selector-footer-link" onclick="${this.handleCLick}">пригласить</span>`,
};

const options = {
    footer: [
        Tag.render`<span class="ui-selector-footer-link" onclick="${this.handleCLick}">пригласить</span>`,
        Tag.render`<span class="ui-selector-footer-link" onclick="${this.handleMore}">еще</span>`,
    ]
};

Свой собственный футер на основе футера по умолчанию:

class MyStandardFooter extends DefaultFooter
{
    constructor(dialog: Dialog, options: { [option: string]: any })
    {
        super(dialog, options);
    }

    getContent(): HTMLElement | HTMLElement[] | string | null
    {
        return this.cache.remember('content', () => {
            const showLabel = this.getOption('showLabel', false);
            return Tag.render`
                <div class="my-module-footer-class">
                    ${showLabel ? 'My Footer' : ''}
                </div>
            `;
        });
    }
}

const options = {
    footer: MyStandardFooter, // Либо полное название класса в виде строки 'Vendor.MyModule.MyStandardFooter'.
    footerOptions: {
        showLabel: true
    }
};

Футер с полностью произвольной версткой:

class MySpecialFooter extends BaseFooter
{
    constructor(dialog: Dialog, options: { [option: string]: any })
    {
        super(dialog, options);
    }

    render(): HTMLElement
    {
        return this.cache.remember('content', () => {
            const showLabel = this.getOption('showLabel', false);
            return Tag.render`
                <div class="my-module-footer-container">
                    <div class="my-module-footer-class">
                        ${showLabel ? 'My Footer' : ''}
                    </div>
                </div>
            `;
        });
    }
}

const options = {
    footer: MySpecialFooter, // Либо полное название класса в виде строки 'Vendor.MyModule.MyStandardFooter'
    footerOptions: {
        showLabel: true
    }
};


JavaScript API

Класс | Описание | С версии
Dialog | Основной класс для работы с диалогом выбора сущностей и его элементами. |
Item | Класс представляет элемент диалога. |
Tab | Класс представляет вкладку диалога. |
BaseStub | Базовый абстрактный класс заглушки вкладки. |
Entity | Класс представляет сущность элементов диалога и виджета TagSelector. |
BaseFooter | Базовый абстрактный класс для футеров диалога и вкладок. |
DefaultFooter | Класс представляет футер по умолчанию для диалога или вкладок. Наследник класса BaseFooter. |
ItemNode | Класс представляет визуальное представление (DOM-узел) элемента. |
ItemBadge | Класс представляет бейдж элемента. |
TextNode | Класс служит для отображения надписей в текстовом виде или в формате HTML. |


Класс Dialog

Описание

Основной класс для работы с диалогом выбора сущностей и его элементами.

Импорт в ES6

import { Dialog } from 'ui.entity-selector';

Использование в ES5

var dialog = new BX.UI.EntitySelector.Dialog(options);

События

Класс Dialog является наследником класса EventEmitter. Обработчики события можно установить либо с помощью опции events, либо через стандартный метод EventEmitter.subscribe.

Событие Описание С версии
onShow Вызывается при каждом показе диалога.

Пример

const options = {
  events: {
      'onShow': (event: BaseEvent) => {
          const dialog: Dialog = event.getTarget();
      }
  }
}

onFirstShow Вызывается один раз на первом показе диалога.

Пример

const options = {
  events: {
      'onFirstShow': (event: BaseEvent) => {
          const dialog: Dialog = event.getTarget();
      }
  }
}

onHide Вызывается при закрытии диалога.

Пример

const options = {
  events: {
      'onHide': (event: BaseEvent) => {
          const dialog: Dialog = event.getTarget();
      }
  }
}

onDestroy Вызывается перед уничтожением диалога.

Пример

const options = {
  events: {
      'onDestroy': (event: BaseEvent) => {
          const dialog: Dialog = event.getTarget();
      }
  }
}

onSearch Вызывается при поиске элементов.

Пример

const options = {
  events: {
      'onSearch': (event: BaseEvent) => {
          const dialog: Dialog = event.getTarget();
          const { query } = event.getData();
      }
  }
}

onLoad Вызывается после загрузки данных с бэкенда.

Пример

const options = {
  events: {
      'onLoad': (event: BaseEvent) => {
          const dialog: Dialog = event.getTarget();
      }
  }
}

onLoadError Вызывается, если во время загрузки данных с бэкенда произошла ошибка. В данных события содержится ошибка в свойстве error.

Пример

const options = {
  events: {
      'onLoadError': (event: BaseEvent) => {
          const dialog: Dialog = event.getTarget();
          const { error } = event.getData();
      }
  }
}

Item:onSelect Вызывается после выбора элемента. В данных события в свойстве item содержится выбранный элемент.
Получить полный список всех выбранных элементов можно с помощью метода dialog.getSelectedItems().

Пример

const options = {
  events: {
      'Item:onSelect': (event: BaseEvent) => {
          const { item: selectedItem } = event.getData();
          const dialog: Dialog = event.getTarget();
          const selectedItems: Item[] = dialog.getSelectedItems();
      }
  }
}

Item:onBeforeSelect Вызывается перед выбором элемента. На данном событии можно запретить выбирать элемент.

Пример

const options = {
  events: {
      'Item:onBeforeSelect': (event: BaseEvent) => {
          const { item } = event.getData();
          if (item.getId() === 1 && item.getEntityId() === 'user')
          {
              event.preventDefault();
          }
      }
  }
}

Item:onDeselect Вызывается после снятия выбора элемента.
В данных события в свойстве item содержится элемент, с которого был снят выбор. Получить полный список всех выбранных элементов можно с помощью метода dialog.getSelectedItems().

Пример

const options = {
  events: {
      'Item:onDeselect': (event: BaseEvent) => {
          const { item: deselectedItem } = event.getData();
          const dialog: Dialog = event.getTarget();
          const selectedItems: Item[] = dialog.getSelectedItems();
      }
  }
}

Item:onBeforeDeselect Вызывается перед снятием выбора элемента. На данном событии можно запретить снятие выбора элемента.

Пример

const options = {
  events: {
      'Item:onBeforeDeselect': (event: BaseEvent) => {
          const { item } = event.getData();
          if (item.getId() === 1 && item.getEntityId() === 'user')
          {
              event.preventDefault();
          }
      }
  }
}

Tab:onSelect Вызывается при переходе на новую вкладку (вкладка становится активной).
В данных события в свойстве tab содержится объект вкладки, на которую произошел переход.

Пример

const options = {
  events: {
      'Tab:onSelect': (event: BaseEvent) => {
          const { tab } = event.getData();
          const dialog: Dialog = event.getTarget();
      }
  }
}

Tab:onDeselect Вызывается, когда вкладка становится неактивной.
В данных события в свойстве tab содержится объект вкладки, с которой произошел переход.

Пример

const options = {
  events: {
      'Tab:onDeselect': (event: BaseEvent) => {
          const { tab } = event.getData();
          const dialog: Dialog = event.getTarget();
      }
  }
}

Search:onItemCreateAsync Асинхронное событие, которое возникает в момент создания элемента через поиск [image].

Пример

const options = {
    searchOptions: {
        allowCreateItem: true,
    },
    events: {
        'Search:onItemCreateAsync': (event) => {
            return new Promise((resolve) => {
                const { searchQuery } = event.getData();
                const dialog = event.getTarget();

                setTimeout(() => { // эмуляция асинхронного действия
                    let tab = dialog.getTab('cities');
                    const item = dialog.addItem({
                        id: BX.Text.getRandom(),
                        entityId: 'city',
                        title: searchQuery.getQuery(),
                        tabs: 'cities',
                        sort: 1
                    });

                    if (item)
                    {
                        item.select();
                    }

                    dialog.selectTab(tab.getId());
                    resolve();

                }, 1000);
            });
        }
    }
}

ItemNode:onFocus Вызывается, когда на элементе устанавливается фокус.
В данных события в свойстве node содержится узел элемента (объект класса ItemNode).
ItemNode:onUnfocus Вызывается, когда на элементе сбрасывается фокус.
В данных события в свойстве node содержится узел элемента (объект класса ItemNode).
ItemNode:onLinkClick Вызывается при нажатии ссылки "подробнее".
В данных события в свойстве node содержится узел элемента (объект класса ItemNode), а в event — объект события MouseEvent.

Конструктор

constructor(dialogOptions: DialogOptions): Dialog

Создает объект класса Dialog.

dialogOptions — опции диалога, которые определяются структурой DialogOptions.

export type DialogOptions = {
    targetNode?: HTMLElement,
    id?: string,
    context?: string,
    items?: ItemOptions[],
    selectedItems?: ItemOptions[],
    preselectedItems?: ItemId[],
    undeselectedItems?: ItemId[],
    tabs?: TabOptions[],
    entities?: EntityOptions[],
    popupOptions?: PopupOptions,
    multiple?: boolean,
    preload?: boolean,
    dropdownMode?: boolean,
    enableSearch?: boolean,
    searchOptions?: SearchOptions,
    searchTabOptions?: TabOptions,
    recentTabOptions?: TabOptions,
    tagSelectorOptions?: TagSelectorOptions,
    events?: { [eventName: string]: (event: BaseEvent) => void },
    hideOnSelect?: boolean,
    hideOnDeselect?: boolean,
    clearSearchOnSelect?: boolean,
    width?: number,
    height?: number,
    autoHide?: boolean,
    hideByEsc?: boolean,
    offsetTop?: number,
    offsetLeft?: number,
    cacheable?: boolean,
    focusOnFirst?: boolean,
    footer?: FooterContent,
    footerOptions?: { [option: string]: any },
    showAvatars?: boolean,
    compactView?: boolean,
    clearUnavailableItems?: boolean,
}

  • targetNode?: HTMLElement

    HTML-элемент, около которого отобразится всплывающий диалог.

  • id?: string

    Идентификатор диалога.
    Может использоваться для получения объекта диалога в методе Dialog.getById(id).

  • context?: string

    Идентификатор контекста.
    Используется для сохранения выбранных элементов на вкладке "Последние". Если контекст не задан, выбор пользователя не сохраняется, элементы на вкладке "Последние" сортируются с учетом их выбора в других контекстах.

  • items?: ItemOptions[]

    Массив элементов диалога. Каждый элемент определяется структурой ItemOptions.

  • selectedItems?: ItemOptions[]

    Массив элементов диалога (аналогично опции items), все элементы которого автоматически определяются как "выбранные".

  • preselectedItems?: ItemId[]

    Массив идентификаторов выбранных элементов, данные по которым должен получить диалог от провайдеров сущностей. Каждый элемент определяется структурой ItemId.

    type ItemId = [
  string,
  string | number
];

    ItemId — это массив из двух элементов. Первый элемент представляет идентификатор сущности элемента (entityId), а второй — идентификатор самого элемента (id).

    const options = {
  preselectedItems: [
      ['user', 1],
      ['department', 1],
      ['meta-user', 'all-users'],
      ['project', 2],
      ['department', '2:F'],
  ]
}

    Данная опция обычно используется для заполнения виджета TagSelector элементами, о которых заранее известно, что они выбраны. Диалог автоматически выполнит динамическую загрузку элементов (в момент создания объекта new Dialog), если установлена опция preselectedItems.

  • undeselectedItems?: ItemId[]

    Массив идентификаторов элементов, у которых нельзя снять выбор. Каждый элемент определяется структурой ItemId.

  • tabs?: TabOptions[]

    Массив вкладок диалога. Каждая вкладка определяется структурой TabOptions.

    const options = {
  tabs: [
      { id: 'cities', title: 'Города', itemOrder: { title: 'asc' } },
      { id: 'countries', title: 'Страны', itemOrder: { id: 'desc' } },
  ],
}

  • entities?: EntityOptions[]

    Массив с настройками сущностей диалога. Каждая сущность определяется структурой EntityOptions.

    const options = {
  entities: [
      {
          id: 'meta-user',
          options: {
              'all-users': true
          }
      },
      {
          id: 'user',
          options: { emailUsers: true },
      },
      { id: 'project' },
      {
          id: 'department',
          options: {
              selectMode: 'usersAndDepartments'
          }
      },
  ],
}

    Как правило, в опции entities указывают только идентификаторы сущностей, элементы которых необходимо динамически загрузить, а также настройки для провайдеров данных. Настройки же самих сущностей (опции структуры EntityOptions) обычно определяют глобально. Однако эти глобальные настройки можно всегда переопределить:

    const options = {
  entities: [
      {
          id: 'user',
          dynamicLoad: false, // запрещаем динамическую загрузку
          dynamicSearch: false, // запрещаем динамический поиск
          searchFields: [ // определяем другие поля поиска
              { name: 'title', type: 'email', system: true, searchable: true },
              { name: 'subtitle', type: 'email', system: true, searchable: false },
              { name: 'position', type: 'string' },
              { name: 'email', type: 'email' }
          ],
      }
  ],
}

  • popupOptions?: PopupOptions

    Дополнительные настройки для Popup-диалога, на котором основан диалог выбора сущностей. Определяются структурой PopupOptions, однако разрешены только следующие значения: overlay, bindOptions, targetContainer, zIndexOptions.

  • multiple?: boolean

    По умолчанию диалог работает в режиме множественного выбора (значение true). Значение false ограничивает выбор только одним элементом.

  • preload?: boolean

    По умолчанию загрузка элементов с бэкенда (если требуется) происходит в момент открытия диалога. Если установлено значение true, загрузка данных произойдет автоматически при создании объекта диалога.

  • dropdownMode?: boolean

    Значение true включает режим простого списка. В этом режиме скрывается ярлык вкладки "Последние".

  • enableSearch?: boolean

    Включает форму поиска внутри диалога.

  • searchOptions?: SearchOptions

    Устанавливает настройки формы поиска. Определяется структурой SearchOptions.

    export type SearchOptions = {
  allowCreateItem?: boolean,
  footerOptions?: { [option: string]: any }
}

    • allowCreateItem?: boolean

      Включает возможность создавать новые элементы через поиск.

    • footerOptions?: { [option: string]: any }

      Дополнительные настройки для футера на вкладке "Поиск". Опция label определяет базовый заголовок для футера.

    const options = {
  searchOptions: {
      allowCreateItem: true,
      footerOptions: {
          label: 'Создать город:'
      }
  },
}

  • searchTabOptions?: TabOptions

    Позволяет переопределить настройки системной вкладки "Поиск". Настройки определяются структурой TabOptions.

  • recentTabOptions?: TabOptions

    Позволяет переопределить настройки системной вкладки "Последние". Настройки определяются структурой TabOptions.

  • tagSelectorOptions?: TagSelectorOptions

    Задает дополнительные настройки встроенной форме поиска (TagSelector) при включенной настройке enableSearch=true. Настройки определяются структурой TagSelectorOptions.

  • events?: { [eventName: string]: (event: BaseEvent) => void }

    Задает обработчики событий диалога.

  • hideOnSelect?: boolean

    Скрывать диалог после выбора элемента. По умолчанию диалог скрывается для одиночного выбора элемента (multiple=false), для множественного выбора — не скрывается.

  • hideOnDeselect?: boolean

    Скрывать диалог после снятия выбора элемента. По умолчанию диалог не скрывается.

  • clearSearchOnSelect?: boolean

    Очищать форму поиска после выбора элемента. По умолчанию true.

  • width?: number

    Ширина диалога в пикселях. По умолчанию 565.

  • height?: number

    Высота диалога в пикселях. По умолчанию 420.

  • autoHide?: boolean

    Автоматически скрывать диалог по клику в любую область страницы. По умолчанию true.

  • hideByEsc?: boolean

    Автоматически скрывать диалог по нажатию клавиши Escape. По умолчанию true.

  • offsetTop?: number

    Смещение диалога относительно targetNode по оси ординат. По умолчанию 5.

  • offsetLeft?: number

    Смещение диалога относительно targetNode по оси абсцисс. По умолчанию 0.

  • cacheable?: boolean

    Если установлено значение false, диалог будет автоматически уничтожен после скрытия. По умолчанию true (не уничтожать).

  • focusOnFirst?: boolean

    Устанавливать фокус на первый элемент списка. По умолчанию true.

  • footer?: FooterContent

    Задает глобальный (на все вкладки) футер диалога. Определяется структурой FooterContent.

    export type FooterContent = string | HTMLElement | HTMLElement[] | Function;

    Футер можно задать несколькими способами:

    • Если передана верстка в виде DOM-узла, массива DOM-узлов или текстовой строки, будет создан футер по умолчанию (объект класса DefaultFooter) с указанным текстовым контентом.

    • Для создания произвольного футера необходимо передать либо ссылку на конструктор класса (наследник BaseFooter или DefaultFooter), либо указать полное имя класса в виде строки.

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

    • .ui-selector-footer-link — обычная ссылка.
    • .ui-selector-footer-link ui-selector-footer-link-add — ссылка с иконкой "плюс".
    • .ui-selector-footer-conjunction — для оформления связующих слов между ссылками.

  • footerOptions?: { [option: string]: any }

    Произвольные опции футера. Передаются в конструктор класса футера.

  • showAvatars?: boolean

    Отображать аватары элементов. По умолчанию true. Данная опция определяет поведение для всех вкладок по умолчанию, однако, эту настройку можно переопределить для конкретной вкладки (аналогичная опция showAvatars).

  • compactView?: boolean

    Определяет компактный вид отображения элементов. По умолчанию false. Рекомендуется использовать для элементов без аватаров (showAvatars=false).

  • clearUnavailableItems?: boolean

    Удалять элемента из списка "Последних", если провайдеры сущностей не возвращают для них данные. По умолчанию false.

Методы

Метод | Описание | С версии
Dialog.getById(id: string): ?Dialog | Статический метод, возвращающий объект диалога по идентификатору id.
Dialog.getInstances(): Dialog[] | Статический метод, возвращающий массив всех объектов диалога.
show(): void | Отображает диалог на странице.
hide(): void | Скрывает диалог на странице.
destroy(): void | Удаляет диалог из страницы, а так же все его внутренние сущности. Дальнейшее использование объекта диалога после вызова destroy() невозможно. Для автоматического уничтожения диалога можно воспользоваться опцией cacheable=true или методом setCacheable(true).
isOpen(): boolean | Возвращает true, если диалог отображается на странице, иначе false.
adjustPosition(): void | Заново пересчитывает расположение диалога относительно targetNode.
search(queryString: string): void | Выполняется поиск элемента по указанной в queryString строке.
addItem(options: ItemOptions): Item Добавляет и возвращает новый элемент диалога.
  • options — опции элемента, которые определяются структурой ItemOptions.
removeItem(item: Item | ItemOptions): ?Item Удаляет элемент из диалога.
  • item — объекта класса Item или объект вида { id: string | number, entityId: string }.
removeItems(): void | Удаляет все элементы диалога.
getItem(item: ItemId | ItemOptions): ?Item Возвращает элемент диалога по его идентификаторам.
  • item — ItemId или объект вида { id: string | number, entityId: string }.
getSelectedItems(): Item[] | Возвращает массив выбранных элементов.
getItems(): Item[] | Возвращает все элементы диалога.
getEntityItems(entityId: string): Item[] | Возвращает все элементы указанной сущности.
addTab(tab: Tab | TabOptions): Tab Добавляет новую вкладку в диалог.
  • tab — объекта класса Tab или TabOptions.
getTabs(): Tab[] | Возвращает массив всех вкладок диалога.
getTab(id: string): ?Tab | Возвращает объект вкладки по идентификатору id.
getRecentTab(): RecentTab | Возвращает объект вкладки "Последние".
getSearchTab(): SearchTab | Возвращает объект вкладки "Поиск".
selectTab(id: string): ?Tab | Активирует (выбирает) вкладку с указанным идентификатором id.
selectFirstTab(onlyVisible = true): ?Tab Возвращает первую вкладку диалога.
  • onlyVisible — учитывать только видимые вкладки.
selectLastTab(onlyVisible = true): ?Tab Возвращает последнюю вкладку диалога.
  • onlyVisible — учитывать только видимые вкладки.
getActiveTab(): ?Tab Возвращает активную вкладку.
  • onlyVisible — учитывать только видимые вкладки.
getNextTab(onlyVisible = true): ?Tab Возвращает вкладку, которая следует за активной.
  • onlyVisible — учитывать только видимые вкладки.
getPreviousTab(onlyVisible = true): ?Tab Возвращает вкладку, которая предшествует активной.
  • onlyVisible — учитывать только видимые вкладки.
removeTab(id: string): void | Удаляет вкладку по идентификатору id.
addEntity(entity: Entity | EntityOptions): Entity | Добавляет сущность в диалог.
getEntity(id: string): ?Entity | Возвращает сущность по идентификатору id.
hasEntity(id: string): boolean | Возвращает true, если сущность с идентификатором id существует.
getEntities(): Entity[] | Возвращает массив всех сущностей диалога.
removeEntity(id: string): void | Удаляет сущность (включая ее элементы) из диалога.
removeEntityItems(id: string): void | Удаляет все элементы указанной сущности.
getFooter(): ?BaseFooter | Возвращает футер диалога.
getActiveFooter(): ?BaseFooter | Возвращает активный футер. В зависимости от текущей вкладки метод возвратит либо футер вкладки, либо футер диалога.
setFooter(footerContent: ?FooterContent, footerOptions?: { [option: string]: any }): ?BaseFooter Устанавливает или удаляет футер диалога.
  • footerContent — контент футера. Если указан null, футер удаляется.
  • footerOptions — дополнительные опции футера.
getId(): string | Возвращает идентификатор диалога.
getContext(): ?string | Возвращает контекст диалога.
deselectAll(): void | Снимает выбор со всех элементов диалога.
isMultiple(): boolean | Возвращает true, если в диалоге множественный выбор элементов.
setTargetNode(node: HTMLElement | { left: number, top: number } | null | MouseEvent): void | Устанавливает HTML-элемент, около которого отобразится всплывающий диалог. Если node указан в значении null, диалог покажется по центру страницы.
getTargetNode(): ?HTMLElement | Возвращает HTML-элемент, около которого отображается диалог.
setHideOnSelect(flag: boolean): void | Включает или отменяет скрытие диалога после выбора элемента.
shouldHideOnSelect(): boolean | Возвращает true, если диалог скрывается после выбора элемента.
setHideOnDeselect(flag: boolean): void | Включает или отменяет скрытие диалога после снятия выбора элемента.
shouldHideOnDeselect(): boolean | Возвращает true, если диалог скрывается после снятия выбора элемента.
setClearSearchOnSelect(flag: boolean): void | Включает или отменяет очистку формы поиска после выбора элемента.
shouldClearSearchOnSelect(): boolean | Возвращает true, если форма поиска очищается после выбора элемента.
setShowAvatars(flag: boolean): void | Включает или отменяет показ аватаров элементов диалога.
shouldShowAvatars(): boolean | Возвращает true, если включен показ аватаров элементов диалога.
isCompactView(): boolean | Возвращает true, если включен компактный вид отображения элементов.
setAutoHide(enable: boolean): void | Включает или отменяет автоматическое закрытие диалога по клику в любую область страницы.
isAutoHide(): boolean | Возвращает true, если диалог автоматически закрывается по клику в любую область страницы.
setHideByEsc(enable: boolean): void | Включает или отменяет автоматическое закрытие диалога по нажатию клавиши Escape.
shouldHideByEsc(): boolean | Возвращает true, если диалог автоматически закрывается по нажатию клавиши Escape.
getWidth(): number | Возвращает ширину диалога в пикселях.
setWidth(width: number): void | Устанавливает ширину диалога в пикселях.
getHeight(): number | Возвращает высоту диалога в пикселях.
setHeight(height: number): Promise | Устанавливает высоту диалога в пикселях.
getOffsetLeft(): number | Возвращает смещение диалога относительно targetNode по оси абсцисс в пикселях.
setOffsetLeft(offset: number): void | Устанавливает смещение диалога относительно targetNode по оси абсцисс.
getOffsetTop(): number | Возвращает смещение диалога относительно targetNode по оси ординат в пикселях.
setOffsetTop(offset: number): void | Устанавливает смещение диалога относительно targetNode по оси ординат.
isCacheable(): boolean | Возвращает false, если диалог автоматически уничтожается после закрытия.
setCacheable(cacheable: boolean): void | Включает или отменяет автоматическое уничтожение диалога после закрытия.
shouldFocusOnFirst(): boolean | Возвращает true, если включена автоматическая фокусировка на первый элемент вкладок.
setFocusOnFirst(flag: boolean): void | Включает или отменяет автоматическую фокусировку на первый элемент вкладок.
focusOnFirstNode(): ?ItemNode | Устанавливает фокус на первый элемент активной вкладки.
clearNodeFocus(): void | Сбрасывает фокус с текущего сфокусированного элемента.
getTagSelector(): ?TagSelector | Возвращает объект виджета TagSelector.
isTagSelectorInside(): boolean | Возвращает true, если виджет TagSelector находится внутри диалога.
isTagSelectorOutside(): boolean | Возвращает true, если виджет TagSelector находится снаружи диалога.
getTagSelectorQuery(): string | Возвращает поисковую фразу из виджета TagSelector.
focusSearch(): void | Устанавливает фокус на форму поиска в виджете TagSelector.
clearSearch(): void | Очищает форму поиска в виджете TagSelector.
isRendered(): boolean | Возвращает true, если верстка диалога сформирована и вставлена на страницу.
freeze(): void Переводит диалог в режим "заморозки". В этом режиме перестает работать:
  • Навигация по элементам с помощью клавиш.
  • Автозакрытие диалога по клику на любую область страницы.
  • Автозакрытие диалога по нажатию клавиши Escape.
  • Любые браузерные события внутри диалога.
unfreeze(): void | Возвращает диалог из режима "заморозки" в обычный.
isFrozen(): boolean | Возвращает true, если диалог находится в режиме "заморозки".
load(): void | Выполняет загрузку данных с бэкенда. Как правило, вызывается автоматически при открытии диалога.
isLoaded(): boolean | Возвращает true, если диалог уже выполнил запрос на бэкенд и загрузил данные.
isLoading(): boolean | Возвращает true, если диалог выполнил запрос на бэкенд, но еще не загрузил данные.
saveRecentItem(item: Item): void | Сохраняет элемент для вкладки "Последние".


Класс Item

Класс представляет элемент диалога.

Конструктор

constructor(itemOptions: ItemOptions): Item

Создает объект класса Item. Для добавления элементов в диалог используйте метод dialog.addItem() или опцию items в конструкторе класса Dialog [image].

itemOptions — опции элемента, которые определяются структурой ItemOptions.

export type ItemOptions = {
    id: number | string,
    entityId: string,
    entityType?: string,
    title?: string | TextNodeOptions,
    subtitle?: string | TextNodeOptions,
    supertitle?: string | TextNodeOptions,
    caption?: string | TextNodeOptions,
    captionOptions?: CaptionOptions,
    avatar?: string,
    avatarOptions?: AvatarOptions,
    textColor?: string,
    link?: string,
    linkTitle?: string | TextNodeOptions,
    badges?: ItemBadgeOptions[],
    badgesOptions?: BadgesOptions,
    tagOptions?: { [key: string]: any },
    tabs?: string[],
    searchable?: boolean,
    saveable?: boolean,
    deselectable?: boolean,
    selected?: boolean,
    hidden?: boolean,
    children?: ItemOptions[],
    nodeOptions?: ItemNodeOptions,
    customData?: { [key: string]: any },
    sort?: number,
};

  • id: number | string

    Идентификатор элемента. Обязательный параметр.

  • entityId: string

    Идентификатор сущности. Обязательный параметр.

  • entityType?: string

    Тип сущности. По умолчанию default.

  • title?: string | TextNodeOptions

    Заголовок элемента.
    Определяется либо строкой, либо структурой TextNodeOptions [image] [image] [image] [image] [image] [image] [image] [image] [image] [image].
    Если значение не задано, элемент будет выведен с пустым заголовком.

  • subtitle?: string | TextNodeOptions

    Подзаголовок элемента.
    Определяется либо строкой, либо структурой TextNodeOptions [image] [image] [image] [image] [image] [image] [image] [image] [image] [image]. Если значение не задано, подзаголовок будет искаться в настройках сущности [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image].

  • supertitle?: string | TextNodeOptions

    Надзаголовок элемента.
    Определяется либо строкой, либо структурой TextNodeOptions [image] [image] [image] [image] [image] [image] [image] [image] [image] [image].
    Если значение не задано, надзаголовок будет искаться в настройках сущности [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image].

  • caption?: string | TextNodeOptions

    Подпись элемента. Выводится справа от заголовка.
    Определяется либо строкой, либо структурой TextNodeOptions [image] [image] [image] [image] [image] [image] [image] [image] [image] [image].
    Если значение не задано, подпись будет искаться в настройках сущности [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image].

  • captionOptions?: CaptionOptions

    Дополнительные настройки подписи элемента. Определяются структурой CaptionOptions.

    export type CaptionOptions = {
  fitContent: boolean,
  maxWidth: number | string
};

    • fitContent — если задано значение true, ширина блока с подписью будет определяться шириной текста.
    • maxWidth — максимальная ширина подписи. Определяется в пикселях (задается числом) или с единицей измерения (задается строкой).

    Если значение не задано, настройки будут искаться в настройках сущности [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image].

  • avatar?: string

    Аватар элемента. Указывается либо путь к изображению, либо файл в формате Data URL.
    Если значение не задано, аватар будет искаться в настройках сущности [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image].

  • avatarOptions?: AvatarOptions

    Дополнительные настройки аватара элемента. Определяются структурой AvatarOptions.

    export type AvatarOptions = {
  bgColor?: string,
  bgSize?: string,
  bgImage?: string,
};

    • bgColor — цвет фона аватара. Задается значениями CSS-свойства background-color.
    • bgSize — размер фона аватара. Задается значениями CSS-свойства background-size.
    • bgImage — изображение фона. Задается значениями CSS-свойства background-image.

    Если значение не задано, настройки будут искаться в настройках сущности [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image].

  • textColor?: string

    Цвет текста заголовка. Если значение не задано, цвет текста заголовка будет искаться в настройках сущности [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image].

  • link?: string

    Адрес ссылки "подробнее". Если значение не задано, адрес ссылки будет искаться в настройках сущности [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] .

  • linkTitle?: string | TextNodeOptions

    Заголовок ссылки "подробнее".
    Определяется либо строкой, либо структурой TextNodeOptions .
    Если значение не задано, заголовок ссылки будет искаться в настройках сущности .

  • badges?: ItemBadgeOptions[]

    Массив бейджей элемента.
    Каждый бейдж определяется структурой ItemBadgeOptions.
    Если значение не задано, бейджи будут искаться в настройках сущности .

  • badgesOptions?: BadgesOptions

    Дополнительные настройки для блока с бейджами. Определяются структурой BadgesOptions.

    export type BadgesOptions = {
  fitContent: boolean,
  maxWidth: number | string
};

    • fitContent — если задано значение true, ширина блока с бейджами будет определяться шириной всех бейджей.
    • maxWidth — максимальная ширина блока с бейджами. Определяется в пикселях (задается числом) или с единицей измерения (задается строкой).

    Если значение не задано, настройки будут искаться в настройках сущности .

  • tagOptions?: { [key: string]: any }

    Настройки отображения элемента в виджете TagSelector.

    • bgColor — цвет фона.
    • textColor — цвет заголовка.
    • maxWidth — максимальная ширина элемента.
    • fontWeight — начертание шрифта заголовка элемента.
    • avatar — аватар элемента.
    • link — ссылка элемента.
    • title — заголовок элемента.

    Если значение не задано, настройки будут искаться в настройках сущности .

  • tabs?: string | string[]

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

  • searchable?: boolean

    Если задано значение false, такой элемент не будет найден в поиске. По умолчанию true.

  • saveable?: boolean

    Если задано значение false, такой элемент не будет сохраняться для вкладки "Последние". По умолчанию true.

  • deselectable?: boolean

    Если задано значение false, то у такого элемента нельзя будет снять выбор. По умолчанию true.

  • selected?: boolean

    Если задано значение true, то элемент будет автоматически выбран. Событие Item:onSelect не происходит в этом случае. По умолчанию false.

  • hidden?: boolean

    Флаг, обозначающий скрытый элемент.

  • children?: ItemOptions[]

    Массив дочерних элементов. Используется для создания древовидной структуры.

  • nodeOptions?: ItemNodeOptions

    Дополнительные настройки для DOM-узла элемента.
    Определяются структурой ItemNodeOptions .

  • customData?: { [key: string]: any }

    Произвольные дополнительные данные элемента.

  • sort?: number

    Индекс сортировки элемента, по которому сортируются элементы на вкладке "Последние", а также в результатах поиска. По умолчанию не задан.

Методы

Метод | Описание | С версии
getId(): string | number | Возвращает идентификатор элемента.
getEntityId(): string | Возвращает идентификатор сущности.
getEntity(): Entity | Возвращает объект сущности.
getEntityType(): string | Возвращает тип сущности. Если тип не был указан, вернет default.
getTitle(): string | Возвращает заголовок элемента. Если заголовок не задан, вернет пустую строку.
setTitle(title: ?string | TextNodeOptions): void Устанавливает заголовок элемента.
Заголовок определяется либо строкой, либо структурой TextNodeOptions .
getSubtitle(): ?string Возвращает подзаголовок элемента.
Если для элемента значение не задано, подзаголовок будет искаться в настройках сущности .
setSubtitle(subtitle: ?string | TextNodeOptions): void Устанавливает подзаголовок элемента.
Подзаголовок определяется либо строкой, либо структурой TextNodeOptions .
getSupertitle(): ?string Возвращает надзаголовок элемента.
Если для элемента значение не задано, надзаголовок будет искаться в настройках сущности .
setSupertitle(supertitle: ?string | TextNodeOptions): void Устанавливает надзаголовок элемента.
Надзаголовок определяется либо строкой, либо структурой TextNodeOptions .
getCaption(): ?string Возвращает подпись элемента.
Если для элемента значение не задано, подпись будет искаться в настройках сущности .
setCaption(caption: ?string | TextNodeOptions): void Устанавливает подпись элемента.
Подпись определяется либо строкой, либо структурой TextNodeOptions .
getAvatar(): ?string | Возвращает аватар элемента. Если для элемента значение не задано, аватар будет искаться в настройках сущности .
setAvatar(avatar: ?string): void Устанавливает аватар элемента.
Указывается либо путь к изображению, либо файл в формате Data URL.
getAvatarOption(option: $Keys): string | boolean | number | null Возвращает значение опции для настройки аватара элемента.
Название опции option определяется ключами структуры AvatarOptions.
Если для элемента значение не задано, аватар будет искаться в настройках сущности . 		21.600.0
setAvatarOption(option: $Keys, value: string | boolean | number | null): void Устанавливает значение опции для аватара элемента.
Название опции option определяется ключами структуры AvatarOptions. 		21.600.0
setAvatarOptions(options: AvatarOptions): void Устанавливает дополнительные настройки для аватара элемента.
Настройки опции option определяются структурой AvatarOptions. 		21.600.0
getTextColor(): ?string Возвращает цвет текста заголовка.
Если для элемента значение не задано, цвет текста будет искаться в настройках сущности .
setTextColor(textColor: ?string): void | Устанавливает цвет текста заголовка.
getLink(): ?string Возвращает адрес ссылки "подробнее".
Если для элемента значение не задано, адрес ссылки будет искаться в настройках сущности .
setLink(link: ?string): void | Устанавливает адрес ссылки "подробнее".
getLinkTitle(): ?string Возвращает заголовок ссылки "подробнее".
Если для элемента значение не задано, заголовок ссылки будет искаться в настройках сущности .
setLinkTitle(linkTitle: ?string | TextNodeOptions): void Устанавливает заголовок ссылки "подробнее".
Заголовок определяется либо строкой, либо структурой TextNodeOptions .
getBadges(): ItemBadge[] | Возвращает массив бейджей (объекты класса ItemBadge) элемента. Если для элемента значение не задано, бейджи будут искаться в настройках сущности .
setBadges(badges: ?ItemBadgeOptions[]): void Устанавливает бейджи элемента.
Каждый бейдж определяется структурой ItemBadgeOptions.
getDialog(): Dialog | Возвращает объект диалога (объект класса Dialog), в который добавлен элемент.
createNode(nodeOptions: ItemNodeOptions): ItemNode Создает новый DOM-узел элемент.
  • nodeOptions — настройки для DOM-узла элемента. Определяются структурой ItemNodeOptions.
removeNode(node: ItemNode): void | Удаляет DOM-узел элемента.
getNodes(): Set | Возвращает коллекцию DOM-узлов (объекты класса ItemNode).
select(preselectedMode: boolean = false): void | Устанавливает выбор на элементе.
deselect(): void | Снимает выбор с элемента.
isSelected(): boolean | Возвращает true, если элемент выбран.
setSearchable(flag: boolean): void | Устанавливает или отменяет участие элемента в поиске.
isSearchable(): boolean | Возвращает true, если элемент участвует в поиске.
setSaveable(flag: boolean): void | Устанавливает или отменяет запоминание выбора элемента для вкладки "Последние".
isSaveable(): boolean | Возвращает true, если выбор элемента запоминается для вкладки "Последние".
setDeselectable(flag: boolean): void | Устанавливает или отменяет возможность снять выбор с элемента.
isDeselectable(): boolean | Возвращает true, если у элемента можно отменить выбор.
setHidden(flag: boolean): void | Устанавливает или отменяет статус "скрытый" у элемента.
isHidden(): boolean | Возвращает true, если элемент скрытый.
setSort(sort: ?number): void | Устанавливает сортировку элемента.
getSort(): ?number | Возвращает сортировку элемента.
resetSearchIndex(): void | Сбрасывает поисковый индекс элемента.
getCustomData(): Map | Возвращает коллекцию дополнительных данных элемента.
isRendered(): boolean | Возвращает true, если элемент был добавлен и отрисован в диалоге.
getTagBgColor(): ?string | Возвращает цвет фона для элемента в виджете TagSelector.
getTagTextColor(): ?string | Возвращает цвет заголовка для элемента в виджете TagSelector.
getTagMaxWidth(): ?number | Возвращает максимальную ширину для элемента в виджете TagSelector.
getTagFontWeight(): ?string | Возвращает начертание шрифта для заголовка элемента в виджете TagSelector.
getTagAvatar(): ?string | Возвращает аватар для элемента в виджете TagSelector.
getTagLink(): ?string | Возвращает адрес ссылки для элемента в виджете TagSelector.


Класс Tab

Класс представляет вкладку диалога.

Конструктор

constructor(dialog: Dialog, tabOptions: TabOptions): Tab

Создает объект класса Tab. Для добавления вкладки в диалог используйте метод dialog.addTab [image] или опцию tabs в конструкторе класса Dialog [image].

  • dialog — объект диалога, в который будет добавлена новая вкладка.
  • tabOptions — опции вкладки, которые определяются структурой TabOptions.

export type TabOptions = {
    id: string,
    title?: string | TextNodeOptions,
    visible?: boolean,
    itemMaxDepth?: number,
    itemOrder?: ItemNodeOrder,
    icon?: TabLabelStates | string,
    textColor?: TabLabelStates | string,
    bgColor?: TabLabelStates | string,
    stub?: boolean | string | Function,
    stubOptions?: { [option: string]: any },
    footer?: FooterContent,
    footerOptions?: { [option: string]: any },
    showDefaultFooter?: boolean,
    showAvatars?: boolean
};

  • id: string

    Идентификатор вкладки. Обязательная опция.

  • title?: string | TextNodeOptions

    Заголовок вкладки.
    Определяется либо строкой, либо структурой TextNodeOptions [image] [image].

  • visible?: boolean

    Видимость вкладки. Если задано значение false, вкладка считается невидимой, для нее не отображается заголовок в виде ярлыка сбоку диалога. По умолчанию true.

  • itemMaxDepth?: number

    Максимальный уровень вложенности элементов, который отображается визуальным сдвигом. По умолчанию 5.

  • itemOrder?: ItemNodeOrder

    Сортировка элементов на вкладке. Определяется структурой ItemNodeOrder [image].

  • icon?: TabLabelStates | string

    Иконка вкладки.
    Указывается либо путь к изображению, либо файл в формате Data URL.
    Значение задается либо сразу для всех состояний ярлыка вкладки, либо отдельно для каждого состояния согласно структуре TabLabelStates.

    Структура TabLabelStates определяет возможность указать настройки для разных состояний ярлыка вкладки.

    export type TabLabelStates = {
    default?: string,
    selected?: string,
    hovered?: string,
    selectedHovered?: string
}

    • default — состояние по умолчанию.
    • selected — вкладка выбрана.
    • hovered — над вкладкой находится курсор мыши.
    • selectedHovered — вкладка выбрана и над ней находится курсор мыши.

  • textColor?: TabLabelStates | string

    Цвет текста заголовка вкладки.
    Значение задается либо сразу для всех состояний ярлыка вкладки, либо отдельно для каждого состояния согласно структуре TabLabelStates.

  • bgColor?: TabLabelStates | string

    Фон заголовка вкладки.
    Значение задается либо сразу для всех состояний ярлыка вкладки, либо отдельно для каждого состояния согласно структуре TabLabelStates.

  • stub?: boolean | string | Function

    Определяет "заглушку" пустого списка вкладки. По умолчанию true — выводится стандартная заглушка.
    Также в этот параметр можно передать свой класс заглушки (наследник класса BaseStub) двумя способами:

    • Полное название класса в виде строки.
    • Ссылка на конструктор класса.

  • stubOptions?: { [option: string]: any }

    Дополнительные опции заглушки.
    Для стандартной заглушки (stub: true) доступны следующие настройки:

    • title: string — заголовок заглушки.
    • subtitle: string — подзаголовок. По умолчанию не задан.
    • icon: string — иконка заглушки. Указывается либо путь к изображению, либо файл в формате Data URL. По умолчанию берется иконка ярлыка вкладки.
    • iconOpacity: number — прозрачность иконки от 0 до 100. По умолчанию 35.
    • arrow: boolean — выводить стрелочку. По умолчанию false.

  • footer?: FooterContent

    Определяет футер вкладки, где FooterContent представляет следующий тип:

    export type FooterContent = string | HTMLElement | HTMLElement[] | Function;

    Футер можно задать несколькими способами:

    • Если передана верстка в виде DOM-узла, массива DOM-узлов или текстовой строки, будет создан футер по умолчанию (объект класса DefaultFooter) с указанным текстовым контентом.
    • Для создания произвольного футера необходимо передать либо ссылку на конструктор класса (наследник BaseFooter или DefaultFooter), либо указать полное имя класса в виде строки.

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

    • .ui-selector-footer-link — обычная ссылка.
    • .ui-selector-footer-link ui-selector-footer-link-add — ссылка с иконкой "плюс".
    • .ui-selector-footer-conjunction — для оформления связующих слов между ссылками.

  • footerOptions?: { [option: string]: any }

    Дополнительные опции футера. Передаются в конструктор класса футера.

  • showDefaultFooter?: boolean

    Определяет, нужно ли показывать футер диалога [image]. По умолчанию true.

  • showAvatars?: boolean

    Отображать аватары элементов. По умолчанию значение не задано, отображение аватаров определяется настройкой диалога (аналогичная опция showAvatars [image] [image]).

Методы

Метод | Описание | С версии
getId(): string | Возвращает идентификатор вкладки.
getDialog(): Dialog | Возвращает объект диалога.
getStub(): ?BaseStub | Возвращает объект заглушки для пустого списка.
getFooter(): ?BaseFooter | Возвращает объект футера.
setFooter(footerContent: ?FooterContent, footerOptions?: { [option: string]: any }) Устанавливает или удаляет футер вкладки.
  • footerContent — контент футера. Если указан null, футер удаляется.
  • footerOptions — дополнительные опции футера.
enableDefaultFooter(): void | Включает отображение футера диалога [image] [image].
disableDefaultFooter(): void | Выключает отображение футера диалога [image] [image].
setShowAvatars(flag: ?boolean): void | Включает или отключает показ аватаров во вкладке. По умолчанию отображение аватаров определяется опцией showAvatars [image] [image] в диалоге.
getRootNode(): ItemNode | Возвращает корневой узел вкладки.
setTitle(title: string | TextNodeOptions): void | Устанавливает заголовок вкладки. Заголовок определяется либо строкой, либо структурой TextNodeOptions [image] [image].
getTitle(): ?string | Возвращает заголовок вкладки.
setIcon(icon: TabLabelStates | string): void | Устанавливает иконку вкладки либо для всех состояний ярлыка, либо отдельно для каждого состояния согласно структуре TabLabelStates.
getIcon(state?: TabLabelState): ?string Возвращает иконку вкладки для конкретного состояния ярлыка.

Состояния ярлыка определяются структурой TabLabelState.

export type TabLabelState =
    'default' |
    'selected' |
    'hovered' |
    'selectedHovered'
;

  • default — состояние по умолчанию.
  • selected — вкладка выбрана.
  • hovered — над вкладкой находится курсор мыши.
  • selectedHovered — вкладка выбрана и над ней находится курсор мыши.
setBgColor(bgColor: TabLabelStates | string): void | Устанавливает цвет фона заголовка вкладки либо для всех состояний ярлыка, либо отдельно для каждого состояния согласно структуре TabLabelStates.
getBgColor(state?: TabLabelState): ?string | Возвращает цвет фона заголовка вкладки для конкретного состояния ярлыка. Состояния ярлыка определяются структурой TabLabelState.
setTextColor(textColor: TabLabelStates | string): void | Устанавливает цвет текста заголовка вкладки либо для всех состояний ярлыка, либо отдельно для каждого состояния согласно структуре TabLabelStates.
getTextColor(state?: TabLabelState): ?string | Возвращает цвет текста заголовка вкладки для конкретного состояния ярлыка. Состояния ярлыка определяются структурой TabLabelState.
setItemMaxDepth(depth: number): void | Устанавливает максимальный уровень вложенности элементов, который отображается визуальным сдвигом.
getItemMaxDepth(): number | Возвращает максимальный уровень вложенности элементов, который отображается визуальным сдвигом.
isVisible(): boolean | Возвращает true, если вкладка видима в диалоге (отображается заголовок в виде ярлыка сбоку диалога).
setVisible(flag: boolean): void | Устанавливает видимость вкладки.
isRendered(): boolean | Возвращает true, если вкладка добавлена в диалог и отрисована.
isSelected(): boolean | Возвращает true, если вкладка выбрана.


Класс BaseStub

Базовый абстрактный класс заглушки вкладки.

Конструктор

constructor(tab: Tab, options: { [option: string]: any })

Конструктор класса. В классах-наследниках необходимо вызвать этот конструктор следующим образом:

super(tab, options);

  • tab: Tab — объект вкладки, для которого будет создана заглушка.
  • options — дополнительные опции заглушки.
    • autoShow:boolean — автоматически показывать заглушку при выборе вкладки с пустым списком элементов. По умолчанию true.

Методы

Метод | Описание | С версии
render(): HTMLElement | Абстрактный метод, который должен вернуть верстку заглушки. Обязательна реализация метода в классах-наследниках. |
getTab(): Tab | Возвращает объект вкладки, для которого создана заглушка. |
isAutoShow(): boolean | Возвращает true, если заглушка показывается автоматически при выборе вкладки с пустым списком элементов. |
show(): void | Показывает заглушку. |
hide(): void | Скрывает заглушку. |
getOptions(): { [option: string]: any } | Возвращает коллекцию произвольных опций заглушки. |
getOption(option: string, defaultValue?: any): any | Возвращает значение опции с названием option. Если опция не найдена, вернет значение, указанное в defaultValue. Если defaultValue не указан, вернет null. |


Класс Entity

Класс представляет сущность элементов диалога и виджета TagSelector.

Конструктор

constructor(entityOptions: EntityOptions): Entity

Создает объект класса Entity.

Для добавления сущности в диалог используйте опцию entities в конструкторе класса Dialog [image].

entityOptions — опции диалога, которые определяются структурой EntityOptions.

export type EntityOptions = {
  id: string,
  options?: { [key: string]: any },
  itemOptions?: { [key: string]: any },
  tagOptions?: { [key: string]: any },
  badgeOptions?: ItemBadgeOptions[],
  searchable?: boolean,
  searchFields?: SearchField[],
  searchCacheLimits?: [],
  dynamicLoad?: boolean,
  dynamicSearch?: boolean
};

  • id: string

    Идентификатор сущности.

  • options?: { [key: string]: any }

    Опции сущности. Произвольный набор параметров, которые будут переданы провайдеру данных при динамической загрузке элементов.

  • itemOptions?: EntityItemOptions

    Определяет настройки внешнего вида элементов в диалоге по умолчанию. Задается структурой EntityItemOptions:

    export type EntityItemOptions = { [entityType: string]: { [option: string]: any } };

    Настройки элементов сгруппированы по типу сущности (entityType [image] [image] [image] [image]) в itemOptions:

    const itemOptions = {
  default: {
     textColor: 'black',
     avatar: '/path/to/avatar.svg'
  },
  inactive: {
     textColor: 'grey'
  }
};

    В примере выше для элементов, у которых entityType [image] [image] [image] [image] равен inactive, будет установлен серый цвет заголовка. Для всех остальных типов сущности цвет будет черным. Если опция не найдена в группе настроек конкретного типа, она будет искаться в типе default.

    Для элемента можно определить следующие опции:

    • subtitle: sting | TextNodeOptions — подзаголовок [image] элемента.
    • supertitle: sting | TextNodeOptions — надзаголовок [image] элемента.
    • caption: sting | TextNodeOptions — подпись [image] элемента.
    • textColor: string — цвет текста заголовка [image] элемента.
    • avatar: string — аватар [image] элемента.
    • avatarOptions: AvatarOptions — настройки для аватара [image] [image] элемента.
    • badges: EntityBadgeOptions[] — бейджи элемента. Определяются структурой EntityBadgeOptions.
    • link: string — адрес ссылки "подробнее" [image]. В шаблоне ссылки можно использовать макросы #id# и #element_id#.
    • linkTitle: sting | TextNodeOptions — заголовок ссылки "подробнее" [image].
    • captionOptions: CaptionOptions — настройки для подписи [image].
    • badgesOptions: BadgesOptions — настройки для блока с бейджами элемента [image].

  • tagOptions?: EntityTagOptions

    Настройки внешнего вида элементов в виджете TagSelector.
    Задается структурой EntityTagOptions:

    export type EntityTagOptions = { [entityType: string]: { [option: string]: any } };

    Настройки элементов виджета TagSelector сгруппированы по типу сущности (entityType [image] [image] [image] [image]) в tagOptions:

    const tagOptions = {
  default: {
     textColor: 'black',
     bgColor: 'red',
     maxWidth: 150
  },
  inactive: {
     textColor: 'grey'
  }
};

    В примере выше для элементов в виджете TagSelector, у которых entityType [image] [image] [image] [image] равен inactive, будет установлен серый цвет заголовка. Для всех остальных типов сущности цвет будет черным. Если опция не найдена в группе настроек конкретного типа, она будет искаться в типе default.

    Для элемента можно определить следующие опции:

    • bgColor: string — цвет фона [image] элемента.
    • textColor: string — цвет заголовка [image] элемента.
    • maxWidth: number — максимальная ширина [image] элемента.
    • fontWeight: string — начертание шрифта [image].
    • avatar: string — аватар [image] элемента.
    • avatarOptions: AvatarOptions — настройки для аватара [image] [image] элемента.
    • link: string — ссылка на элементе [image]. В шаблоне ссылки можно использовать макросы #id# и #element_id#.

  • badgeOptions?: EntityBadgeOptions[]

    Настройки и внешний вид дополнительных бейджей элементов. Как правило, бейджи задаются в настройках itemOptions для разных типов сущностей. Но бывают ситуации, когда бейджи нужно отобразить по произвольным условиям без контекста типа сущности.

    Каждый бейдж в badgeOptions определяется структурой EntityBadgeOptions:

    export type EntityBadgeOptions = {
  title: string | TextNodeOptions,
  textColor?: string,
  bgColor?: string,
  conditions?: { [customOption: string]: any }
};

    Структура EntityBadgeOptions наследует параметры ItemBadgeOptions, добавляя к ним опцию conditions. В этом параметре задаются условия отображения бейджа. В ключе указывается название поля из коллекции дополнительных данных элемента (customData [image]). Бейдж будет показан, если значение указанного поля будет совпадать с данными элемента.

    const badgeOptions = {
  title: 'Мой бейдж',
  conditions: {
    isOnVacation: true
  }
};

  • searchable?: boolean

    Если задано значение false, поиск по элементам данной сущности осуществляться не будет. По умолчанию true.

  • searchFields?: SearchField[]

    Определяет список полей элемента диалога, по которым будет осуществляться поиск. Каждое поле определяется структурой SearchFieldOptions:

    export type SearchFieldOptions = {
  name: string,
  type?: 'string' | 'email',
  searchable?: boolean,
  system?: boolean,
  sort?: number
}

    • name: string

      Название поля.

    • type?: 'string' | 'email'

      Тип поля. По умолчанию string.

    • searchable?: boolean

      Если задано значение false, поиск по полю осуществляться не будет. По умолчанию true. Опция может использоваться для отмены поведения по умолчанию (см. ниже).

    • system?: boolean

      По умолчанию указанное в опции name поле ищется в дополнительных данных элемента (customData). Если задано system: true, поле считается системным. Поддерживаются следующие системные поля:

      • title — заголовок.
      • subtitle — подзаголовок.
      • supertitle — надзаголовок.

    • sort?: number

      Определяет порядок поиска. Если опция не задана, сортировка определяется порядком элементов в массиве searchFields.

    По умолчанию поиск происходит по заголовку (поле title) и по подзаголовку (поле subtitle) элемента. Настройки searchFields добавляют поля для индексации, они не переопределяют поведение по умолчанию.

    В следующем примере поиск будет осуществляться по заголовку элемента, подзаголовку, а также по дополнительным данным из customData: position и email.

    searchFields: [
  { name: 'position' },
  { name: 'email', type: 'email' }
]

    А этот пример отменяет поиск по заголовку элемента.

    searchFields: [
  { name: 'title', searchable: false, system: true }
]

  • searchCacheLimits?: string[]

    Массив из шаблонов регулярных выражений, по которым не будет происходить кеширование поисковых запросов [image].

  • dynamicLoad?: boolean

    Определяет динамическую загрузку [image] [image] элементов с бэкенда. По умолчанию false.

  • dynamicSearch?: boolean

    Определяет динамический поиск элементов на бэкенде. По умолчанию false.

Методы

Метод | Описание | С версии
getId(): string | Возвращает идентификатор сущности. |
getItemOption(option: string, entityType?: string): any | Возвращает значение настройки (option) внешнего вида элемента с учетом типа сущности (entityType). |
getTagOption(option: string, entityType?: string): any | Возвращает значение настройки (option) внешнего вида элемента в виджете TagSelelctor с учетом типа сущности (entityType). |
getBadges(item: Item): ItemBadgeOptions[] | Возвращает объединенную коллекцию бейджей сущности. |
isSearchable(): boolean | Возвращает true, если элементы сущности участвуют в поиске. |
setSearchable(flag: boolean): void | Устанавливает или отменяет участие элементов сущности в поиске. |
setSearchCacheLimits(limits: string[]): void | Устанавливает массив паттернов, по которым не будут кешироваться поисковые запросы. |
getSearchCacheLimits(): RegExp[] | Возвращает массив паттернов, по которым не будут кешироваться поисковые запросы. |
hasDynamicLoad(): boolean | Возвращает true, если сущность имеет динамическую загрузку [image] [image] элементов с бэкенда. |
setDynamicLoad(flag: boolean): void | Устанавливает или отменяет динамическую загрузку элементов. |
hasDynamicSearch(): boolean | Возвращает true, если сущность имеет динамическую поиск элементов с бэкенда. |
setDynamicSearch(flag: boolean): void | Устанавливает или отменяет динамический поиск элементов. |


Класс BaseFooter

Базовый абстрактный класс для футеров диалога и вкладок.

Конструктор

constructor(context: Dialog | Tab, options: { [option: string]: any })

Конструктор класса. В классах-наследниках необходимо вызвать этот конструктор следующим образом:

super(context, options);

  • context: Dialog | Tab — определяет контекст создания футера: футер для вкладки или для диалога.
  • options — опции футера.

Методы

Метод | Описание | С версии
render(): HTMLElement | Абстрактный метод, который должен вернуть верстку футера. Обязательная реализация метода в классах наследниках. |
getDialog(): Dialog | Возвращает объект диалога, в котором находится футер. |
getTab(): ?Tab | Вернет объект вкладки, к которой привязан футер. Для футера диалога [image] вернет null. |
show(): void | Показывает футер. |
hide(): void | Скрывает футер. |
getOptions(): { [option: string]: any } | Возвращает коллекцию произвольных опций футера. |
getOption(option: string, defaultValue?: any): any | Возвращает значение опции с названием option. Если опция не найдена, вернет значение, указанное в defaultValue. Если defaultValue не указан, вернет null. |


Класс DefaultFooter

Класс представляет футер по умолчанию для диалога или вкладок. Наследник класса BaseFooter.

Конструктор

constructor(context: Dialog | Tab, options: { [option: string]: any })

Конструктор класса.

  • context: Dialog | Tab — определяет контекст создания футера: футер для вкладки или для диалога.
  • options — опции футера.
    • content: string | HTMLElement | HTMLElement[] — определяет контент футера.

Методы

Метод | Описание | С версии
getContent(): HTMLElement | HTMLElement[] | string | null | Возвращает контент футера. |
setContent(content: string | HTMLElement | HTMLElement[] | Устанавливает контент футера. |
getDialog(): Dialog | Возвращает объект диалога, в котором находится футер. |
getTab(): ?Tab | Вернет объект вкладки, к которой привязан футер. Для футера диалога [image] вернет null. |
show(): void | Показывает футер. |
hide(): void | Скрывает футер. |
getOptions(): { [option: string]: any } | Возвращает коллекцию опций футера. |
getOption(option: string, defaultValue?: any): any | Возвращает значение опции с названием option. Если опция не найдена, вернет значение, указанное в defaultValue. Если defaultValue не указан, вернет null. |


Класс ItemNode

Класс представляет визуальное представление (DOM-узел [image]) элемента.

Конструктор

constructor(item: Item, nodeOptions: ItemNodeOptions): ItemNode

Создает объект класса ItemNode.

Для создания DOM-узлов элемента используйте метод item.createNode() [image] или опцию nodeOptions в конструкторе класса Item [image].

  • item — элемент (объект класса Item), для которого будет создан DOM-узел.
  • nodeOptions — опции элемента, которые определяются структурой ItemNodeOptions.

export type ItemNodeOptions = {
    itemOrder?: ItemNodeOrder,
    open?: boolean,
    dynamic?: boolean,
    title?: string | TextNodeOptions,
    subtitle?: string | TextNodeOptions,
    supertitle?: string | TextNodeOptions,
    caption?: string | TextNodeOptions,
    captionOptions?: CaptionOptions,
    avatar?: string,
    avatarOptions?: AvatarOptions,
    textColor?: string,
    link?: string,
    linkTitle?: string | TextNodeOptions,
    badges?: ItemBadgeOptions[],
    badgesOptions?: BadgesOptions,
};

  • itemOrder?: ItemNodeOrder

    Сортировка элементов внутри DOM-узла. Определяется структурой ItemNodeOrder:

    export type ItemNodeOrder = (
  { [field: string]: 'asc' | 'desc' | 'asc nulls first' | 'asc nulls last' | 'desc nulls first' | 'desc nulls last' }
  |
  (a: ItemNode, b: ItemNode) => number
);

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

    const options = {
  itemOrder: { title: 'asc', sort: 'asc', id: 'desc' }
};

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

    const options = {
  itemOrder: (nodeA: ItemNode, nodeB: ItemNode) => {
      const itemA = nodeA.getItem();
      const itemB = nodeB.getItem();

      return itemA.getSort() - itemB.getSort();
  }
};

  • open?: boolean

    Определяет развернутость DOM-узла с вложенными элементами. Для динамических узлов значение true приводит к автоматической загрузке вложенных элементов.

  • dynamic?: boolean

    Определяет динамический узел. При нажатии на такой узел будет выполнен запрос на бэкенд для загрузки вложенных элементов-потомков.

  • title?: string | TextNodeOptions

    Заголовок DOM-узла. Определяется либо строкой, либо структурой TextNodeOptions [image] [image] [image] [image] [image] [image] [image] [image] [image].
    Если значение не задано, заголовок будет искаться у элемента [image] [image], к которому относится DOM-узел.

  • subtitle?: string | TextNodeOptions

    Подзаголовок DOM-узла. Определяется либо строкой, либо структурой TextNodeOptions [image] [image] [image] [image] [image] [image] [image] [image] [image].
    Если значение не задано, подзаголовок будет искаться у элемента [image] [image], к которому относится DOM-узел.

  • supertitle?: string | TextNodeOptions

    Надзаголовок DOM-узла. Определяется либо строкой, либо структурой TextNodeOptions [image] [image] [image] [image] [image] [image] [image] [image] [image].
    Если значение не задано, надзаголовок будет искаться у элемента [image] [image], к которому относится DOM-узел.

  • caption?: string | TextNodeOptions

    Подпись DOM-узла. Определяется либо строкой, либо структурой TextNodeOptions [image] [image] [image] [image] [image] [image] [image] [image] [image].
    Если значение не задано, подпись будет искаться у элемента [image] [image], к которому относится DOM-узел.

  • captionOptions?: CaptionOptions

    Дополнительные настройки подписи элемента. Определяются структурой CaptionOptions [image].
    Если значение не задано, настройки будут искаться у элемента [image], к которому относится DOM-узел.

  • avatar?: string

    Аватар DOM-узла. Указывается либо путь к изображению, либо файл в формате Data URL.
    Если значение не задано, аватар будет искаться у элемента [image] [image], к которому относится DOM-узел.

    • avatarOptions?: AvatarOptions

      Дополнительные настройки аватара DOM-узла.

      Определяются структурой AvatarOptions [image]. Если значение не задано, настройки аватара будут искаться у элемента [image] [image], к которому относится DOM-узел.

  • textColor?: string

    Цвет текста заголовка DOM-узла. Если значение не задано, цвет текста заголовка будет искаться у элемента [image] [image], к которому относится DOM-узел.

  • link?: string

    Адрес ссылки "подробнее". Если значение не задано, адрес ссылки будет искаться у элемента [image] [image], к которому относится DOM-узел.

  • linkTitle?: string | TextNodeOptions

    Заголовок ссылки "подробнее". Если значение не задано, заголовок ссылки будет искаться у элемента [image] [image], к которому относится DOM-узел.

  • badges?: ItemBadgeOptions[]

    Массив бейджей DOM-узла. Каждый бейдж определяется структурой ItemBadgeOptions.
    Если значение не задано, бейджи будут искаться у элемента [image] [image], к которому относится DOM-узел.

  • badgesOptions?: BadgesOptions

    Дополнительные настройки для блока с бейджами. Определяются структурой BadgesOptions [image].
    Если значение не задано, настройки будут искаться у элемента [image], к которому относится DOM-узел.

Методы

Метод | Описание | С версии
getItem(): Item | Возвращает элемент, к которому относится DOM-узел. |
getDialog(): Dialog | Возвращает диалог, в котором отрисован DOM-узел. |
getTab(): Tab | Возвращает вкладку, в которой отрисован DOM-узел. |
isRoot(): boolean | Возвращает true, если DOM-узел корневой. Корневые узлы создаются автоматически для всех вкладок. Они не имеют визуального представления. |
getParentNode(): ?ItemNode | Возвращает родительский DOM-узел. |
getNextSibling(): ?ItemNode | Возвращает следующий соседний DOM-узел. |
getPreviousSibling(): ?ItemNode | Возвращает предыдущий соседний DOM-узел. |
addChildren(children: ItemOptions[]): void | Добавляет вложенные DOM-узлы. |
addChild(child: ItemNode): ItemNode | Добавляет вложенный DOM-узел. |
getDepthLevel(): number | Возвращает уровень вложенности DOM-узла. |
addItem(item: Item, nodeOptions: ItemNodeOptions): ItemNode | Добавляет дочерний элемент. |
hasItem(item: Item): boolean | Возвращает true, если среди потомков есть указанный элемент. |
removeChild(child: ItemNode): boolean | Удаляет дочерний DOM-узел. |
removeChildren(): void | Удаляет все дочерние DOM-узлы. |
hasChild(child: ItemNode): boolean | Возвращает true, если указанный DOM-узел является потомком. |
isChildOf(parent: ItemNode): boolean | Возвращает true, если указанный DOM-узел является родителем. |
getFirstChild(): ?ItemNode | Возвращает первый дочерний DOM-узел. |
getLastChild(): ?ItemNode | Возвращает последний дочерний DOM-узел. |
getChildren(): OrderedArray | Возвращает сортированную коллекцию всех потомков. |
hasChildren(): boolean | Возвращает true, если DOM-узел имеет потомков. |
loadChildren(): Promise | Загружает дочерние элементы с бэкенда. |
isOpen(): boolean | Возвращает true, если DOM-узел развернут (открыт). |
setDynamic(dynamic: boolean): void | Устанавливает или отменяет динамичность DOM-узла. |
isDynamic(): boolean | Возвращает true, если DOM-узел является динамическим. При нажатии на такой узел будет выполнен запрос на бэкенд для загрузки вложенных элементов-потомков. |
isLoaded(): boolean | Возвращает true, если DOM-узел уже загрузил с бэкенда вложенные элементы. |
expand(): void | Разворачивает DOM-узел, если он имеет потомков. |
collapse(): void | Сворачивает DOM-узел, если он имеет потомков. |
isRendered(): boolean | Возвращает true, если DOM-узел был вставлен в диалог и отрисован. |
getTitle(): string | Возвращает заголовок DOM-узла. Если для DOM-узла значение не задано, заголовок будет искаться у элемента [image] [image] , к которому относится DOM-узел. |
setTitle(title: string | TextNodeOptions): void | Устанавливает заголовок DOM-узла. Заголовок определяется либо строкой, либо структурой TextNodeOptions [image] [image] [image] [image] [image] [image] [image] [image] [image] . |
getSubtitle(): ?string | Возвращает подзаголовок DOM-узла. Если для DOM-узла значение не задано, подзаголовок будет искаться у элемента [image] [image] , к которому относится DOM-узел. |
setSubtitle(subtitle: string | TextNodeOptions): void | Устанавливает подзаголовок DOM-узла. Подзаголовок определяется либо строкой, либо структурой TextNodeOptions [image] [image] [image] [image] [image] [image] [image] [image] [image] . |
getSupertitle(): ?string | Возвращает надзаголовок DOM-узла. Если для DOM-узла значение не задано, надзаголовок будет искаться у элемента [image] [image] , к которому относится DOM-узел. |
setSupertitle(supertitle: string | TextNodeOptions): void | Устанавливает надзаголовок DOM-узла. Надзаголовок определяется либо строкой, либо структурой TextNodeOptions [image] [image] [image] [image] [image] [image] [image] [image] [image] . |
getCaption(): ?string | Возвращает подпись DOM-узла. Если для DOM-узла значение не задано, подпись будет искаться у элемента [image] [image] , к которому относится DOM-узел. |
setCaption(caption: string | TextNodeOptions): void | Устанавливает подпись DOM-узла. Подпись определяется либо строкой, либо структурой TextNodeOptions [image] [image] [image] [image] [image] [image] [image] [image] [image] . |
getAvatar(): ?string | Возвращает аватар DOM-узла. Если для DOM-узла значение не задано, аватар будет искаться у элемента [image] [image] , к которому относится DOM-узел. |
setAvatar(avatar: ?string): void | Устанавливает аватар DOM-узла. Указывается либо путь к изображению, либо файл в формате Data URL. |
getAvatarOption(option: $Keys): string | boolean | number | null | Возвращает значение настройки для аватара DOM-узла. Название опции option определяется ключами структуры AvatarOptions [image] [image] [image] . Если для DOM-узла значение не задано, опция будет искаться у элемента [image] [image] . | 21.600.0
setAvatarOption(option: $Keys, value: string | boolean | number | null): void | Устанавливает значение опции для аватара DOM-узла. Название опции option определяется ключами структуры AvatarOptions [image] [image] [image] . | 21.600.0
setAvatarOptions(options: AvatarOptions): void | Устанавливает настройки для аватара DOM-узла. Настройки option определяются структурой AvatarOptions [image] [image] [image] . | 21.600.0
getTextColor(): ?string | Возвращает цвет текста заголовка DOM-узла. Если для DOM-узла значение не задано, цвет текста заголовка будет искаться у элемента [image] [image] , к которому относится DOM-узел. |
setTextColor(textColor: ?string): void | Устанавливает цвет текста заголовка DOM-узла. |
getLink(): ?string | Возвращает адрес ссылки "подробнее". Если для DOM-узла значение не задано, адрес ссылки будет искаться у элемента [image] [image] , к которому относится DOM-узел. |
setLink(link: string): void | Устанавливает адрес ссылки "подробнее". |
getLinkTitle(): ?string | Возвращает заголовок ссылки "подробнее". Если для DOM-узла значение не задано, заголовок ссылки будет искаться у элемента [image] [image] , к которому относится DOM-узел. |
setLinkTitle(title: string | TextNodeOptions): void | Устанавливает заголовок ссылки "подробнее". Заголовок определяется либо строкой, либо структурой TextNodeOptions [image] [image] [image] [image] [image] [image] [image] [image] [image] . |
getBadges(): ItemBadge[] | Возвращает массив бейджей (объекты класса ItemBadge) DOM-узла. Если для DOM-узла значение не задано, бейджи будут искаться у элемента [image] [image] , к которому относится DOM-узел. |
setBadges(badges: ?ItemBadgeOptions[]): void | Устанавливает бейджи DOM-узла. Каждый бейдж определяется структурой ItemBadgeOptions. |
focus(): void | Устанавливает фокус на DOM-узле. |
unfocus(): void | Сбрасывает фокус на DOM-узле. |
isFocused(): boolean | Возвращает true, если на DOM-узле установлен фокус. |
click(): void | Эмулирует нажатие пользователя DOM-узел. |
scrollIntoView(): void | Скроллирует содержимое вкладки, чтобы DOM-узел находился в области видимости. |


Класс ItemBadge

Класс представляет бейдж элемента.

constructor(badgeOptions: ItemBadgeOptions): ItemBadge

Создает объект класса ItemBadge.

Для создания бейджа элемента используйте метод item.setBadges() [image] или опцию badges в конструкторе класса Item [image].

badgeOptions — опции бейджа, которые определяются структурой ItemBadgeOptions:

export type ItemBadgeOptions = {
    title: string | TextNodeOptions,
    textColor?: string,
    bgColor?: string,
};

  • title — заголовок бейджа. Определяется либо строкой, либо структурой TextNodeOptions.
  • textColor — цвет текста заголовка.
  • bgColor — фон бейджа.


Класс TextNode

Класс служит для отображения надписей в текстовом виде или в формате HTML.

Конструктор

constructor(text: с | string)

Создает объект класса TextNode.

  • text: TextNodeOptions | string

    Содержимое текстового узла определяется либо строкой, либо структурой TextNodeOptions:

    export type TextNodeOptions = {
  text: string,
  type?: TextNodeType
};

    • text: string — содержимое текстового узла.
    • type?: 'text' | 'html' — тип контента: текст или HTML.

Методы

Метод | Описание | С версии
getText(): ?string | Возвращает содержимое текстового узла. |
getType(): 'text' | 'html' | null | Возвращает тип содержимого. |
isNullable(): boolean | Возвращает true, если содержимое текстового узла не определено. |
renderTo(element: HTMLElement): void | Вставляет содержимое текстового узла в указанный DOM-узел (element). |


Виджет TagSelector

Основные понятия

Виджет

Виджет TagSelector представляет собой интерфейс, эмулирующий множественный выбор элементов:

Виджет состоит из:

  • Элементов в виде цветных прямоугольников.
  • Текстового блока ввода.
  • Ссылок "Добавить" (при выборе одного элемента меняется на "Еще") и "Создать".

Элементы

Так же как и в диалоге выбора сущностей, каждый элемент уникально идентифицируется двумя атрибутами: id и entityId.

  • id — числовой или строковый идентификатор элемента.
  • entityId — строковый идентификатор сущности.

Атрибут entityId определяет принадлежность элемента к конкретной сущности, поэтому виджет позволяет одновременно отображать элементы разных сущностей.

Сущность — это уникальный тип элемента. Глобальные настройки [image] сущности могут определять внешний вид элементов по умолчанию.

const tagSelector = new TagSelector({
    textBoxAutoHide: true,
    textBoxWidth: 350,
    maxHeight: 99,
    placeholder: 'введите название элемента',
    addButtonCaption: 'Добавить элемент',
    addButtonCaptionMore: 'Добавить еще',
    showCreateButton: true,
    items: [
        { id: 1, entityId: 'user', entityType: 'extranet', textColor: 'orange', title: 'Василий Иванов' },
        { id: 2, entityId: 'user', title: 'Екатерина Матвеева', deselectable: true, maxWidth: 150 },
        {
            id: 3,
            entityId: 'user',
            title: {
                text: 'Павел Иванов &euro;',
                type: 'html',
            },
        },
        { id: 3, entityId: 'department', title: 'Разработка' },
        { id: 4, entityId: 'department', title: 'Отдел продаж' },
        { id: 1, entityId: 'project', title: 'Группа И', onclick: (event) => { console.log('tag click'); } },
        { id: 2, entityId: 'project', title: 'Группа Отдела Разработок', link: '/company/personal/user/1/',  },
    ],
    events: {
        onBeforeTagAdd: function(event) {
            const selector = event.getTarget();
            const { tag } = event.getData();
            if (tag.getTitle() === 'xxx')
            {
                event.preventDefault();
            }
        },
        onBeforeTagRemove: function(event) {
            const selector = event.getTarget();
            const { tag } = event.getData();
            if (tag.getTitle() === 'aaa')
            {
                event.preventDefault();
            }
        },
        onEnter: (event) => {
            const selector = event.getTarget();
            const value = selector.getTextBoxValue();

            value.split(' ').forEach(function(title) {
                selector.addTag({
                    id: id++,
                    title: title,
                    entityId: 'xxx',
                });
            });
        }
    },
});

tagSelector.renderTo(document.getElementById('container'));

Интеграция с диалогом выбора сущностей

Виджет TagSelector является самодостаточным и может использоваться как отдельный программируемый интерфейс. Однако, как правило, он используется вместе с диалогом выбора сущностей. Если задать опцию dialogOptions [image], при нажатии на ссылку "Добавить" будет открываться диалог.

const tagSelector = new TagSelector({
    dialogOptions: {
        context: 'MY_MODULE_CONTEXT',
        entities: [
            {
                id: 'user', // пользователи
            },
            {
                id: 'project', // группы и проекты
            },
            {
                id: 'department', // структура компании
                options: {
                    selectMode: 'usersAndDepartments' // выбор пользователей и отделов
                }
            },
            {
                id: 'meta-user',
                options: {
                    'all-users': true // Все сотрудники
                }
            },
        ],
    }
});

tagSelector.renderTo(document.getElementById('container'));


JavaScript API

Класс | Описание | С версии
TagSelector | Класс реализует виджет для множественного выбора элементов. |
TagItem | Класс представляет элемент виджета TagSelector. |


Класс TagSelector

Описание

Класс реализует виджет для множественного выбора элементов.

Импорт в ES6

import { TagSelector } from 'ui.entity-selector';

Использование в ES5

var dialog = new BX.UI.EntitySelector.TagSelector(options);

События

Класс TagSelector является наследником класса EventEmitter. Обработчики события можно установить либо с помощью опции events, либо через стандартный метод EventEmitter.subscribe.

Событие Описание С версии
onBeforeTagAdd Вызывается перед добавлением элемента в виджет. На данном событии можно запретить добавлять элемент.
В данных события содержится добавляемый элемент (объект класса TagItem) в свойстве tag.

Пример

const options = {
  events: {
      onBeforeTagAdd: (event: BaseEvent) => {
          const selector: TagSelector = event.getTarget();
          const { tag } = event.getData();
          if (tag.getTitle() === 'xxx')
          {
              event.preventDefault();
          }
      }
  }
}

onTagAdd Вызывается после добавления элемента в виджет, но перед его отрисовкой.
В данных события содержится добавляемый элемент (объект класса TagItem) в свойстве tag.

Пример

const options = {
  events: {
      onTagAdd: (event: BaseEvent) => {
          const selector: TagSelector = event.getTarget();
          const { tag } = event.getData();
      }
  }
}

onAfterTagAdd Вызывается после добавления элемента и его отрисовки в виджете.

Пример

const options = {
  events: {
      onAfterTagAdd: (event: BaseEvent) => {
          const selector: TagSelector = event.getTarget();
          const { tag } = event.getData();
      }
  }
}

onBeforeTagRemove Вызывается перед удалением элемента из виджета.
На данном событии можно запретить добавлять элемент.
В данных события содержится удаляемый элемент (объект класса TagItem) в свойстве tag.

Пример

const options = {
  events: {
      onBeforeTagRemove: function(event) {
          const selector = event.getTarget();
          const { tag } = event.getData();
          if (tag.getTitle() === 'aaa')
          {
              event.preventDefault();
          }
      },
  }
}

onTagRemove Вызывается после удаления элемента из виджета, но перед визуальным исчезновением.
В данных события содержится удаляемый элемент (объект класса TagItem) в свойстве tag.

Пример

const options = {
  events: {
      onTagRemove: function(event) {
          const selector = event.getTarget();
          const { tag } = event.getData();
      },
  }
}

onAfterTagRemove Вызывается после удаления элемента из виджета.
В данных события содержится удаляемый элемент (объект класса TagItem) в свойстве tag.

Пример

const options = {
  events: {
      onAfterTagRemove: function(event) {
          const selector = event.getTarget();
          const { tag } = event.getData();
      },
  }
}

onContainerClick Вызывается по нажатию на контейнер всего виджета. Может использоваться, например, для установки фокуса в поле ввода.

Пример

const options = {
  events: {
      onContainerClick: function(event) {
          const selector = event.getTarget();
          selector.hideAddButton();
          selector.showTextBox();
          selector.focusTextBox();
      }
  }
}

onInput Вызывается при добавлении текста в поле ввода.
В данных события в свойстве event содержится объект события InputEvent.

Пример

const options = {
  events: {
      onInput: function(event) {
          const selector = event.getTarget();
          const { event: inputEvent } = event.getData();
          const text = selector.getTextBoxValue();
      }
  }
}

onBlur Вызывается при потере фокуса в поле ввода.
В данных события в свойстве event содержится объект события FocusEvent.

Пример

const options = {
  events: {
      onBlur: function(event) {
          const selector = event.getTarget();
          const { event: focusEvent } = event.getData();

          selector.clearTextBox();
          selector.hideTextBox();
          selector.showAddButton();
      }
  }
}

onKeyUp Вызывается после нажатия клавиши клавиатуры в поле ввода.
В данных события в свойстве event содержится объект события KeyboardEvent.

Пример

const options = {
  events: {
      onKeyUp: function(event) {
          const selector = event.getTarget();
          const { event: keyboardEvent } = event.getData();
      }
  }
}

onEnter Вызывается при нажатии клавиши Enter в поле ввода.
В данных события в свойстве event содержится объект события KeyboardEvent.

Пример

const options = {
  events: {
      onEnter: function(event) {
          const selector = event.getTarget();
          const { event: keyboardEvent } = event.getData();
      }
  }
}

onMetaEnter Вызывается при нажатии клавиш Ctrl+Enter или Cmd+Enter в поле ввода. В данных события в свойстве event содержится объект события KeyboardEvent.

Пример

const options = {
  events: {
      onMetaEnter: function(event) {
          const selector = event.getTarget();
          const { event: keyboardEvent } = event.getData();
      }
  }
}

onKeyDown Вызывается при нажатии клавиши клавиатуры в поле ввода.
В данных события в свойстве event содержится объект события KeyboardEvent.

Пример

const options = {
  events: {
      onKeyDown: function(event) {
          const selector = event.getTarget();
          const { event: keyboardEvent } = event.getData();
      }
  }
}

onAddButtonClick Вызывается при нажатии ссылку "Добавить".
В данных события в свойстве event содержится объект события MouseEvent.

Пример

const options = {
  events: {
      onAddButtonClick: function(event) {
          const selector = event.getTarget();
          const { event: mouseEvent } = event.getData();
      }
  }
}

onCreateButtonClick Вызывается при нажатии ссылку "Создать".
В данных события в свойстве event содержится объект события MouseEvent.

Пример

const options = {
  events: {
      onCreateButtonClick: function(event) {
          const selector = event.getTarget();
          const { event: mouseEvent } = event.getData();
      }
  }
}

Конструктор

constructor(selectorOptions: TagSelectorOptions): TagSelector

Создает объект класса TagSelector.

selectorOptions — опции диалога, которые определяются структурой TagSelectorOptions.

export type TagSelectorOptions = {
    id?: string,
    items?: TagItemOptions[],
    dialogOptions?: DialogOptions,
    multiple?: boolean,
    readonly?: boolean,
    locked?: boolean,
    deselectable?: boolean,
    events?: { [eventName: string]: (event: BaseEvent) => void },
    showAddButton?: boolean,
    showCreateButton?: boolean,
    showTextBox?: boolean,
    addButtonCaption?: string,
    addButtonCaptionMore?: string,
    createButtonCaption?: string,
    placeholder?: string,
    maxHeight?: number,
    textBoxAutoHide?: boolean,
    textBoxWidth?: string | number,
    tagAvatar?: string,
    tagAvatarOptions?: AvatarOptions,
    tagMaxWidth?: number,
    tagTextColor?: string,
    tagBgColor?: string,
    tagFontWeight?: string
}

  • id?: string

    Идентификатор виджета.

  • items?: TagItemOptions[]

    Массив элементов виджета. Каждый элемент определяется структурой TagItemOptions [image] [image].

  • dialogOptions?: DialogOptions

    Задает настройки для диалога выбора сущностей, которые определяются структурой DialogOptions [image].
    Наличие этой опции определяет открытие диалога выбора сущностей по нажатию ссылки "Добавить".

  • multiple?: boolean

    По умолчанию виджет работает в режиме множественного выбора (значение true).
    Значение false ограничивает выбор только одним элементом.

  • readonly?: boolean

    Включает режим "только для чтения". В этом режиме не работает удаление элементов, а также отсутствуют ссылки "Добавить" и "Создать".

  • locked?: boolean

    Если задано значение true, виджет блокируется прозрачным оверлеем. Это делает невозможным любое взаимодействие со стороны пользователя. Данный режим может использоваться, например, для временной блокировки виджета во время загрузки данных с сервера.

  • deselectable?: boolean

    Если задано false, элементы виджета нельзя удалить. По умолчанию true.
    Это значение может быть переопределено [image] в конкретном элементе.

  • events?: { [eventName: string]: (event: BaseEvent) => void }

    Задает обработчики событий виджета.

  • showAddButton?: boolean

    Определяет отображение кнопки "Добавить". По умолчанию true — кнопка выводится.

  • showCreateButton?: boolean

    Определяет отображение кнопки "Создать". По умолчанию false — кнопка не выводится.

  • showTextBox?: boolean

    Определяет отображение поля ввода. По умолчанию false.

  • addButtonCaption?: string

    Заголовок кнопки "Добавить".

  • addButtonCaptionMore?: string

    Заголовок кнопки "Еще".

  • createButtonCaption?: string

    Заголовок кнопки "Создать".

  • placeholder?: string

    Текст плейсхолдера в поле ввода.

  • maxHeight?: number

    Максимальная высота виджета в пикселях.

  • textBoxAutoHide?: boolean

    Определяет необходимость скрытия поля ввода после потери фокуса или после нажатия клавиши Enter.

  • textBoxWidth?: string | number

    Ширина поля ввода. Определяется в пикселях (задается числом) или с единицей измерения (задается строкой).

  • tagAvatar?: string

    Определяет аватар по умолчанию для всех элементов виджета. Указывается либо путь к изображению, либо файл в формате Data URL.
    Это значение может быть переопределено [image] в конкретном элементе. По умолчанию аватар не задан.

  • tagAvatarOptions?: AvatarOptions

    Дополнительные настройки аватара по умолчанию для всех элементов виджета.
    Это значение может быть переопределено [image] в конкретном элементе.
    Определяется структурой AvatarOptions [image].

  • tagMaxWidth?: number

    Определяет максимальную ширину для всех элементов виджета в пикселях. По умолчанию 200 пикселей.
    Это значение может быть переопределено [image] в конкретном элементе.

  • tagTextColor?: string

    Определяет цвет заголовка по умолчанию для всех элементов виджета. Это значение может быть переопределено [image] в конкретном элементе.

  • tagBgColor?: string

    Определяет цвет фона по умолчанию для всех элементов виджета. Это значение может быть переопределено [image] в конкретном элементе.

  • tagFontWeight?: string

    Определяет начертание шрифта (нормальное или полужирное) по умолчанию для всех элементов виджета.
    Это значение может быть переопределено [image] в конкретном элементе.

Методы

Метод | Описание | С версии
getDialog(): ?Dialog | Возвращает диалог выбора сущностей (объект класса Dialog), если он был определен для виджета.
setReadonly(flag: boolean): void | Устанавливает или отменяет режим "только для чтения".
isReadonly(): boolean | Возвращает true, если включен режим "только для чтения".
lock(): void | Блокирует виджет для пользовательского взаимодействия.
unlock(): void | Отменяет блокировку виджета.
isLocked(): boolean | Возвращает true, если виджет заблокирован.
isMultiple(): boolean | Возвращает true, если виджет работает в режиме множественного выбора.
setDeselectable(flag: boolean): void | Устанавливает или отменяет возможность удалять элементы из виджета.
isDeselectable(): boolean | Возвращает true, если элементы можно удалять из виджета.
getTag(tagItem: TagItem | { id: string | number, entityId: string }): ?TagItem Возвращает элемент виджета.
  • tagItem — объекта класса TagItem или объект вида { id: string | number, entityId: string }.
addTag(tagOptions: TagItemOptions): ?TagItem Добавляет и возвращает новый элемент виджета.
  • tagOptions — опции элемента, которые определяются структурой TagItemOptions [image] [image].
removeTag(tagItem: TagItem | { id: string | number, entityId: string }, animate = true): void Удаляет элемент из виджета.
  • tagItem — объект класса TagItem или объект вида { id: string | number, entityId: string }.
  • animate — удалить элемент с анимацией.
removeTags(): void | Удаляет все элементы виджета.
getTags(): TagItem[] | Возвращает массив всех элементов виджета.
renderTo(node: HTMLElement): void Вставляет верстку виджета в указанное место на странице.
  • node — DOM-узел, в который будет вставлен виджет.
isRendered(): boolean | Возвращает true, если верстка виджета вставлена в страницу.
getTextBoxValue(): string | Возвращает текст из поля ввода.
clearTextBox(): void | Очищает поле ввода.
showTextBox(): void | Показывает поле ввода.
hideTextBox(): void | Скрывает поле ввода.
focusTextBox(): void | Устанавливает фокус в поле ввода.
setTextBoxAutoHide(autoHide: boolean): void | Устанавливает или отменяет автоматическое скрытие поля ввода, когда произошла потеря фокуса или была нажата клавиша Enter.
getTextBoxWidth(): string | number | null | Возвращает ширину поля ввода.
setTextBoxWidth(width: string | number | null): void Устанавливает ширину поля ввода.
  • width — ширина в пикселях (задается числом) или ширина с единицей измерения (задается строкой). Значение null устанавливает значение по умолчанию.
getTagMaxWidth(): ?number | Возвращает максимальную ширину элементов.
setTagMaxWidth(width: ?number): void | Устанавливает максимальную ширину в пикселях для всех элементов виджета.
getTagAvatar(): ?string | Возвращает аватар по умолчанию для всех элементов виджета.
setTagAvatar(tagAvatar: ?string): void | Устанавливает аватар для всех элементов виджета.
getTagAvatarOption(option: $Keys): string | boolean | number | null Возвращает значение опции из настроек аватара. Данная опция применяется по умолчанию для всех элементов виджета.
Название опции option определяется ключами структуры AvatarOptions [image] [image] [image]. 		21.600.0
setTagAvatarOption(option: $Keys, value: string | boolean | number | null): void Задает значение опции для настроек аватара. Данная опция применяется по умолчанию для всех элементов виджета.
Название опции option определяется ключами структуры AvatarOptions [image] [image] [image]. 		21.600.0
getTagAvatarOptions(): ?AvatarOptions Возвращает дополнительные настройки аватара.
Данные настройки применяются по умолчанию для всех элементов виджета. 		21.600.0
setTagAvatarOptions(avatarOptions: AvatarOptions): void Задает дополнительные настройки аватара.
Данные настройки применяются по умолчанию для всех элементов виджета.
  • avatarOptions — настройки аватара, которые определяются структурой AvatarOptions [image] [image] [image].
 21.600.0
getTagTextColor(): ?string | Возвращает цвет заголовка по умолчанию для всех элементов виджета.
setTagTextColor(textColor: ?string): void | Устанавливает цвет заголовка для всех элементов виджета.
getTagBgColor(): ?string | Возвращает цвет фона по умолчанию для всех элементов виджета.
setTagBgColor(bgColor: ?string): void | Устанавливает цвет фона для всех элементов виджета.
getTagFontWeight(): ?string | Возвращает начертание шрифта по умолчанию для всех элементов виджета.
setTagFontWeight(fontWeight: ?string): void | Устанавливает начертание шрифта для всех элементов виджета.
getPlaceholder(): string | Возвращает текст плейсхолдера поля ввода.
setPlaceholder(placeholder: string): void | Устанавливает текст плейсхолдера поля ввода.
getMaxHeight(): ?number | Возвращает максимальную высоту виджета.
setMaxHeight(height: ?number): void | Устанавливает максимальную высоту виджета в пикселях.
getAddButtonCaption(): string | Возвращает заголовок кнопки "Добавить".
setAddButtonCaption(caption: string): void | Устанавливает заголовок кнопки "Добавить".
getAddButtonCaptionMore(): ?string | Возвращает заголовок кнопки "Еще".
setAddButtonCaptionMore(caption: string): void | Устанавливает заголовок кнопки "Еще".
getActualButtonCaption() | Возвращает текущий заголовок кнопки "Добавить". Учитывает переключение кнопки "Добавить" в кнопку "Еще".
showAddButton(): void | Показывает кнопку "Добавить".
hideAddButton(): void | Скрывает кнопку "Добавить".
showCreateButton(): void | Показывает кнопку "Создать".
hideCreateButton(): void | Скрывает кнопку "Создать".
getCreateButtonCaption(): string | Возвращает заголовок кнопки "Создать".
setCreateButtonCaption(caption: string): void | Устанавливает заголовок кнопки "Создать".


Класс TagItem

Класс представляет элемент виджета TagSelector.

Конструктор

constructor(tagItemOptions: TagItemOptions)

Создает объект класса TagItem.

tagItemOptions — опции элемента виджета TagSelector, которые определяются структурой TagItemOptions:

export type TagItemOptions = {
    id: string,
    entityId: number | string,
    entityType?: string,
    title?: string | TextNodeOptions,
    avatar?: string,
    avatarOptions?: AvatarOptions,
    textColor?: string,
    bgColor?: string,
    fontWeight?: string,
    link?: string,
    onclick?: Function,
    maxWidth?: number,
    deselectable?: boolean,
    animate?: boolean,
    customData?: { [key: string]: any }
}

  • id: string

    Идентификатор элемента. Обязательный параметр.

  • entityId: number | string

    Идентификатор сущности. Обязательный параметр.

  • entityType?: string

    Тип сущности. По умолчанию default.

  • title?: string | TextNodeOptions

    Заголовок элемента. Определяется либо строкой, либо структурой TextNodeOptions [image] [image].

  • avatar?: string

    Аватар элемента. Указывается либо путь к изображению, либо файл в формате Data URL.
    Если значение не задано, аватар определяется параметром tagAvatar [image] виджета TagSelector.

  • avatarOptions?: AvatarOptions

    Дополнительные настройки аватара элемента.
    Определяется структурой AvatarOptions [image].
    Если значение не задано, аватар определяется параметром tagAvatarOptions [image] виджета TagSelector.

  • maxWidth?: number

    Определяет максимальную ширину элемента в пикселях.
    Если значение не задано, ширина определяется параметром tagMaxWidth [image] виджета TagSelector.

  • textColor?: string

    Определяет цвет заголовка элемента.
    Если значение не задано, цвет текста определяется параметром tagTextColor [image] виджета TagSelector.

  • bgColor?: string

    Определяет цвет фона элемента.
    Если значение не задано, цвет фона определяется параметром tagBgColor [image] виджета TagSelector.

  • fontWeight?: string

    Определяет начертание шрифта (нормальное или полужирное) для заголовка элемента.
    Если значение не задано, начертание шрифта определяется параметром tagFontWeight [image] виджета TagSelector.

  • link?: string

    Определяет адрес ссылки для элемента. Если опция задана, элемент будет выведен с помощью тега <a href="link"></a>.

  • onclick?:(tag: TagItem) => {}

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

  • deselectable?: boolean

    Если задано значение false, элемент нельзя удалить из виджета. По умолчанию true.

  • animate?: boolean

    Анимировать добавление элемента в виджет. По умолчанию true. Отключать анимацию имеет смысл, когда добавление элемента не связанно с пользовательским действием. Например, когда элементы виджета заранее определены и должны отобразиться мгновенно.

  • customData?: { [key: string]: any }

    Произвольные дополнительные данные элемента.

Методы

Метод | Описание | С версии
getId(): string | number | Возвращает идентификатор элемента.
getEntityId(): string | Возвращает идентификатор сущности.
getEntityType(): string | Возвращает тип сущности. Если тип не был указан, вернет default.
getSelector(): TagSelector | Возвращает объект виджета TagSelector, в который добавлен элемент.
getTitle(): string | Возвращает заголовок элемента. Если заголовок не задан, вернет пустую строку.
setTitle(title: string | TextNodeOptions): void | Устанавливает заголовок элемента. Заголовок определяется либо строкой, либо структурой TextNodeOptions [image] [image].
getAvatar(): ?string | Возвращает аватар элемента.
setAvatar(avatar: ?string): void | Устанавливает аватар элемента.
getAvatarOption(option: $Keys): string | boolean | number | null Возвращает значение опции из настроек аватара.
Название опции option определяется ключами структуры AvatarOptions [image] [image] [image]. 		21.600.0
setAvatarOption(option: $Keys, value: string | boolean | number | null): void Задает значение опции для настроек аватара.
Название опции option определяется ключами структуры AvatarOptions [image] [image] [image]. 		21.600.0
setAvatarOptions(avatarOptions: AvatarOptions): void Задает дополнительные настройки аватара.
  • avatarOptions — настройки аватара, которые определяются структурой AvatarOptions [image] [image] [image].
 21.600.0
getTextColor(): ?string | Возвращает цвет заголовка элемента.
setTextColor(textColor: ?string): void | Устанавливает цвет заголовка.
getBgColor(): ?string | Возвращает цвет фона элемента.
setBgColor(bgColor: ?string): void | Устанавливает цвет фона элемента.
getFontWeight(): ?string | Возвращает начертание шрифта (нормальное или полужирное) для заголовка элемента.
setFontWeight(fontWeight: ?string): void | Устанавливает начертание шрифта для заголовка элемента.
getMaxWidth(): ?number | Возвращает максимальную ширину элемента.
setMaxWidth(width: ?number): void | Устанавливает максимальную ширину элемента в пикселях.
setDeselectable(flag: boolean): void | Устанавливает или отменяет возможность удалять элемент из виджета.
isDeselectable(): boolean | Возвращает false, если элемент нельзя удалить из виджета.
getCustomData(): Map | Возвращает дополнительные данные элемента.
getLink(): ?string | Возвращает адрес ссылки элемента.
isRendered(): boolean | Возвращает true, если элемент добавлен в виджет и отрисован на странице.


Провайдеры данных

Основные понятия

Провайдер данных

Провайдер данных — это PHP-класс, который позволяет динамически [image] загружать данные сущности с бэкенда.

Достаточно в опции entities определить идентификаторы сущностей, наличие которых заставит диалог во время открытия выполнить запрос на бэкенд и получить данные от соответствующих провайдеров. Провайдеры могут добавить в диалог новые элементы, вкладки, а также футер.

const button = document.getElementById('button');
const dialog = new Dialog({
    targetNode: button,
    enableSearch: true,
    context: 'MY_MODULE_CONTEXT',
    entities: [
        {
            id: 'user', // пользователи
        },
        {
            id: 'department', // структура компании: выбор только пользователей
        },
    ],
});

dialog.show();

Кроме первичной загрузки данных, провайдер может:

  • Выполнять поиск элементов, когда набрана поисковая фраза.
  • Определять глобальные настройки сущности (внешний вид по умолчанию, настройки поиска и др.).
  • Динамически загружать дочерние элементы древовидных сущностей.

Регистрация

Для регистрации провайдера данных необходимо в файле настроек модуля (файл .settings.php в корне папки вашего модуля) в ключе ui.entity-selector определить следующую структуру.

<?php

// файл /my-module/.settings.php

return [
  'ui.entity-selector' => [
    'value' => [
      'entities' => [
        [
          'entityId' => 'my-module-entity',
          'provider' => [
            'moduleId' => 'my-module',
            'className' => '\\Vendor\\MyModule\\Integration\\UI\\EntitySelector\\MyProvider'
          ],
        ],
      ],
      'extensions' => ['my-module.entity-selector'],
    ],
    'readonly' => true,
  ]
];

Каждый модуль может иметь несколько провайдеров данных, поэтому ключ entities определяет массив с данными сущностей. Опция entityId определяет уникальный идентификатор сущности, а provider задает полный путь к PHP-классу.

Дополнительно в опции extensions можно указать расширение, в котором могут быть определены глобальные настройки сущности, а также JavaScript-классы для дополнительной функциональности диалога (например, для создания своего футера [image] или заглушки вкладки [image]).

Глобальные настройки сущности

Для определения настроек сущности на глобальном уровне используется конфигурация экстеншена. Формат такой конфигурации позволяет гибко настраивать опции для сущностей: можно использовать произвольный PHP-код, языковые фразы и др.

В опции entities, которая определяется в ключе settings, задается массив с настройками сущностей.

<?php

// Файл /js/my-module/entity-selector/config.php
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true)
{
    die();
}

if (!\Bitrix\Main\Loader::includeModule('my-module'))
{
    return [];
}

return [
  'settings' => [
    'entities' => [
      [
        'id' => 'my-module-entity',
        'options' => [
          'dynamicLoad' => true, // определяет динамическую загрузку данных с бэкенда
          'dynamicSearch' => true, // определяет динамический поиск

          // Задает дополнительные поля для поиска
          'searchFields' => [
            [ 'name' => 'position', 'type' => 'string' ],
            [ 'name' =>  'email', 'type' => 'email' ]
          ],
          // Внешний вид элементов
          'itemOptions' => [
            'default' => [
              'supertitle' => 'Мой надзаголовок',
              'avatar' => '/path/to/image.svg', // аватар элементов по умолчанию
              'link' =>  '/service/entity/#id#/',
              'linkTitle' => 'узнать подробнее',
            ],
            'inactive' => [ // для элементов, у которых entityType='inactive' будет выводиться бейдж 'Неактивный'
                'badges' => [
                  [
                    'title' => 'Неактивный',
                    'textColor' => '#828b95',
                    'bgColor' => '#eaebec',
                  ]
                ],
            ],
          ],
          // Внешний вид элементов в виджете TagSelector
          'tagOptions' => [
            'default' => [
              'textColor' => '#1066bb',
              'bgColor' => '#bcedfc',
              'avatar' => '/path/to/image.svg', // аватар элементов в виджете TagSelector по умолчанию
            ],
            'inactive' => [
              'textColor' => '#5f6670',
              'bgColor' => '#ecedef',
            ],
          ],

          // Дополнительные настройки бейджей
          'badgeOptions' => [
            [
              'title' => 'В отпуске',
              'bgColor' => '#b4f4e6',
              'textColor' => '#27a68a',
              'conditions' => [
                'isOnVacation' =>  true
              ],
            ],
          ],
        ],
      ],
    ]
  ]
];

Формат настроек сущности (опция options) аналогичен структуре EntityOptions [image] JavaScript-класса Entity.

export type EntityOptions = {
  dynamicLoad?: boolean,
  dynamicSearch?: boolean,
  itemOptions?: { [key: string]: any },
  tagOptions?: { [key: string]: any },
  badgeOptions?: ItemBadgeOptions[],
  searchable?: boolean,
  searchFields?: SearchField[],
  searchCacheLimits?: [],
};

Класс провайдера

Класс провайдера должен быть наследником абстрактного класса BaseProvider.

class MyProvider extends Bitrix\UI\EntitySelector\BaseProvider
{
  public function __construct(array $options = [])
  {
    parent::__construct();
  }

  public function isAvailable(): bool
  {
    // TODO: Implement getItems() method.
  }

  /**
   * @param array $ids
   *
   * @return Item[]
  */
  public function getItems(array $ids) : array
  {
    // TODO: Implement getItems() method.
  }

  /**
   * @param array $ids
   *
   * @return Item[]
  */
  public function getSelectedItems(array $ids) : array
  {
    // TODO: Implement getSelectedItems() method.
  }
}

В классе-наследнике обязательна реализация следующих методов:

  • isAvailable [image] — определяет доступность провайдера для использования.
  • getItems [image] — возвращает элементы по заданным идентификаторам.
  • getSelectedItems [image] - возвращает данные по заданным идентификаторам предвыбранных [image] элементов.

Переопределение остальных методов опционально.

  • fillDialog [image] — заполняет диалог данными (элементы, вкладки, футер).
  • getChildren [image] — загружает в диалог дочерние элементы древовидных сущностей.
  • doSearch [image] — выполняет поиск элементов.
  • handleBeforeItemSave [image] — вызывается перед сохранением элемента в списке "Последних". Позволяет отменить сохранение.


PHP API

Класс | Описание | С версии
BaseProvider | Абстрактный класс, от которого должны наследоваться все провайдеры данных. |
Dialog | Основной класс для добавления в диалог элементов, вкладок и футера. |
Item | Класс представляет элемент диалога. |
Tab | Класс представляет вкладку диалога. |
SearchQuery | Класс представляет поисковый запрос. |
Entity | Класс представляет сущность диалога. |
ItemCollection | Класс представляет коллекцию элементов диалога. |
RecentCollection | Класс представляет коллекцию элементов вкладки "Последние". Каждый элемент коллекции представлен классом RecentItem. |
RecentItem | Класс представляет элемент диалога на вкладке "Последние". Объекты класса используются в коллекции RecentCollection. |


Класс BaseProvider

Описание

Bitrix\UI\EntitySelector\BaseProvider — абстрактный класс, от которого должны наследоваться все провайдеры данных.

abstract class BaseProvider
{
    protected function __construct()
    {

    }

    public abstract function isAvailable(): bool;

    public abstract function getItems(array $ids): array;

    public abstract function getSelectedItems(array $ids): array;

    public function fillDialog(Dialog $dialog): void
    {

    }

    public function getChildren(Item $parentItem, Dialog $dialog): void
    {

    }

    public function doSearch(SearchQuery $searchQuery, Dialog $dialog): void
    {

    }

    public function handleBeforeItemSave(Item $item): void
    {

    }

    public function getOption(string $option, $defaultValue = null)
    {

    }
}

Конструктор

__construct(array $options = [])

Конструктор класса.

$options — массив произвольных опций провайдера, которые задаются при создании диалога в JavaScript.

Данный метод обычно используется для проверки корректности входных опций и для заполнения внутренней коллекции $this->options. Используйте метод getOption для получения установленных опций.

class MyProvider extends \Bitrix\UI\EntitySelector\BaseProvider
{
  public function __construct(array $options = [])
  {
    parent::__construct();

    $this->options['myOption'] = true;
    if (isset($options['myOption']) && is_bool($options['myOption']))
    {
        $this->options['myOption'] = $options['myOption'];
    }
  }
}

Методы

Метод | Описание | С версии
isAvailable(): bool Абстрактный метод. Возвращает true, если провайдер данных доступен для использования. Обычно в этом методе проверяют права доступа текущего пользователя.

class MyProvider extends \Bitrix\UI\EntitySelector\BaseProvider
{
  public function isAvailable(): bool
  {
    return $GLOBALS['USER']->isAuthorized();
  }
}

getItems(array $ids): array Абстрактный метод, который получает массив идентификаторов элементов и должен вернуть массив объектов Item.
  • $ids — идентификаторы элементов сущности, к которой относится текущий провайдер.

При получении данных следует учитывать права доступа текущего пользователя. Выходной массив должен содержать только те элементы, к которым текущий пользователь имеет доступ.
getSelectedItems(array $ids): array Данный абстрактный метод аналогичен методу getItems, но вызывается он для элементов, для которых заранее известно, что они выбраны (опция preselectedItems [image]).

Разницу между getItems и getSelectedItems удобнее всего показать на примере сущности "пользователь". Например, есть запись в блоге, которая адресована нескольким пользователям. При редактировании этой записи пользователи, указанные в поле "Кому", должны быть все отображены, даже если среди них есть уволенные (неактивные). Однако уволенных сотрудников точно не должно быть в списке "Последних" или на вкладке со структурой компании. Метод getSelectedItems вернет данные по уволенным сотрудникам, а getItems — нет.

Если у сущности нет элементов, которые могут иметь разную видимость в зависимости от контекста, реализации getItems и getSelectedItems будут совпадать.
fillDialog(Dialog $dialog): void Данный метод выполняется при динамической загрузке [image] данных диалога. Здесь можно добавить вкладки, элементы, футер или дозаполнить вкладку "Последние".
  • $dialog — объект диалога (класс Dialog).
getChildren(Item $parentItem, Dialog $dialog): void Метод вызывается при загрузке дочерних элементов древовидных сущностей.
  • $parentItem — родительский элемент, для которого необходимо загрузить дочерние элементы. Объект класса Item.
  • $dialog — объект диалога (класс Dialog).
doSearch(SearchQuery $searchQuery, Dialog $dialog): void Метод вызывается при динамическом поиске элементов.
  • $searchQuery — поисковый запрос. Объект класса SearchQuery.
  • $dialog — объект диалога (класс Dialog).
handleBeforeItemSave(Item $item): void Метод вызывается перед сохранением элемента в список "последних". Может использоваться для отмены сохранения.
  • $item — сохраняемый элемент. Объект класса Item.

class MyProvider extends \Bitrix\UI\EntitySelector\BaseProvider
{
  public function handleBeforeItemSave(Item $item): void
  {
    if ($item->getEntityType() === 'email')
    {
      // Отменяем сохранение
      $item->setSaveable(false);
    }
    elseif ($item->getEntityType() === 'another')
    {
      // выполняем другие операции
    }
  }
}

getOption(string $option, $defaultValue = null) | Возвращает значение опции $option. Если опция не задана, вернет значение по умолчанию $defaultValue.


Класс Dialog

Основной класс для добавления в диалог элементов, вкладок и футера.

Метод | Описание | С версии
static getSelectedItems(array $ids, array $options = []): ItemCollection Статический метод, возвращающий коллекцию элементов (объект класса ItemCollection) по заданными идентификаторам.
  • $ids — массив идентификаторов, каждый элемент которого представляет собой массив из двух элементов ['entityId', 'elementId'].
  • $options — массив опций сущностей. Каждый элемент массива представляет собой массив вида:
    [
  'id' => 'entityId', // идентификатор сущности
  'options' => [] // опции сущности
]

    Данный статический метод аналогичен методу getItems, но вызывается он для элементов, для которых заранее известно, что они выбраны (опция preselectedItems [image]).

Разницу между getItems и getSelectedItems удобнее всего показать на примере сущности "пользователь". Например, есть запись в блоге, которая адресована нескольким пользователям. При редактировании этой записи пользователи, указанные в поле "Кому", должны быть все отображены, даже если среди них есть уволенные (неактивные). Однако уволенных сотрудников точно не должно быть в списке "Последних" или на вкладке со структурой компании. Метод getSelectedItems вернет данные по уволенным сотрудникам, а getItems нет.

Данный метод обычно используют, чтобы заранее выбрать данные элементов на бэкенде и прокинуть их в JavaScript.

$preselectedItems = [
  ['user', 1],
  ['department', 1],
  ['user', 7],
  ['project', 2],
  ['department', '2:F'],
  ['meta-user', 'all-users'],
  ['user', 27],
];

$options = [
  ['id' => 'user', 'options' => ['nameTemplate' => '#LAST_NAME#']]
];

$items = \Bitrix\UI\EntitySelector\Dialog::getItems($preselectedItems, $options);
$selectedItems = $items->toJsObject();

<script>
const tagSelector = new TagSelector({
    dialogOptions: {
        context: 'MY_MODULE_CONTEXT',
        selectedItems: ,
        entities: [
            {
                id: 'user', // пользователи
            },
            {
                id: 'project', // группы и проекты
            },
            {
                id: 'department', // структура компании
                options: {
                    selectMode: 'usersAndDepartments' // выбор пользователей и отделов
                }
            },
            {
                id: 'meta-user',
                options: {
                    'all-users': true // Все сотрудники
                }
            },
        ],
    }
});

tagSelector.renderTo(document.getElementById('container'));

static getItems(array $ids, array $options = []): ItemCollection Статический метод, возвращающий коллекцию элементов (объект класса ItemCollection) по заданными идентификаторам.
  • $ids — массив идентификаторов, каждый элемент которого представляет собой массив из двух элементов ['entityId', 'elementId'].
  • $options — массив опций сущностей. Каждый элемент массива представляет собой массив вида:

    [
  'id' => 'entityId', // идентификатор сущности
  'options' => [] // опции сущности
]

    Данный метод обычно используют, чтобы заранее выбрать данные элементов на бэкенде и прокинуть их в JavaScript.
getId(): ?string | Возвращает идентификатор диалога.
getContext(): ?string | Возвращает идентификатор контекста [image].
getCurrentUserId(): int | Возвращает идентификатор текущего пользователя.
addItem(Item $item) Добавляет элемент в диалог.
  • $item — добавляемый элемент (объект класса Item).

public function fillDialog(Dialog $dialog): void
{
    $dialog->addTab(new Tab([
        'id' => 'my-tab',
        'title' => 'Мой таб',
        'stub' => true,
        'icon' => [
            'default' => '/path/to/tab-icon.svg',
            'selected' => '/path/to/tab-icon-selected.svg'
        ]
    ]));

    $dialog->addItem(
        new Item([
            'id' => 1000,
            'entityId' => 'my-entity-id',
            'tabs' => 'my-tab',
            'title' => 'Мой элемент',
            'avatar' => '/path/to/avatar.jpg',
            'customData' => [
                'myOption' => true,
            ],
        ])
    );
}

addItems(array $items) Добавляет элементы в диалог.
  • $items — массив добавляемых элементов (объекты класса Item).
addRecentItem(Item $item) Добавляет элемент на вкладку "Последние".
  • $item — добавляемый элемент (объект класса Item).
addRecentItems(array $items) Добавляет элементы на вкладку "Последние".
  • $items — массив добавляемых элементов (объекты класса Item).

public function fillDialog(Dialog $dialog): void
{
    $dialog->addRecentItems([
        new Item([
            'id' => 1000,
            'entityId' => 'my-entity-id',
            'entityType' => 'active',
            'title' => 'Мой элемент',
            'avatar' => '/path/to/avatar.jpg',
            'customData' => [
                'myOption' => true,
            ],
        ]),
        new Item([
            'id' => 2000,
            'entityId' => 'my-entity-id',
            'entityType' => 'active',
            'title' => 'Мой элемент 2',
            'avatar' => '/path/to/avatar.jpg',
            'customData' => [
                'myStringOption' => 'kuku',
            ],
        ])
    ]);
}

getRecentItems(): RecentCollection Возвращает коллекцию типа ItemCollection со списком элементов на вкладке "Последние", которые были выбраны в текущем контексте [image]. Данные для коллекции выбираются диалогом автоматически.

public function fillDialog(Dialog $dialog): void
{
    // выберем все элементы моей сущности на вкладке "Последние"
    $recentItems = $dialog->getRecentItems()->getEntityItems('my-entity-id');
    if ($recentItems < 10)
    {
        // если элементов мало, добавим еще.
        $dialog->addRecentItem(new Item([
            'id' => 1000,
            'entityId' => 'my-entity-id',
            'entityType' => 'active',
            'title' => 'Мой элемент',
            'avatar' => '/path/to/avatar.jpg',
            'customData' => [
                'myOption' => true,
            ],
        ]));
    }
}

getGlobalRecentItems(): RecentCollection Возвращает коллекцию типа ItemCollection со списком элементов на вкладке "Последние", которые были выбраны в глобальном контексте [image]. Данные для коллекции выбираются диалогом автоматически.

public function fillDialog(Dialog $dialog): void
{
    $maxItemsInRecentTab = 30;

    // выберем все элементы моей сущности на вкладке "Последние" для текущего контекста.
    $recentItems = $dialog->getRecentItems()->getEntityItems('my-entity-id');
    if (count($recentItems) < $maxItemsInRecentTab)
    {
        $limit = $maxItemsInRecentTab - count($recentItems);

        // выберем все элементы моей сущности на вкладке "Последние" для глобального контекста.
        $recentGlobalItems = $dialog->getGlobalRecentItems()->getEntityItems('my-entity-id');
        foreach ($recentGlobalItems as $recentGlobalItem)
        {
            if ($limit <= 0)
            {
                break;
            }

            if (!isset($recentItems[$recentGlobalItem->getId()]) && $recentGlobalItem->isLoaded())
            {
                // добавим элементы из глобального контекста на вкладку "Последние".
                $dialog->getRecentItems()->add($recentGlobalItem);
                $limit--;
            }
        }
    }
}

getItemCollection(): ItemCollection | Возвращает коллекцию типа ItemCollection со списком всех добавленных элементов (объекты класса Item) в диалог.
setFooter(string $footer, array $options = []) Устанавливает футер диалога.
  • $footer — футер диалога. Указывается либо верстка, либо полное название JavaScript-класса, который реализует [image] отрисовку футера.
  • $options — дополнительные опции футера.

public function fillDialog(Dialog $dialog): void
{
    $dialog->setFooter('BX.SocialNetwork.EntitySelector.Footer', ['myOption' => true]);
}

getFooter(): ?string | Возвращает футер диалога.
getFooterOptions(): ?array | Возвращает дополнительные опции футера.
addTab(Tab $tab) Добавляет новую вкладку в диалог.
  • $tab — добавляемая вкладка (объект класса Tab).

public function fillDialog(Dialog $dialog): void
{
    $dialog->addTab(new Tab([
        'id' => 'my-tab',
        'title' => 'Мой таб',
        'stub' => true,
        'icon' => [
            'default' => '/path/to/tab-icon.svg',
            'selected' => '/path/to/tab-icon-selected.svg'
        ]
    ]));
}

getTabs(): array | Возвращает массив вкладок (объекты класса Tab) диалога.
getTab(string $tabId): ?Tab Возвращает объект вкладки по идентификатору.
  • $tabId — идентификатор вкладки.
addEntity(Entity $entity) Добавляет в диалог новую сущность.
  • $entity — новая сущность (объекты класса Entity).
getEntities(): array | Возвращает массив сущностей (объекты класса Entity) диалога.
getEntity(string $entityId): ?Entity Возвращает объект сущности по идентификатору.
  • $entityId — идентификатор сущности.

public function fillDialog(Dialog $dialog): void
{
    // если сущность одна в диалоге, то добавим элементы на вкладку "Последние".
    if (count($dialog->getEntities()) === 1)
    {
        $dialog->addRecentItems([
            new Item([
                'id' => 1000,
                'entityId' => 'my-entity-id',
                'entityType' => 'active',
                'title' => 'Мой элемент',
                'avatar' => '/path/to/avatar.jpg',
                'customData' => [
                    'myOption' => true,
                ],
            ]),
            new Item([
                'id' => 2000,
                'entityId' => 'my-entity-id',
                'entityType' => 'active',
                'title' => 'Мой элемент 2',
                'avatar' => '/path/to/avatar.jpg',
                'customData' => [
                    'myStringOption' => 'kuku',
                ],
            ])
        ]);
    }
}


Класс Item

Класс представляет элемент диалога.

Конструктор

__construct(array $options)

$options — массив опций элемента. Определяется структурой ItemOptions:

  • id: string | int

    Идентификатор элемента. Обязательный параметр.

  • entityId: string

    Идентификатор сущности. Обязательный параметр.

  • entityType: string

    Тип сущности.

  • tabs: string | string[]

    Идентификатор или массив идентификаторов вкладок, в которых отобразится элемент. Если привязка к вкладке не указана, элемент все равно можно будет найти через поиск.

  • title: string | TextNodeOptions

    Заголовок элемента. Определяется либо строкой, либо структурой TextNodeOptions.
    Если значение не задано, элемент будет выведен с пустым заголовком.

    Структура TextNodeOptions позволяет определить текстовый контент и его тип.

    $textNodeOptions = ['text' => 'контент', 'type' => 'контента'];

    • text: string — текстовый контент
    • type: 'text' | 'html' — тип контента.

  • subtitle: string | TextNodeOptions

    Подзаголовок элемента. Определяется либо строкой, либо структурой TextNodeOptions.
    Если значение не задано, подзаголовок будет искаться в настройках сущности [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image].

  • supertitle: string | TextNodeOptions

    Надзаголовок элемента. Определяется либо строкой, либо структурой TextNodeOptions.
    Если значение не задано, надзаголовок будет искаться в настройках сущности [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image].

  • caption: string | TextNodeOptions

    Подпись элемента. Определяется либо строкой, либо структурой TextNodeOptions.
    Если значение не задано, подпись будет искаться в настройках сущности [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image].

  • captionOptions: array

    Дополнительные настройки подписи элемента. Определяются массивом, ключи которого совпадают со структурой CaptionOptions [image] [image].

    Если значение не задано, настройки будут искаться в настройках сущности [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image].

  • avatar: string

    Аватар элемента. Указывается либо путь к изображению, либо файл в формате Data URL [image].
    Если значение не задано, аватар будет искаться в настройках сущности [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image].

  • avatarOptions: array

    Дополнительные настройки аватара элемента.
    Определяются массивом, ключи которого совпадают со структурой AvatarOptions [image].
    Если значение не задано, настройки будут искаться в настройках сущности [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image].

  • textColor: string

    Цвет текста заголовка.
    Если значение не задано, цвет текста будет искаться в настройках сущности [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image].

  • link: string

    Адрес ссылки "подробнее".
    Если значение не задано, адрес ссылки будет искаться в настройках сущности [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image].

  • linkTitle: string

    Заголовок ссылки "подробнее".
    Если значение не задано, заголовок ссылки будет искаться в настройках сущности [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image].

  • badges: array

    Массив бейджей элемента. Каждый бейдж определяется массивом, ключи которого совпадают со структурой ItemBadgeOptions.
    Если значение не задано, бейджи будут искаться в настройках сущности [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image].

  • badgesOptions: array

    Дополнительные настройки для блока с бейджами. Определяются массивом, ключи которого совпадают со структурой BadgesOptions [image] [image].

  • selected: bool

    Если задано значение true, такой элемент будет добавлен в диалог как выбранный. По умолчанию false.

  • searchable: bool

    Если задано значение false, такой элемент не будет найден в поиске. По умолчанию true.

  • saveable: bool

    Если задано значение false, такой элемент не будет сохраняться для вкладки "Последние". По умолчанию true.

  • deselectable: bool

    Если задано значение false, то у такого элемента нельзя будет снять выбор. По умолчанию true.

  • hidden: bool

    Флаг, обозначающий скрытый элемент.

  • sort: int

    Индекс сортировки элемента, по которому сортируются элементы на вкладке "Последние", а также в результатах поиска. По умолчанию не задан.

  • availableInRecentTab: bool

    Если установлено значение false, элемент не будет показан на вкладке "Последние".

  • customData: array

    Произвольные дополнительные данные элемента.

  • nodeOptions: array

    Дополнительные настройки для DOM-узла элемента. Определяются массивом, ключи которого совпадают со структурой ItemNodeOptions [image].

  • tagOptions: array

    Настройки отображения элемента в виджете TagSelector. Определяются массивом, ключи которого совпадают со структурой TagOptions [image] [image].
    Если значение не задано, настройки будут искаться в настройках сущности [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image].

  • children: array

    Массив дочерних элементов. Используется для создания древовидной структуры. Каждый элемент массива определяется структурой ItemOptions.

Методы

Метод | Описание | С версии
getId(): string | number | Возвращает идентификатор элемента.
getEntityId(): string | Возвращает идентификатор сущности.
getEntityType(): ?string | Возвращает тип сущности.
setEntityType(string $type): self | Устанавливает тип сущности.
getTitle(): string | Возвращает заголовок элемента. Если заголовок не задан, вернет пустую строку.
setTitle($title): self | Устанавливает заголовок элемента. Заголовок определяется либо строкой, либо структурой TextNodeOptions.
getSubtitle(): ?string | Возвращает подзаголовок элемента.
setSubtitle($subtitle): self | Устанавливает подзаголовок элемента. Подзаголовок определяется либо строкой, либо структурой TextNodeOptions.
getSupertitle(): ?string | Возвращает надзаголовок элемента.
setSupertitle($supertitle): self | Устанавливает надзаголовок элемента. Надзаголовок определяется либо строкой, либо структурой TextNodeOptions.
getCaption(): ?string | Возвращает подпись элемента.
setCaption($caption): self | Устанавливает подпись элемента. Подпись определяется либо строкой, либо структурой TextNodeOptions.
setCaptionOptions(array $captionOptions) Устанавливает дополнительные настройки подписи элемента.
  • $captionOptions — массив, ключи которого совпадают со структурой CaptionOptions [image] [image].
getCaptionOptions(): Dictionary | Возвращает коллекцию с настройками подписи элемента.
getAvatar(): ?string | Возвращает аватар элемента.
setAvatar(?string $avatar): self | Устанавливает аватар элемента. Указывается либо путь к изображению, либо файл в формате Data URL.
getAvatarOptions(): Dictionary | Возвращает настройки для аватара элемента. | 21.600.0
setAvatarOptions(array $avatarOptions): self Устанавливает дополнительные настройки для аватара элемента.
  • avatarOptions — массив, ключи которого совпадают со структурой AvatarOptions [image].
 21.600.0
getTextColor(): ?string | Возвращает цвет текста заголовка.
setTextColor(?string $textColor): self | Устанавливает цвет текста заголовка.
getLink(): ?string | Возвращает заголовок ссылки "подробнее".
setLink(?string $link): self | Устанавливает адрес ссылки "подробнее".
getLinkTitle(): ?string | Возвращает заголовок ссылки "подробнее".
setLinkTitle($linkTitle): self | Устанавливает заголовок ссылки "подробнее". Заголовок определяется либо строкой, либо структурой TextNodeOptions.
getBadges(): ?array | Возвращает массив бейджей.
addBadges(array $badges): self Добавляет бейджи элемента.
  • $badges — массив бейджей. Каждый элемент определяется массивом, ключи которого совпадают со структурой [link=13509944*]ItemBadgeOptions[/link].
setBadges(array $badges): self Устанавливает бейджи элемента.
  • $badges — массив бейджей. Каждый элемент определяется массивом, ключи которого совпадают со структурой [link=13509944*]ItemBadgeOptions[/link].
setBadgesOptions(array $badgesOptions): self Устанавливает дополнительные настройки для блока с бейджами.
  • $badgesOptions — массив, ключи которого совпадают со структурой BadgesOptions [image] [image].
getBadgesOptions(): Dictionary | Возвращает коллекцию настроек для блока с бейджами.
getTabs(): array | Возвращает массив идентификаторов вкладок.
addTab($tabId): self | Добавляет элемент на вкладку.
getChildren(): ItemCollection | Возвращает коллекцию потомков элемента.
addChildren(array $children): self | Добавляет дочерние элементы. Каждый элемент массива определяется структурой ItemOptions.
addChild(Item $item): self | Добавляет дочерний элемент (объект класса Item).
setNodeOptions(array $nodeOptions): self Устанавливает настройки для DOM-узла элемента.
  • $nodeOptions — массив настроек, ключи которого совпадают со структурой ItemNodeOptions.
getNodeOptions(): Dictionary | Возвращает коллекцию настроек для DOM-узла элемента.
setTagOptions(array $nodeOptions): self Устанавливает настройки отображения элемента в виджете TagSelector.
  • $nodeOptions — определяются массивом, ключи которого совпадают со структурой TagOptions [image] [image].
getTagOptions(): Dictionary | Возвращает коллекцию настроек отображения элемента в виджете TagSelector.
isSelected(): bool | Возвращает true, если элемент выбран.
setSelected(bool $flag = true): self | Устанавливает или отменяет статус "выбран" у элемента.
isSearchable(): bool | Возвращает true, если элемент участвует в поиске.
setSearchable(bool $flag = true): self | Устанавливает или отменяет участие элемента в поиске.
isSaveable(): bool | Возвращает true, если выбор элемента запоминается для вкладки "Последние".
setSaveable(bool $flag = true): self | Устанавливает или отменяет запоминание выбора элемента для вкладки "Последние".
isDeselectable(): bool | Возвращает true, если у элемента можно отменить выбор.
setDeselectable(bool $flag = true): self | Устанавливает или отменяет возможность снять выбор с элемента.
isHidden(): bool | Возвращает true, если элемент скрытый.
setHidden(bool $flag = true): self | Устанавливает или отменяет статус "скрытый" у элемента.
isAvailableInRecentTab(): bool | Возвращает false, если элемент не должен отображаться на вкладке "Последние".
setAvailableInRecentTab(bool $flag = true): self | Устанавливает видимость элемента на вкладке "Последние".
setCustomData(array $customData): self | Устанавливает коллекцию дополнительных данных элемента.
getCustomData(): Dictionary | Возвращает коллекцию дополнительных данных элемента.
setSort(?int $sort): self | Устанавливает сортировку элемента.
getSort(): ?int | Возвращает сортировку элемента.


Класс Tab

Класс представляет вкладку диалога.

Конструктор

__construct(array $options)

Создает объект класса Tab.

$options — массив опций элемента. Определяется структурой TabOptions:

  • id: string

    Идентификатор вкладки. Обязательная опция.

  • title: string | TextNodeOptions

    Заголовок вкладки. Определяется либо строкой, либо структурой TextNodeOptions [image] [image].

  • icon

    Иконка вкладки. Указывается либо путь к изображению, либо файл в формате Data URL.
    Значение задается либо сразу для всех состояний ярлыка вкладки, либо отдельно для каждого состояния согласно структуре TabLabelStates [image] [image] [image] [image] [image] [image].

  • textColor

    Цвет текста заголовка вкладки.
    Значение задается либо сразу для всех состояний ярлыка вкладки, либо отдельно для каждого состояния согласно структуре TabLabelStates [image] [image] [image] [image] [image] [image].

  • bgColor

    Фон заголовка вкладки.
    Значение задается либо сразу для всех состояний ярлыка вкладки, либо отдельно для каждого состояния согласно структуре TabLabelStates [image] [image] [image] [image] [image] [image].

  • visible: bool

    Видимость вкладки.
    Если задано значение false, вкладка считается невидимой, для нее не отображается заголовок в виде ярлыка сбоку диалога. По умолчанию true.

  • itemOrder: array

    Сортировка элементов на вкладке. Задается массивом, структура которого совпадает с типом ItemNodeOrder [image] [image].

  • itemMaxDepth: number

    Максимальный уровень вложенности элементов, который отображается визуальным сдвигом. По умолчанию 5.

  • stub: boolean | string

    Определяет "заглушку" пустого списка вкладки. По умолчанию true — выводится стандартная заглушка. Также можно указать полное название класса в виде строки.

  • stubOptions: array

    Дополнительные опции заглушки. Задаются массивом. Для стандартной заглушки (stub: true) доступны следующие настройки [image].

  • footer: string

    Определяет футер вкладки. Задается либо верстка, либо полное название класса футера [image].

  • footerOptions

    Дополнительные опции футера. Передаются в конструктор класса футера.

  • showDefaultFooter?: boolean

    Определяет нужно ли показывать футер диалога [image]. По умолчанию true.

  • showAvatars

    Отображать аватары элементов. По умолчанию значение не задано.

Методы

Метод | Описание | С версии
getId(): ?string | Возвращает идентификатор вкладки. |
getTitle(): string | Возвращает заголовок вкладки. |
setTitle($title): self | Устанавливает заголовок вкладки. Заголовок определяется либо строкой, либо структурой TextNodeOptions [image] [image] . |
setIcon(array $icon): self | Устанавливает иконку вкладки либо для всех состояний ярлыка, либо отдельно для каждого состояния согласно структуре TabLabelStates [image] [image] [image] [image] [image] [image] . |
setTextColor(array $textColor): self | Устанавливает цвет текста заголовка вкладки либо для всех состояний ярлыка, либо отдельно для каждого состояния согласно структуре TabLabelStates [image] [image] [image] [image] [image] [image] . |
setBgColor(array $bgColor): self | Устанавливает цвет фона заголовка вкладки либо для всех состояний ярлыка, либо отдельно для каждого состояния согласно структуре TabLabelStates [image] [image] [image] [image] [image] [image] . |
setVisible(bool $flag): self | Устанавливает видимость вкладки. |
isVisible() | Возвращает true, если вкладка видима в диалоге (отображается заголовок в виде ярлыка сбоку диалога). |
setItemOrder(array $order): self | Устанавливает сортировку элементов на вкладке. Задается массивом, структура которого совпадает с типом ItemNodeOrder [image] [image] . |
setItemMaxDepth(int $depth): self | Устанавливает максимальный уровень вложенности элементов, который отображается визуальным сдвигом. |
getItemMaxDepth(): ?int | Возвращает максимальный уровень вложенности элементов, который отображается визуальным сдвигом. |
setStub(bool|string $stub): self | Устанавливает "заглушку" пустого списка вкладки. По умолчанию true — выводится стандартная заглушка. Также можно указать полное название класса в виде строки. |
setStubOptions(array $options): self | Устанавливает опции заглушке. |
setFooter(string $footer, array $options = []): self | Устанавливает или удаляет футер вкладки |
enableDefaultFooter(): self | Включает отображение футера диалога [image] [image] . |
disableDefaultFooter(): self | Выключает отображение футера диалога [image] [image] . |
setShowAvatars(bool $flag): self | Включает или отключает показ аватаров во вкладке. |


Класс SearchQuery

Класс представляет поисковый запрос.

Метод | Описание | С версии
getQuery(): string | Возвращает полный поисковый запрос. |
getQueryWords(): array | Возвращает поисковый запрос в виде отдельных слов. |
setCacheable(bool $flag = true) | Устанавливает или отменяет кеширование запросов [image] со стороны JavaScript-диалога. По умолчанию диалог считает, что провайдер отдает все данные по указанной поисковой строке. Например, если провайдер вернул данные по фразе "Иван", то по фразе "Иванов" диалог уже не будет делать запрос на бэкенд. |
isCacheable(): bool | Возвращает true, если запрос кешируется со стороны JavaScript-диалога. |


Класс Entity

Класс представляет сущность диалога.

Метод | Описание | С версии
static create(array $entityOptions): ?Entity Статический фабричный метод для создания объектов сущностей.
  • $entityOptions — массив с настройками сущности.
    • id: string — идентификатор сущности.
    • options — опции сущности.
    • searchable: bool — определяет участие элементов сущности в поиске.
    • dynamicSearch: bool — определяет поддержку динамического поиска на бэкенде.
    • dynamicLoad: bool — определяет поддержку динамической загрузки элементов с бэкенда.
getId(): string | Возвращает идентификатор сущности.
getOptions(): array | Возвращает опции сущности.
getProvider(): BaseProvider | Возвращает объект провайдера.
isSearchable(): bool | Возвращает true, если элементы сущности участвуют в поиске.
hasDynamicSearch(): bool | Возвращает true, если сущность поддерживает динамический поиск на бэкенде.
hasDynamicLoad(): bool | Возвращает true, если сущность поддерживает динамическую загрузку данных с бэкенда.


Класс ItemCollection

Класс представляет коллекцию элементов диалога.

Объект коллекции создается автоматически и доступен в провайдере данных через метод $dialog->getItemCollection() [image].

Для добавления элементов в диалог используйте методы $dialog->addItem() [image] [image] или $dialog->addItems() [image] [image] класса Dialog.

Также эту коллекцию возвращают статические методы Dialog::getItems [image] и Dialog::getSelectedItems [image].

Метод | Описание | С версии
add(Item $item): bool | Добавляет элемент (объект класса Item) в коллекцию. Для добавления элементов в провайдере данных необходимо использовать методы $dialog->addItem() [image] [image] или $dialog->addItems() [image] [image] . |
get(string $entityId, string|int $itemId): ?Item | Возвращает элемент коллекции по указанным идентификаторам сущности и элемента. |
has(Item $item): bool | Возвращает true, если указанным элемент присутствует в коллекции. |
getAll(): array | Возвращает массив всех элементов. |
count(): int | Возвращает количество элементов коллекции. |
getEntityItems(string $entityId): array | Возвращает массив элементов указанной сущности. |
toJsObject(): string | Возвращает JavaScript представление коллекции. Может использоваться для передачи данных коллекции из PHP в JavaScript. |
toArray(): array | Возвращает элементы коллекции в виде массивов данных. |


Класс RecentCollection

Класс представляет коллекцию элементов вкладки "Последние". Каждый элемент коллекции представлен классом RecentItem.

Объекты коллекции создаются автоматически и доступны в провайдере данных через методы $dialog->getRecentItems() [image] и $dialog->getGlobalRecentItems() [image] класса Dialog.

Для добавления элементов на вкладку "Последние" используйте методы $dialog->addRecentItem() [image] [image] или $dialog->addRecentItems() [image] [image] класса Dialog.

Метод | Описание | С версии
add(RecentItem $recentItem): bool | Добавляет элемент (объект класса RecentItem) в коллекцию. Для добавления элементов в провайдере данных необходимо использовать методы $dialog->addRecentItem() [image] [image] или $dialog->addRecentItems() [image] [image] . |
get(string $entityId, $itemId): ?RecentItem | Возвращает элемент коллекции по указанным идентификаторам сущности и элемента. |
has(RecentItem $recentItem): bool | Возвращает true, если указанным элемент присутствует в коллекции. |
getByItem(Item $item): ?RecentItem | Возвращает элемент коллекции по заданному элементу диалога (объект класса Item). |
getAll(): array | Возвращает массив всех элементов. |
count(): int | Возвращает количество элементов коллекции. |
getEntityItems(string $entityId): array | Возвращает массив элементов указанной сущности. |


Класс RecentItem

Класс представляет элемент диалога на вкладке "Последние". Объекты класса используются в коллекции RecentCollection.

Обычно объекты этого класса создаются с помощью методов $dialog->addRecentItem() [image] или $dialog->addRecentItems() [image] класса Dialog.

Метод | Описание | С версии
getId(): string | int | Возвращает идентификатор элемента. |
getEntityId(): string | Возвращает идентификатор сущности. |
getLastUseDate(): ?int | Возвращает дату, когда элемент был последний раз выбран пользователем. |
isLoaded(): bool | Возвращает true, если элемент с аналогичными идентификаторами (объект класса Item) добавлен в диалог. |
isAvailable(): bool | Возвращает true, если элемент должен показываться на вкладке "Последние". |
setAvailable(bool $flag): self | Устанавливает или отменяет отображение элемента на вкладке "Последние". |


Стандартные провайдеры

Провайдер | Описание | С версии
Провайдер пользователей | Данный провайдер реализует поиск и выбор пользователей, а также заполняет данными вкладку "Последние", чтобы она не была пустой. |
Провайдер групп | Провайдер автоматически добавляет в диалог вкладку "Группы" со списком групп, в которых участвует текущий пользователь. Дополнительно, провайдер может заполнить данными вкладку "Последние" (чтобы она не была пустой), если диалог выводит только одну сущность "группы" или указана опция fillRecentTab: true. |
Провайдер структуры компании | Провайдер автоматически добавляет в диалог вкладку "Отделы" с древовидной структурой компании. |
Провайдер мета-пользователей | Определяет вывод мета-пользователя "Все сотрудники". |
Провайдер чатов | Реализует поиск и выбор чатов, а также заполняет данными вкладку "Последние". | 21.600.0
Провайдер чат-ботов | Реализует поиск и выбор чат-ботов, а также заполняет данными вкладку "Последние". | 21.600.0


Провайдер пользователей

Провайдер пользователей

Сущность "пользователь" или "сотрудник" имеет идентификатор user и реализуется классом Bitrix\Socialnetwork\Integration\UI\EntitySelector\UserProvider.

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

Диалог выбор пользователя

const button = document.getElementById('responsible-button');
const dialog = new Dialog({
    targetNode: button,
    enableSearch: true,
    context: 'MY_MODULE_CONTEXT',
    entities: [
        {
            id: 'user', // пользователи
            options: {
                inviteEmployeeLink: false // не выводить ссылку "Пригласить сотрудника"
            }
        },
        {
            id: 'department', // структура компании: выбор только пользователей
        },
    ],
});

button.addEventListener('click', function() {
    dialog.show();
});

Настройки провайдера

  • extranetUsersOnly: bool

    Выводить только экстранет-пользователей.

  • intranetUsersOnly: bool

    Выводить только интранет-пользователей.

  • emailUsers: bool

    Выводить "почтовых пользователей". По умолчанию false — почтовые пользователи не выводятся.

  • myEmailUsers: bool

    Выводить почтовых пользователей, которых пригласил текущий пользователь. По умолчанию true. Опция имеет смысл, если emailUsers=true.

  • emailUsersOnly: bool

    Выводить только "почтовых" пользователей.

  • inviteEmployeeLink: bool

    Выводить ссылку "Пригласить сотрудника". По умолчанию true.

  • inviteGuestLink: bool

    Выводить ссылку "Пригласить гостя". По умолчанию false.

  • userId: string | int | string[] | int[]

    Идентификатор(ы) пользователей, которые необходимо выбрать (белый список).

  • !userId: string | int | string[] | int[]

    Идентификатор(ы) пользователей, которые необходимо исключить (черный список).

  • nameTemplate: string

    Шаблон вывода имени пользователя. Допустимые макросы:

    • #NAME# - имя.
    • #LAST_NAME# - фамилия.
    • #SECOND_NAME# - отчество.
    • #NAME_SHORT# - сокращенное имя.
    • #SECOND_NAME_SHORT# - сокращенная фамилия.

  • onlyWithEmail: bool

    Выводить пользователей, у которых указан e-mail.

  • selectFields: string[]

    Список дополнительных полей профиля пользователя, которые провайдер выберет в customData.

    По умолчанию провайдер выбирает следующие поля:

    • name: string — Имя.
    • lastName: string — Фамилия.
    • secondName: string — Отчество.
    • email: string — E-mail.
    • login: string — Логин.
    • gender: 'M' | 'F' — Пол.
    • position: string — Должность.
    • invited: boolean — Принимает значение true, если пользователь статусе "приглашен".
    • isOnVacation: boolean — Принимает значение true, если пользователь находится в отпуске.

    Дополнительно можно выбрать следующее:

    • lastLogin: string или LAST_LOGIN: string — Дата последнего входа.
    • dateRegister: string или DATE_REGISTER: string — Дата регистрации.
    • lastActivityDate: string или LAST_ACTIVITY_DATE: string — Дата последней активности.
    • online: boolean или IS_ONLINE: boolean — Статус онлайн.
    • name: string или NAME: string — Имя.
    • lastName: string или LAST_NAME: string — Фамилия.
    • secondName: string или SECOND_NAME: string — Отчество.
    • email: string или EMAIL: string — E-mail.
    • login: string или LOGIN: string — Логин.
    • profession: string или personalProfession: string или PERSONAL_PROFESSION: string — Профессия.
    • www: string или personalWww: string или PERSONAL_WWW: string — WWW-страница.
    • birthday: string или personalBirthday: string или PERSONAL_BIRTHDAY: string — Дата рождения.
    • gender: 'M' | 'F' или personalGender: string или PERSONAL_GENDER: string — Пол.
    • icq: string или personalIcq: string или PERSONAL_ICQ: string — ICQ.
    • phone: string или personalPhone: string или PERSONAL_PHONE: string — Телефон.
    • fax: string или personalFax: string или PERSONAL_FAX: string — Факс.
    • mobile: string или personalMobile: string или PERSONAL_MOBILE: string — Мобильный телефон.
    • pager: string или personalPager: string или PERSONAL_PAGER: string — Пейджер.
    • street: string или personalStreet: string или PERSONAL_STREET: string — Улица, дом.
    • city: string или personalCity: string или PERSONAL_CITY: string — Город.
    • state: string или personalState: string или PERSONAL_STATE: string — Область / край.
    • zip: string или personalZip: string или PERSONAL_ZIP: string — Почтовый индекс.
    • mailbox: string или personalMailbox: string или PERSONAL_MAILBOX: string — Почтовый ящик.
    • country: string или personalCountry: string или PERSONAL_COUNTRY: string — Страна.
    • timeZoneOffset: number или TIME_ZONE_OFFSET: number — Смещение таймзоны.
    • company: string или WORK_COMPANY: string — Компания.
    • position: string или WORK_POSITION: string — Должность.
    • workPhone: string или WORK_PHONE: string — Рабочий телефон.
    • workCity: string или WORK_CITY: string — Город компании.
    • workCountry: string или WORK_COUNTRY: string — Страна компании.
    • workDepartment: string или WORK_DEPARTMENT: string — Департамент / Отдел.
    • workMailbox: string или WORK_MAILBOX: string — Почтовый
    • workCity: string или WORK_CITY: string — Город компании.
    • workCountry: string или WORK_COUNTRY: string — Страна компании.
    • workStreet: string или WORK_STREET: string — Улица, дом компании.
    • workState: string или WORK_STATE: string — Область / край компании.
    • workZip: string или WORK_ZIP: string — Почтовый индекс компании.
    • workMailbox: string или WORK_MAILBOX: string — Почтовый ящик компании.
    • ufPhoneInner: string или UF_PHONE_INNER: string — Внутренний телефон.
    • ufDistrict: string или UF_DISTRICT: string — Район.
    • ufSkype: string или UF_SKYPE: string — Логин Skype.
    • ufSkypeLink: string или UF_SKYPE_LINK: string — Ссылка на чат в Skype.
    • ufZoom: string или UF_ZOOM: string — Zoom.
    • ufTwitter: string или UF_TWITTER: string — Twitter.
    • ufFacebook: string или UF_FACEBOOK: string — Facebook*.

      * деятельность организации запрещена в Российской Федерации.

    • ufLinkedin: string или UF_LINKEDIN: string — LinkedIn.
    • ufXing: string или UF_XING: string — Xing.
    • ufWebSites: string или UF_WEBSITES: string — Другие сайты.
    • ufSkills: string или UF_SKILLS: string — Навыки.
    • ufInterests: string или UF_INTERESTS: string — Интересы.
    • ufEmploymentDate: string или UF_EMPLOYMENT_DATE: string — Дата принятия на работу.


Провайдер групп

Провайдер групп

Сущность "группа" или "проект" имеет идентификатор project и реализуется классом Bitrix\Socialnetwork\Integration\UI\EntitySelector\ProjectProvider.

Провайдер автоматически добавляет в диалог вкладку "Группы" со списком групп, в которых участвует текущий пользователь. Дополнительно, провайдер может заполнить данными вкладку "Последние" (чтобы она не была пустой), если диалог выводит только одну сущность "группы" или указана опция fillRecentTab: true.

Выбор групп соц. сети

const tagSelector = new TagSelector({
    dialogOptions: {
        context: 'MY_MODULE_CONTEXT',
        entities: [
            {
                id: 'project', // группы и проекты
            },
        ],
    }
});

tagSelector.renderTo(document.getElementById('container'));

Диалог выбора экстранет-групп, где есть сервис "Задачи"

const button = document.getElementById('select-project');
const dialog = new Dialog({
    targetNode: button,
    enableSearch: true,
    context: 'MY_MODULE_CONTEXT',
    entities: [
        {
            id: 'project',
            options: {
                extranet: true, // только экстранет
                features: {
                    tasks: ['view'] // права доступа к группе
                }
            }
        },
    ],
});

button.addEventListener('click', function() {
    dialog.show();
});

Настройки провайдера

  • extranet: bool

    Выбирать только экстранет-группы. Если задано false, будут выбраны только интранет-группы. По умолчанию не задано.

  • project: bool

    Выбирать только группы с пометкой "проект". По умолчанию выбираются любые группы.

  • landing: bool

    Выбирать только группы с пометкой "для публикации". По умолчанию не задано.

  • features: array

    Задает список возможностей, которыми должны обладать выбираемые группы.

  • fillRecentTab: bool

    Если установлено значение true, провайдер заполнит данными вкладку "Последние".

  • createProjectLink: bool

    Выводить ссылку "Создать группу". По умолчанию значение не задано, ссылка выводится автоматически, если диалог выводит только одну сущность "группы".

  • projectId: string | int | string[] | int[]

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

  • !projectId: string | int | string[] | int[]

    Идентификатор(ы) групп, которые необходимо исключить (черный список).


Провайдер структуры компании

Провайдер структуры компании

Сущность "отдел" или "департамент" имеет идентификатор department и реализуется классом Bitrix\Intranet\Integration\UI\EntitySelector\DepartmentProvider.

Провайдер автоматически добавляет в диалог вкладку "Отделы" с древовидной структурой компании.

Структура компании имеет несколько режимов выбора:

  • Выбор только пользователей.
  • Выбор только отделов.
  • Выбор пользователей и отделов, где для отделов возможны следующие варианты:
    • Все сотрудники с подотделами.
    • Только сотрудники отдела.

Провайдер структуры компании

const tagSelector = new TagSelector({
    dialogOptions: {
        context: 'MY_MODULE_CONTEXT',
        entities: [
            {
                id: 'department',
                options: {
                    selectMode: 'departmentsOnly', // только выбор отделов
                }
            },
        ],
    }
});

tagSelector.renderTo(document.getElementById('container'));

Диалог выбор пользователя

const button = document.getElementById('responsible-button');
const dialog = new Dialog({
    targetNode: button,
    enableSearch: true,
    context: 'MY_MODULE_CONTEXT',
    entities: [
        {
            id: 'user', // пользователи
        },
        {
            id: 'department', // структура компании: выбор только пользователей
        },
    ],
});

button.addEventListener('click', function() {
    dialog.show();
});

Настройки провайдера

  • selectMode: string

    Режим выбора отделов. Доступны следующие значения:

    • usersOnly — выбор только пользователей.
    • usersAndDepartments — выбор пользователей и отделов.
    • departmentsOnly — выбор только отделов.

    По умолчанию режим usersOnly - выбор только пользователей.

  • allowFlatDepartments: bool

    Для режима выбора пользователей и отделов (usersAndDepartments), данная опция включает выбор "Только сотрудник отдела". По умолчанию false.

  • allowSelectRootDepartment: bool

    Разрешает выбор корневого отдела компании. По умолчанию для режима выбора "только отделы" задано значение true, для остальных режимов false.

  • userOptions: array

    Настройки вывода пользователей в структуре компании. Если в диалоге указан провайдер выбора пользователей, то настройки вывода пользователей по умолчанию берутся из данного провайдера. Опции userOptions имеет смысл указывать только для случая, когда указан только провайдер структуры компании.


Провайдер мета-пользователей

Провайдер мета-пользователей

Сущность "мета-пользователь" имеет идентификатор meta-user и реализуется классом Bitrix\Socialnetwork\Integration\UI\EntitySelector\MetaUserProvider.

Мета-пользователи — это специальные типы пользователей, которые не имеют прямой привязки к сущности "пользователь". Например, мета-пользователи "Все сотрудники" или "Руководитель".

const tagSelector = new TagSelector({
    dialogOptions: {
        context: 'MY_MODULE_CONTEXT',
        entities: [
            {
                id: 'user', // пользователи
            },
            {
                id: 'meta-user',
                options: {
                    'all-users': true // Все сотрудники
                }
            },
        ],
    }
});

tagSelector.renderTo(document.getElementById('container'));

Настройки провайдера

  • all-users: bool | AllUsersOptions

    Определяет вывод мета-пользователя "Все сотрудники".
    Задается либо значением true, либо структурой AllUsersOptions для дополнительных настроек.

    export type AllUsersOptions = {
  title?: string,
  allowView?: boolean,
  deselectable?: boolean,
  availableInRecentTab?: boolean
};

    • title?: string — заголовок элемента. По умолчанию "Все сотрудники" или "Все пользователи".
    • allowView?: boolean — определяет доступность элемента в диалоге.
      По умолчанию элемент "Все сотрудники" выводится только для интранет-пользователей. Форсировать эту проверку можно с помощью опции allowView.
    • deselectable?: boolean — если задано false, с элемента нельзя будет снять выбор.
    • availableInRecentTab?: boolean — определяет показ элемента на вкладке "Последние". По умолчанию true.
    • searchable?: boolean — определяет доступность элемента в поиске. По умолчанию false.


Провайдер чатов

Провайдер чатов

Сущность "чат" имеет идентификатор im-chat и реализуется классом \Bitrix\Im\Integration\UI\EntitySelector\ChatProvider.

Данный провайдер реализует поиск и выбор чатов, а также заполняет данными вкладку "Последние", чтобы она не была пустой.

Диалог выбора чатов

const button = document.getElementById('responsible-button');
const dialog = new Dialog({
    targetNode: button,
    enableSearch: true,
    context: 'MY_MODULE_CONTEXT',
    entities: [
        {
            id: 'im-chat', // чаты
            options: {
                searchableChatTypes: [ // типы чатов, по которым следует производить поиск
                    'C', // групповые чаты
                    'L', // чаты открытых линий
                    'O', // каналы
                ]
            }
        },
    ],
});

button.addEventListener('click', function() {
    dialog.show();
});

Настройки провайдера

  • searchableChatTypes: array

    Типы чатов, по которым следует производить поиск.
    Список доступных для поиска типов чатов:

    • C — групповые чаты.
    • L — чаты открытых линий.
    • O — каналы.

Логика поиска

  • Если ищет интранет-пользователь:
    • Групповые чаты (C): поиск по всем чатам, в которых состоит интранет-пользователь.
    • Чаты открытых линий (L): поиск по всем чатам, в которых состоит интранет-пользователь.
    • Каналы (O): поиск по всем чатам.
  • Если ищет экстранет-пользователь:
    • Групповые чаты (C): поиск по всем чатам, в которых состоит экстранет-пользователь.
    • Чаты открытых линий (L): поиск по данному типу чатов не проводится.
    • Каналы (O): поиск по данному типу чатов не проводится.

Ранжирование выдачи

  • При начальном заполнении: чем позже создался чат, тем выше он в выдаче.
  • При поиске: чем позднее последнее сообщение в чате, тем выше он в выдаче.

Дополнительная информация о чате (customData)

У каждого элемента диалога в свойстве customData [image] есть ключ imChat, содержащий информацию о чате в формате, аналогичном \Bitrix\Im\Chat::getList($params). Подробнее о формате данных можно прочитать в документации [image].


Провайдер чат-ботов

Провайдер чатов

Сущность "чат-бот" имеет идентификатор im-bot и реализуется классом \Bitrix\Im\Integration\UI\EntitySelector\BotProvider.

Данный провайдер реализует поиск и выбор чат-ботов, а также заполняет данными вкладку "Последние", чтобы она не была пустой.

Диалог выбора чатов

const button = document.getElementById('responsible-button');
const dialog = new Dialog({
    targetNode: button,
    enableSearch: true,
    context: 'MY_MODULE_CONTEXT',
    entities: [
        {
            id: 'im-bot', // чат боты
            options: {
                searchableBotTypes: [ // типы чат-ботов, по которым следует производить поиск
                    'H', // чат-бот - человек, ответы поступают с задержкой от 2-х до 10 секунд
                    'B', // чат-бот, ответы от которого поступают сразу
                    'S', // чат-бот с повышенными привилегиями
                ]
            }
        },
    ],
});

button.addEventListener('click', function() {
    dialog.show();
});

Настройки провайдера

  • searchableBotTypes: array

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

    • H — чат-бот - человек, ответы поступают с задержкой от 2-х до 10 секунд.
    • B — чат-бот, ответы от которого поступают сразу.
    • S — чат-бот с повышенными привилегиями.

Ранжирование выдачи

Чем больше сообщений написали чат-боту, тем выше он в выдаче.

Дополнительная информация о чат-боте (customData)

У каждого элемента диалога в свойстве customData [image] есть следующие ключи:

  • imBot, содержащий информацию о боте в формате, аналогичном \Bitrix\Im\Bot::getCache(<ID бота>);
  • imUser, содержащий информацию о боте как о пользователе в формате, аналогичном \Bitrix\Im\User::getList($params).

Подробнее о формате данных можно прочитать в документации [image].


Интерфейс редактирования сущности

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


Использование

Параметры

Начиная с версии ui 21.1200.0 появилась возможность создавать на стандартной панели инструментов свои кнопки наряду со стандартными "Сохранить" и "Отменить". На эти кнопки можно назначить произвольные действия, соответствующие действиям, определённым в [dw]class.php[/dw][di]Поддержка классов компонентов реализована в виде файла /component_name/class.php. Class.php - это зарезервированное имя файла, и этот файл автоматически подключается при вызове $APPLICATION->IncludeComponent()
Подробнее... [/di] компонента.

В дальнейшем также планируется поддержка действий, описанных в [dw]ajax.php[/dw][di]Обработчик контроллера запросов в файле ajax.php позволяет создать легковесный обработчик аякс-запросов, явно выделяя логику из компонента.
Подробнее... [/di].

За дополнительные действия отвечают следующие параметры компонента bitrix:ui.form:

Параметр Структура Версия
COMPONENT_AJAX_DATA ADDITIONAL_ACTIONS - массив, описывающий дополнительные действия.
    Структура элемента массива:
  • ID - идентификатор действия.
  • ACTION - название действия в class.php компонента (без суффикса Action).
  • ACTION_TYPE - тип действия. Возможные значения:
    • \Bitrix\UI\EntityEditor\Action::ACTION_TYPE_SAVE - действие с сохранением (выполняется логика entity-editor, используемая при стандартном действии сохранения - проверка заполненности обязательных полей, вызов контроллеров и т.д.).
    • \Bitrix\UI\EntityEditor\Action::ACTION_TYPE_DIRECT - прямое действие (выполняется без вызова логики сохранения).
с ui 21.1200.0
CUSTOM_TOOL_PANEL_BUTTONS Массив, описывающий дополнительные кнопки на панели кнопок
    Структура элемента массива:
  • ID - идентификатор кнопки.
  • TEXT - текст кнопки.
  • ACTION_ID - идентификатор действия, привязанного к нажатию на кнопку.
  • CLASS - дополнительные CSS-классы для кнопки; например, ui-btn-light-border.
с ui 21.1200.0
TOOL_PANEL_BUTTONS_ORDER Параметр, позволяющий задавать порядок кнопок в режимах просмотра и редактирования сущности.
    Структура массива:
  • VIEW - массив с идентификаторами кнопок, выводимых в режиме просмотра.
  • EDIT - массив с идентификаторами кнопок, выводимых в режиме редактирования.

В качестве идентификаторов стандартых кнопок используются константы

\Bitrix\UI\EntityEditor\Action::DEFAULT_ACTION_BUTTON_ID для стандартного действия (сохранение);

\Bitrix\UI\EntityEditor\Action::CANCEL_ACTION_BUTTON_ID для кнопки отмены.

с ui 21.1200.0

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

На примере документов складского учёта.

Описание действий:

$this->arResult['FORM']['ADDITIONAL_ACTIONS'] = [
    [
        'ID' => 'SAVE_AND_CONDUCT',
        'ACTION' => 'saveAndConduct',
        'ACTION_TYPE' => UI\EntityEditor\Action::ACTION_TYPE_SAVE,
    ],
    [
        'ID' => 'CONDUCT',
        'ACTION' => 'conduct',
        'ACTION_TYPE' => UI\EntityEditor\Action::ACTION_TYPE_DIRECT,
    ],
    [
        'ID' => 'CANCEL_CONDUCT',
        'ACTION' => 'cancelConduct',
        'ACTION_TYPE' => UI\EntityEditor\Action::ACTION_TYPE_DIRECT,
    ],
];

Описание кнопок:

$this->arResult['FORM']['CUSTOM_TOOL_PANEL_BUTTONS'] = [
    [
        'ID' => 'SAVE_AND_CONDUCT',
        'TEXT' => Loc::getMessage('CATALOG_STORE_DOCUMENT_SAVE_AND_CONDUCT_BUTTON'),
        'ACTION_ID' => 'SAVE_AND_CONDUCT',
        'CLASS' => 'ui-btn-light-border',
    ],
    [
        'ID' => 'CONDUCT',
        'TEXT' => Loc::getMessage('CATALOG_STORE_DOCUMENT_CONDUCT_BUTTON'),
        'ACTION_ID' => 'CONDUCT',
        'CLASS' => 'ui-btn-light-border',
    ],
    [
        'ID' => 'CANCEL_CONDUCT',
        'TEXT' => Loc::getMessage('CATALOG_STORE_DOCUMENT_CANCEL_CONDUCT_BUTTON'),
        'ACTION_ID' => 'CANCEL_CONDUCT',
        'CLASS' => 'ui-btn-light-border',
    ],
];

Описание порядка кнопок на панели:

$viewButtons = $this->document && $this->document['STATUS'] === 'Y' ? ['CANCEL_CONDUCT'] : ['CONDUCT'];

$this->arResult['FORM']['TOOL_PANEL_BUTTONS_ORDER'] = [
    'VIEW' => $viewButtons,
    'EDIT' => [
        UI\EntityEditor\Action::DEFAULT_ACTION_BUTTON_ID, 'SAVE_AND_CONDUCT', UI\EntityEditor\Action::CANCEL_ACTION_BUTTON_ID,
    ],
];

При выполнении прямого действия данные с формы не передаются; для идентификации сущности можно использовать, например, подписанные параметры [image].


Отправить отзыв по этому разделу

Диалог выбора цвета

  • Введение
  • BX.ColorPicker
  • Примеры


Введение

Отправить отзыв по этому разделу
Пространство имён Bitrix>Библиотека интерфейсов>Диалог выбора цвета>Введение

Диалог выбора цвета::Введение

JavaScript библиотека color_picker реализует [dw]диалог выбора цвета[/dw][di] [image] [/di].

Вызов библиотеки

Подключение библиотеки на странице:

\CJSCore::init("color_picker");

Если у вас своя библиотека, достаточно указать зависимость.

\CJSCore::RegisterExt("my_lib", array(
    "js" => "/bitrix/js/mymodule/mylib/mylib.js",
    "css" => "/bitrix/js/mymodule/mylib/css/mylib.css",
    "rel" => array("color_picker"),
));


BX.ColorPicker

Отправить отзыв по этому разделу
Пространство имён Bitrix>Библиотека интерфейсов>Диалог выбора цвета>BX.ColorPicker

Диалог выбора цвета::BX.ColorPicker

Класс для работы с библиотекой выбора цвета

Метод Описание С версии
new BX.ColorPicker(
   [options]
)
 Метод создаёт объект класса BX.ColorPicker. Параметры:
  • options {Object} Коллекция опций диалога выбора цвета. Все настройки являются не обязательными.
    • bindElement {Element} - DOM-элемент, около которого отобразится диалог.
    • onColorSelected {Function} - Функция-обработчик выбора цвета. Принимает два аргумента: выбранный цвет и ссылку на диалог.
    • popupOptions {Object} - Коллекция опций для BX.PopupWindow.
    • selectedColor {String} - Выбранный цвет в палитре цветов.
    • defaultColor {String} - Цвет по умолчанию.
    • allowCustomColor {Boolean} - Разрешить пользователю вручную вводить код цвета. По умолчанию true.
    • colorPreview {Boolean} - Показывать предпросмотр цвета. По умолчанию true.
    • colors {Array[]} - Произвольный список цветов. Каждый элемент массива colors представляет собой массив со списком цветов и соответствует определенному ряду в палитре.

picker.open(
   [options]
)
 Показывает диалог выбора цвета на странице. Коллекция options соответствует аналогичным настройкам в BX.ColorPicker, кроме ключа popupOptions. Вызов с опциями может понадобиться, когда один экземпляр диалога будет использоваться для нескольких элементов на странице.
picker.close()
 Закрывает диалог выбора цвета.
picker.getPopupWindow()
 Возвращает ссылку на объект BX.PopupWindow.


Примеры

Отправить отзыв по этому разделу
Пространство имён Bitrix>Библиотека интерфейсов>Диалог выбора цвета>Примеры

Диалог выбора цвета::Примеры

Стандартный диалог с выбором цвета по умолчанию

var box = BX("color-box");

var picker = new BX.ColorPicker({
    bindElement: box,
    defaultColor: "#000000",
    onColorSelected: function(color, picker) {
        box.style.backgroundColor = color;
    }
});

picker.open();

Обработка закрытия диалога

var box = BX("color-box");

var picker = new BX.ColorPicker({
    bindElement: box,
    onColorSelected: function(color, picker) {
        box.style.backgroundColor = color;
    },
    popupOptions: {
        offsetTop: 10,
        offsetLeft: 10,
        events: {
            onPopupClose: function() {
                console.log("closed");
            },
            onPopupShow: function() {
                console.log("open");
            }
        }
    }
});

picker.open();

Своя палитра

var box = BX("color-box");

var picker = new BX.ColorPicker({
    bindElement: box,
    allowCustomColor: false,
    colorPreview: false,
    onColorSelected: function(color, picker) {
        box.style.backgroundColor = color;
    },
    colors: [
        ["#ace9fb", "#beedf1", "#9ae1dd"],
        ["#fff", "#000", "#def"],
        ["#ffbdbc", "#ffcbd8", "#fec5e4"],
        ["#c5bbec", "#dbdde0", "#dbf199"]
    ]
});

picker.open();

Один объект и несколько элементов управления

<input type="text" size="10" value="#ffffff" id="input1"> <button id="button1">Выбрать цвет</button><p>
<input type="text" size="10" value="#000000" id="input2"> <button id="button2">Выбрать цвет</button><p>
<input type="text" size="10" value="" id="input3"> <button id="button3">Выбрать цвет<button>

(function() {

    "use strict";

    var picker = new BX.ColorPicker({
        bindElement: null,
        defaultColor: "#000000",
        popupOptions: {
            offsetTop: 10,
            offsetLeft: 10,
            angle: true,
            events: {
                onPopupClose: function() {
                    console.log("closed");
                },
                onPopupShow: function() {
                    console.log("open");
                }
            }
        }
    });

    BX.bind(BX("button1"), "click", onButtonClick);
    BX.bind(BX("button2"), "click", onButtonClick);
    BX.bind(BX("button3"), "click", onButtonClick);

    function onButtonClick(event)
    {
        var target = event.target;
        var input = target.previousElementSibling;

        picker.open({
            selectedColor: BX.type.isNotEmptyString(input.value) ? input.value : null,
            bindElement: target,
            onColorSelected: onColorSelected.bind(input)
        });
    }

    function onColorSelected(color, picker)
    {
        this.value = color;
    }

})();


Отправить отзыв по этому разделу

Диалог для пошагового процесса

  • Общее
  • Примеры


Общее

Общий принцип работы

Универсальный диалог для запуска и контроля длительных пошаговых процессов. Серверная часть - ajax-контроллер [image]. Область применения — везде, где длительность работы скрипта превышает ограничение по времени жизни php-хита и есть возможность дробления процесса на порции/шаги.

[dw]Примеры[/dw][di] [image] [/di] использования этого механизма: экспорт, импорт, индексация, объёмные групповые действия.

Общий принцип работы:

  1. Формируется последовательная очередь заданий для ajax-контроллера или набора контроллеров.
  2. Пользователь до старта процесса на диалоге может указать параметры запроса. Доступные типы полей: select, checkbox, radio, file, textarea.
  3. После старта браузер шлет одинаковые запросы к контроллеру текущего пункта очереди, последовательно отрабатывая очередь заданий. Параметры, заданные на старте, повторяются на всех хитах к контроллеру, за исключением поля типа файл.
  4. Ответ контроллера должен содержать статус процесса (продолжай/выполнено) и данные о прогрессе (всего/прогресс). При получении статуса "выполнено" выполняется переход к следующему пункту очереди.
  5. Прогресс в ходе процесса отображается прогресс-баром и текстовыми аннотациями.
  6. Процесс может прерваться на ошибке, выводимой на диалог.
  7. Процесс также может быть прерван пользователем либо обработчиком события, или со стороны сервера при отправке поля finalize в ответе.
  8. Если результатом работы процесса является файл, то на финальном шаге процесса можно вывести кнопку со ссылкой для скачивания файла и кнопку для удаления файла на сервере.

Подключение

//php
\Bitrix\Main\UI\Extension::load("ui.stepprocessing");

//es6
import { Process, ProcessManager } from 'ui.stepprocessing';

Инициализация процесса

Пример стартового диалога c полями для ввода пользователем:

Пример добавления нового экземпляра процесса в реестр процессов на странице.

// PHP
?><stript>
BX.UI.StepProcessing.ProcessManager.create(<?=Json::encode([
    'id' => 'import', // Уникальный идентификатор процесса в контексте страницы
    'controller' => 'bitrix:awesome.dancer', // дефолтый контроллер процесса
    'messages' => [
         // Для всех сообщений уже имеются фразы по-умолчанию.
         // Переопределение фразы необходимо для кастомизации под конкретную задачу.
        'DialogTitle' => Loc::getMessage('DialogTitle'), // Заголовок диалога
        'DialogSummary' => Loc::getMessage('DialogSummary'), // Аннотация на стартовом диалоге
        'DialogStartButton' => Loc::getMessage('DialogStartButton'), // Кнопка старт
        'DialogStopButton' => Loc::getMessage('DialogStopButton'), // Кнопка стоп
        'DialogCloseButton' => Loc::getMessage('DialogCloseButton'), // Кнопка закрыть
        'RequestCanceling' => Loc::getMessage('RequestCanceling'), // Аннотация, выводимая п прерывании процесса. По-умолчанию: 'Прерываю...'"
        'RequestCanceled' => Loc::getMessage('RequestCanceled'), // Аннотация, выводимая если процесс прерван
        'RequestCompleted' => Loc::getMessage('RequestCompleted'), // Текст на финальном диалоге успешного завершения
        'DialogExportDownloadButton' => Loc::getMessage('DialogExportDownloadButton'), // Кнопка для скачивания файла
        'DialogExportClearButton' => Loc::getMessage('DialogExportClearButton'), // Кнопка удаления файла
    ],

    // Очередь заданий
    'queue' => [
        [
            'action' => 'tango', // действие контроллера
            'title' => Loc::getMessage('ACTION_UPLOAD', ['#NUM#' => 1, '#LEN#' => 3]), // аннотация диалога на шаге
            'progressBarTitle' => Loc::getMessage('ACTION_UPLOAD_PROGRESS'), // короткая аннотация для прогресс-бара
        ],
        [
            'action' => 'swing',
            'title' => Loc::getMessage('IMPORT_CSV', ['#NUM#' => 2, '#LEN#' => 3]),
            'progressBarTitle' => Loc::getMessage('IMPORT_CSV_PROGRESS'),
        ],
        [
            'controller' => 'bitrix:awesome.dancer.fest', // отдельный контроллер на шаге
            'params' => ['checkIndex' => 'Y'], // дополнительные параметры, добавляемые в запрос
            'action' => 'rumba',
            'title' => Loc::getMessage('INDEX', ['#NUM#' => 3, '#LEN#' => 3]),
            'progressBarTitle' => Loc::getMessage('INDEX_PROGRESS'),
        ],
        ...
        [
            'action' => 'finalize',
            'finalize' => true, // финальный шаг не отображается пользователю
        ],
    ],

    // параметры, добавляемые в запрос на всех хитах к контроллеру
    'params' => [
        'path' => "/bitrix/modules", // список {name: value}
        ...
    ],

    // поля, выводимые на стартовом диалоге
    'optionsFields' => [
       'csvFile' => [
            'name' => 'csvFile',// уникальное имя в рамках диалога
            'type' => 'file', // тип поля 'checkbox' | 'select' | 'radio' | 'text' | 'file'
            'title' => Loc::getMessage('UPLOAD_FILE'), // наименование поля
            'obligatory' => true, // обязателен для заполнения
            'emptyMessage' => Loc::getMessage('UPLOAD_FILE_ERROR'),//текст ошибки если не заполнено
        ],
        'encodingIn' => [
            'name' => 'encodingIn',
            'type' => 'select',
            'title' => Loc::getMessage('ENCODING'),
            'list' => [
              'utf-8' => Loc::getMessage('ENCODING'),// список {value: title}
              ...
            ],
            'value' => 'utf-8',// значение по-умолчанию
            'multiple' => true, // селектор множественного выбора. Только для полей 'checkbox' | 'select'
        ],
        ...
    ],
    'eventHandlers' => [
        'StateChanged' => '', // js-function обработчик на события StateChanged
        'RequestStart' => '', // js-function обработчик на события RequestStart
        'RequestStop' => '', // js-function обработчик на события RequestStop
        'RequestFinalize' => '', // js-function обработчик на события RequestFinalize
    ],
    'showButtons' => [
        'start' => true, // вывести кнопку Старт. По-умолчанию: true
        'stop' => true, // вывести кнопку Стоп. По-умолчанию: true
        'close' => true, // вывести кнопку Закрыть. По-умолчанию: true
    ],
])?>);

// javascript
var progress = (new BX.UI.StepProcessing.Process({
        'id': 'awesome',
        'controller': 'bitrix:awesome.dancer'
    })

    .setQueue([{..}, {..}])// установить всю очередь заданий
    .addQueueAction({...}) // добавить отдельное задание

    // установить поля на стартовый диалог
    .setOptionsFields({
        'name': {...},
        ...
    })
    // добвить отдельное поле
    .addOptionsField('name', {...})

    // параметры запроса
    .setParams({'key': 'any value'})
    .setParam('key', 'any value')

    // функции коллбеки
    .setHandlers({
        'StateChanged': function(ProcessState, ProcessResult){},
        'RequestStart': function(FormData){},
        'RequestStop': function(){},
        'RequestFinalize': function(){}
    })
    .setHandler('StateChanged', function(){})

    // фразы, выводимые на диалог и кнопки
    .setMessages({
        'DialogTitle': '', // Эти обязательно необходимо определить
        'DialogSummary': '', // Эти обязательно необходимо определить
        'DialogStartButton': 'Старт',
        'DialogStopButton': 'Стоп',
        'DialogCloseButton': 'Закрыть',
        'RequestCanceling': 'Отменяю..',
        'RequestCanceled': 'Процесс остановлен',
        'RequestCompleted': 'Готово!',
        'DialogExportDownloadButton': 'Скачать файл',
        'DialogExportClearButton': 'Удалить файл'
    })
    .setMessage('DialogStartButton', 'Старт')

    .showDialog()
    .start();

Отображение диалога

ProcessManager.get(код процесса) - получение ссылки на инстанс процесса по его уникальному коду.

Process.showDialog() - отображение диалога.

HTML
<button onclick="BX.UI.StepProcessing.ProcessManager.get('import').showDialog()" class="ui-btn ui-btn-primary">Импорт CSV</button>

Старт процесса из js

Process.start() - стартует выполнение очереди заданий

     //javascript

     BX.UI.StepProcessing.ProcessManager.get('smthng')

     .setParams(BX.ajax.prepareForm(form).data) // копирует параметры с формы на странице

     .showDialog() // отобразить диалог

     .start(/* номер задания в очереди */); // стартует выполнение очереди.

Ответ контроллера

Ответ ajax-контроллера должен содержать обязательные поля:

  • TOTAL_ITEMS - Общий объём элементов в обработке. Целое число;
  • PROCESSED_ITEMS - Число уже обработанных элементов;
  • STATUS - Статус выполнения текущего задания. Принимаются только два значения:
    • PROGRESS - задание еще не окончено, необходимо повторить запрос с теми же параметрами;
    • COMPLETED - задание выполнено, можно переходить к следующему;
  • SUMMARY - Текстовая аннотация к результату выполненного действия.

Необязательные поля:

  • FINALIZE - досрочно завершить текущий процесс;
  • WARNING - текст предупреждения об нефатальных для процесса проблемах, который будет выведен на диалог;
  • NEXT_CONTROLLER - в следующем запросе принудительно переключиться на этот контроллер;
  • NEXT_ACTION - в следующем запросе выполнить это действие;
  • DOWNLOAD_LINK - ссылка на скачивание сформированного файла;
  • FILE_NAME - наименование файла для атрибута ссылки вида <a href="${downloadLink}" download="${fileName}">;
  • DOWNLOAD_LINK_NAME - Текст, выводимый на кнопку для скачивания файла;
  • CLEAR_LINK_NAME - Текст, выводимый на кнопку для удаления файла.

А также любые дополнительные поля для обработки в обработчиках событий и функции колбек StateChanged.

//JSON
{
  "data":
  {
    "PROCESSED_ITEMS":355,
    "TOTAL_ITEMS":545,
    "STATUS":"PROGRESS",
    "SUMMARY":"Обработано 355 из 545 штук"
  },
  "status":"success", // стандартное поле ajax-контроллера BX.ajax
  "errors":[] // стандартное поле ajax-контроллера со списком ошибок
}

Виды диалогов

Промежуточный вид диалога процесса:

Финальный вид диалога, с кнопками для скачивания файла:

Функции колбеки на экземпляре процесса

В ходе цикла обработки очереди заданий вызываются следующие колбеки непосредственно в контексте экземпляра процесса:

  • StateChanged - При смене состояния процесса на стороне клиента.
  • Состояние процесса принимает следующие значения:

    • ProcessState.intermediate - ожидание действия пользователя;
    • ProcessState.running - процесс в работе;
    • ProcessState.completed - выполнено;
    • ProcessState.stopped - процесс прерван;
    • ProcessState.error - процесс остановлен из-за ошибки;
    • ProcessState.canceling - процесс прерывается.
  • RequestStart - Колбек вызывается непоследственно перед ajax вызовом.
  • RequestStop - Колбек вызывается при остановке процесса пользователем. Контроллер должен реализовать действие с именем cancel.
  • RequestFinalize - Колбек вызывается при выполнении задания с параметром finalize, предназначенного для освобождения ресурсов и очистки временных данных. Контроллер должен реализовать действие с именем finalize.
  • StepCompleted - Колбек вызывается если шаг очереди закончен.

    // javascript
var progress = (new BX.UI.StepProcessing.Process({
        'id': 'awesome',
        'controller': 'bitrix:awesome.dancer'
    }))
    .setHandler(
       BX.UI.StepProcessing.ProcessCallback.StateChanged,
       function(ProcessState, ProcessResult){
       }
    )
    .setHandler(
       BX.UI.StepProcessing.ProcessCallback.RequestStart,
       function(FormData){
       }
    )
    .setHandler(
       BX.UI.StepProcessing.ProcessCallback.RequestStop,
       function(actionData){
       }
    )
    .setHandler(
       BX.UI.StepProcessing.ProcessCallback.RequestFinalize,
       function(actionData){
       }
    );

Функции колбеки на отдельном шаге процесса

Если требуется передавать или обрабатывать данные между отдельными итерациями одного шага, можно установить функции коллбеки на действии. Типы коллбеков полностью идентичны устанавливаемым на экземпляре процесса. Коллбек на действии имеет приоритет над аналогичным колбеком на экземпляре процесса, и будет вызван только он.

javascript
//javascript
var progress = (new BX.UI.StepProcessing.Process({
    'id': 'awesome',
    'controller': 'bitrix:awesome.dancer'
}))
    .addQueueAction({
'action': 'someaction',
'handlers': {
'StepCompleted': function (state, result)
{
/** @type {BX.UI.StepProcessing.Process} this */
}
}
})

События, эмитируемые в глобал

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

  • BX.UI.StepProcessing.StateChanged - Событие выбрасывается при смене состояния процесса.
  • BX.UI.StepProcessing.BeforeRequest - Событие выбрасывается непосредственно перед ajax вызовом.
  • BX.UI.StepProcessing.Dialog.Shown - Событие сразу после показа диалога.
  • BX.UI.StepProcessing.Dialog.Closed - Событие сразу после закрытия диалога.
  • BX.UI.StepProcessing.Dialog.Start - Событие после нажатия кнопки Старт.
  • BX.UI.StepProcessing.Dialog.Stop - Событие после нажатия кнопки Стоп.

Подписка на событие:

// javascript
BX.Event.EventEmitter.subscribe(BX.UI.StepProcessing.ProcessEvent.BeforeRequest, function(event){
    /** @type {BX.Main.Event.BaseEvent} event */
    /** @type {BX.UI.StepProcessing.Process} process */
    var process = event.data.process ? event.data.process : {};
    var params = event.data.actionData ? event.data.actionData : {};

    ...
});


Примеры

Импорт данных из файла

// javascript
var progress = (new BX.UI.StepProcessing.Process({
        'id': 'awesome',
        'controller': 'bitrix:awesome.dancer'
    })

    // установить всю очередь заданий
    .setQueue([
        {'action': 'upload', 'title': 'Загрузка'},
        {'action': 'parse', 'title': 'Разбор'}
    ])
    // добавить отдельное задание
    .addQueueAction({'action': 'finalize', 'finalize':  true})

    // установить поля на стартовый диалог
    .setOptionsFields({
       'convertEncoding': {
           'name' 'allowConvert',
           'type' 'checkbox',
           'title' Loc::getMessage('ALLOW_CONVERT'),
           'value' true,
       },
        'languages': {
            'name': 'languages',
            'type': 'select',
            'multiple': true,
            'size': 10,
            'title': Loc::getMessage('LANGUAGES'),
            'list': ['all': Loc::getMessage('LANGUAGES_ALL'), 'ru': 'ru', ...],
            'value': 'all',
        },
    })
    // добвить отдельное поле
    .addOptionsField('csvFile', {
        'name': 'csvFile',
        'type': 'file',
        'title': Loc::getMessage('TR_UPLOAD_CSV_FILE'),
        'obligatory': true,
        'emptyMessage': Loc::getMessage('TR_UPLOAD_CSV_FILE_EMPTY_ERROR'),
    })

    // параметры запроса
    .setParams({
        'key': 'any value',
        'path': '/somewhere/',
    })
    .setParam('key', 'any value')

    // фразы, выводимые на диалог и кнопки
    .setMessages({
        'DialogTitle': 'Импорт', // обязательно необходимо определить
        'DialogSummary': 'Импорт данных', // обязательно необходимо определить
        'DialogStartButton': 'Старт',
        'DialogStopButton': 'Стоп',
        'DialogCloseButton': 'Закрыть',
        'RequestCanceling': 'Отменяю..',
        'RequestCanceled': 'Процесс остановлен',
        'RequestCompleted': 'Готово!',
    })
    .setMessage('DialogStartButton', 'Старт')

    // функции коллбеки
    .setHandler(
        BX.UI.StepProcessing.ProcessCallback.StateChanged,
        function (state, result)
        {
            /** @type {BX.UI.StepProcessing.Process} this */
            if (state === BX.UI.StepProcessing.ProcessResultStatus.completed)
            {
                var grid = BX.Main.gridManager.getById(gridId);
                grid.reload();
                this.closeDialog();
            }
        }
    )
;

HTML
<button onclick="BX.UI.StepProcessing.ProcessManager.get('awesome').showDialog()" class="ui-btn ui-btn-primary">Импорт</button>

Дополнить параметры запроса на шаге

// javascript
var progress = (new BX.UI.StepProcessing.Process({
        'id': 'awesome',
        'controller': 'bitrix:awesome.dancer'
    })
    // функция колбек, вызываемая непосредственно для отправки ajax запроса
    .setHandler(
        BX.UI.StepProcessing.ProcessCallback.RequestStart,
        function(actionData)
        {
            /**
             * @var {FormData} actionData
             * @var {BX.UI.StepProcessing.Process} this
             */
            actionData.append('smthg', 'got it!');
        }
    );

Параметры для запроса с формы на странице

// процесс
var process = (new BX.UI.StepProcessing.Process({
        id: 'import',
        controller: 'bitrix:jobworking'
    }))
    // очередь заданий
    .addQueueAction({'action': 'dosmth', 'title': 'Делаю'})
    .setMessag('RequestCompleted', 'Сделал!');

var form = document.forms['form'];
process
    .setParams(BX.ajax.prepareForm(form).data)
    .showDialog()
    .start();

Перехват события DropFile в рабочей области

    // capture file drop event
    BX("adm-workarea").ondrop = function (evt)
    {
        // просесс
        var process = (new BX.UI.StepProcessing.Process({
                id: 'import',
                controller: 'bitrix:importer'
            }))
            // поле типа файл
           .addOptionsField('File', {'type': 'file'})
           // очередь заданий
           .addQueueAction({'action': 'upload', 'title': 'Загрузка'})
           .addQueueAction({'action': 'parse', 'title': 'Разбор'})
           .addQueueAction({'action': 'finalize', 'finalize':  true})
           .setMessag('RequestCompleted', 'Готово!')
            // вывести диалог
           .showDialog();

        // поле ввода типа file
        var fileInput = process.getDialog().getOptionField('File');
        if (fileInput)
        {
            // установка значания файла из события
            fileInput.setValue(evt.dataTransfer.files);
        }

        // старт
        process.start();

        evt.preventDefault();
    };

Передача данных между итерациями

Если требуется передавать данные между итерациями одного шага то используйте колбек StepCompleted, который вызывается каждый раз когда приходит ответ от сервера.

// payload action step
.addQueueAction({
    'title': 'Действие',
    'action': 'someAction',
    'handlers': {
        // сохраним значения total и processed между запросами
        'StepCompleted': function (state, result)
        {
            /** @type {BX.UI.StepProcessing.Process} this */
            if (state === BX.UI.StepProcessing.ProcessResultStatus.progress)
            {
                var fields = this.getParam('fields') || [];
                if (result.TOTAL_ITEMS)
                {
                    fields.totalItems = parseInt(result.TOTAL_ITEMS);
                }
                if (result.PROCESSED_ITEMS)
                {
                    fields.processedItems = parseInt(result.PROCESSED_ITEMS);
                }
                this.setParam('fields', fields);
            }
        }
    }
})


Отправить отзыв по этому разделу

Иконки

  • Список иконок
  • Общее
  • BX.UI.Icons.Generator.FileIcon


Общее

Подключение и базовый стиль

Подключение на PHP странице

\Bitrix\Main\UI\Extension::load("ui.icons");

Базовый стиль

.ui-icon имеет по умолчанию свойство display: inline-block.

<!-- .ui-icon.ui-icon-service-bitrix24 > i -->
<div class="ui-icon ui-icon-service-bitrix24"><i></i></div>

Размеры

LG

Модификатор .ui-icon-lg.

<!-- .ui-icon.ui-icon-service-bitrix24.ui-icon-lg > i -->
<div class="ui-icon ui-icon-service-bitrix24 ui-icon-lg"><i></i></div>

MD

Модификатор .ui-icon-md. Размер по умолчанию.

<!-- .ui-icon.ui-icon-service-bitrix24.ui-icon-md > i -->
<div class="ui-icon ui-icon-service-bitrix24 ui-icon-md"><i></i></div>

SM

Модификатор .ui-icon-sm.

<!-- .ui-icon.ui-icon-service-bitrix24.ui-icon-sm > i -->
<div class="ui-icon ui-icon-service-bitrix24 ui-icon-sm"><i></i></div>

XS

Модификатор .ui-icon-xs.

<!-- .ui-icon.ui-icon-service-bitrix24.ui-icon-xs > i -->
<div class="ui-icon ui-icon-service-bitrix24 ui-icon-xs"><i></i></div>

Свой размер

.docs-icon-login — произвольный класс. Устанавливает необходимый размер иконки в стилях собственного модуля или компонента.

Достаточно указать только ширину (width).

<!-- .ui-icon.ui-icon-service-bitrix24.docs-icon-login > i -->
<style>.docs-icon-login { width: 128px; }</style>
<div class="ui-icon ui-icon-service-bitrix24 docs-icon-login"><i></i></div>

Второй способ установки собственного размера иконки, прописать ширину(width) непосредственно в атрибуте style в .ui-icon.

<!-- .ui-icon.ui-icon-service-bitrix24[style="width: 128px;"] > i -->
<div class="ui-icon ui-icon-service-bitrix24" style="width: 128px;"><i></i></div>

Иконка в роли кнопки

Модификатор .ui-icon-btn. Вместо класса можно использовать тег <button>. Эффект будет ровно такой же как при спользовании модификатора .ui-icon-btn.

<!-- a.ui-icon.ui-icon-service-bitrix24.ui-icon-btn > i -->
<a href="" class="ui-icon ui-icon-service-bitrix24 ui-icon-btn"><i></i></a>

<!-- button.ui-icon.ui-icon-service-bitrix24.ui-icon-btn > i -->
<button class="ui-icon ui-icon-service-bitrix24"><i></i></button>

Квадратные иконки

Модификатор .ui-icon-square.

<!-- .ui-icon.ui-icon-service-bitrix24.ui-icon-square > i -->
<div class="ui-icon ui-icon-service-bitrix24 ui-icon-square"><i></i></div>


BX.UI.Icons.Generator.FileIcon

Расширение создано для генерации SVG иконок файлов, с указанием любых расширений.

Класс имеет два метода возвращающих SVG иконку:

  • generate() вернет Dom элемент SVG
  • generateURI() Возвращает кодированный в URI исходник картинки для использования в качестве фона.

Конечно иконку можно кастомизировать, но ни один параметр не является обязательным, это означает что при вызове без параметров вы получите иконка «бланк»:

let myIcon = new BX.UI.Icons.Generator.FileIcon();

Параметры

Параметров, позволяющих кастомизировать иконку всего 4, давайте рассмотрим:

name {string}. Это опция для указания расширения, рекомендуется использовать до 5 символов. Класс имеет пресеты, поэтому, если вы укажите например RAR, иконка будет сгенерировано по параметрам определенным нашим дизайнером.

color {string} определяет цвет лейбла для подписи. Если опция name не задана, color не работает, т.к. красить нечего. Также эта опция переопределяет значение из пресета.

fileType в этой опции задается типа файла, всего их 3.

BX.UI.Icons.Generator.FileType.ARCHIVE
BX.UI.Icons.Generator.FileType.MEDIA
BX.UI.Icons.Generator.FileType.PICTURE

Также эта опция переопределяет значение из пресета, если таковое имеется.

size {number} здесь указывается ширина иконки в px. Если опция не задана, иконка займет 100% доступной ширины.


Отправить отзыв по этому разделу

Список иконок

  • Иконки КорпПортала
  • Иконки сервисов
  • Иконки диска


Иконки КорпПортала

Внимание! В новых версиях Библиотеки интерфейсов некоторые иконки могут отсутствовать.

\Bitrix\Main\UI\Extension::load("ui.icons.b24");
Иконка Код
<!-- .ui-icon.ui-icon-common-user > i -->
<div class="ui-icon ui-icon-common-user"><i></i></div>

<!-- .ui-icon.ui-icon-common-user-group > i -->
<div class="ui-icon ui-icon-common-user-group"><i></i></div>

<!-- .ui-icon.ui-icon-common-company > i -->
<div class="ui-icon ui-icon-common-company"><i></i></div>

<!-- .ui-icon.ui-icon-common-phone > i -->
<div class="ui-icon ui-icon-common-phone"><i></i></div>

<!-- .ui-icon.ui-icon-common-notification > i -->
<div class="ui-icon ui-icon-common-notification"><i></i></div>

<!-- .ui-icon.ui-icon-common-bitrix24 > i -->
<div class="ui-icon ui-icon-common-bitrix24"><i></i></div>

<!-- .ui-icon.ui-icon-common-cloud > i -->
<div class="ui-icon ui-icon-common-cloud"><i></i></div>

<!-- .ui-icon.ui-icon-common-folder > i -->
<div class="ui-icon ui-icon-common-folder"><i></i></div>

<!-- .ui-icon.ui-icon-common-info > i -->
<div class="ui-icon ui-icon-common-info"><i></i></div>


Иконки сервисов

Внимание! В новых версиях Библиотеки интерфейсов некоторые иконки могут отсутствовать.

\Bitrix\Main\UI\Extension::load("ui.icons.service");
Иконка Код Иконка Код С версии
<!-- .ui-icon.ui-icon-service-alice > i -->
<div class="ui-icon ui-icon-service-alice"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-alice > i -->
<div class="ui-icon ui-icon-service-light-alice"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-twilio > i -->
<div class="ui-icon ui-icon-service-twilio"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-twilio > i -->
<div class="ui-icon ui-icon-service-light-twilio"><i></i></div>

<!-- .ui-icon.ui-icon-service-callback > i -->
<div class="ui-icon ui-icon-service-callback"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-callback > i -->
<div class="ui-icon ui-icon-service-light-callback"><i></i></div>

<!-- .ui-icon.ui-icon-service-livechat > i -->
<div class="ui-icon ui-icon-service-livechat"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-livechat > i -->
<div class="ui-icon ui-icon-service-light-livechat"><i></i></div>

<!-- .ui-icon.ui-icon-service-liveid > i -->
<div class="ui-icon ui-icon-service-liveid"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-liveid > i -->
<div class="ui-icon ui-icon-service-light-liveid"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-ya > i -->
<div class="ui-icon ui-icon-service-ya"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-ya > i -->
<div class="ui-icon ui-icon-service-light-ya"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-ya-dialogs > i -->
<div class="ui-icon ui-icon-service-ya-dialogs"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-ya-dialogs > i -->
<div class="ui-icon ui-icon-service-light-ya-dialogs"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-ya-direct > i -->
<div class="ui-icon ui-icon-service-ya-direct"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-ya-direct > i -->
<div class="ui-icon ui-icon-service-light-ya-direct"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-1c > i -->
<div class="ui-icon ui-icon-service-1c"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-1c > i -->
<div class="ui-icon ui-icon-service-light-1c"><i></i></div>

<!-- .ui-icon.ui-icon-service-google > i -->
<div class="ui-icon ui-icon-service-google"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-google > i -->
<div class="ui-icon ui-icon-service-light-google"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-google-ads > i -->
<div class="ui-icon ui-icon-service-google-ads"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-google-ads > i -->
<div class="ui-icon ui-icon-service-light-google-ads"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-twitter > i -->
<div class="ui-icon ui-icon-service-twitter"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-twitter > i -->
<div class="ui-icon ui-icon-service-light-twitter"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-email > i -->
<div class="ui-icon ui-icon-service-email"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-email > i -->
<div class="ui-icon ui-icon-service-light-email"><i></i></div>

<!-- .ui-icon.ui-icon-service-messenger > i -->
<div class="ui-icon ui-icon-service-messenger"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-messenger > i -->
<div class="ui-icon ui-icon-service-light-messenger"><i></i></div>

<!-- .ui-icon.ui-icon-service-estore > i -->
<div class="ui-icon ui-icon-service-estore"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-estore > i -->
<div class="ui-icon ui-icon-service-light-estore"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-imessage > i -->
<div class="ui-icon ui-icon-service-imessage"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-imessage > i -->
<div class="ui-icon ui-icon-service-light-imessage"><i></i></div>

<!-- .ui-icon.ui-icon-service-webform > i -->
<div class="ui-icon ui-icon-service-webform"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-webform > i -->
<div class="ui-icon ui-icon-service-light-webform"><i>></i></div>

<!-- .ui-icon.ui-icon-service-sms > i -->
<div class="ui-icon ui-icon-service-sms"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-sms > i -->
<div class="ui-icon ui-icon-service-light-sms"><i>></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-call > i -->
<div class="ui-icon ui-icon-service-call"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-call > i -->
<div class="ui-icon ui-icon-service-light-call"><i></i></div>

<!-- .ui-icon.ui-icon-service-call-up > i -->
<div class="ui-icon ui-icon-service-call-up"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-call-up > i -->
<div class="ui-icon ui-icon-service-light-call-up"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-infocall > i -->
<div class="ui-icon ui-icon-service-infocall"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-infocall > i -->
<div class="ui-icon ui-icon-service-light-infocall"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-site-b24 > i -->
<div class="ui-icon ui-icon-service-site-b24"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-site-b24 > i -->
<div class="ui-icon ui-icon-service-light-site-b24"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-site > i -->
<div class="ui-icon ui-icon-service-site"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-site > i -->
<div class="ui-icon ui-icon-service-light-site"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-calltracking > i -->
<div class="ui-icon ui-icon-service-calltracking"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-calltracking > i -->
<div class="ui-icon ui-icon-service-light-calltracking"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-telegram > i -->
<div class="ui-icon ui-icon-service-telegram"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-telegram > i -->
<div class="ui-icon ui-icon-service-light-telegram"><i></i></div>

<!-- .ui-icon.ui-icon-service-bitrix24 > i -->
<div class="ui-icon ui-icon-service-bitrix24"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-bitrix24 > i -->
<div class="ui-icon ui-icon-service-light-bitrix24"><i></i></div>

<!-- .ui-icon.ui-icon-service-groupme > i -->
<div class="ui-icon ui-icon-service-groupme"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-groupme > i -->
<div class="ui-icon ui-icon-service-light-groupme"><i></i></div>

<!-- .ui-icon.ui-icon-service-crm > i -->
<div class="ui-icon ui-icon-service-crm"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-crm > i -->
<div class="ui-icon ui-icon-service-light-crm"><i></i></div>

<!-- .ui-icon.ui-icon-service-lead > i -->
<div class="ui-icon ui-icon-service-lead"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-lead > i -->
<div class="ui-icon ui-icon-service-light-lead"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-deal > i -->
<div class="ui-icon ui-icon-service-deal"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-deal > i -->
<div class="ui-icon ui-icon-service-light-deal"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-campaign > i -->
<div class="ui-icon ui-icon-service-campaign"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-campaign > i -->
<div class="ui-icon ui-icon-service-light-campaign"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-chatbot > i -->
<div class="ui-icon ui-icon-service-chatbot"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-chatbot > i -->
<div class="ui-icon ui-icon-service-light-chatbot"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-common > i -->
<div class="ui-icon ui-icon-service-common"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-common > i -->
<div class="ui-icon ui-icon-service-light-common"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-g-assistant > i -->
<div class="ui-icon ui-icon-service-g-assistant"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-g-assistant > i -->
<div class="ui-icon ui-icon-service-light-g-assistant"><i></i></div>

<!-- .ui-icon.ui-icon-service-microsoft > i -->
<div class="ui-icon ui-icon-service-microsoft"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-microsoft > i -->
<div class="ui-icon ui-icon-service-light-microsoft"><i></i></div>

<!-- .ui-icon.ui-icon-service-office365 > i -->
<div class="ui-icon ui-icon-service-office365"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-office365 > i -->
<div class="ui-icon ui-icon-service-light-office365"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-skype > i -->
<div class="ui-icon ui-icon-service-skype"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-skype > i -->
<div class="ui-icon ui-icon-service-light-skype"><i></i></div>

<!-- .ui-icon.ui-icon-service-webchat > i -->
<div class="ui-icon ui-icon-service-webchat"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-webchat > i -->
<div class="ui-icon ui-icon-service-light-webchat"><i></i></div>

<!-- .ui-icon.ui-icon-service-directline > i -->
<div class="ui-icon ui-icon-service-directline"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-directline > i -->
<div class="ui-icon ui-icon-service-light-directline"><i></i></div>

<!-- .ui-icon.ui-icon-service-envelope > i -->
<div class="ui-icon ui-icon-service-envelope"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-envelope > i -->
<div class="ui-icon ui-icon-service-light-envelope"><i></i></div>

<!-- .ui-icon.ui-icon-service-outlook > i -->
<div class="ui-icon ui-icon-service-outlook"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-outlook > i -->
<div class="ui-icon ui-icon-service-light-outlook"><i></i></div>

<!-- .ui-icon.ui-icon-service-vk > i -->
<div class="ui-icon ui-icon-service-vk"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-vk > i -->
<div class="ui-icon ui-icon-service-light-vk"><i></i></div>

<!-- .ui-icon.ui-icon-service-vk-adds > i -->
<div class="ui-icon ui-icon-service-vk-adds"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-vk-adds > i -->
<div class="ui-icon ui-icon-service-light-vk-adds"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-vk-order > i -->
<div class="ui-icon ui-icon-service-vk-order"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-vk-order > i -->
<div class="ui-icon ui-icon-service-light-vk-order"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-slack > i -->
<div class="ui-icon ui-icon-service-slack"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-slack > i -->
<div class="ui-icon ui-icon-service-light-slack"><i></i></div>

<!-- .ui-icon.ui-icon-service-viber > i -->
<div class="ui-icon ui-icon-service-viber"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-viber > i -->
<div class="ui-icon ui-icon-service-light-viber"><i></i></div>

<!-- .ui-icon.ui-icon-service-kik > i -->
<div class="ui-icon ui-icon-service-kik"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-kik > i -->
<div class="ui-icon ui-icon-service-light-kik"><i></i></div>

<!-- .ui-icon.ui-icon-service-apple > i -->
<div class="ui-icon ui-icon-service-apple"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-apple > i -->
<div class="ui-icon ui-icon-service-light-apple"><i></i></div>

<!-- .ui-icon.ui-icon-service-universal > i -->
<div class="ui-icon ui-icon-service-universal"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-universal > i -->
<div class="ui-icon ui-icon-service-light-universal"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-organic > i -->
<div class="ui-icon ui-icon-service-organic"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-organic > i -->
<div class="ui-icon ui-icon-service-light-organic"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-service-telephonybot > i -->
<div class="ui-icon ui-icon-service-telephonybot"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-telephonybot > i -->
<div class="ui-icon ui-icon-service-light-telephonybot"><i></i></div>
19.0.400
<!-- .ui-icon.ui-icon-service-whatsapp > i -->
<div class="ui-icon ui-icon-service-whatsapp"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-whatsapp > i -->
<div class="ui-icon ui-icon-service-light-whatsapp"><i></i></div>
19.0.400
<!-- .ui-icon.ui-icon-service-wechat > i -->
<div class="ui-icon ui-icon-service-wechat"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-wechat > i -->
<div class="ui-icon ui-icon-service-light-wechat"><i></i></div>
19.0.400
<!-- .ui-icon.ui-icon-service-avito > i -->
<div class="ui-icon ui-icon-service-avito"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-avito > i -->
<div class="ui-icon ui-icon-service-light-avito"><i></i></div>
19.0.400
<!-- .ui-icon.ui-icon-service-mailru > i -->
<div class="ui-icon ui-icon-service-mailru"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-mailru > i -->
<div class="ui-icon ui-icon-service-light-mailru"><i></i></div>
19.0.400
<!-- .ui-icon.ui-icon-service-sberbank > i -->
<div class="ui-icon ui-icon-service-sberbank"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-sberbank > i -->
<div class="ui-icon ui-icon-service-light-sberbank"><i></i></div>
19.0.400
<!-- .ui-icon.ui-icon-service-green-sberbank > i -->
<div class="ui-icon ui-icon-service-green-sberbank"><i></i></div>
19.0.400
<!-- .ui-icon.ui-icon-service-ok > i -->
<div class="ui-icon ui-icon-service-ok"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-ok > i -->
<div class="ui-icon ui-icon-service-light-ok"><i></i></div>
20.5.500
<!-- .ui-icon.ui-icon-service-ya-toloka > i -->
<div class="ui-icon ui-icon-service-ya-toloka"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-ya-toloka > i -->
<div class="ui-icon ui-icon-service-light-ya-toloka"><i></i></div>
20.5.500
<!-- .ui-icon.ui-icon-service-rest-contact-center > i -->
<div class="ui-icon ui-icon-service-rest-contact-center"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-rest-contact-center > i -->
<div class="ui-icon ui-icon-service-light-rest-contact-center"><i></i></div>
20.5.500
<!-- .ui-icon.ui-icon-service-audio-infocall > i -->
<div class="ui-icon ui-icon-service-audio-infocall"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-audio-infocall > i -->
<div class="ui-icon ui-icon-service-light-audio-infocall"><i></i></div>
20.5.500
<!-- .ui-icon.ui-icon-service-olx > i -->
<div class="ui-icon ui-icon-service-olx"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-olx > i -->
<div class="ui-icon ui-icon-service-light-olx"><i></i></div>
20.5.500
<!-- .ui-icon.ui-icon-service-zoom > i -->
<div class="ui-icon ui-icon-service-zoom"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-zoom > i -->
<div class="ui-icon ui-icon-service-light-zoom"><i></i></div>
20.5.500
<!-- .ui-icon.ui-icon-service-blue-zoom > i -->
<div class="ui-icon ui-icon-service-blue-zoom"><i></i></div>
20.5.500
<!-- .ui-icon.ui-icon-service-livechat-24 > i -->
<div class="ui-icon ui-icon-service-livechat-24"><i></i></div>
21.700.0
<!-- .ui-icon.ui-icon-service-widget > i -->
<div class="ui-icon ui-icon-service-widget"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-widget > i -->
<div class="ui-icon ui-icon-service-light-widget"><i></i></div>
20.5.500
<!-- .ui-icon.ui-icon-service-wheel > i -->
<div class="ui-icon ui-icon-service-wheel"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-wheel > i -->
<div class="ui-icon ui-icon-service-light-wheel"><i></i></div>
20.5.500
<!-- .ui-icon.ui-icon-service-play > i -->
<div class="ui-icon ui-icon-service-play"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-play > i -->
<div class="ui-icon ui-icon-service-light-play"><i></i></div>
20.5.500
<!-- .ui-icon.ui-icon-service-other > i -->
<div class="ui-icon ui-icon-service-other"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-other > i -->
<div class="ui-icon ui-icon-service-light-other"><i></i></div>
20.5.500
<!-- .ui-icon.ui-icon-service-cart > i -->
<div class="ui-icon ui-icon-service-cart"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-cart > i -->
<div class="ui-icon ui-icon-service-light-cart"><i></i></div>
20.5.500
<!-- .ui-icon.ui-icon-service-add > i -->
<div class="ui-icon ui-icon-service-add"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-add > i -->
<div class="ui-icon ui-icon-service-light-add"><i></i></div>
20.5.500
<!-- .ui-icon.ui-icon-service-arrows > i -->
<div class="ui-icon ui-icon-service-arrows"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-arrows > i -->
<div class="ui-icon ui-icon-service-light-arrows"><i></i></div>
20.5.500
<!-- .ui-icon.ui-icon-service-call-in > i -->
<div class="ui-icon ui-icon-service-call-in"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-call-in > i -->
<div class="ui-icon ui-icon-service-light-call-in"><i></i></div>
20.500.0
<!-- .ui-icon.ui-icon-service-call-out > i -->
<div class="ui-icon ui-icon-service-call-out"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-call-out > i -->
<div class="ui-icon ui-icon-service-light-call-out"><i></i></div>
20.500.0
<!-- .ui-icon.ui-icon-service-calendar > i -->
<div class="ui-icon ui-icon-service-calendar"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-calendar > i -->
<div class="ui-icon ui-icon-service-light-calendar"><i></i></div>
21.700.0
<!-- .ui-icon.ui-icon-service-epics > i -->
<div class="ui-icon ui-icon-service-epics"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-epics > i -->
<div class="ui-icon ui-icon-service-light-epics"><i></i></div>
21.700.0
<!-- .ui-icon.ui-icon-service-dod > i -->
<div class="ui-icon ui-icon-service-dod"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-dod > i -->
<div class="ui-icon ui-icon-service-light-dod"><i></i></div>
21.700.0
<!-- .ui-icon.ui-icon-service-tutorial > i -->
<div class="ui-icon ui-icon-service-tutorial"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-tutorial > i -->
<div class="ui-icon ui-icon-service-light-tutorial"><i></i></div>
21.700.0
<!-- .ui-icon.ui-icon-service-roles-rights > i -->
<div class="ui-icon ui-icon-service-roles-rights"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-roles-rights > i -->
<div class="ui-icon ui-icon-service-light-roles-rights"><i></i></div>
21.700.0
<!-- .ui-icon.ui-icon-service-edna > i -->
<div class="ui-icon ui-icon-service-edna"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-edna > i -->
<div class="ui-icon ui-icon-service-light-edna"><i></i></div>
21.700.0
<!-- .ui-icon.ui-icon-service-openid > i -->
<div class="ui-icon ui-icon-service-openid"><i></i></div>
21.700.0
<!-- .ui-icon.ui-icon-service-livejournal > i -->
<div class="ui-icon ui-icon-service-livejournal"><i></i></div>
21.700.0
<!-- .ui-icon.ui-icon-service-blogger > i -->
<div class="ui-icon ui-icon-service-blogger"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-blogger > i -->
<div class="ui-icon ui-icon-service-light-blogger"><i></i></div>
21.700.0
<!-- .ui-icon.ui-icon-service-liveinternet > i -->
<div class="ui-icon ui-icon-service-liveinternet"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-liveinternet > i -->
<div class="ui-icon ui-icon-service-light-liveinternet"><i></i></div>
21.700.0
<!-- .ui-icon.ui-icon-service-dropbox > i -->
<div class="ui-icon ui-icon-service-dropbox"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-dropbox > i -->
<div class="ui-icon ui-icon-service-light-dropbox"><i></i></div>
21.700.0
<!-- .ui-icon.ui-icon-service-box > i -->
<div class="ui-icon ui-icon-service-box"><i></i></div>

<!-- .ui-icon.ui-icon-service-light-box > i -->
<div class="ui-icon ui-icon-service-light-box"><i></i></div>
21.700.0


Иконки диска

Внимание! В новых версиях Библиотеки интерфейсов некоторые иконки могут отсутствовать.

\Bitrix\Main\UI\Extension::load("ui.icons.disk");

Разметка

Важно помнить, что иконки имеют соотношение сторон контейнера 1:1, а сами иконки выровнены по центру. Если вы указываете ширину иконки в 128px, то и высота иконки будет равна 128px.

Иконка Код С версии
<!-- .ui-icon.ui-icon-file-empty > i -->
<div class="ui-icon ui-icon-file-empty"><i></i></div>

<!-- .ui-icon.ui-icon-file-txt > i -->
<div class="ui-icon ui-icon-file-txt"><i></i></div>

<!-- .ui-icon.ui-icon-file-doc > i -->
<div class="ui-icon ui-icon-file-doc"><i></i></div>

<!-- .ui-icon.ui-icon-file-xls > i -->
<div class="ui-icon ui-icon-file-xls"><i></i></div>

<!-- .ui-icon.ui-icon-file-php > i -->
<div class="ui-icon ui-icon-file-php"><i></i></div>

<!-- .ui-icon.ui-icon-file-pdf > i -->
<div class="ui-icon ui-icon-file-pdf"><i></i></div>

<!-- .ui-icon.ui-icon-file-ppt > i -->
<div class="ui-icon ui-icon-file-ppt"><i></i></div>

<!-- .ui-icon.ui-icon-file-rar > i -->
<div class="ui-icon ui-icon-file-rar"><i></i></div>

<!-- .ui-icon.ui-icon-file-zip > i -->
<div class="ui-icon ui-icon-file-zip"><i></i></div>

<!-- .ui-icon.ui-icon-file-set > i -->
<div class="ui-icon ui-icon-file-set"><i></i></div>

<!-- .ui-icon.ui-icon-file-img > i -->
<div class="ui-icon ui-icon-file-img"><i></i></div>
19.0.0
<!-- .ui-icon.ui-icon-file-mov > i -->
<div class="ui-icon ui-icon-file-mov"><i></i></div>

<!-- .ui-icon.ui-icon-file-folder > i -->
<div class="ui-icon ui-icon-file-folder"><i></i></div>

<!-- .ui-icon.ui-icon-file-folder-shared > i -->
<div class="ui-icon ui-icon-file-folder-shared"><i></i></div>

<!-- .ui-icon.ui-icon-file-folder-shared-2 > i -->
<div class="ui-icon ui-icon-file-folder-shared-2"><i></i></div>


Отправить отзыв по этому разделу

Кнопки

  • Создание кнопок на JavaScript API
  • Обычные кнопки
  • Кнопки с иконками


Обычные кнопки

Описание и подключение

Подключается библиотека вызывом расширения:

\Bitrix\Main\UI\Extension::load("ui.buttons");

Описание

Конструктор кнопки содержит классы:

  1. Основной класс, определяет базовый стиль элемента.
  2. Класс модификатор. Работает только в паре с основным классом. Изменяет базовые стили элемента. Модификаторы можно комбинировать между собой. Например, мы хотим сделать зелёную кнопку маленького размера с уголком , код будет выглядеть следующим образом:
    <button class="ui-btn ui-btn-success ui-btn-sm ui-btn-dropdown">Кнопка</button>
  3. Кастомный класс. Используется для переопределения базовых стилей. Задается самостоятельно в стилях компонента. Рекомендуется использовать префикс модуля например: crm-btn-*.

Внимание! Менять или переопределять свойства рекомендуется (!) строго в кастомном классе.

Базовые стили

Базовые стили кнопки имеют свойства inline-block и высоту строки 39px. Кнопки делятся 2 типа. Одинарныеui-btn и двойныеui-btn-split. Соответственно, верстка кнопок несколько отличается.

Не рекомендуется использовать теги разметки, такие как span, div, strong и т.п. Лучшей альтернативой является тег button, т.к. он не теряет атрибут tabindex и по нажатию на клавишу enter или пробел, автоматически срабатывает событие onclick.

Кнопки не имеют отступов до того момента, пока рядом не появится ещё одна кнопка. Каждая следующая кнопка получает margin-left: 12px

Одинарная кнопка

Одинарные кнопки состоят только из одного DOM-элемента и имеют базовый класс .ui-btn.

Без этого класса ни одна кнопка работать не будет!

<button class="ui-btn">Кнопка</button>

Двойная кнопка

Двойные кнопки имеют строгую вёрстку.

<div class="ui-btn-split">
    <button class="ui-btn-main">Двойная кнопка</button>
    <button class="ui-btn-menu"></button>
</div>

Размеры

На данный момент кнопки имеют 4 размера.

LG

Модификатор .ui-btn-lg.

Высота строки 47px.

<!-- .ui-btn.ui-btn-lg -->
<button class="ui-btn ui-btn-lg">.ui-btn-lg</button>

<!-- .ui-btn-split.ui-btn-lg -->
<div class="ui-btn-split ui-btn-lg">
    <button class="ui-btn-main">.ui-btn-lg</button>
    <button class="ui-btn-menu"></button>
</div>

MD

Модификатор .ui-btn-md.

Высота строки 39px.

<!-- .ui-btn.ui-btn-md -->
<button class="ui-btn ui-btn-md">.ui-btn-md</button>

<!-- .ui-btn-split.ui-btn-md -->
<div class="ui-btn-split ui-btn-md">
    <button class="ui-btn-main">.ui-btn-md</button>
    <button class="ui-btn-menu"></button>
</div>

SM

Модификатор .ui-btn-sm.

Высота строки 33px.

<!-- .ui-btn.ui-btn-sm-->
<button class="ui-btn ui-btn-sm">.ui-btn-sm</button>

<!-- .ui-btn-split.ui-btn-sm-->
<div class="ui-btn-split ui-btn-sm">
    <button class="ui-btn-main">.ui-btn-sm</button>
    <button class="ui-btn-menu"></button>
</div>

XS

Модификатор .ui-btn-xs.

Высота строки 26px.

<!-- .ui-btn.ui-btn-xs-->
<button class="ui-btn ui-btn-xs">.ui-btn-xs</button>

<!-- .ui-btn-split.ui-btn-xs-->
<div class="ui-btn-split ui-btn-xs">
    <button class="ui-btn-main">.ui-btn-xs</button>
    <button class="ui-btn-menu"></button>
</div>

Цвет

Default

Модификатор .ui-btn-default.

Цвет по умолчанию. Не обязательный класс.

<!-- .ui-btn.ui-btn-default -->
<button class="ui-btn ui-btn-default">.ui-btn-default</button>

<!-- .ui-btn-split.ui-btn-default -->
<div class="ui-btn-split ui-btn-default">
    <button class="ui-btn-main">.ui-btn-default</button>
    <button class="ui-btn-menu"></button>
</div>

Success

Модификатор .ui-btn-success.

<!-- .ui-btn.ui-btn-success-->
<button class="ui-btn ui-btn-success">.ui-btn-success</button>

<!-- .ui-btn-split.ui-btn-success-->
<div class="ui-btn-split ui-btn-success">
    <button class="ui-btn-main">.ui-btn-success</button>
    <button class="ui-btn-menu"></button>
</div>

Success Light

Модификатор .ui-btn-success-light.

<!-- .ui-btn.ui-btn-success-light-->
<button class="ui-btn ui-btn-success-light">.ui-btn-success-light</button>

<!-- .ui-btn-split.ui-btn-success-light-->
<div class="ui-btn-split ui-btn-success-light">
    <button class="ui-btn-main">.ui-btn-success-light</button>
    <button class="ui-btn-menu"></button>
</div>

Danger

Модификатор .ui-btn-danger.

<!-- .ui-btn.ui-btn-danger-->
<button class="ui-btn ui-btn-danger">.ui-btn-danger</button>

<!-- .ui-btn-split.ui-btn-danger-->
<div class="ui-btn-split ui-btn-danger">
    <button class="ui-btn-main">.ui-btn-danger</button>
    <button class="ui-btn-menu"></button>
</div>

Danger Dark

Модификатор .ui-btn-danger-dark.

<!-- .ui-btn.ui-btn-danger-dark-->
<button class="ui-btn ui-btn-danger-dark">.ui-btn-danger-dark</button>

<!-- .ui-btn-split.ui-btn-danger-dark-->
<div class="ui-btn-split ui-btn-danger-dark">
    <button class="ui-btn-main">.ui-btn-danger-dark</button>
    <button class="ui-btn-menu"></button>
</div>

Danger Light

Модификатор .ui-btn-danger-light.

<!-- .ui-btn.ui-btn-danger-light-->
<button class="ui-btn ui-btn-danger-light">.ui-btn-danger-light</button>

<!-- .ui-btn-split.ui-btn-danger-light-->
<div class="ui-btn-split ui-btn-danger-light">
    <button class="ui-btn-main">.ui-btn-danger-light</button>
    <button class="ui-btn-menu"></button>
</div>

Primary

Модификатор .ui-btn-primary.

<!-- .ui-btn.ui-btn-primary-->
<button class="ui-btn ui-btn-primary">.ui-btn-primary</button>

<!-- .ui-btn-split.ui-btn-primary-->
<div class="ui-btn-split ui-btn-primary">
    <button class="ui-btn-main">.ui-btn-primary</button>
    <button class="ui-btn-menu"></button>
</div>

Primary Dark

Модификатор .ui-btn-primary-dark.

<!-- .ui-btn.ui-btn-primary-dark-->
<button class="ui-btn ui-btn-primary-dark">.ui-btn-primary-dark</button>

<!-- .ui-btn-split.ui-btn-primary-dark-->
<div class="ui-btn-split ui-btn-primary-dark">
    <button class="ui-btn-main">.ui-btn-primary-dark</button>
    <button class="ui-btn-menu"></button>
</div>

Secondary

Модификатор .ui-btn-secondary.

<!-- .ui-btn.ui-btn-secondary-->
<button class="ui-btn ui-btn-secondary">.ui-btn-secondary</button>

<!-- .ui-btn-split.ui-btn-secondary-->
<div class="ui-btn-split ui-btn-secondary">
    <button class="ui-btn-main">.ui-btn-secondary</button>
    <button class="ui-btn-menu"></button>
</div>

Link

Модификатор .ui-btn-link.

Кнопка не имеет внутренних полей слева и справа.

<!-- .ui-btn.ui-btn-link-->
<button class="ui-btn ui-btn-link">.ui-btn-link</button>

<!-- .ui-btn-split.ui-btn-link-->
<div class="ui-btn-split ui-btn-link">
    <button class="ui-btn-main">.ui-btn-link</button>
    <button class="ui-btn-menu"></button>
</div>

Light

Модификатор

.ui-btn-light.

<!-- .ui-btn.ui-btn-light-->
<button class="ui-btn ui-btn-light">.ui-btn-light</button>

<!-- .ui-btn-split.ui-btn-light-->
<div class="ui-btn-split ui-btn-light">
    <button class="ui-btn-main">.ui-btn-light</button>
    <button class="ui-btn-menu"></button>
</div>

Light Border

Модификатор .ui-btn-light-border.

<!-- .ui-btn.ui-btn-light-border-->
<button class="ui-btn ui-btn-light-border">.ui-btn-light-border</button>

<!-- .ui-btn-split.ui-btn-light-border-->
<div class="ui-btn-split ui-btn-light-border">
    <button class="ui-btn-main">.ui-btn-light-border</button>
    <button class="ui-btn-menu"></button>
</div>

:hover и :active

К каждой кнопке можно добавить дополнительный модификатор повторяющий стиль :hover и :active. Для этого необходимо добавить классы .ui-btn-hover и .ui-btn-active соответственно.

Hover

Модификаторы .ui-btn-hover, .ui-btn-main-hover, .ui-btn-menu-hover.

<!-- .ui-btn.ui-btn-hover -->
<button class="ui-btn ui-btn-hover">.ui-btn-hover</button>

<!-- .ui-btn-split.ui-btn-hover -->
<div class="ui-btn-split ui-btn-hover">
    <button class="ui-btn-main">.ui-btn-hover</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn-split.ui-btn-main-hover -->
<div class="ui-btn-split ui-btn-main-hover">
    <button class="ui-btn-main">.ui-btn-main-hover</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn-split.ui-btn-menu-hover -->
<div class="ui-btn-split ui-btn-menu-hover">
    <button class="ui-btn-main">.ui-btn-menu-hover</button>
    <button class="ui-btn-menu"></button>
</div>

Active

Модификаторы

.ui-btn-active, .ui-btn-main-active, .ui-btn-menu-active.

<!-- .ui-btn.ui-btn-active-->
<button class="ui-btn ui-btn-active">.ui-btn-active</button>

<!-- .ui-btn-split.ui-btn-active-->
<div class="ui-btn-split ui-btn-active">
    <button class="ui-btn-main">.ui-btn-active</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn-split.ui-btn-main-active-->
<div class="ui-btn-split ui-btn-main-active">
    <button class="ui-btn-main">.ui-btn-main-active</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn-split.ui-btn-menu-active-->
<div class="ui-btn-split ui-btn-menu-active">
    <button class="ui-btn-main">.ui-btn-menu-active</button>
    <button class="ui-btn-menu"></button>
</div>

Disabled

Модификаторы .ui-btn-disabled, .ui-btn-main-disabled, .ui-btn-menu-disabled.

Модификтор не блокирует кнопку, а меняет только внешний вид. Для блокировки используйте атрибут disabled или любой другой удобный для вас способ.

<!-- .ui-btn.ui-btn-disabled-->
<button class="ui-btn ui-btn-disabled">.ui-btn-disabled</button>

<!-- .ui-btn-split.ui-btn-disabled-->
<div class="ui-btn-split ui-btn-disabled">
    <button class="ui-btn-main">.ui-btn-disabled</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn-split.ui-btn-main-disabled-->
<div class="ui-btn-split ui-btn-main-disabled">
    <button class="ui-btn-main">.ui-btn-main-disabled</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn-split.ui-btn-menu-disabled-->
<div class="ui-btn-split ui-btn-menu-disabled">
    <button class="ui-btn-main">.ui-btn-menu-disabled</button>
    <button class="ui-btn-menu"></button>
</div>

Лоудеры

Wait

Модификатор .ui-btn-wait.

<!-- .ui-btn.ui-btn-wait -->
<button class="ui-btn ui-btn-wait">Кнопарь</button>

<!-- .ui-btn-split.ui-btn-wait -->
<div class="ui-btn-split ui-btn-wait">
    <button class="ui-btn-main">Кнопарь</button>
    <button class="ui-btn-menu"></button>
</div>

Clock

Модификатор .ui-btn-clock.

<!-- .ui-btn.ui-btn-clock-->
<button class="ui-btn ui-btn-clock">Кнопарь</button>

<!-- .ui-btn-split.ui-btn-clock-->
<div class="ui-btn-split ui-btn-clock">
    <button class="ui-btn-main">Кнопарь</button>
    <button class="ui-btn-menu"></button>
</div>

Прочее

Dropdown

Модификатор .ui-btn-dropdown.

Не совместим с двойными кнопками .ui-btn-split.

<!-- .ui-btn.ui-btn-dropdown -->
<button class="ui-btn ui-btn-dropdown">.ui-btn-dropdown</button>

Округление кнопок

Модификатор .ui-btn-round.

Не совместим с двойными кнопками .ui-btn-split.

<!-- .ui-btn.ui-btn-round-->
<button class="ui-btn ui-btn-round">.ui-btn-round</button>

Регистр

Модификатор .ui-btn-no-caps.

<!-- .ui-btn.ui-btn-no-caps-->
<button class="ui-btn ui-btn-no-caps">.ui-btn-no-caps</button>

Счетчики

Модификатор .ui-btn-counter.

По-умолчанию все кнопки имеют свойство text-transform: uppercase. Это означает, что весь текст в кнопке будет в верхнем регистре. Чтобы убрать это свойство, добавьте модификатор .ui-btn-no-caps.

<!-- .ui-btn > i.ui-btn-counter -->
<button class="ui-btn ui-btn-light-border">Кнопка<i class="ui-btn-counter">23</i></button>

<!-- .ui-btn-split .ui-btn-main > i.ui-btn-counter -->
<div class="ui-btn-split">
<button class="ui-btn-main">Кнопарь<i class="ui-btn-counter">12</i></button>
<button class="ui-btn-menu"></button>
</div>

Типовое использование

Панель сохранения страницы

Вариант 1: 2 кнопки
<!-- .ui-btn-container.ui-btn-container-center > .ui-btn.ui-btn-success + .ui-btn.ui-btn-link-->
<div class="ui-btn-container ui-btn-container-center">
    <input type="submit" class="ui-btn ui-btn-success"  name="submit"  value="Сохранить" id="" title="Сохранить и перейти к просмотру">
    <input type="button" class="ui-btn ui-btn-link"  name="cancel" value="Отменить" id="" title="Не сохранять и вернуться">
</div>

Вариант 2: 3 кнопки
<!-- .ui-btn-container.ui-btn-container-center > .ui-btn.ui-btn-success + .ui-btn.ui-btn-light-border + .ui-btn.ui-btn-link-->
<div class="ui-btn-container ui-btn-container-center">
    <input type="submit" class="ui-btn ui-btn-success"  name="submit"  value="Сохранить" id="" title="Сохранить и перейти к просмотру">
    <input type="submit" class="ui-btn ui-btn-light-border"  name="apple" value="Применить" id="" title="Сохранить и остаться в форме">
    <input type="button" class="ui-btn ui-btn-link"  name="cancel" value="Отменить" id="" title="Не сохранять и вернуться">
</div>

Вариант 3: Кнопка счётчика
<!-- .ui-btn.ui-btn-light-border.ui-btn-dropdown > i.ui-btn-counter -->
<button class="ui-btn ui-btn-light-border ui-btn-dropdown">
    Общее
    <i class="ui-btn-counter">23</i>
</button>


Кнопки с иконками

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

\Bitrix\Main\UI\Extension::load("ui.buttons.icons");

Эта библиотека является дополнением к ui.buttons. Это означает, что принципы работы модификаторов ничем не отличаются от основной библиотеки.

Пример. Код для кнопок.

выглядит так:

<!-- .ui-btn.ui-btn-icon-task:empty -->
<button class="ui-btn ui-btn-icon-task"></button>

<!-- .ui-btn.ui-btn-danger.ui-btn-icon-phone-down -->
<button class="ui-btn ui-btn-danger ui-btn-icon-phone-down">Кнопарь</button>

<!-- .ui-btn-split.ui-btn-primary.ui-btn-icon-setting -->
<div class="ui-btn-split ui-btn-primary ui-btn-icon-setting">
   <button class="ui-btn-main">Кнопарь</button>
    <button class="ui-btn-menu"></button>
</div>

Кнопка с иконкой без текста

Если вам нужна кнопка только с иконкой, внутри кнопки не должно быть даже пробела, при этом кнопка не может быть тегом <input>. В противном случае псевдокласс :empty не отработает, а кнопка визуально будет выглядеть криво.

<!-- .ui-btn.ui-btn-icon-add:empty -->
<button class="ui-btn ui-btn-icon-add"></button>

Модификатор .ui-btn-icon-add.

Список иконок

Кнопка Код

<!-- .ui-btn.ui-btn-icon-add -->
<button class="ui-btn ui-btn-icon-add">.ui-btn-icon-add</button>

<!-- .ui-btn-split.ui-btn-icon-add -->
<div class="ui-btn-split ui-btn-icon-add">
    <button class="ui-btn-main">.ui-btn-icon-add</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-stop-->
<button class="ui-btn ui-btn-icon-stop">.ui-btn-icon-stop</button>

<!-- .ui-btn-split.ui-btn-icon-stop-->
<div class="ui-btn-split ui-btn-icon-stop">
    <button class="ui-btn-main">.ui-btn-icon-stop</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-start-->
<button class="ui-btn ui-btn-icon-start">.ui-btn-icon-start</button>

<!-- .ui-btn-split.ui-btn-icon-start-->
<div class="ui-btn-split ui-btn-icon-start">
    <button class="ui-btn-main">.ui-btn-icon-start</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-pause-->
<button class="ui-btn ui-btn-icon-pause">.ui-btn-icon-pause</button>

<!-- .ui-btn-split.ui-btn-icon-pause-->
<div class="ui-btn-split ui-btn-icon-pause">
    <button class="ui-btn-main">.ui-btn-icon-pause</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-setting-->
<button class="ui-btn ui-btn-icon-setting">.ui-btn-icon-setting</button>

<!-- .ui-btn-split.ui-btn-icon-setting-->
<div class="ui-btn-split ui-btn-icon-setting">
    <button class="ui-btn-main">.ui-btn-icon-setting</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-task-->
<button class="ui-btn ui-btn-icon-task">.ui-btn-icon-task</button>

<!-- .ui-btn-split.ui-btn-icon-task-->
<div class="ui-btn-split ui-btn-icon-task">
    <button class="ui-btn-main">.ui-btn-icon-task</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-info-->
<button class="ui-btn ui-btn-icon-info">.ui-btn-icon-info</button>

<!-- .ui-btn-split.ui-btn-icon-info-->
<div class="ui-btn-split ui-btn-icon-info">
    <button class="ui-btn-main">.ui-btn-icon-info</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-search-->
<button class="ui-btn ui-btn-icon-search">.ui-btn-icon-search</button>

<!-- .ui-btn-split.ui-btn-icon-search-->
<div class="ui-btn-split ui-btn-icon-search">
    <button class="ui-btn-main">.ui-btn-icon-search</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-follow-->
<button class="ui-btn ui-btn-icon-follow">.ui-btn-icon-follow</button>

<!-- .ui-btn-split.ui-btn-icon-follow-->
<div class="ui-btn-split ui-btn-icon-follow">
    <button class="ui-btn-main">.ui-btn-icon-follow</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-unfollow-->
<button class="ui-btn ui-btn-icon-unfollow">.ui-btn-icon-unfollow</button>

<!-- .ui-btn-split.ui-btn-icon-unfollow-->
<div class="ui-btn-split ui-btn-icon-unfollow">
    <button class="ui-btn-main">.ui-btn-icon-unfollow</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-print-->
<button class="ui-btn ui-btn-icon-print">.ui-btn-icon-print</button>

<!-- .ui-btn-split.ui-btn-icon-print-->
<div class="ui-btn-split ui-btn-icon-print">
    <button class="ui-btn-main">.ui-btn-icon-print</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-add-folder-->
<button class="ui-btn ui-btn-icon-add-folder">.ui-btn-icon-add-folder</button>

<!-- .ui-btn-split.ui-btn-icon-add-folder-->
<div class="ui-btn-split ui-btn-icon-add-folder">
    <button class="ui-btn-main">.ui-btn-icon-add-folder</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-list-->
<button class="ui-btn ui-btn-icon-list">.ui-btn-icon-list</button>

<!-- .ui-btn-split.ui-btn-icon-list-->
<div class="ui-btn-split ui-btn-icon-list">
    <button class="ui-btn-main">.ui-btn-icon-list</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-business-->
<button class="ui-btn ui-btn-icon-business">.ui-btn-icon-business</button>

<!-- .ui-btn-split.ui-btn-icon-business-->
<div class="ui-btn-split ui-btn-icon-business">
    <button class="ui-btn-main">.ui-btn-icon-business</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-business-confirm-->
<button class="ui-btn ui-btn-icon-business-confirm">.ui-btn-icon-business-confirm</button>

<!-- .ui-btn-split.ui-btn-icon-business-confirm-->
<div class="ui-btn-split ui-btn-icon-business-confirm">
    <button class="ui-btn-main">.ui-btn-icon-business-confirm</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-business-warning-->
<button class="ui-btn ui-btn-icon-business-warning">.ui-btn-icon-business-warning</button>

<!-- .ui-btn-split.ui-btn-icon-business-warning-->
<div class="ui-btn-split ui-btn-icon-business-warning">
    <button class="ui-btn-main">.ui-btn-icon-business-warning</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-camera-->
<button class="ui-btn ui-btn-icon-camera">.ui-btn-icon-camera</button>

<!-- .ui-btn-split.ui-btn-icon-camera-->
<div class="ui-btn-split ui-btn-icon-camera">
    <button class="ui-btn-main">.ui-btn-icon-camera</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-phone-up-->
<button class="ui-btn ui-btn-icon-phone-up">.ui-btn-icon-phone-up</button>

<!-- .ui-btn-split.ui-btn-icon-phone-up-->
<div class="ui-btn-split ui-btn-icon-phone-up">
    <button class="ui-btn-main">.ui-btn-icon-phone-up</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-phone-down-->
<button class="ui-btn ui-btn-icon-phone-down">.ui-btn-icon-phone-down</button>

<!-- .ui-btn-split.ui-btn-icon-phone-down-->
<div class="ui-btn-split ui-btn-icon-phone-down">
    <button class="ui-btn-main">.ui-btn-icon-phone-down</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-back-->
<button class="ui-btn ui-btn-icon-back">.ui-btn-icon-back</button>

<!-- .ui-btn-split.ui-btn-icon-back-->
<div class="ui-btn-split ui-btn-icon-back">
    <button class="ui-btn-main">.ui-btn-icon-back</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-edit-->
<button class="ui-btn ui-btn-icon-edit">.ui-btn-icon-edit</button>

<!-- .ui-btn-split.ui-btn-icon-edit-->
<div class="ui-btn-split ui-btn-icon-edit">
    <button class="ui-btn-main">.ui-btn-icon-edit</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-share-->
<button class="ui-btn ui-btn-icon-share">.ui-btn-icon-share</button>

<!-- .ui-btn-split.ui-btn-icon-share-->
<div class="ui-btn-split ui-btn-icon-share">
    <button class="ui-btn-main">.ui-btn-icon-share</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-remove-->
<button class="ui-btn ui-btn-icon-remove">.ui-btn-icon-remove</button>

<!-- .ui-btn-split.ui-btn-icon-remove-->
<div class="ui-btn-split ui-btn-icon-remove">
    <button class="ui-btn-main">.ui-btn-icon-remove</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-download-->
<button class="ui-btn ui-btn-icon-download">.ui-btn-icon-download</button>

<!-- .ui-btn-split.ui-btn-icon-download-->
<div class="ui-btn-split ui-btn-icon-download">
    <button class="ui-btn-main">.ui-btn-icon-download</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-cloud-->
<button class="ui-btn ui-btn-icon-cloud">.ui-btn-icon-cloud</button>

<!-- .ui-btn-split.ui-btn-icon-cloud-->
<div class="ui-btn-split ui-btn-icon-cloud">
    <button class="ui-btn-main">.ui-btn-icon-cloud</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-page-->
<button class="ui-btn ui-btn-icon-page">.ui-btn-icon-page</button>

<!-- .ui-btn-split.ui-btn-icon-page-->
<div class="ui-btn-split ui-btn-icon-page">
    <button class="ui-btn-main">.ui-btn-icon-page</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-chat-->
<button class="ui-btn ui-btn-icon-chat">.ui-btn-icon-chat</button>

<!-- .ui-btn-split.ui-btn-icon-chat-->
<div class="ui-btn-split ui-btn-icon-chat">
    <button class="ui-btn-main">.ui-btn-icon-chat</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-phone-call-->
<button class="ui-btn ui-btn-icon-phone-call">.ui-btn-icon-phone-call</button>

<!-- .ui-btn-split.ui-btn-icon-phone-call-->
<div class="ui-btn-split ui-btn-icon-phone-call">
    <button class="ui-btn-main">.ui-btn-icon-phone-call</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-lock-->
<button class="ui-btn ui-btn-icon-lock">.ui-btn-icon-lock</button>

<!-- .ui-btn-split.ui-btn-icon-lock-->
<div class="ui-btn-split ui-btn-icon-lock">
    <button class="ui-btn-main">.ui-btn-icon-lock</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-done-->
<button class="ui-btn ui-btn-icon-done">.ui-btn-icon-done</button>

<!-- .ui-btn-split.ui-btn-icon-done-->
<div class="ui-btn-split ui-btn-icon-done">
    <button class="ui-btn-main">.ui-btn-icon-done</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-disk-->
<button class="ui-btn ui-btn-icon-disk">.ui-btn-icon-disk</button>

<!-- .ui-btn-split.ui-btn-icon-disk-->
<div class="ui-btn-split ui-btn-icon-disk">
    <button class="ui-btn-main">.ui-btn-icon-disk</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-mail-->
<button class="ui-btn ui-btn-icon-mail">.ui-btn-icon-mail</button>

<!-- .ui-btn-split.ui-btn-icon-mail-->
<div class="ui-btn-split ui-btn-icon-mail">
    <button class="ui-btn-main">.ui-btn-icon-mail</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-alert-->
<button class="ui-btn ui-btn-icon-alert">.ui-btn-icon-alert</button>

<!-- .ui-btn-split.ui-btn-icon-alert-->
<div class="ui-btn-split ui-btn-icon-alert">
    <button class="ui-btn-main">.ui-btn-icon-alert</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-angle-up-->
<button class="ui-btn ui-btn-icon-angle-up">.ui-btn-icon-angle-up</button>

<!-- .ui-btn-split.ui-btn-icon-angle-up-->
<div class="ui-btn-split ui-btn-icon-angle-up">
    <button class="ui-btn-main">.ui-btn-icon-angle-up</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-angle-down-->
<button class="ui-btn ui-btn-icon-angle-down">.ui-btn-icon-angle-down</button>

<!-- .ui-btn-split.ui-btn-icon-angle-down-->
<div class="ui-btn-split ui-btn-icon-angle-down">
    <button class="ui-btn-main">.ui-btn-icon-angle-down</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-dots-->
<button class="ui-btn ui-btn-icon-dots">.ui-btn-icon-dots</button>

<!-- .ui-btn-split.ui-btn-icon-dots-->
<div class="ui-btn-split ui-btn-icon-dots">
    <button class="ui-btn-main">.ui-btn-icon-dots</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-forward-->
<button class="ui-btn ui-btn-icon-forward">.ui-btn-icon-forward</button>

<!-- .ui-btn-split.ui-btn-icon-forward-->
<div class="ui-btn-split ui-btn-icon-forward">
    <button class="ui-btn-main">.ui-btn-icon-forward</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-fail-->
<button class="ui-btn ui-btn-icon-fail">.ui-btn-icon-fail</button>

<!-- .ui-btn-split.ui-btn-icon-fail-->
<div class="ui-btn-split ui-btn-icon-fail">
    <button class="ui-btn-main">.ui-btn-icon-fail</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-success-->
<button class="ui-btn ui-btn-icon-success">.ui-btn-icon-success</button>

<!-- .ui-btn-split.ui-btn-icon-success-->
<div class="ui-btn-split ui-btn-icon-success">
    <button class="ui-btn-main">.ui-btn-icon-success</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-plan-->
<button class="ui-btn ui-btn-icon-plan">.ui-btn-icon-plan</button>

<!-- .ui-btn-split.ui-btn-icon-plan-->
<div class="ui-btn-split ui-btn-icon-plan">
    <button class="ui-btn-main">.ui-btn-icon-plan</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-eye-opened-->
<button class="ui-btn ui-btn-icon-eye-opened">.ui-btn-icon-eye-opened</button>

<!-- .ui-btn-split.ui-btn-icon-eye-opened-->
<div class="ui-btn-split ui-btn-icon-eye-opened">
    <button class="ui-btn-main">.ui-btn-icon-eye-opened</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-eye-closed-->
<button class="ui-btn ui-btn-icon-eye-closed">.ui-btn-icon-eye-closed</button>

<!-- .ui-btn-split.ui-btn-icon-eye-closed-->
<div class="ui-btn-split ui-btn-icon-eye-closed">
    <button class="ui-btn-main">.ui-btn-icon-eye-closed</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-tariff-->
<button class="ui-btn ui-btn-icon-tariff">.ui-btn-icon-tariff</button>

<!-- .ui-btn-split.ui-btn-icon-tariff-->
<div class="ui-btn-split ui-btn-icon-tariff">
    <button class="ui-btn-main">.ui-btn-icon-tariff</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-battery-->
<button class="ui-btn ui-btn-icon-battery">.ui-btn-icon-battery</button>

<!-- .ui-btn-split.ui-btn-icon-battery-->
<div class="ui-btn-split ui-btn-icon-battery">
    <button class="ui-btn-main">.ui-btn-icon-battery</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-no-battery-->
<button class="ui-btn ui-btn-icon-no-battery">.ui-btn-icon-no-battery</button>

<!-- .ui-btn-split.ui-btn-icon-no-battery-->
<div class="ui-btn-split ui-btn-icon-no-battery">
    <button class="ui-btn-main">.ui-btn-icon-no-battery</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-half-battery-->
<button class="ui-btn ui-btn-icon-half-battery">.ui-btn-icon-half-battery</button>

<!-- .ui-btn-split.ui-btn-icon-half-battery-->
<div class="ui-btn-split ui-btn-icon-half-battery">
    <button class="ui-btn-main">.ui-btn-icon-half-battery</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-low-battery-->
<button class="ui-btn ui-btn-icon-low-battery">.ui-btn-icon-low-battery</button>

<!-- .ui-btn-split.ui-btn-icon-low-battery-->
<div class="ui-btn-split ui-btn-icon-low-battery">
    <button class="ui-btn-main">.ui-btn-icon-low-battery</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-crit-battery-->
<button class="ui-btn ui-btn-icon-crit-battery">.ui-btn-icon-crit-battery</button>

<!-- .ui-btn-split.ui-btn-icon-crit-battery-->
<div class="ui-btn-split ui-btn-icon-crit-battery">
    <button class="ui-btn-main">.ui-btn-icon-crit-battery</button>
    <button class="ui-btn-menu"></button>
</div>

<!-- .ui-btn.ui-btn-icon-demo-->
<button class="ui-btn ui-btn-icon-demo">.ui-btn-icon-demo</button>

<!-- .ui-btn-split.ui-btn-icon-demo-->
<div class="ui-btn-split ui-btn-icon-demo">
    <button class="ui-btn-main">.ui-btn-icon-demo</button>
    <button class="ui-btn-menu"></button>
</div>


Создание кнопок на JavaScript API

Подключение и показ

Библиотека ui.buttons позволяет создавать кнопки не только разметкой, но и с помощью JavaScript API.

Подключение на странице

\Bitrix\Main\UI\Extension::load("ui.buttons");

Показ

Чтобы показать кнопку на странице, необходимо создать объект класса BX.UI.Button и вызвать метод renderTo.

<div id="container"></div>

<script>
(function() {
    var button = new BX.UI.Button({ text: "Привет, кнопка!" });
    var container = document.getElementById("container");
    button.renderTo(container);
})();
</script>

Метод getContainer возвращает ссылку на DOM-элемент кнопки. Используйте его для гибкого построения интерфейсов.

var button = new BX.UI.Button({ text: "Привет, кнопка!" });
var layout = BX.create("div", {
    props: {
        className: "container"
    },
    children: [button.getContainer()]
});

Размеры и заглавные буквы

Размеры

Размер кнопки задается опцией size и перечислением BX.UI.Button.Size.

var button = new BX.UI.Button({
    text: "Привет, кнопка!",
    size: BX.UI.Button.Size.LARGE
});

Допустимые значения BX.UI.Button.Size:

  • BX.UI.Button.Size.LARGE — большая кнопка (47px)
  • BX.UI.Button.Size.MEDIUM — средняя кнопка (39px), значение по умолчанию
  • BX.UI.Button.Size.SMALL — маленькая кнопка (33px)
  • BX.UI.Button.Size.EXTRA_SMALL — максимально маленькая кнопка (26px)

Заглавные буквы

По умолчанию текст кнопки приводится к верхнему регистру. Опция noCaps=true позволяет отменить это поведение.

var button = new BX.UI.Button({
    text: "Обычный текст",
    color: BX.UI.Button.Color.SUCCESS,
    noCaps: true
});

Цвета

Опция color отвечает за цвет кнопки. Значение этой опции задаются перечислением BX.UI.Button.Color.

var button = new BX.UI.Button({
    text: "Привет, кнопка!",
    color: BX.UI.Button.Color.SUCCESS
});

Допустимые значения BX.UI.Button.Color::

  • BX.UI.Button.Color.DANGER
  • BX.UI.Button.Color.DANGER_DARK
  • BX.UI.Button.Color.DANGER_LIGHT
  • BX.UI.Button.Color.SUCCESS
  • BX.UI.Button.Color.SUCCESS_DARK
  • BX.UI.Button.Color.SUCCESS_LIGHT
  • BX.UI.Button.Color.PRIMARY_DARK
  • BX.UI.Button.Color.PRIMARY
  • BX.UI.Button.Color.SECONDARY
  • BX.UI.Button.Color.LINK
  • BX.UI.Button.Color.LIGHT
  • BX.UI.Button.Color.LIGHT_BORDER

Состояния

Кнопка может иметь состояние. Например, быть активной или заблокированной. Опция state и перечисление BX.UI.Button.State управляют этой возможностью.

var button = new BX.UI.Button({
    text: "Привет, кнопка!",
    state: BX.UI.Button.State.DISABLED
});

Допустимые значения BX.UI.Button.State:

  • BX.UI.Button.State.HOVER — состояние при наведении мыши
  • BX.UI.Button.State.ACTIVE — состояние при нажатии
  • BX.UI.Button.State.DISABLED — заблокировано
  • BX.UI.Button.State.CLOCKING — ожидание в виде "часиков"
  • BX.UI.Button.State.WAITING — ожидание в виде "спиннера"

Тег кнопки

По умолчанию кнопка отображается с помощью тега <button>. С помощью параметра tag и перечисления BX.UI.Button.Tag кнопка может стать ссылкой или input-элементом.

var button = new BX.UI.Button({
    text: "Привет, кнопка!",
    tag: BX.UI.Button.Tag.LINK
});

Допустимые значения BX.UI.Button.Tag:

  • BX.UI.Button.Tag.BUTTON — тег <button>
  • BX.UI.Button.Tag.LINK — тег <a>
  • BX.UI.Button.Tag.SUBMIT — тег <input type="submit">
  • BX.UI.Button.Tag.INPUT — тег <input type="button">

Иконка

Для создания кнопок с иконкой используется параметр icon и перечисление BX.UI.Button.Icon.

var button = new BX.UI.Button({
    text: "Привет, кнопка!",
    icon: BX.UI.Button.Icon.INFO
});

Допустимые значения BX.UI.Button.Icon:

  • BX.UI.Button.Icon.UNFOLLOW
  • BX.UI.Button.Icon.FOLLOW
  • BX.UI.Button.Icon.ADD
  • BX.UI.Button.Icon.STOP
  • BX.UI.Button.Icon.START
  • BX.UI.Button.Icon.PAUSE
  • BX.UI.Button.Icon.ADD_FOLDER
  • BX.UI.Button.Icon.SETTING
  • BX.UI.Button.Icon.TASK
  • BX.UI.Button.Icon.INFO
  • BX.UI.Button.Icon.SEARCH
  • BX.UI.Button.Icon.PRINT
  • BX.UI.Button.Icon.LIST
  • BX.UI.Button.Icon.BUSINESS
  • BX.UI.Button.Icon.BUSINESS_CONFIRM
  • BX.UI.Button.Icon.BUSINESS_WARNING
  • BX.UI.Button.Icon.CAMERA
  • BX.UI.Button.Icon.PHONE_UP
  • BX.UI.Button.Icon.PHONE_DOWN
  • BX.UI.Button.Icon.PHONE_CALL
  • BX.UI.Button.Icon.BACK
  • BX.UI.Button.Icon.REMOVE
  • BX.UI.Button.Icon.DOWNLOAD
  • BX.UI.Button.Icon.DONE
  • BX.UI.Button.Icon.DISK
  • BX.UI.Button.Icon.LOCK
  • BX.UI.Button.Icon.MAIL
  • BX.UI.Button.Icon.CHAT
  • BX.UI.Button.Icon.PAGE
  • BX.UI.Button.Icon.CLOUD
  • BX.UI.Button.Icon.EDIT
  • BX.UI.Button.Icon.SHARE

HTML-атрибуты

Опция props позволяет установить произвольные HTML-атрибуты кнопки. Например, href для кнопки-ссылки или data-атрибут.

var button = new BX.UI.Button({
    text: "Подключить",
    size: BX.UI.Button.Size.LARGE,
    tag: BX.UI.Button.Tag.LINK,
    color: BX.UI.Button.Color.LIGHT_BORDER,
    props: {
        href: "/",
        id: "my-link-id",
        "data-role": "action"
    }
});

Также можно установить свой CSS класс-модификатор.

var button = new BX.UI.Button({
    text: "Подключить",
    className: "my-button"
});

Обработка событий

Основное предназначение кнопок — это выполнение некоторого действия после нажатия. Если кнопка представляет собой ссылку, то достаточно определить атрибут href (см. пример выше). В остальных случаях требуется написать обработчик нажатия в параметре onclick.

var button = new BX.UI.Button({
    text: "Активировать",
    size: BX.UI.Button.Size.LARGE,
    color: BX.UI.Button.Color.SUCCESS,
    onclick: function(button, event) {
        if (button.isActive())
        {
            button.setText("Активировать");
            button.setActive(false);
        }
        else
        {
            button.setText("Деактивировать");
            button.setActive();
        }
    }
});

Обработчик получает два аргумента: объект кнопки button (экземпляр класса BX.UI.Button) и объект нажатия мыши event.

Для установки других браузерных событий используется опция events.

var button = new BX.UI.Button({
    text: "Нажми меня",
    size: BX.UI.Button.Size.LARGE,
    color: BX.UI.Button.Color.SUCCESS,
    events: {
        click: function(button, event) {
            button.setActive(!button.isActive());
            console.log("click", button, event);
        },
        mouseenter: function(button, event) {
            console.log("mouseenter", button, event);
        },
        mouseout: function(button, event) {
            console.log("mouseout", button, event);
        }
    }
});

Круглая и Dropdown кнопки

Для создания круглой кнопки необходимо установить параметр round в значение true.

var button = new BX.UI.Button({
    text: "Круглая кнопка",
    color: BX.UI.Button.Color.PRIMARY,
    round: true
});

Опция dropdown=true добавляет иконку в виде стрелки справа от названия кнопки. Такой внешний вид предполагает показ меню после нажатия.

var button = new BX.UI.Button({
    text: "Dropdown",
    color: BX.UI.Button.Color.PRIMARY,
    dropdown: true
});

Меню

Одним из стандартных сценариев использования кнопок является показ контекстного меню после нажатия. Параметр menu определяет те же самые настройки, что и класс BX.PopupMenuWindow. Кнопка автоматически становится активной после открытия меню и неактивной, когда меню закрыто.

var button = new BX.UI.Button({
    text: "Меню",
    color: BX.UI.Button.Color.PRIMARY,
    dropdown: true,
    menu: {
        items: [
            { text: "Детальное описание", href: "/path/to/page" },
            { text: "Редактировать", disabled: true },
            {
                text: "Перенести",
                onclick: function(event, item) {
                    alert("Обработка нажатия на пункт");
                }
            },
            { delimiter: true },
            {
                text: "Закрыть",
                onclick: function(event, item) {
                    item.getMenuWindow().close();
                }
            }
        ],
        closeByEsc: true,
        offsetTop: 5,
    },
});

Двойная кнопка

Для создания двойной кнопки используется класс BX.UI.SplitButton. Он является наследником класса BX.UI.Button, поэтому настройки размера, цвета и иконки совпадают с настройками обычной кнопки.

var splitButton = new BX.UI.SplitButton({
    text: "Добавить",
    color: BX.UI.Button.Color.PRIMARY,
    size: BX.UI.Button.Size.LARGE,
    icon: BX.UI.Button.Icon.BUSINESS
});

Однако состояние двойной кнопки определяется перечислением BX.UI.SplitButton.State.

var splitButton = new BX.UI.SplitButton({
    text: "Добавить",
    color: BX.UI.Button.Color.PRIMARY,
    size: BX.UI.Button.Size.LARGE,
    icon: BX.UI.Button.Icon.BUSINESS,
    state: BX.UI.SplitButton.State.MENU_ACTIVE
});

Допустимые значения BX.UI.SplitButton.State:

  • BX.UI.SplitButton.State.HOVER
  • BX.UI.SplitButton.State.MAIN_HOVER
  • BX.UI.SplitButton.State.MENU_HOVER
  • BX.UI.SplitButton.State.ACTIVE
  • BX.UI.SplitButton.State.MAIN_ACTIVE
  • BX.UI.SplitButton.State.MENU_ACTIVE
  • BX.UI.SplitButton.State.DISABLED
  • BX.UI.SplitButton.State.MAIN_DISABLED
  • BX.UI.SplitButton.State.MENU_DISABLED
  • BX.UI.SplitButton.State.CLOCKING
  • BX.UI.SplitButton.State.WAITING

Параметры можно указывать как для целой кнопки, так и для отдельных ее частей. В опциях mainButton и menuButton задаются идивидуальные настройки основной и дополнительной кнопки.

var splitButton = new BX.UI.SplitButton({
    text: "Добавить",
    color: BX.UI.Button.Color.PRIMARY,
    size: BX.UI.Button.Size.LARGE,
    icon: BX.UI.Button.Icon.BUSINESS,
    mainButton: {
        props: {
            href: "/"
        },

        tag: BX.UI.Button.Tag.LINK
    },

    menuButton: {
        onclick: function(button, event) {
            button.setActive(!button.isActive());
        },

        props: {
            "data-abc": "123"
        },

        events: {
            mouseenter: function(button, event) {
                console.log("menu button mouseenter", button, event);
            }
        },
    },
});

Обработчики событий в первом аргументе получают объект класса BX.UI.SplitSubButton.

Стандартные кнопки

Для типовых кнопок "Сохранить", "Применить", "Отмена" и др. существуют вспомогательные классы. Эти классы предустанавливают цвет и текст кнопки.

Вспомогательные классы обычной кнопки (наследники BX.UI.Button):

  • BX.UI.SaveButton
  • BX.UI.CreateButton
  • BX.UI.AddButton
  • BX.UI.SendButton
  • BX.UI.ApplyButton
  • BX.UI.CancelButton
  • BX.UI.CloseButton

Вспомогательные классы двойной кнопки (наследники BX.UI.SplitButton):

  • BX.UI.SaveSplitButton
  • BX.UI.CreateSplitButton
  • BX.UI.AddSplitButton
  • BX.UI.SendSplitButton
  • BX.UI.ApplySplitButton
  • BX.UI.CancelSplitButton
  • BX.UI.CloseSplitButton

Любое предустановленное значение можно переопределить.

var button = new BX.UI.SaveButton({
    color: BX.UI.Button.Color.PRIMARY
});


Класс BX.UI.Button

Класс создает стандартные кнопки

new BX.UI.Button([options])

Создает объект типа BX.UI.Button с указанными настройками options.

  • options {Object}

    Коллекция опций кнопки. Все настройки являются необязательными.

    • text {String}

      Текст кнопки.

    • size {BX.UI.Button.Size}

      Размер кнопки. Задается перечислением BX.UI.Button.Size .

    • color {BX.UI.Button.Color}

      Цвет кнопки. Определяется перечислением BX.UI.Button.Color .

    • state {BX.UI.Button.State}

      Состояние кнопки. Задается перечислением BX.UI.Button.State .

    • icon {BX.UI.Button.Icon}

      Иконка кнопки. Задается перечислением BX.UI.Button.Icon .

    • tag {BX.UI.Button.Tag}

      Тег кнопки. По умолчанию кнопка отображается с помощью тега <button>. С помощью параметра tag и перечисления BX.UI.Button.Tag кнопка может стать ссылкой или input-элементом.

    • menu {object}

      Настройки меню. Список параметров определяется опциями конструктора BX.PopupMenuWindow.

    • props {object.}

      Коллекция HTML-атрибутов кнопки.

    • dataset {object.}

      Коллекция Data-атрибутов кнопки.

    • onclick {function(BX.UI.Button, MouseEvent)}

      Обработчик события нажатия мышью. Обработчик получает два аргумента: объект кнопки (экземпляр класса BX.UI.Button) и объект нажатия мыши.

    • events {object.}

      Коллекция обработчиков событий.

    • round {boolean}

      Если равен true, кнопка станет круглой.

    • noCaps {boolean}

      Если равен true, текст кнопки не будет приводиться к верхнему регистру.

    • dropdown {boolean}

      Если равен true, справа от текста кнопки покажется иконка в виде стрелочки. Опция автоматически включается, если задано контекстное меню в параметре menu.

    • id {string}

      Идентификатор кнопки. Может использоваться для идентификации кнопки в обработчиках событий или для поиска объекта в коллекции.

    • className {string}

      Дополнительный CSS-класс.

var button = new BX.UI.Button({
    id: "my-button",
    text: "Hello, Button!",
    noCaps: true,
    round: true,
    menu: {
        items: [
            { text: "Детальное описание", href: "/path/to/page" },
            { text: "Редактировать", disabled: true },
            {
                text: "Перенести",
                onclick: function(event, item) {
                    alert("Обработка нажатия на пункт");
                }
            },
            { delimiter: true },
            {
                text: "Закрыть",
                onclick: function(event, item) {
                    item.getMenuWindow().close();
                }
            }
        ],
        closeByEsc: true,
        offsetTop: 5,
    },
    props: {
        id: "xxx"
    },
    className: "ddddd-dddd",
    onclick: function(btn, event) {
        console.log("onclick", btn);
    },
    events: {
        mouseenter: function(button, event) {
            console.log("mouseenter", button, event, this);
        },
        mouseout: function(button, event) {
            console.log("mouseout", button, event, this);
        }
    },
    size: BX.UI.Button.Size.MEDIUM,
    color: BX.UI.Button.Color.PRIMARY,
    tag: BX.UI.Button.Tag.BUTTON,
    icon: BX.UI.Button.Icon.ADD_FOLDER,
    state: BX.UI.Button.State
});

Методы GET

button.getContainer(): Element

Возвращает ссылку на DOM-элемент кнопки.

var button = new BX.UI.Button({ text: "Привет, кнопка!" });
var layout = BX.create("div", {
    props: {
        className: "container"
    },
    children: [button.getContainer()]
});

button.getText(): string

Возвращает текст кнопки.

button.getProps(): object.

Возвращает заданные HTML-атрибуты.

button.getDataSet(): DOMStringMap

Возвращает Data-атрибуты кнопки.

button.getTag(): BX.UI.Button.Tag

Возращает тег кнопки (значение перечисления BX.UI.Button.Tag).

button.getSize(): BX.UI.Button.Size

Возвращает размер кнопки.

button.getColor(): BX.UI.Button.Color

Возвращает цвет кнопки.

button.getState(): BX.UI.Button.State

Возвращает состояние кнопки.

button.getIcon(): BX.UI.Button.Icon

Возвращает иконку кнопки.

button.getId(): string|null

Возвращает идентификатор кнопки. Если идентификатор не задан, возвратит null.

button.getMenuWindow(): BX.PopupMenuWindow|null

Возвращает объект контекстного меню.

Методы SET

button.setText(text): BX.UI.Button

Устанавливает текст кнопки.

  • text {Element} — текст кнопки.
var button = new BX.UI.Button({
    text: "Активировать",
    size: BX.UI.Button.Size.LARGE,
    color: BX.UI.Button.Color.SUCCESS,
    onclick: function(button, event) {
        if (button.isActive())
        {
            button.setText("Активировать");
            button.setActive(false);
        }
        else
        {
            button.setText("Деактивировать");
            button.setActive();
        }
    }
});

button.setProps(props:object.): BX.UI.Button

Устанавливает HTML-атрибуты.

  • props {object.} — коллекция HTML-атрибутов кнопки. Если значение атрибута равно null, он будет удален.
var button = new BX.UI.Button();
button
    .setText("Моя кнопка")
    .setProps({
        "data-role": "action",
        "id": null //удалить атрибут
    });

button.setDataSet(dataset:object.): BX.UI.Button

Устанавливает Data-атрибуты.

  • dataset {object.} — коллекция Data-атрибутов кнопки. Если значение атрибута равно null, он будет удален.
var button = new BX.UI.Button();
button
    .setText("Моя кнопка")
    .setDataSet({
        "role": "action",
        "id": null //удалить атрибут
    });

button.setClass(className:string): BX.UI.Button

Устанавливает дополнительный CSS-класс.

  • className {string} — название CSS-класса или нескольких классов, разделенных пробелом.

button.setSize(size:BX.UI.Button.Size): BX.UI.Button

Устанавливает или сбрасывает размер кнопки.

  • size {BX.UI.Button.Size} — размер кнопки. Задается перечислением BX.UI.Button.Size. Чтобы установить размер по умолчанию, необходимо указать значение null.

button.setColor(color:BX.UI.Button.Color): BX.UI.Button

Устанавливает или сбрасывает цвет кнопки.

  • color {BX.UI.Button.Color} — цвет кнопки. Задается перечислением BX.UI.Button.Color. Чтобы установить цвет по умолчанию, необходимо указать значение null.

button.setState(state:BX.UI.Button.State): BX.UI.Button

Устанавливает или сбрасывает состояние кнопки.

  • state {BX.UI.Button.State} — состояние кнопки. Задается перечислением BX.UI.Button.State. Чтобы установить состояние по умолчанию, необходимо указать значение null.

button.setIcon(icon:BX.UI.Button.Icon): BX.UI.Button

Устанавливает или сбрасывает иконку кнопки.

  • icon {BX.UI.Button.Icon} — иконка кнопки. Задается перечислением BX.UI.Button.Icon. Чтобы убрать иконку, необходимо указать значение null.

button.setId(id:string): BX.UI.Button

Устанавливает идентификатор.

  • id {string} — идентификатор кнопки.

button.setMenu(options:object|false): BX.UI.Button

Устанавливает или сбрасывает контекстное меню.

  • options {objects} — настройки меню. Список параметров определяется опциями конструктора BX.PopupMenuWindow. Чтобы сбросить контекстное меню, установите options в значение false.

button.setNoCaps([flag=true]): BX.UI.Button

Отменяет приведение текста кнопки к верхнему регистру. Чтобы вернуть поведение по умолчанию, установите flag в значение false.

button.setDropdown([flag=true]): BX.UI.Button

Показывает иконку в виде стрелочки справа от текста кнопки.

Чтобы вернуть поведение по умолчанию, установите flag в значение false.

button.setRound([flag=true]): BX.UI.Button

Делает кнопку круглой. Чтобы вернуть поведение по умолчанию, установите flag в значение false.

Методы RENDER

button.renderTo(container): Element

Вставляет кнопку в DOM-узел.

  • container {Element} — DOM-узел, в который будет вставлена кнопка.
<div id="container"></div>

<script>
(function() {
    var button = new BX.UI.Button({ text: "Привет, кнопка!" });
    var container = document.getElementById("container");
    button.renderTo(container);
})();
</script>

Методы REMOVE

button.removeClass(className:string): BX.UI.Button

Удаляет дополнительный CSS-класс.

  • className {string} — название CSS-класса или нескольких классов, разделенных пробелом.

Методы BIND, UNBIND

button.bindEvent(eventName:string, callback:function): BX.UI.Button

Устанавливает обработчик события.

  • eventName {string} — название события.
  • callback {function(button:BX.UI.Button, event:MouseEvent)} — функция-обработчик события.

button.unbindEvent(eventName:string): BX.UI.Button

Удаляет обработчик события.

  • eventName {string}— название события.

button.bindEvents(events:object.): BX.UI.Button

Устанавливает обработчики событий.

  • events {object.} — коллекция обработчиков событий.

button.unbindEvents(events:string[]): BX.UI.Button

Удаляет обработчики событий.

  • events {string[]} — массив названий событий.

Вспомогательные методы

Удобные вспомогательные методы для работы с состоянием кнопки:

  • button.setActive([flag=true]) — устанавливает или сбрасывает активность кнопки.
  • button.isActive() — возвращает true, если кнопка активна.
  • button.setHovered([flag=true]) — устанавливает состояние наведения мыши.
  • button.isHovered() — возвращает true, если кнопка находится в состоянии наведения мыши (не псевдокласс :hover).
  • button.setDisabled([flag=true]) — блокирует или разблокирует кнопку.
  • button.isDisabled() — возвращает true, если кнопка заблокированна.
  • button.setWaiting([flag=true]) — устанавливает состояние ожидания в виде "спиннера".
  • button.isWaiting() — возвращает true, если кнопка находится в состоянии ожидания в виде "спиннера".
  • button.setClocking([flag=true]) — устанавливает состояние ожидания в виде "часиков".
  • button.isClocking() — возвращает true, если кнопка находится в состоянии ожидания в виде "часиков".


Класс BX.UI.SplitButton

Описание

Класс BX.UI.SplitButton позволяет создавать двойные кнопки. Двойная кнопка состоит из двух частей: основной и дополнительной кнопки. Каждая из них определяется классом BX.UI.SplitSubButton. BX.UI.SplitButton является наследником класса BX.UI.Button, поэтому задавать параметры можно как целой кнопке, так и отдельным ее частям.

new BX.UI.SplitButton([options])

Создает объект типа BX.UI.SplitButton с указанными настройками options.

  • options {Object}

    Коллекция опций кнопки. Все настройки являются необязательными. Так как BX.UI.SplitButton является наследником класса BX.UI.Button, то все опции констуктора BX.UI.SplitButton совпадают с настройками BX.UI.Button со следующими исключениями и дополнениями:

    • state {BX.UI.SplitButton.State}

      Состояние кнопки. Задается перечислением BX.UI.SplitButton.State.

    • mainButton {object}

      Настройки основной кнопки.

      • props {object.} — коллекция HTML-атрибутов кнопки.
      • onclick {function(BX.UI.SplitSubButton, MouseEvent)} — обработчик события нажатия мышью.
      • events {object.} — коллекция обработчиков событий.
      • tag {BX.UI.Button.Tag} — тег кнопки.
      • className {string} — дополнительный CSS-класс.

    • menuButton {object}

      Настройки дополнительной кнопки. Формат совпадет с настройками mainButton.

    • menuTarget {BX.UI.SplitSubButton.Type}

      Определяет кнопку, около которой покажется меню. Допустимые значения: BX.UI.SplitSubButton.Type.MAIN — основная кнопка. BX.UI.SplitSubButton.Type.MENU — дополнительная кнопка.

    • tag {BX.UI.Button.Tag}

      Параметр игнорируется. Указывается в настройках mainButton и menuButton.

    • round {boolean}

      Параметр игнорируется. Двойная кнопка не может быть круглой.

var splitButton = new BX.UI.SplitButton({
    id: "my-split-button",
    text: "Hello, Split Button!",
    noCaps: true,
    className: "ddddd-dddd",
    size: BX.UI.Button.Size.LARGE,
    color: BX.UI.Button.Color.PRIMARY,
    icon: BX.UI.Button.Icon.BUSINESS,
    //state: BX.UI.SplitButton.State.ACTIVE,
    menu: {
        items: [
            { text: "Детальное описание", href: "/path/to/page" },
            { text: "Редактировать", disabled: true },
            {
                text: "Перенести",
                onclick: function(event, item) {
                    alert("Обработка нажатия на пункт");
                }
            },
            { delimiter: true },
            {
                text: "Закрыть",
                onclick: function(event, item) {
                    item.getMenuWindow().close();
                }
            }
        ],
        offsetTop: 5
    },
    //menuTarget: BX.UI.SplitSubButton.Type.MENU,

    mainButton: {
        tag: BX.UI.Button.Tag.LINK,
        props: {
            href: "/"
        },
        onclick: function(button, event) {
            console.log("main button click", button, event);
            button.setActive(!button.isActive());
        },
        events: {
            mouseenter: function(button, event) {
                console.log("main button mouseenter", button, event);
            }
        },
    },

    menuButton: {
        onclick: function(button, event) {
            console.log("extra button click", button, event);
            button.setActive(!button.isActive());
        },
        props: {
            "data-abc": "123"
        },
        events: {
            mouseenter: function(button, event) {
                console.log("extra button mouseenter", button, event);
            }
        },
    },

    //Атрибуты для контейера двойной кнопки
    props: {
        id: "xxx"
    },

    //События для целой кнопки
    onclick: function(btn, event) {
        console.log("onclick", btn);
    },
    events: {
        click: function(splitButton, event) {
            splitButton.setActive(!splitButton.isActive());
            console.log("click", splitButton, event, this);
        },
        mouseenter: function(splitButton, event) {
            console.log("mouseenter", splitButton, event, this);
        },
        mouseout: function(splitButton, event) {
            console.log("mouseout", splitButton, event, this);
        }
    },
});

BX.UI.SplitButton наследует все экземлярные методы класса BX.UI.Button.

Другие методы

splitButton.getMainButton(): BX.UI.SplitSubButton

Возвращает объект основной кнопки.

splitButton.getMenuButton(): BX.UI.SplitSubButton

Возвращает объект дополнительной кнопки.

splitButton.setState(state:BX.UI.SplitButton.State): BX.UI.SplitButton

Устанавливает или сбрасывает состояние кнопки.

  • state {BX.UI.SplitButton.State} — состояние кнопки. Задается перечислением BX.UI.SplitButton.State. Чтобы установить состояние по умолчанию, необходимо указать значение null.


Класс BX.UI.SplitSubButton

Методы GET

Класс BX.UI.SplitSubButton представляет составные части двойной кнопки — основную и дополнительную кнопки.

subButton.getSplitButton(): BX.UI.SplitButton

Возвращает объект двойной кнопки.

subButton.getContainer(): Element

Возвращает ссылку на DOM-элемент кнопки.

subButton.getTag()

Возращает тег кнопки (значение перечисления BX.UI.Button.Tag).

subButton.getProps(): object.

Возвращает заданные HTML-атрибуты.

subButton.getDataSet(): DOMStringMap

Возвращает Data-атрибуты кнопки.

Методы SET

Класс BX.UI.SplitSubButton представляет составные части двойной кнопки — основную и дополнительную кнопки.

subButton.setActive([flag=true]): BX.UI.SplitSubButton

Устанавливает или сбрасывает активность кнопки.

subButton.setDisabled([flag=true]): BX.UI.SplitSubButton

Блокирует или разблокирует кнопку.

subButton.setHovered([flag=true]): BX.UI.SplitSubButton

subButton.setProps(props:object.): BX.UI.SplitSubButton

Устанавливает HTML-атрибуты.

  • props {object.} — коллекция HTML-атрибутов кнопки. Если значение атрибута равно null, он будет удален.

subButton.setDataSet(dataset:object.): BX.UI.SplitSubButton

Устанавливает Data-атрибуты.

  • dataset {object.} — коллекция Data-атрибутов кнопки. Если значение атрибута равно null, он будет удален.

subButton.setClass(className:string): BX.UI.SplitSubButton

Устанавливает дополнительный CSS-класс.

  • className {string} — название CSS-класса или нескольких классов, разделенных пробелом.

Методы IS

Класс BX.UI.SplitSubButton представляет составные части двойной кнопки — основную и дополнительную кнопки.

subButton.isMainButton(): boolean

Возвращает true, если объект относится к основной кнопке.

subButton.isMenuButton(): boolean

Возвращает true, если объект относится к дополнительной кнопке.

subButton.isActive(): boolean

Возвращает true, если кнопка активна.

subButton.isDisabled(): boolean

Возвращает true, если кнопка заблокирована.

subButton.isHovered(): boolean

Возвращает true, если кнопка находится в состоянии наведения мыши (не псевдокласс :hover).

Методы BIND/UNBIND

subButton.bindEvent(eventName:string, callback:function): BX.UI.SplitSubButton

Устанавливает обработчик события.

  • eventName {string} — название события.
  • callback {function(button:BX.UI.SplitSubButton, event:MouseEvent)} — функция-обработчик события.

subButton.unbindEvent(eventName:string): BX.UI.SplitSubButton

Удаляет обработчик события.

  • eventNamev {string} — название события.

subButton.bindEvents(events:object.): BX.UI.SplitSubButton

Устанавливает обработчики событий.

  • events {object.} — коллекция обработчиков событий.

subButton.unbindEvents(events:string[]): BX.UI.SplitSubButton

Удаляет обработчики событий.

  • events {string[]} — массив названий событий.

Методы REMOVE

Класс BX.UI.SplitSubButton представляет составные части двойной кнопки — основную и дополнительную кнопки.

subButton.removeClass(className:string): BX.UI.SplitSubButton

Удаляет дополнительный CSS-класс.

  • className {string} — название CSS-класса или нескольких классов, разделенных пробелом.


Компонент-обёртка для слайдера

Если в iframe'е слайдера [image] открыть обычную страницу сайта, то она покажется вместе с общим дизайном (меню, шапка, подвал). Для этого режима необходимо адаптировать вывод компонента.

Компонент bitrix:ui.sidepanel.wrapper решает эту задачу. Он является оберткой для вывода целевого компонента в слайдере.

Компонент доступен с версии 17.6.5 модуля UI.

  • Начало работы
  • Параметры поведения
  • Параметры отображения


Начало работы

Использование

Компонент bitrix:ui.sidepanel.wrapper является оберткой для вывода целевого компонента в слайдере.

Рассмотрим типовой случай. В комплексном компоненте в шаблоне edit.php подключается компонент:

$APPLICATION->IncludeComponent(
    'bitrix:crm.button.edit',
    '',
    [
        'PATH_TO_BUTTON_LIST' => $arResult['PATH_TO_BUTTON_LIST'],
        'PATH_TO_BUTTON_EDIT' => $arResult['PATH_TO_BUTTON_EDIT'],
        'PATH_TO_BUTTON_FILL' => $arResult['PATH_TO_BUTTON_FILL'],
        'PATH_TO_USER_PROFILE' => $arResult['PATH_TO_USER_PROFILE'],
        'ELEMENT_ID' => $arResult['VARIABLES']['id']
    ]
);

Адаптируем его для поддержки вывода в слайдере:

$APPLICATION->IncludeComponent(
    'bitrix:ui.sidepanel.wrapper',
    '',
    [
        'POPUP_COMPONENT_NAME' => 'bitrix:crm.button.edit',
        'POPUP_COMPONENT_TEMPLATE_NAME' => '',
        'POPUP_COMPONENT_PARAMS' => [
            'PATH_TO_BUTTON_LIST' => $arResult['PATH_TO_BUTTON_LIST'],
            'PATH_TO_BUTTON_EDIT' => $arResult['PATH_TO_BUTTON_EDIT'],
            'PATH_TO_BUTTON_FILL' => $arResult['PATH_TO_BUTTON_FILL'],
            'PATH_TO_USER_PROFILE' => $arResult['PATH_TO_USER_PROFILE'],
            'ELEMENT_ID' => $arResult['VARIABLES']['id']
        ]
    ]
);

Вызов целевого компонента обернули в bitrix:ui.sidepanel.wrapper:

  • имя компонента передано в параметре POPUP_COMPONENT_NAME;
  • имя шаблона передано в параметре POPUP_COMPONENT_TEMPLATE_NAME;
  • параметры компонента переданы в параметре POPUP_COMPONENT_PARAMS.

Компонент сам поймет, что его открыли в слайдере и выведет оформление. Иначе отобразится обычный вывод на странице.

Особенности

Если детальная страница сохраняется в слайдере, то редирект должен всегда вести на детальную страницу. При этом необходимо добавить в адрес параметр IFRAME=Y.

...
if ($this->request->isPost() && check_bitrix_sessid())
{
    ...
    $uri = new Uri($pathToDetailPage);
    if ($this->request->get('IFRAME') == 'Y')
    {
        $uri->addParams(['IFRAME' => 'Y']);
    }

    LocalRedirect($uri->getLocator());
}
...

Полезные возможности

Все возможности включаются через параметры компонента.

  • Поддерживаются области pagetitle, inside_pagetitle и sidebar. Те же, что и в шаблоне сайта bitrix24.
  • Если вы используете эти области в своих компонентах, не забывайте о проверке текущего шаблона сайта по константе SITE_TEMPLATE_ID.
  • Дополнительно, только в слайдере, доступна область left-panel. Использовать ее имеет смысл в сочетании с параметром PAGE_MODE=false [image].

Дополнительно

  • Работа страницы в iframe'е


Параметры поведения

Закрытие слайдера после сохранения

Параметр | Тип | По умолчанию | Описание
CLOSE_AFTER_SAVE | boolean | false | Типовое поведение, после нажатия кнопки сохранить, это закрыть слайдер. Если при сохранении возникла ошибка, слайдер не будет закрыт. Важно: Редирект при сохранении должен вести на ту же страницу, а не на список.

Обновление грида

Параметр | Тип | По умолчанию | Описание
RELOAD_GRID_AFTER_SAVE | boolean | false | Типовое поведение после изменений и закрытия слайдера - обновить грид, с которого был вызван слайдер. Обновлен будет первый найденный грид на странице, с которой слайдер был открыт.

Обновление страницы

Параметр | Тип | По умолчанию | Описание
RELOAD_PAGE_AFTER_SAVE | boolean | false | Аналогично предыдущему. Если нет грида, но нужно обновить страницу после изменений и закрытия слайдера.

Показ нотификации

Параметр Тип По умолчанию Описание
NOTIFICATION string | array null Показывает нотификацию после сохранения и закрытия слайдера. Если детальная открывается не из списка, полезно вывести нотификацию об успешном сохранении.

$APPLICATION->IncludeComponent(
    'bitrix:ui.sidepanel.wrapper',
    '',
    [
        'POPUP_COMPONENT_NAME' => 'bitrix:crm.button.edit',
        'POPUP_COMPONENT_TEMPLATE_NAME' => '',
        'POPUP_COMPONENT_PARAMS' => [],
        'NOTIFICATION' => 'Успешно сохранено!',
    ]
);

В параметре можно передать массив ключ => значение. Он будет использован в качестве параметра при вызове BX.UI.Notification.Center.notify.

Установка target="_top" в ссылках

Рекомендуется вручную проставлять target="_top" в ссылках.

Открытие страницы только в слайдере

Параметр | Тип | По умолчанию | Описание
PAGE_MODE | boolean | true | По умолчанию, страница может открываться как в слайдере, так и как отдельная страница (обновление страницы, открытой в слайдере). При PAGE_MODE=false, открывая страницу по прямой ссылке отобразится лоадер, а затем откроется слайдер с контентом этой же страницы. По закрытию слайдера, будет совершен редирект на главную страницу или заданную в параметре PAGE_MODE_OFF_BACK_URL.
PAGE_MODE_OFF_BACK_URL | ' / ' | string

Примеры

// Страница открывается с грида. Сделаем закрытие после сохранения, и обновление грида:
$APPLICATION->IncludeComponent(
    'bitrix:ui.sidepanel.wrapper',
    '',
    [
        'POPUP_COMPONENT_NAME' => 'bitrix:crm.button.edit',
        'POPUP_COMPONENT_TEMPLATE_NAME' => '',
        'POPUP_COMPONENT_PARAMS' => [
            'PATH_TO_BUTTON_LIST' => $arResult['PATH_TO_BUTTON_LIST'],
            'PATH_TO_BUTTON_EDIT' => $arResult['PATH_TO_BUTTON_EDIT'],
            'PATH_TO_BUTTON_FILL' => $arResult['PATH_TO_BUTTON_FILL'],
            'PATH_TO_USER_PROFILE' => $arResult['PATH_TO_USER_PROFILE'],
            'ELEMENT_ID' => $arResult['VARIABLES']['id']
        ]
        'CLOSE_AFTER_SAVE' => true,
        'RELOAD_GRID_AFTER_SAVE' => true,
    ]
);


Параметры отображения

Тема слайдера

С версии UI-библиотеки 21.1000.100 имеется возможность управлять темой слайдера.

Параметр | Тип | По умолчанию | Описание
POPUP_COMPONENT_USE_BITRIX24_THEME | string | null | Параметр включает использование тем портала в слайдере при передаче в него 'Y'. Необходим для использования остальных параметров тем. По умолчанию (без использования других параметров тем) слайдер откроется с темой, установленной у пользователя на портале.
THEME_ID | string | null | Устанавливает тему слайдера. Слайдер всегда будет открываться с указанной темой.
DEFAULT_THEME_ID | string | null | Подменяет тему 'default' (Битрикс24) на указанную тему. Это значит, что слайдер откроется с темой, установленной у пользователя на портале, но с указанной темой в случае, когда тема дефолтная.

Пример

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

$APPLICATION->IncludeComponent(
    'bitrix:ui.sidepanel.wrapper',
    '',
    [
        'POPUP_COMPONENT_USE_BITRIX24_THEME' => 'Y',
        'DEFAULT_THEME_ID' => 'light:mail',
        'POPUP_COMPONENT_NAME' => $componentName,
        'POPUP_COMPONENT_TEMPLATE_NAME' => '',
        'POPUP_COMPONENT_PARAMS' => $arResult,
        'USE_UI_TOOLBAR' => 'Y',
        'USE_PADDING' => false,
        'PLAIN_VIEW' => false,
        'PAGE_MODE' => false,
        'PAGE_MODE_OFF_BACK_URL' => "/stream/",
    ]
);

Редактирование названия в заголовке

Параметр | Тип | По умолчанию | Описание
EDITABLE_TITLE_DEFAULT | string | null | Название по умолчанию.
EDITABLE_TITLE_SELECTOR | string | null | Селектор элемента с инпутом для сокрытия.

Например, на странице есть поле для названия:

Его редактирование можно перенести в заголовок. При этом поле на странице скроется, заголовок поменяется на название и рядом появится знак "карандаша":

По клику на карандаш становится доступно редактирование названия. Скрытый инпут также принимает введенное значение:

Вывод кнопок

Параметр | Тип | По умолчанию | Описание
BUTTONS | array | [ ] | Если в слайдере открывается грид, то уместно в низ страницы добавить панель с кнопкой [dw]Закрыть[/dw][di] [image] [/di]. Но по прямой ссылке страница грида не должна показывать кнопку "Закрыть". Для этого нужно передать значение ['close']. Будет подключен компонент ui.button.panel с переданным списком кнопок.

Вывод контента

Отключение отступов

Параметр | Тип | По умолчанию | Описание
USE_PADDING | boolean | true | По умолчанию, для контента включены отступы.

Пример: на картинке отступы - это белый фон, серый - это контент.

Передав USE_PADDING=false, отступы для контента отключаются:

Отключение фона

С версии 21.800.

Параметр | Тип | По умолчанию | Описание
USE_BACKGROUND_CONTENT | boolean | false | Отключает на #workarea-content белый фон. По умолчанию фон остается.

Вывод только контента без заголовка

Параметр | Тип | По умолчанию | Описание
PLAIN_VIEW | boolean | false | Параметр позволяет выводить контент без заголовка. По умолчанию выключен.

Пример: со значением PLAIN_VIEW=true, контент выводится без отступов слайдера (отступы контента остаются) и заголовка:

Убрать все отступы, оставив только контент, можно комбинированием параметров PLAIN_VIEW=true и USE_PADDING=false.

Пример

Страница открывается с грида. Сделаем закрытие после сохранение, и обновление грида:

$APPLICATION->IncludeComponent(
    'bitrix:ui.sidepanel.wrapper',
    '',
    [
        'POPUP_COMPONENT_NAME' => 'bitrix:crm.button.edit',
        'POPUP_COMPONENT_TEMPLATE_NAME' => '',
        'POPUP_COMPONENT_PARAMS' => [
            'PATH_TO_BUTTON_LIST' => $arResult['PATH_TO_BUTTON_LIST'],
            'PATH_TO_BUTTON_EDIT' => $arResult['PATH_TO_BUTTON_EDIT'],
            'PATH_TO_BUTTON_FILL' => $arResult['PATH_TO_BUTTON_FILL'],
            'PATH_TO_USER_PROFILE' => $arResult['PATH_TO_USER_PROFILE'],
            'ELEMENT_ID' => $arResult['VARIABLES']['id']
        ]
        'CLOSE_AFTER_SAVE' => true,
        'RELOAD_GRID_AFTER_SAVE' => true,
    ]
);


Отправить отзыв по этому разделу

Нотификации

  • Начало работы
  • API


Начало работы

Javascript-расширение ui.notification позволяет показывать нотификации на странице.

Подключение на PHP-странице

\Bitrix\Main\UI\Extension::load("ui.notification");

Использование в JavaScript

Показать нотификацию в позиции по умолчанию.

BX.UI.Notification.Center.notify({
    content: "Успешно удален файл отчет-за-февраль.docs"
});

Показать сообщение слева снизу на странице.

BX.UI.Notification.Center.notify({
    content: "Нотификация слева снизу",
    position: "bottom-left"
});

В качестве содержимого нотификации можно указать DOM-элемент.

BX.UI.Notification.Center.notify({
    content: BX.create("div", {
        style: {
            fontSize: "20px"
        },
        html: "Hello"
    })
});

Нотификация с действием "Отмены".

BX.UI.Notification.Center.notify({
    content: "Файл успешно удален",
    position: "top-right",
    autoHideDelay: 5000,
    closeButton: false,
    category: "disk-file-deleted",
    actions: [{
        title: "Отмена",
        events: {
            click: function(event, balloon, action) {
                balloon.close();
            }
        }
    }]
});

Нотификация с произвольной версткой.

class CircleBalloon extends BX.UI.Notification.Balloon
{
    render()
    {
        var content = this.getContent();
        return BX.create("div", {
            props: {
                className: "circle-balloon"
            },
            children: [
                BX.create("div", {
                    props: {
                        className: "circle-balloon-content"
                    },
                    html: BX.type.isDomNode(content) ? null : content,
                    children: BX.type.isDomNode(content) ? [content] : []
                })
            ]
        })
    }
}

BX.UI.Notification.Center.notify({
    content: "Hello",
    type: "CircleBalloon",
});


API

BX.UI.Notification.Center

BX.UI.Notification.Center — основной программный интерфейс для работы с нотификациями. Является объектом-синглтоном.

BX.UI.Notification.Center.notify([options])

Показывает нотификацию на странице с указанными настройками. Возвращает объект класса BX.UI.Notification.Balloon .

  • options {Object}

    Коллекция опций нотификации. Все настройки являются необязательными.

    • content {string|Element}

      Содержимое нотификации. HTML-строка или DOM-объект.

    • position {string}

      Позиция нотификации на странице. Допустимые значения:

      • top-left - Верхний левый угол.
      • top-center - Центральная точка верхней границы.
      • top-right - Верхний правый угол. Значение по умолчанию.
      • bottom-left - Нижный левый угол.
      • bottom-center - Центральная точка нижней границы.
      • bottom-right - Нижний правый угол.
    • autoHide {boolean}

      Автоматически закрыть нотификацию по таймауту. По умолчанию true.

    • autoHideDelay {number}

      Время задержки перед автоматическим закрытием в миллисекундах. По умолчанию 8000.

    • zIndex {number}

      Z-index нотификации. По умолчанию 3200.

    • closeButton {boolean}

      Отображать кнопку закрытия нотификации. По умолчанию true.

    • category {string}

      Название категории. Нотификации с одинаковой категорией заменяют друг друга.

    • actions {Array}

      Массив действий нотификации. Каждое действие — объект со следующими ключами:

      • title {string} — Название действия.
      • href {string} — Ссылка действия.
      • events {object} — коллекция обработчиков DOM-событий.
      • id {string} — идентификатор действия.

              BX.UI.Notification.Center.notify({
            content: "Файл успешно удален",
            actions: [
                {
                    title: "Корзина",
                    href: "/trash/"
                },
                {
                    title: "Отмена",
                    events: {
                        click: function(event, balloon, action) {
                            balloon.close();
                        }
                    }
                }
            ]
        });

    • id {string}

      Идентификатор нотификации. Используется совместно с BX.UI.Notification.Center.getBalloonById.

    • type {string}

      Название класса, определяющего внешний вид нотификации. Класс должен наследоваться от BX.UI.Notification.Balloon и реализовать метод render.

      •         class MyBalloon extends BX.UI.Notification.Balloon
        {
            /**
             * @protected
             * @return {Element}
             */
            render()
            {
               var content = this.getContent();
               return BX.create("div", {
                  props: {
                    className: "my-balloon"
                  },
                  html: BX.type.isDomNode(content) ? null : content,
                  children: BX.type.isDomNode(content) ? [content] : []
               })
            }
        }

        BX.UI.Notification.Center.notify({
          content: "Custom Balloon",
          type: "MyBalloon"
        });

    • render {function}

      Функция, возвращающая верстку нотификации. Может использоваться, как упрощенная замена опции type.

      •         BX.UI.Notification.Center.notify({
            content: "Custom Balloon",
            autoHideDelay: 5000,
            render: function() {
               return BX.create("div", {
                 props: {
                   className: "my-balloon"
                 },
                 html: this.getContent() + "  " + this.getData().time
               })
            },
            data: {
               time: Date.now()
            }
        });

    • width {number|"auto"}

      Ширина нотификации в пикселах. Используйте значение auto, чтобы ширина нотификации зависела от контента. По умолчанию 400.

    • data {object}

      Набор своих данных для нотификации, который можно использовать для создания произвольной верстки нотификации.

    • events {?object.<string, function>}

      Коллекция обработчиков событий.

      • BX.UI.Notification.Center.notify({
            content: "Balloon Events",
            position: "top-center",
            autoHideDelay: 10000,
            events: {
                onOpen: function(event) {
                    var balloon = event.getBalloon();
                    console.log("onOpen", balloon.getContent());
                },
                onClose: function(event) {
                    console.log("onClose");
                },
                onMouseEnter: function(event) {
                    console.log("onMouseEnter");
                },
                onMouseLeave: function(event) {
                    console.log("onMouseLeave");
                }
            }
        });

BX.UI.Notification.Center.getBalloonById(balloonId)

Возвращает нотификацию (объект класса BX.UI.Notification.Balloon) по идентификатору. null — если нотификация не найдена.

  • balloonId {string} — идентификатор нотификации.

    • BX.UI.Notification.Center.getBalloonByCategory(category)

    Возвращает нотификацию (объект класса BX.UI.Notification.Balloon) по названию категории. null — если нотификация не найдена.

  • category {string} — название категории.

    • BX.UI.Notification.Center.setDefaultPosition(position)

    Устанавливает положение нотификаций на странице по умолчанию.

  • position {string} — позиция нотифкаций по умолчанию. Подробнее см. в BX.UI.Notification.Center.notify.

    • BX.UI.Notification.Center.setBalloonDefaults(options)

    Устанавливает опции нотификации по умолчанию.

  • options {object} — коллекция опций нотификации. Подробнее см. в BX.UI.Notification.Center.notify.

    • BX.UI.Notification.Center.setBalloonDefaults({
    autoHideDelay: 9999,
    width: 600
});

    BX.UI.Notification.Center.setStackDefaults([position][, options])

    Уставливает настройки стека.

  • position {string} — позиция стека.
  • options {object} — опции стека, подробнее см. описание BX.UI.Notification.Stack.

    • BX.UI.Notification.Center.setStackDefaults(
    "top-left",
    {
        spacing: 10,
        offsetX: 10,
        offsetY: 10,
    }
);

    Опции по умолчанию для всех стеков.

    BX.UI.Notification.Center.setStackDefaults({
    spacing: 20,
    offsetX: 20,
    offsetY: 20,
    balloonType: "CircleBalloon"
});

    События

  • UI.Notification.Balloon:onOpen — событие открытия нотификации.
  • UI.Notification.Balloon:onClose — событие закрытия нотификации.
  • UI.Notification.Balloon:onMouseEnter — событие возникает при наведении курсора мыши на нотификацию.
  • UI.Notification.Balloon:onMouseLeave — событие возникает при покидании курсора мыши из области нотификации.

    • BX.UI.Notification.Balloon

    BX.UI.Notification.Balloon- класс представляет отдельную нотификацию.

    new BX.UI.Notification.Balloon(options)

    • options {Object}

      • Коллекция опций нотификации.

      • stack {BX.UI.Notification.Stack}

        • Стек, в котором должна появится нотификация. Обязательный параметр.

      • Остальные опции см. в BX.UI.Notification.Center.notify.

    Методы класса

    • balloon.show() — показывает нотификацию на странице.

    • balloon.close() — закрывает нотификацию.

    • balloon.update(options) — перерисовывает нотификацию с новыми данными.
      • options {object} — коллекция опций нотификации. Подробнее см. в BX.UI.Notification.Center.notify.

    • balloon.adjustPosition() — позиционирует нотификацию в стеке.

    • balloon.getId() — возвращает идентификатор нотификации.

    • balloon.setCloseButtonVisibility(visibility) — устанавливает видимость кнопки закрытия.
      • visibility {boolean} — флаг видимости кнопки закрытия.

    • balloon.isCloseButtonVisible() — возвращает true, если отображается кнопка закрытия нотификации.

    • balloon.getContent() — возвращает содержимое нотификации.

    • balloon.setContent(content) — устанавливает содержимое нотификации.
      • content {string|Element} — содержимое нотификации. HTML-строка или DOM-объект.

    • balloon.getWidth() — возвращает ширину нотификации.

    • balloon.setWidth(width) — устанавливает ширину нотификации.
      • width {number} — значение ширины нотификации в пикселях.

    • balloon.getHeight() — возвращает высоту нотификации.

    • balloon.getZIndex() — возвращает z-index нотификации.

    • balloon.setZIndex(zIndex) — устанавливает z-index нотификации.
      • zIndex {number} — значение z-index.

    • balloon.getCategory() — возвращает категорию нотификации. null — если категория не установлена.

    • balloon.setCategory(category) — устанавливает категорию нотификации.
      • category {string} - название категории.

    • balloon.setActions(actions) — устанавливает действия нотификации.
      • actions — массив действий. Подробнее см. в BX.UI.Notification.Center.notify.

    • balloon.getActions() — возращает массив действий (объекты класса BX.UI.Notification.Action).

    • balloon.getAction(id) — возвращает действие (объект класса BX.UI.Notification.Action) по идентификатору.
      • id {string} — идентификатор действия.

    • balloon.getContainer() — возвращает ссылку на контейнер (DOM-элемент) нотификации.

    • balloon.setCustomRender(render) — устанавливает callback-функцию, которая формирует внешний вид нотификации.
      • render {function} — callback-функция.

    • balloon.getCustomRender() — возвращает функцию, которая создает верстку нотификации.

    • balloon.getStack() — возвращает стек (объект класса BX.UI.Notification.Stack), в котором находится нотификация.

    • balloon.activateAutoHide() — активирует автоматическое закрытие нотификации.

    • balloon.deactivateAutoHide() — деактивирует автоматическое закрытие нотификации.

    • balloon.setAutoHide(autoHide) — устанавливает или сбрасывает режим автоматического закрытия.

    • balloon.getAutoHide() — возвращает true, если включен режим автоматического закрытия.

    • balloon.setAutoHideDelay(delay) — устанавливает время задержки перед автоматическим закрытием.
      • delay {number} — значение задержки в миллисекундах.

    • balloon.getAutoHideDelay() — возвращает время задержки перед автоматическим закрытием.

    • balloon.getData() — возвращает коллекцию данных нотификации.

    • balloon.setData(data) — устанавливает произвольные данные для нотификации.
      • data {object} - коллекция с произвольными данными нотификации.

    BX.UI.Notification.Stack

    Класс BX.UI.Notification.Stack представляет виртуальный стек, в котором будут показываться нотификации. Стек определяет их местоположение на странице.

    new BX.UI.Notification.Stack(options)

    • options {Object}

      Коллекция опций стека.

      • position {string}

        • Позиция стека на странице. Допустимые значения:

        • top-left - Верхний левый угол.
        • top-center - Центральная точка верхней границы.
        • top-right - Верхний правый угол. Значение по умолчанию.
        • bottom-left - Нижный левый угол.
        • bottom-center - Центральная точка нижней границы.
        • bottom-right - Нижний правый угол.

      • spacing {number}

        • Отступ между нотификациями в пикселях. По умолчанию 25.

      • offsetX {number}

        • Отступ стека нотификаций от левой или правой границы страницы в пикселях. По умолчанию 20.

      • offsetY {number}

        • Отступ стека нотификаций от верхней или нижней границы страницы в пикселях. По умолчанию 20.

      • newestOnTop {boolean}

        • Если равен true, новые нотификации будут добавляться в начало стека. По умолчанию false.

      • balloonType {string}

        • Имя класса, экземпляры которого будут создаваться в стеке. По умолчанию BX.UI.Notification.Balloon.

      • id {string}

        • Идентификатор стека.

    Методы класса

    • stack.adjustPosition([balloon]) — позиционирует все нотификации в стеке. Если указан balloon, позиционирует только указанную нотификацию.
      • balloon — объект класса BX.UI.Notification.Balloon.

    • stack.add(balloon) — добавляет нотификацию в стек.
      • balloon — объект класса BX.UI.Notification.Balloon.

    • stack.remove(balloon) — удаляет нотификацию из стека.
      • balloon— объект класса BX.UI.Notification.Balloon.

    • stack.getId() — возвращает идентификатор стека.

    • stack.getBalloons() — возвращает массив нотификаций.

    • stack.getPosition() — возвращает позицию стека на странице.

    • stack.getSpacing() — возвращает отступ между нотификациями.

    • stack.setSpacing(spacing) — устанавливает отступ между нотификациями.
      • spacing {number} — отступ между нотификациями в пикселях.

    • stack.getOffsetX() — возвращает смещение от левой/правой границы страницы.

    • stack.setOffsetX(offset) — устанавливает смещение от левой/правой границы страницы.
      • offset {number} — значение смещения в пикселях.

    • stack.getOffsetY() — возвращает смещение от верхней/нижней границы страницы.

    • stack.setOffsetY(offset) — устанавливает смещение от верхней/нижней границы страницы.
      • offset {number} — значение смещения в пикселях.

    • stack.getHeight() — возвращает высоту стека.

    • stack.isNewestOnTop() — возвращает true, если нотификации добавляются в начало стека.

    • stack.setNewestOnTop(onTop) — устанавливает режим добавления новых нотификаций в стек.
      • onTop — флаг режима добавления новых нотификаций. Если равен true, нотификации добавляются в начало стека.


Отправить отзыв по этому разделу

Панель кнопок

  • Начало работы
  • Параметры компонента
  • Примеры


Начало работы

Компонент bitrix:ui.button.panel выводит панель с кнопками отправки формы. И прикрепляет панель к низу окна браузера.

Использование

Компонент нужно подключать внутри формы. Типовой случай - в шаблоне компонента детальной страницы.

Пример вывода кнопки "Сохранить" и ссылки на список "Отмена":

<form action="/company/detail/1/">
    <div>
        Имя <input name="name">

        Фамилия <input name="last_name">
    </div>

    <?$APPLICATION->IncludeComponent('bitrix:ui.button.panel', '', [
        'BUTTONS' => ['save', 'cancel' => '/company/list/']
    ]);?>
</form>

Где /company/list/ - путь на список для ссылки "Отмена".

Принцип работы

Решает рутинные задачи:

  • Добавляет анимацию ожидания по клику на кнопки.
  • Выводит стандартный набор кнопок - Сохранить и Отмена, если не указан свой набор кнопок.

Понимает контекст слайдера.

В слайдере:

  • Прикрепляет панель книзу намертво.
  • Клик по кнопкам "Отмена/Закрыть" закрывает слайдер без перехода на страницу списка.

Обычная страница:

  • Прикрепляет панель книзу. Если скролл страницы дошел до панели, панель открепляется.
  • Клик по кнопкам "Отмена/Закрыть" делает переход на страницу списка.


Параметры компонента

заголовок блока табов

Описание

Параметр BUTTONS позволяет задать произвольный набор кнопок, вывести чекбокс и свой html.

Кнопки выводятся по порядку указания в параметре.

Список типов кнопок

  • save - зеленая кнопка Сохранить
  • apply - синяя кнопка Применить
  • cancel - ссылка Отмена
  • close - прозрачная кнопка Закрыть
  • button - прозрачная кнопка
  • checkbox - чекбокс в правом углу
  • custom - произвольный html

Форматы

Короткий формат

Перечисление типов и в формате ключ=>значение:

<?$APPLICATION->IncludeComponent('bitrix:ui.button.panel', '', [
    'BUTTONS' => [
        'save',
        'apply',
        'close' => 'путь для ссылки',
        'cancel' => 'путь для ссылки',
        'custom' => '<span></span>',
    ]
]);?>

Полный формат

Перечисление кнопок в виде массива с полями:

<?$APPLICATION->IncludeComponent('bitrix:ui.button.panel', '', [
    'BUTTONS' => [
        ['TYPE' => 'save'],
        ['TYPE' => 'apply'],
        ['TYPE' => 'cancel', 'LINK' => '/company/list/'],
        ['TYPE' => 'custom', 'LAYOUT' => '<span>my content</span>'],
    ]
]);?>

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

<?$APPLICATION->IncludeComponent('bitrix:ui.button.panel', '', [
    'BUTTONS' => [
        [
            'TYPE' => 'save', // тип - обязательный
            'CAPTION' => 'Сохранить', // название - не обязательный
            'NAME' => 'save', // атрибут `name` инпута - не обязательный
            'ID' => 'my-save-id', // атрибут `id` инпута - не обязательный
            'VALUE' => 'Y', // атрибут `value` инпута - не обязательный
            'ONCLICK' => '', // атрибут `onclick` инпута - не обязательный
        ],
    ]
]);?>

По умолчанию значения этих полей уже предустановлены.

Особые поля кнопок

Тип close и cancel

Имеет уникальное поле: LINK
<?$APPLICATION->IncludeComponent('bitrix:ui.button.panel', '', [
    'BUTTONS' => [
        [
            'TYPE' => 'close', // тип - обязательный
            'LINK' => '/segment/list/', // ссылка, если клик на странице - обязательный
        ],
    ]
]);?>

Тип checkbox

Имеет два уникальных поля: CHECKED и HINT

<?$APPLICATION->IncludeComponent('bitrix:ui.button.panel', '', [
    'BUTTONS' => [
        [
            'TYPE' => 'checkbox', // тип - обязательный
            'CAPTION' => 'Применить', // текст - не обязательный
            'NAME' => 'apply', // атрибут `name` инпута - не обязательный
            'ID' => '123', // атрибут `id` инпута - не обязательный
            'VALUE' => 'Y', // атрибут `value` инпута - не обязательный
            'ONCLICK' => '', // атрибут `onclick` инпута - не обязательный
            'CHECKED' => '', // булево, выводит атрибут `checked` инпута - не обязательный
            'HINT' => '', // выводит подсказку справа от текста чекбокса - не обязательный
        ],
    ]
]);?>

Тип custom

Имеет только два поля: TYPE и LAYOUT

<?$APPLICATION->IncludeComponent('bitrix:ui.button.panel', '', [
    'BUTTONS' => [
        [
            'TYPE' => 'custom', // тип - обязательный
            'LAYOUT' => '<div></div>', // произвольная верстка - обязательный
        ],
    ]
]);?>


Примеры

Вывести "Сохранить" и "Отмена"

<?$APPLICATION->IncludeComponent('bitrix:ui.button.panel', '', [
    'BUTTONS' => ['save', 'cancel' => '/company/list/']
]);?>

Вывести "Сохранить", "Отмена" и чекбокс "Сохранить в мои шаблоны"

<?$APPLICATION->IncludeComponent('bitrix:ui.button.panel', '', [
    'BUTTONS' => [
        'save',
        'cancel' => '/company/list/',
        [
            'type' => 'checkbox',
            'name' => 'save_as_template',
            'caption' => 'Сохранить в мои шаблоны',
        ]
    ]
]);?>

Вывести "Сохранить", "Применить" и "Отмена"

<?$APPLICATION->IncludeComponent('bitrix:ui.button.panel', '', [
    'BUTTONS' => ['save', 'apply', 'cancel' => '/company/list/']
]);?>

Вывести "Закрыть"

<?$APPLICATION->IncludeComponent('bitrix:ui.button.panel', '', [
    'BUTTONS' => ['close' => '/company/list/']
]);?>

Вывести собственный html в панели

<?$APPLICATION->IncludeComponent('bitrix:ui.button.panel', '', [
    'BUTTONS' => ['custom' => '<span>My content</span>']
]);?>


Начало работы

Подключение и использование

Подключение на PHP-странице

\Bitrix\Main\UI\Extension::load("ui.hint");

Использование

В html-коде достаточно указать у элемента атрибут data-hint c текстом:

<span data-hint="Моя первая подсказка"></span>

В js-коде необходимо инициализировать подсказку. Будут созданы подсказки для всех дочерних элементов контейнера:

BX.UI.Hint.init(BX('container'));

Javascript-расширение ui.hint позволяет показывать подсказки на странице.

Пример

<?
\Bitrix\Main\UI\Extension::load("ui.hint");
?>

<script type="text/javascript">
    BX.ready(function() {
        BX.UI.Hint.init(BX('my-container'));
    })
</script>

<div id="my-container">
   <div>
        Подсказка 1
        <span data-hint="<?=Loc::getMessage('MY_HINT_1')?>"></span>
    </div>

    <div>
        Подсказка 2
        <span data-hint="<?=Loc::getMessage('MY_HINT_2')?>"></span>
    </div>
</div>

Использование в JavaScript

При формировании верстки в js, можно получить элемент для вставки из текста:

containerElement.appendChild(
    BX.UI.Hint.createNode("Моя вторая подсказка.")
);


Отправить отзыв по этому разделу

Пользовательские поля

  • BX.UI.UserField
  • Фабрика настроек пользовательских полей
  • Конфигуратор
  • Стандартный список полей
  • Попап со списком типов полей


BX.UI.UserField

Описание

Расширение содержит класс для модели настроек пользовательского поля.

Модель используется:

  • публичном компоненте настроек;
  • ui.userfieldfactory;
  • rpa.fieldscontroller.

На вход конструктора приходит объект UserFieldData со структурой, которую возвращают методы контроллера настроек:

declare type UserFieldData = {
    id: ?number,
    fieldName: string,
    detailUrl: ?string,
    enum: ?Array,
    entityId: string,
    xmlId: ?string,
    sort: number,
    mandatory: string,
    showFilter: string,
    isSearchable: string,
    settings: ?{},
};

Методы

Метод Описание С версии
constructor(data: UserFieldData, params: ?{}) Конструктор. Параметры:
  • data - объект структуры UserFieldData. Можно передать только id, а после вызвать метод load()
  • params - объект дополнительных параметров
    • moduleId - идентификатор модуля. Необходим для работы аякс-действий по сохранению / изменению настроек
    • languageId - идентификатор языка. Если не передан, будет использован текущий язык интерфейса

Ajax-методы

Метод | Описание | С версии
load(): Promise<UserField,string[]> | Метод делает ajax-запрос с попыткой загрузить актуальные данные о настройке пользовательского поля. В случае успеха данные о настройках обновятся автоматически. Метод вернет Promise. В reject придет массив с сообщениями об ошибках |
save(): Promise<UserField,string[]> | Метод делает ajax-запрос с попыткой сохранить настройки пользовательского поля. Автоматически определяет, что надо выполнить - добавление (если id не задано) или обновление. Метод вернет Promise. В reject придет массив с сообщениями об ошибках |
delete(): Promise<UserField,string[]> | Метод делает аякс-запрос с попыткой удалить настройки пользовательского поля. В случае успеха поле будет помечено как удаленное (метод isDeleted() вернет true). Вернет Promise. В reject придет массив с сообщениями об ошибках |

Геттеры и сеттеры

  • setLanguageId(languageId: string): this
  • getLanguageId(): string
  • setModuleId(moduleId: string): this
  • getId(): number
  • getName(): ?string
  • setName(name: string): this - Не меняется на сохраненном поле
  • getEntityId(): string
  • getUserTypeId(): string
  • setUserTypeId(userTypeId: string): this - Не меняется на сохраненном поле
  • isMultiple(): boolean
  • setIsMultiple(isMultiple: boolean|string): this - Не меняется на сохраненном поле
  • isMandatory(): boolean
  • setIsMandatory(mandatory: boolean): this
  • getDetailUrl(): ?string
  • isDeleted(): boolean - Вернет true, если поле было удалено через метода delete()
  • getEnumeration(): ?Array - Вернет массив с вариантами значений для свойства типа "Список"
  • setEnumeration(items: Array): this - Устанавливает варианты значений для свойства типа "Список"
  • getTitle(): string
  • setTitle(title: string, languageId: ?string): this
  • setData(data: UserFieldData): this - Устанавливает данные о настройках поля
  • getData(): UserFieldData - Возвращает данные о настройках поля

Сериализация

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

Объект целиком нельзя передать корректно из одного окна в другое, поэтому в одном окне объект необходимо сериализовать, а в другом - восстановить из строки.

serialize(): string - метод вернет строку с сериализованными данными об объекте

static unserialize(serializedData: string): UserField - Метод позволяет восстановить объект из сериализованной строки


Фабрика настроек пользовательских полей

Описание и методы

Это расширение содержит фрагменты интерфейсов и логики, необходимые для управления настройками пользовательских полей.

Основной класс для работы с этим расширением

BX.UI.UserFieldFactory.Factory
Метод | Описание | С версии
constructor(entityId: string, params: {}) Конструктор.

Параметры:

  • entityId - строковый идентификатор сущности, для которой будут создаваться поля
  • params - дополнительные параметры, имеют следующую структуру:
    • menuId - идентификатор для меню с выбором типа поля для создания;
    • types - массив с дополнительными типами полей, которые будут добавлены к стандартному списку;
    • bindElement - DOM-элемент, для передачи в объект BX.Main.Popup для показа попапа со списком полей;
    • configuratorClass - имя класса-наследника Configurator, который будет использоваться вместо стандартного;
    • customTypesUrl - адрес страницы, которая должна открыться в слайдере при клике на Дополнительный тип поля;
    • moduleId - идентификатор модуля для использования в модели UserField.
getFieldTypes(): Array Метод вернет массив типов полей с описанием.

Каждый элемент имеет следующую структуру:

  • name - строковый идентификатор [типа](../../20_main/userfield/config/20_types.md);
  • title - заголовок типа;
  • description - описание типа;
  • defaultTitle - заголовок по умолчанию для создания нового поля.
getMenu(params: {}): CreationMenu Метод вернет объект CreationMenu.
  • params - дополнительные параметры для передачи в BX.Main.Popup попапа с выбором типа поля.
setConfiguratorClass(configuratorClassName: string|Function) | Устанавливает имя класса-наследника Configurator, который будет использоваться вместо стандартного.
setCustomTypesUrl(customTypesUrl: string): this | Устанавливает адрес страницы, которая должна открыться в слайдере при клике на Дополнительный тип поля.
getConfigurator(params: {}): Configurator Возвращает объект Configurator для настройки поля userField.

params имеет структуру:

  • userField - объект UserField, для которого показывается форма настройки;
  • onSave - колбэк для вызова после сохранения формы;
  • onCancel - колбэк для вызова после нажатия кнопки отмены.
createUserField(fieldType: string, fieldName: ?string): UserField Метод вернет новый объект UserField.

Параметры:

  • fieldType - строковый идентификатор типа;
  • fieldName - название для нового поля. Если не передать, будет сгенерировано автоматически.
getDefaultLabel(fieldType: string): string Метод вернет заголовок поля по умолчанию (для нового).

Параметры:

  • fieldType - строковый идентификатор типа.
generateFieldName(): string | Метод сгенерирует код поля на основе сущности и текущего времени.
onCustomTypeClick() | Метод обработчик клика на Дополнительный тип поля.

События

Событие | Описание
namespace: BX.UI.UserFieldFactory.Factory
OnGetUserTypes | Событие бросается после инициализации доступных типов пользовательских полей. В обработчик придет массив со списком полей types, который можно изменить.
onCreateField | Событие бросается после создания объекта UserField в методе createUserField. В обработчике можно получить объект userField.
onCreateCustomUserField | Событие бросается после создания объекта UserField через полную форму настройки поля. В обработчике можно получить объект userField.


Конфигуратор

Объект для формы настройки поля

BX.UI.UserFieldFactory.Configurator

Методы

Метод | Описание | С версии
constructor(params: {}) Конструктор.

Параметры:

  • userField - объект UserField, для которого показывается форма настройки;
  • onSave - колбэк для вызова после сохранения формы;
  • onCancel - колбэк для вызова после нажатия кнопки Отмена.
render(): Element | Метод отрисует форму настройки и вернет DOM-элемент с ней.
saveField(): UserField | Метод сохранит параметры поля из формы и вернет объект.
renderEnumeration(): Element | Метод отрисует варианты значений для свойства типа Список и вернет DOM-элемент.
addEnumInput(item: ?{}) Метод добавит новый вариант значения в список вариантов для свойства типа Список.
  • item - объект с описанием варианта значения
    • value - значение варианта;
    • id - идентификатор.
deleteEnumItem(item: EnumItem) Метод удалит вариант значения item из списка.
  • item - объект [`EnumItem`](enumitem.md).
renderOptions(): Element | Метод отрисует чекбоксы.
saveEnumeration(userField: UserField, enumItems: EnumItem[]) | Метод сохранит варианты значений enumItems в объекте userField.


Стандартный список полей

Даные по умолчанию

BX.UI.UserFieldFactory.FieldTypes

Методы

Метод | Описание | С версии
static getTypes() | Вернет список идентификаторов типов по умолчанию. |
static getDescriptions() | Возвращает список с описаниями полей по умолчанию. |
static getCustomTypeDescription() | Возвращает описание дополнительного типа поля. |


Попап со списком типов полей

Попап со списком типов полей

BX.UI.UserFieldFactory.CreationMenu

Методы

Метод | Описание | С версии
constructor((id: string, types: Array, params: Object)) Конструктор.

Параметры:

  • id - идентификатор, передается в BX.Main.Popup;
  • types - массив с описаниями типов полей, как в Factory;
  • params - дополнительный набор параметров для попапа в формате BX.Main.PopupOptions.
getId(): string | Возвращает идентификатор.
getPopup(onItemClick = null): Popup Метод вернет объект BX.Main.Popup.
  • onItemClick - колбэк, который вызовется после клика на тип поля.
static getDefaultPopupOptions(): Object | Метод возвращает набор параметров по умолчанию для попапа.
open(callback: function): void Метод показывает попап.
  • callback - колбэк, который вызовется после клика на тип поля.
render(onItemClick): Element Отрисовывает содержимое попапа.
  • onItemClick - колбэк, который вызовется после клика на тип поля.


Отправить отзыв по этому разделу

Последовательность стадий

  • BX.UI.StageFlow
  • BX.UI.StageFlow.Stage


BX.UI.StageFlow

Это расширение служит для отрисовки последовательности стадий в верхней карточке элемента.

Модель используется:

  • Стадии.

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

BX.UI.StageFlow.Chart

Все цвета задаются в виде HEX (6 символов).

Методы

Метод | Описание | С версии
constructor(params: {}, stages: []) Конструктор.

params - параметры, имеют следующую структуру:

  • backgroundColor - цвет фона неактивной стадии;
  • currentStage - идентификатор текущей стадии;
  • isActive - булевый флаг того, может ли пользователь взаимодействовать с графиком;
  • onStageChange - колбэк, который вызывается при смене стадии;
  • labels - список подписей, имеет структуру:
    • finalStageName - название финальной стадии;
    • finalStagePopupTitle - заголовок попапа выбора финальной стадии;
    • finalStagePopupFail - заголовок попапа выбора финальной неуспешной стадии;
    • finalStageSelectorTitle - подпись у селектора выбора конкретной финальной стадии.
  • stages - массив с данными о стадиях. Каждый элемент массива должен иметь структуру:
    • id - идентификатор стадии;
    • name - название стадии;
    • isSuccess - булевый флаг того, что стадия успешна;
    • isFail - булевый флаг того, что стадия неуспешна;
    • color - цвет стадии.
setCurrentStageId(stageId: number): Chart Метод изменяет идентификатор текущей стадии и перерисовывает все стадии.
  • stageId - идентификатор стадии
getFinalStage(): ?Stage | Возвращает объект финальной псевдо-стадии.
getStages(): Map | Возвращает все стадии.
getFirstFailStage(): ?Stage | Возвращает объект первой неуспешной стадии.
getFailStages(): Array | Возвращает массив со всеми неуспешными стадиями.
getSuccessStage(): ?Stage | Возвращает успешную стадию.
getStageById(id: number): ?Stag | Возвращает стадию по её идентификатору id.
render(): Element | Отрисовывает график стадии и возвращает DOM-элемент.
onStageMouseHover(stage: Stage) | Метод вызывается при наведении мыши на стадию stage.
onStageMouseLeave(stage: Stage) | Метод вызывается после перемещения курсора мыши со стадии stage.
onStageClick(stage: Stage) | Метод вызывается при клике на стадию.
onFinalStageClick() | Метод вызывается при клике на финальную псевдо-стадию.
addBackLightUpToStage(stageId: number|string = null, color: string = null) Метод заливает цветом color все стадии вплоть до стадии stageId включительно.
  • stageId- идентификатор стадии. Если не передан, то будет использована текущая стадия;
  • color- цвет. Если не передан, то будет взят цвет текущей стадии.
getSemanticSelectorPopup(): Popup | Метод возвращает объект попапа BX.Main.Popup для выбора семантики финала.
getFinalStageSemanticSelector(isSuccess: boolean = null): Element Метод возвращает селектор выбора семантики стадии .
  • isSuccess- если true, то в селекторе будет выбрана успешная семантика, иначе - неуспешная.
getFinalStageSelectorPopup(isSuccess: boolean = false): Popup | Метод возвращает объект попапа BX.Main.Popup для выбора финальной стадии.
onSemanticSelectorClick() | Метод вызывается при клике на селектор выбора семантики финала.
getSelectedFinalStage(): ?Stage | Метод возвращает выбранную в попапе финальную стадию.
getFailStageName(): ?string | Метод возвращает название выбранной неуспешной стадии.


BX.UI.StageFlow.Stage

Описание и методы

Класс-модель для работы со стадией в рамках последовательности.

BX.UI.StageFlow.Stage
Метод | Описание | С версии
constructor(data: {}) Конструктор. Не используется в явном виде, для создания рекомендуется пользоваться методом create().

data - имеет следующую структуру:

  • id - идентификатор стадии;
  • name - название стадии;
  • color - цвет стадии;
  • backgroundColor - цвет фона;
  • isFilled - флаг того, должна ли стадия быть заполнена основным цветом;
  • events - список с обработчиками событий:
    • onMouseEnter
    • onMouseLeave
    • onClick
  • isSuccess - флаг того, что стадия является успешной;
  • isFail - флаг того, что стадия является неуспешной;
  • fillingColor - цвет для заливки.
create(data: {}): Stage Метод создает новую стадию. Объект data имеет такую же структуру, как для конструктора.

Этот метод проверяет наличие некоторых обязательных параметров в data, и если их нет, метод вернет null.
render(): Element | Метод отрисует стадию и вернет DOM-элемент.
addBackLight(color) | Метод добавляет подсветку с цветом color.
removeBackLight() | Метод убирает подсветку.

Геттеры и Сеттеры

  • getId(): number
  • getName(): string
  • setName(name: string): Stage
  • isSuccess(): boolean
  • isFail(): boolean
  • isFinal(): boolean
  • getColor(): string
  • setColor(color: string): Stage


Отправить отзыв по этому разделу

ПрогрессБар

  • Общее
  • API
  • API Круглого ПрогрессБара


Общее

С версии 21.600 обновлено до ES6.

Подключение и базовый шаблон

Подключение на PHP-странице

\Bitrix\Main\UI\Extension::load("ui.progressbar");

Базовый шаблон

.ui-progressbar имеет по умолчанию свойство display: flex.

<!-- .ui-progressbar > .ui-progressbar-track > .ui-progressbar-bar -->
<div class="ui-progressbar">
    <div class="ui-progressbar-track">
        <div class="ui-progressbar-bar" style="width:70%;"></div>
    </div>
</div>

За прогресс отвечает элемент <div class="ui-progressbar-bar" style="width:70%;"></div>. В атрибут style в свойстве width вписаное значение будет определять размер шкалы прогресса. Для удобства рекомендуется записывать значения в %.

Размеры

LG

Модификатор .ui-progressbar-lg.

<!-- .ui-progressbar.ui-progressbar-lg > .ui-progressbar-track > .ui-progressbar-bar -->
<div class="ui-progressbar ui-progressbar-lg">
    <div class="ui-progressbar-track">
        <div class="ui-progressbar-bar" style="width:30%;"></div>
    </div>
</div>

MD

Модификатор .ui-progressbar-md.

<!-- .ui-progressbar.ui-progressbar-md > .ui-progressbar-track > .ui-progressbar-bar -->
<div class="ui-progressbar ui-progressbar-md">
    <div class="ui-progressbar-track">
        <div class="ui-progressbar-bar" style="width:30%;"></div>
    </div>
</div>

Цвета

Primary

Модификатор .ui-progressbar-primary. Цвет по умолчанию.

<!-- .ui-progressbar > .ui-progressbar-track > .ui-progressbar-bar -->
<div class="ui-progressbar">
    <div class="ui-progressbar-track">
        <div class="ui-progressbar-bar" style="width:30%;"></div>
    </div>
</div>

<!-- .ui-progressbar.ui-progressbar-primary > .ui-progressbar-track > .ui-progressbar-bar -->
<div class="ui-progressbar ui-progressbar-primary">
    <div class="ui-progressbar-track">
        <div class="ui-progressbar-bar" style="width:30%;"></div>
    </div>
</div>

Success

Модификатор .ui-progressbar-success.

<!-- .ui-progressbar.ui-progressbar-success> .ui-progressbar-track > .ui-progressbar-bar -->
<div class="ui-progressbar ui-progressbar-success">
    <div class="ui-progressbar-track">
        <div class="ui-progressbar-bar" style="width:30%;"></div>
    </div>
</div>

Warning

Модификатор .ui-progressbar-warning.

<!-- .ui-progressbar.ui-progressbar-warning> .ui-progressbar-track > .ui-progressbar-bar -->
<div class="ui-progressbar ui-progressbar-warning">
    <div class="ui-progressbar-track">
        <div class="ui-progressbar-bar" style="width:30%;"></div>
    </div>
</div>

Danger

Модификатор .ui-progressbar-danger.

<!-- .ui-progressbar.ui-progressbar-danger> .ui-progressbar-track > .ui-progressbar-bar -->
<div class="ui-progressbar ui-progressbar-danger">
    <div class="ui-progressbar-track">
        <div class="ui-progressbar-bar" style="width:30%;"></div>
    </div>
</div>

Фон

Модификатор .ui-progressbar-bg добавляет фон. Цвет фона зависит от модификатора цвета, указанного для бара. Например, для .ui-progressbar.ui-progressbar-success фон будет светло-зеленым, как в примере ниже.

<!-- .ui-progressbar.ui-progressbar-bg > .ui-progressbar-track > .ui-progressbar-bar -->
<div class="ui-progressbar ui-progressbar-bg">
    <div class="ui-progressbar-track">
        <div class="ui-progressbar-bar" style="width:30%;"></div>
    </div>
</div>

<!-- .ui-progressbar.ui-progressbar-bg.ui-progressbar-success > .ui-progressbar-track > .ui-progressbar-bar -->
<div class="ui-progressbar ui-progressbar-bg ui-progressbar-success">
    <div class="ui-progressbar-track">
        <div class="ui-progressbar-bar" style="width:30%;"></div>
    </div>
</div>

Текст

Текст может быть либо перед, либо после бара. Для этого есть 2 контейнера с определенными классами .ui-progressbar-text-before и .ui-progressbar-text-after соответственно.

Выполняется удаление
594 из 80 042

<!-- .ui-progressbar > .ui-progressbar-text-before + (.ui-progressbar-track > .ui-progressbar-bar) + .ui-progressbar-text-after -->
<div class="ui-progressbar">
    <div class="ui-progressbar-text-before">Выполняется удаление</div>
    <div class="ui-progressbar-track">
        <div class="ui-progressbar-bar" style="width:30%;"></div>
    </div>
    <div class="ui-progressbar-text-after">594 из 80 042</div>
</div>

Прочее

Что бы расположить элементы прогрессбара в столбик, используйте модификатор .ui-progressbar-column.

Выполняется удаление
594 из 80 042

<!-- .ui-progressbar.ui-progressbar-column > .ui-progressbar-text-before + (.ui-progressbar-track > .ui-progressbar-bar) + .ui-progressbar-text-after -->
<div class="ui-progressbar ui-progressbar-column">
    <div class="ui-progressbar-text-before">Выполняется удаление</div>
    <div class="ui-progressbar-track">
        <div class="ui-progressbar-bar" style="width:30%;"></div>
    </div>
    <div class="ui-progressbar-text-after">594 из 80 042</div>
</div>

Также можно использовать цветовые палитры. Будет это выглядеть так:

Выполняется удаление
594 из 80 042

<!-- .ui-progressbar.ui-progressbar-warning.ui-progressbar-bg > .ui-progressbar-text-before + (.ui-progressbar-track > .ui-progressbar-bar) + .ui-progressbar-text-after -->
<div class="ui-progressbar ui-progressbar-warning ui-progressbar-bg">
    <div class="ui-progressbar-text-before">Выполняется удаление</div>
    <div class="ui-progressbar-track">
        <div class="ui-progressbar-bar" style="width:30%;"></div>
    </div>
    <div class="ui-progressbar-text-after">594 из 80 042</div>
</div>


API

Подключение и использование

Подключение на PHP-странице

\Bitrix\Main\UI\Extension::load("ui.progressbar");

Использование

Метод getContainer() возвращает верстку прогресс-бара.

var myProgress = new BX.UI.ProgressBar({
    /*[options]*/
});

myProgress.getContainer()

С версии UI 21.800 появились методы:

finish() - метод позволяющий завершить прогресс досрочно.

isFinish() - метод, проверяющий статус.

renderTo(element) - метод, в котором можно указать ноду для рендеринга прогрессбара.

destroy() - метод уничтожает экземпляр прогрессбара.

Размер

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

var myProgress = new BX.UI.ProgressBar({
    size: BX.UI.ProgressBar.Size.LARGE
});

//------------

myProgress.getContainer()

Возможные значения:

BX.UI.ProgressBar.Size.LARGE
BX.UI.ProgressBar.Size.MEDIUM //Default

Цвет

color Определяет цвет прогресс бара.

var myProgress = new BX.UI.ProgressBar({
    color: BX.UI.ProgressBar.Color.PRIMARY
});

//------------

myProgress.setColor(BX.UI.ProgressBar.Color.SUCCESS);

Возможные значения:

BX.UI.ProgressBar.Color.PRIMARY //Default
BX.UI.ProgressBar.Color.SUCCESS
BX.UI.ProgressBar.Color.WARNING
BX.UI.ProgressBar.Color.DANGER

Кастомные цвета

Можно установить собственные цвета через опции colorBar: "#f00" для бара и colorTrack: "#ff0" для трека, а также методами setColorBar("#f00") и setColorTrack("#ff0") соответственно.

Фон

fill {boolean} добавляет фон. Цвет фона зависит от модификатора цвета указанного для бара. По умолчанию false.

BX.UI.ProgressBar({
    fill: true
});

Счетчик прогресса

Счетчик прогрессса может принимать любые значения {number}.

maxValue {number} - определяет максимальное значение прогресс-бара. (по умолчанию: 100)

value {number} - текущее значение прогрессбара. (по умолчанию: 0)

statusType - определяет как отображать прогрес:

BX.UI.ProgressBar.Status.PERCENT //Default. Отображать прогрес в %.
BX.UI.ProgressBar.Status.COUNTER //Отображать прогрес счетчиком

Пример на процентах:

var myProgress = new BX.UI.ProgressBar({
    maxValue: 2000,
    value: 500,
    statusType: BX.UI.ProgressBar.Status.PERCENT
});

//------------

myProgress.setValue(500);
25%

Пример на счетчике:

var myProgress = new BX.UI.ProgressBar({
    maxValue: 2000,
    value: 500,
    statusType: BX.UI.ProgressBar.Status.COUNTER
});

//------------

myProgress.setValue(500);
500 из 2000

Обновление счетчика

Для обновления счетчика используется метод update. Он принимает текущее значение прогресса (value) и высчитывает прогресс. После этого он изменяет счетчик и сам прогресс-бар.

myProgress.update(500);

Дополнительный текст

Текст можно поставить "до" или "после" прогресс-бара.

textBefore {string} - устанавливает текст перед прогресс-баром;

textAfter {string} - устанавливает текст после прогресс-бара.

var myProgress = new BX.UI.ProgressBar({
    textBefore: "Выполняется удаление",
    textAfter: "А может и не выполняется"
});

//------------

myProgress.setTextBefore("Выполняется удаление");
myProgress.setTextAfter("А может и не выполняется");
Выполняется удаление
А может и не выполняется

В колонку

column {boolean} - показывать элементы прогресс-бара в столбик. (по умолчанию: false)

var myProgress = new BX.UI.ProgressBar({
    column: true
});
25%
Выполняется удаление


API Круглого ПрогрессБара

С версии 21.800 обновлено до ES6.

Подключение и использование

Подключение на PHP-странице

\Bitrix\Main\UI\Extension::load("ui.progressround");

Использование

Метод getContainer() возвращает верстку прогресс-бара.

var myProgress = new BX.UI.ProgressRound({
    /*[options]*/
});

myProgress.getContainer()

Анимация вращения устанавливается через опцию rotation: true. Что бы не грузить процессор, анимация останавливается по достижению бара 100%.

С версии UI 21.800 появились методы:

finish() - метод позволяющий завершить прогресс досрочно.

isFinish() - метод, проверяющий статус.

renderTo(element) - метод, в котором можно указать ноду для рендеринга прогрессбара.

destroy() - метод уничтожает экземпляр прогрессбара.

Размер

width определяет размер (диаметр) прогрессбара.

var myProgress = new BX.UI.ProgressRound({
    width: 150
});

//------------

myProgress.setWidth(150);

Размер линии

lineSize определяет толщину линии прогрессбара.

var myProgress = new BX.UI.ProgressRound({
    lineSize: 15
});

//------------

myProgress.setLineSize(15);

Если значение lineSize выставить больше, чем половина значниея width, то получится так называемый "Пирог":

Цвет

color Определяет цвет прогресс бара.

var myProgress = new BX.UI.ProgressRound({
    color: BX.UI.ProgressRound.Color.DANGER
});

//------------

myProgress.setColor(BX.UI.ProgressRound.Color.DANGER);

Возможные значения:

BX.UI.ProgressRound.Color.PRIMARY //Default
BX.UI.ProgressRound.Color.SUCCESS
BX.UI.ProgressRound.Color.WARNING
BX.UI.ProgressRound.Color.DANGER

Кастомные цвета

Кастомные цвета устанавливаются через опции colorBar: "#f00" для бара и colorTrack: "#ff0" для трека, а также методами setColorBar("#f00") и setColorTrack("#ff0") соответственно.

Фон

fill {boolean} добавляет фон. Цвет фона зависит от модификатора цвета указанного для бара. По умолчанию false.

BX.UI.ProgressRound({
    fill: true
});

Счетчик прогресса

Счетчик прогрессса может принимать любые значения {number}.

maxValue {number} - определяет максимальное значение прогресс-бара. (по умолчанию: 100)

value {number} - текущее значение прогрессбара. (по умолчанию: 0)

statusType - определяет как отображать прогрес:

BX.UI.ProgressRound.Status.PERCENT //Отображать прогрес в %.
BX.UI.ProgressRound.Status.COUNTER //Отображать прогрес счетчиком
BX.UI.ProgressRound.Status.INCIRCLE //Отображать прогрес в % внутри круга
BX.UI.ProgressRound.Status.INCIRCLECOUNTER //Отображать прогрес счётчиком внутри круга
BX.UI.ProgressRound.Status.NONE //По умолчанию. Ничего не показывать

Обновление счетчика

Для обновления счетчика используется метод update. Он принимает текущее значение прогресса (value) и высчитывает прогресс. После этого он изменяет счетчик и сам прогресс-бар.

myProgress.update(500);

Дополнительный текст

Текст можно поставить "до" или "после" прогресс-бара.

textBefore {string} - устанавливает текст перед прогресс-баром;

textAfter {string} - устанавливает текст после прогресс-бара.

var myProgress = new BX.UI.ProgressRound({
    textBefore: "Выполняется удаление",
    textAfter: "А может и не выполняется"
});

//------------

myProgress.setTextBefore("Выполняется удаление");
myProgress.setTextAfter("А может и не выполняется");


Сокращение текста по высоте

Описание

Javascript-расширение ui.textcrop осуществляет сокращение текста по высоте по заданному количеству строк. При сокращении подставляется троеточие в конце обрезанного текста и добавляется полный текст в атрибут title.

Исходный вид блока: | После применения экстеншена:

Подключение и использование

Подключение

Подключение на PHP-странице

\Bitrix\Main\UI\Extension::load('ui.textcrop');

Подключение в jS

import {TextCrop} from 'ui.textcrop';

Использование

В js-коде необходимо инициализировать расширение и в target передать ноду, для которой нужно выполнить сокращение текста.

<div data-role="target">
    "Lorem ipsum dolor sit amet, consectetur adipiscing elit, Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</div>

let text = new BX.UI.TextCrop({
    rows: 2,
    target: document.querySelector('[data-role="target"]'),
});

text.init();

В параметр rows необходимо передать количество строк, до которых хотите сократить текст.

В параметр target необходимо передать элемент который необходимо обрезать.


Отправить отзыв по этому разделу

Сообщения

  • Алерты
  • API


Алерты

Вызов и базовый стиль

Вызов

\Bitrix\Main\UI\Extension::load("ui.alerts");

Базовый стиль

Внимание! Текст предупреждения находится здесь.

<!-- .ui-alert -->
<div class="ui-alert">
    <span class="ui-alert-message"><strong>Внимание!</strong> Текст предупреждения находится здесь.</span>
</div>

Размеры

MD

Модификатор .ui-alert-md. Размер по умолчанию.

Внимание! Текст предупреждения находится здесь.

<!-- .ui-alert.ui-alert-md -->
<div class="ui-alert ui-alert-md">
    <span class="ui-alert-message"><strong>Внимание!</strong> Текст предупреждения находится здесь.</span>
</div>

XS

Модификатор .ui-alert-xs. Размер по умолчанию.

Внимание! Текст предупреждения находится здесь.

<!-- .ui-alert.ui-alert-xs-->
<div class="ui-alert ui-alert-xs">
    <span class="ui-alert-message"><strong>Внимание!</strong> Текст предупреждения находится здесь.</span>
</div>

Цвет

Default

Модификатор .ui-alert-default. Цвет по умолчанию.

Внимание! Текст предупреждения находится здесь.

<!-- .ui-alert.ui-alert-default -->
<div class="ui-alert ui-alert-default ">
    <span class="ui-alert-message"><strong>Внимание!</strong> Текст предупреждения находится здесь.</span>
</div>

Success

Модификатор .ui-alert-success. Цвет по умолчанию.

Внимание! Текст предупреждения находится здесь.

<!-- .ui-alert.ui-alert-success-->
<div class="ui-alert ui-alert-success">
    <span class="ui-alert-message"><strong>Внимание!</strong> Текст предупреждения находится здесь.</span>
</div>

Danger

Модификатор .ui-alert-danger. Цвет по умолчанию.

Внимание! Текст предупреждения находится здесь.

<!-- .ui-alert.ui-alert-danger-->
<div class="ui-alert ui-alert-danger">
    <span class="ui-alert-message"><strong>Внимание!</strong> Текст предупреждения находится здесь.</span>
</div>

Warning

Модификатор .ui-alert-warning. Цвет по умолчанию.

Внимание! Текст предупреждения находится здесь.

<!-- .ui-alert.ui-alert-warning-->
<div class="ui-alert ui-alert-warning">
    <span class="ui-alert-message"><strong>Внимание!</strong> Текст предупреждения находится здесь.</span>
</div>

Primary

Модификатор .ui-alert-primary. Цвет по умолчанию.

Внимание! Текст предупреждения находится здесь.

<!-- .ui-alert.ui-alert-primary-->
<div class="ui-alert ui-alert-primary">
    <span class="ui-alert-message"><strong>Внимание!</strong> Текст предупреждения находится здесь.</span>
</div>

Иконки

Внимание! Текст предупреждения находится здесь.

<!-- .ui-alert.ui-alert-icon-warning-->
<div class="ui-alert ui-alert-icon-warning">
    <span class="ui-alert-message"><strong>Внимание!</strong> Текст предупреждения находится здесь.</span>
</div>

Внимание! Текст предупреждения находится здесь.

<!-- .ui-alert.ui-alert-icon-danger-->
<div class="ui-alert ui-alert-icon-danger">
    <span class="ui-alert-message"><strong>Внимание!</strong> Текст предупреждения находится здесь.</span>
</div>

Внимание! Текст предупреждения находится здесь.

<!-- .ui-alert.ui-alert-icon-info-->
<div class="ui-alert ui-alert-icon-info">
    <span class="ui-alert-message"><strong>Внимание!</strong> Текст предупреждения находится здесь.</span>
</div>

Закрытие

Кнопка закрытия

В .ui-alert необходимо добавить .ui-alert-close-btn.

Внимание! Текст предупреждения находится здесь.

<!-- .ui-alert.ui-alert-close-btn-->
<div class="ui-alert ui-alert-close-btn">
    <span class="ui-alert-message"><strong>Внимание!!!</strong> Текст предупреждения находится здесь.</span>
</div>

Закрытие с анимацией

После добавления класса .ui-alert-close-animate на .ui-alert весь блок схлопнется с анимацией. Анимация занимает 300ms, после чего элемент можно удалить.

Внимание! Текст предупреждения находится здесь.
<!-- .ui-alert.ui-alert-close-animate > span.ui-alert-close-btn -->
<div class="ui-alert ui-alert-close-animate">
    <span class="ui-alert-message"><strong>Внимание!</strong> Текст предупреждения находится здесь.</span>
    <span class="ui-alert-close-btn"></span>
</div>

Прочее

Текст по центру

Модификатор .ui-alert-text-center.

Внимание! Текст предупреждения находится здесь.

<!-- .ui-alert.ui-alert-text-center-->
<div class="ui-alert ui-alert-text-center">
    <span class="ui-alert-message"><strong>Внимание!</strong> Текст предупреждения находится здесь.</span>
</div>

Сообщение типа inline-block

Модификатор .ui-alert-inline.

Внимание! Текст предупреждения находится здесь.

<!-- .ui-alert.ui-alert-inline ->
<div class="ui-alert ui-alert-inline ">
    <span class="ui-alert-message"><strong>Внимание!</strong> Текст предупреждения находится здесь.</span>
</div>


API

Подключение и использование

Подключение на PHP-странице

\Bitrix\Main\UI\Extension::load("ui.alerts");

Использование

Метод getContainer() возвращает верстку предупреждения.

var myAlert = new BX.UI.Alert({
    /*[options]*/
});

myAlert.getContainer()

С версии UI 21.800 появились методы:

renderTo(element) - метод, в котором можно указать ноду для рендеринга алерта.

destroy() - метод уничтожает экземпляр алерта.

Параметры

Текст

text - может принимать html.

textCenter {boolean} - выравнивает содержимое алерта по центру.

var myAlert = new BX.UI.Alert({
    text: "<strong>Внимание!</strong> Текст предупреждения находится здесь.",
    inline: true
});

//------------

myAlert.setText("<strong>Внимание!</strong> Текст предупреждения находится здесь.");
Внимание! Текст предупреждения находится здесь.

Размер

size {string}- определяет размер алерта.

var myAlert = new BX.UI.Alert({
    size: BX.UI.Alert.Size.SMALL
});

//------------

myAlert.setSize(BX.UI.Alert.Size.SMALL);
Внимание! Текст предупреждения находится здесь.

Возможные значения:

BX.UI.Alert.Size.MEDIUM //Default
BX.UI.Alert.Size.SMALL

Цвет

color {string} - определяет цвет предупреждения.

var myAlert = new BX.UI.Alert({
    color: BX.UI.Alert.Color.WARNING
});

//------------

myAlert.setColor(BX.UI.Alert.Color.SUCCESS);
Внимание! Текст предупреждения находится здесь.

Возможные значения:

BX.UI.Alert.Color.PRIMARY
BX.UI.Alert.Color.SUCCESS
BX.UI.Alert.Color.WARNING
BX.UI.Alert.Color.DANGER

Иконки

icon {string} - добавляет иконку

BX.UI.Alert({
    icon: BX.UI.Alert.Icon.INFO
});
Внимание! Текст предупреждения находится здесь.

Возможные значения:

BX.UI.Alert.Icon.INFO
BX.UI.Alert.Icon.WARNING
BX.UI.Alert.Icon.DANGER

Закрыть

closeBtn {boolean} - добавляет крестик в правый верхний угол предупреждения. Клик на крестик удаляет .ui-alert и все его содержимое из DOM.

BX.UI.Alert({
    closeBtn: true
});
Внимание! Текст предупреждения находится здесь.

Анимация закрытия/открытия

animate {boolean} - добавляет эфекты при появлении или удалении предупреждения.

BX.UI.Alert({
    animate: true
});

Блочно-строчный контейнер

inline {boolean} - добавляет алерту свойства inline-block элемента.

BX.UI.Alert({
    inline: true
});

Внимание! Текст предупреждения находится здесь.
То, что не относится к предупреждению


Стандартные диалоги Alert и Confirm

JS-расширение ui.dialogs.messagebox

JS расширение ui.dialogs.messagebox предоставляет API для создания стандартных диалогов типа [dw]alert[/dw][di] [image] [/di] и [dw]confirm[/dw][di] [image] [/di] (модуль UI с версии 19.0.500).

  • Работа с диалогами
  • класс MessageBox


Работа с диалогами

JS-расширение ui.dialogs.messagebox

JS расширение ui.dialogs.messagebox предоставляет API для создания стандартных диалогов типа [dw]alert[/dw][di] [image] [/di] и [dw]confirm[/dw][di] [image] [/di] (модуль UI с версии 19.0.500).

Подключение на PHP-странице

\Bitrix\Main\UI\Extension::load("ui.dialogs.messagebox");

Подключение в ES6

import { MessageBox } from 'ui.dialogs.messagebox';

Возможности

  • 4 варианта кнопок: ОК, Да, Нет, Отмена.
  • Несколько вариантов наборов кнопок: Ок, Да, Нет, Отмена, Ок-Отмена, Да-Отмена, Да-Нет, Да-Нет-Отмена.
  • У каждой кнопки можно изменить текст и указать свой callback.
  • Кнопка автоматически блокируется (disabled) для защиты от повторного нажатия.
  • Если callback кнопки возвращает промис, кнопка переходит состояние "загрузка" (loading).
  • Поддержка заголовка диалога. В этом случае кнопки становятся больше и отделяются от контента линией.
  • Вместо стандартных кнопок можно указать произвольные (объекты или наследники класса BX.UI.Button).
  • Режим modal добавляет оверлей.
  • Дополнительно можно передать опции для BX.PopupWindow.

Базовое использование

Для быстрого создания диалогов используйте статические методы alert и confirm.

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

Информационный диалог (alert)

Метод позволяет быстро создать информационный диалог (Alert).

BX.UI.Dialogs.MessageBox.alert("Message", (messageBox, button, event) => {});
BX.UI.Dialogs.MessageBox.alert("Message", (messageBox, button, event) => {}, "Продолжить");
BX.UI.Dialogs.MessageBox.alert("Message", "Title");
BX.UI.Dialogs.MessageBox.alert("Message", "Title", (messageBox, button, event) => {});
BX.UI.Dialogs.MessageBox.alert("Message", "Title", (messageBox, button, event) => {}, "Продолжить");
Примеры:
BX.UI.Dialogs.MessageBox.alert(
    message: string | Element | Node,
    okCallback?: Function,
    okCaption?: string
);

//Сигнатура метода с указанием заголовка диалога
BX.UI.Dialogs.MessageBox.alert(
    message: string | Element | Node,
    title?: string,
    okCallback?: Function,
    okCaption?: string
);

Асинхронный callback

BX.UI.Dialogs.MessageBox.alert(
    "Асинхронная обработка нажатия кнопки",
    (messageBox, button, event) => {
        return new Promise((resolve, reject) => {
            console.log("async job started.");
            setTimeout(() => {
                console.log("async job ended.");
                resolve(true);
            }, 3000);
        });
    }
);

Этот же пример, но без промисов.

BX.UI.Dialogs.MessageBox.alert(
    "Ручная асинхронная обработка нажатия кнопки",
    (messageBox, button, event) => {

        console.log("async job started.");
        button.setWaiting();

        setTimeout(() => {
            button.setWaiting(false);
            messageBox.close();
            console.log("async job ended.");
        }, 3000);
    }
);

Диалог подтверждения (confirm)

Метод позволяет быстро создать диалог подтверждения (Confirm).

BX.UI.Dialogs.MessageBox.confirm("Message");
BX.UI.Dialogs.MessageBox.confirm("Message", () => {});
BX.UI.Dialogs.MessageBox.confirm("Message", () => {}, "Продолжить");
BX.UI.Dialogs.MessageBox.confirm("Message", () => {}, "Продолжить", () => {});
BX.UI.Dialogs.MessageBox.confirm("Message", "Title");
BX.UI.Dialogs.MessageBox.confirm("Message", "Title", () => {});
BX.UI.Dialogs.MessageBox.confirm("Message", "Title", () => {}, "Продолжить", () => {});

BX.UI.Dialogs.MessageBox.confirm(
    message: string | Element | Node,
    okCallback?: Function,
    okCaption?: string,
    cancelCallback?: Function
);

//Сигнатура метода с указанием заголовка диалога
BX.UI.Dialogs.MessageBox.confirm(
    message: string | Element | Node,
    title?: string,
    okCallback?: Function,
    okCaption?: string,
    cancelCallback?: Function
);

Создание диалогов

Все настройки диалога можно передать через статический метод show.

BX.UI.Dialogs.MessageBox.show(
{
    message: "Текст, поясняющий назначение данного попапа, находится здесь.",
    modal: true,
    buttons: BX.UI.Dialogs.MessageBoxButtons.OK_CANCEL,
    onOk: function(messageBox)
    {
        console.log("onOk");
        messageBox.close();
    },
    onCancel: function(messageBox)
    {
        console.log("onCancel");
        messageBox.close();
    },
}
);

Произвольный набор кнопок:

BX.UI.Dialogs.MessageBox.show(
{
   message: `
      <label class="ui-ctl ui-ctl-checkbox">
         <input type="checkbox" class="ui-ctl-element">
            <div class="ui-ctl-label-text">удалить настройки и данные приложения</div>
      </label>
   `,
   title: "Вы уверены, что хотите удалить приложение?",
   buttons: [
      new BX.UI.Button(
      {
         color: BX.UI.Button.Color.DANGER,
         text: "Удалить"
      }
      ),
      new BX.UI.CancelButton()
   ],
}
);

Если нужно получить ссылку на объект диалога, есть метод create.

const messageBox = BX.UI.Dialogs.MessageBox.create(
{
    message: "Вы действительно хотите удалить файл?",
    title: "Подтверждение удаления",
    buttons: BX.UI.Dialogs.MessageBoxButtons.OK_CANCEL,
    onOk: function(messageBox)
    {
        console.log("onOk");
        messageBox.close();
    },
}
);

messageBox.show();

Или создать объект класса BX.UI.Dialogs.MessageBox.

const messageBox = new BX.UI.Dialogs.MessageBox(
{
    message: "Вы действительно хотите удалить файл?",
    title: "Подтверждение удаления",
    buttons: BX.UI.Dialogs.MessageBoxButtons.OK_CANCEL,
    okCaption: "Да",
    onOk: function()
    {
        console.log("onOk");
    },
}
);

messageBox.show();

Обработка нажатия кнопок

По умолчанию нажатие на любую кнопку закрывает диалог. Если для кнопки определен обработчик, поведение диалога зависит от возвращаемого значения:

  • true — диалог закрывается.
  • false — с кнопки снимается заблокированность (disabled), диалог остается открытым.
  • undefined (void) — никаких автоматических действий не выполняется, закрытие диалога или снятие заблокированности кнопки необходимо выполнить самостоятельно.
  • Promise — кнопка переходит состояние "загрузка" (loading). Разрешение промиса (resolve) закрывает диалог, отклонение промиса (reject) возвращает кнопку в исходное состояние.
BX.UI.Dialogs.MessageBox.alert("Message", (messageBox, button, event) =>
{
    messageBox.close();
}
);

Аргументы обработчиков кнопок следующие:

  • messageBox — объект диалога (экземпляр класса BX.UI.Dialogs.MessageBox).
  • button — объект кнопки (экземпляр класса BX.UI.Button).
  • event — объект события клика (MouseEvent).


Класс MessageBox

Описание и опции

Класс для создания стандартных информационных диалогов (alert и confirm).

new BX.UI.Dialogs.MessageBox(
{
    options;
}
);

Опции объекта класса

options {object} — коллекция опций диалога. Список опций диалога в таблице:

Опция диалога | Тип | Описание
message | string|Element|Node | Сообщение диалога. Строка HTML или DOM-элемент.
title | string | Заголовок диалога.
modal | boolean | Если задано значение true, диалог откроется с оверлеем.
cacheable | boolean | По умолчанию после закрытия диалог уничтожается из DOM. Это можно отменить, если задать cacheable: false.
minWidth | number | Минимальная ширина окна.
minHeight | number | Минимальная высота окна.
maxWidth | number | Максимальная ширина окна.
onOk | Function | Функция-обработчик кнопки OK.
onCancel | Function | Функция-обработчик кнопки Отмена.
onYes | Function | Функция-обработчик кнопки Да.
onNo | Function | Функция-обработчик кнопки Нет.
okCaption | string | Надпись кнопки OK.
cancelCaption | string | Надпись кнопки Отмена.
yesCaption | string | Надпись кнопки Да.
noCaption | string | Надпись кнопки Нет.
mediumButtonSize | boolean | По умолчанию кнопки диалога имеют маленький размер. Если параметр mediumButtonSize задан в true, размер кнопок станет стандартным (medium). Если задан параметр title, свойство mediumButtonSize автоматически устанавливается в true (отменить это поведение можно через mediumButtonSize: false).
buttons MessageBoxButtons | Array Задает набор кнопок диалога. Структура MessageBoxButtons определяет следующие стандартные наборы:
  • MessageBoxButtons.OK — кнопка ОК.
  • MessageBoxButtons.CANCEL — кнопка Отмена.
  • MessageBoxButtons.YES — кнопка Да.
  • MessageBoxButtons.NO — кнопка Нет.
  • MessageBoxButtons.OK_CANCEL — кнопки ОК и Отмена.
  • MessageBoxButtons.YES_NO — кнопки Да и Нет.
  • MessageBoxButtons.YES_CANCEL — кнопки Да и Отмена.
  • MessageBoxButtons.YES_NO_CANCEL — кнопки Да, Нет и Отмена.
Для задания своего набора необходимо указать массив кнопок BX.UI.Button.
popupOptions object Набор опций для BX.PopupWindow.

Пример

BX.UI.Dialogs.MessageBox.show(
{
    message: "Текст, поясняющий назначение данного попапа, находится здесь.",
    buttons: BX.UI.Dialogs.MessageBoxButtons.OK_CANCEL,
    popupOptions:
    {
        bindElement: BX("yesnocancel"),
        offsetLeft: 20,
        closeIcon: true,
        events:
        {
            onPopupClose: function()
            {
                BX.UI.Dialogs.MessageBox.alert("Попап закрыт.");
            }
        }
    }
}
);

Методы

Метод | Описание
messageBox.show | Показывает диалог на странице.
messageBox.close | Закрывает диалог на странице.
messageBox.getPopupWindow | Возвращает объект BX.PopupWindow.
messageBox.setMessage | Устанавливает контент диалога. Строка HTML или DOM-элемент.
messageBox.getMessage | Возвращает контент диалога.
messageBox.setTitle | Устанавливает заголовок диалога.
messageBox.getTitle | Возвращает заголовок диалога.
messageBox.getOkButton | Возвращает кнопку ОК (объект класса BX.UI.Button).
messageBox.getCancelButton | Возвращает кнопку Отмена (объект класса BX.UI.Button).
messageBox.getYesButton | Возвращает кнопку Да (объект класса BX.UI.Button).
messageBox.getNoButton | Возвращает кнопку Нет (объект класса BX.UI.Button).
messageBox.setButtons Устанавливает набор кнопок диалога. Набор задается структурой MessageBoxButtons или массивом объектов BX.UI.Button.
  • MessageBoxButtons.OK — кнопка ОК.
  • MessageBoxButtons.CANCEL — кнопка Отмена.
  • MessageBoxButtons.YES — кнопка Да.
  • MessageBoxButtons.NO — кнопка Нет.
  • MessageBoxButtons.OK_CANCEL — кнопки ОК и Отмена.
  • MessageBoxButtons.YES_NO — кнопки Да и Нет.
  • MessageBoxButtons.YES_CANCEL — кнопки Да и Отмена.
  • MessageBoxButtons.YES_NO_CANCEL — кнопки Да, Нет и Отмена.
messageBox.getButtons | Возвращает массив кнопок диалога.
messageBox.setOkCaption | Устанавливает надпись кнопки ОК.
messageBox.setCancelCaption | Устанавливает надпись кнопки Отмена.
messageBox.setYesCaption | Устанавливает надпись кнопки Да.
messageBox.setNoCaption | Устанавливает надпись кнопки Нет.
messageBox.setOkCallback | Устанавливает обработчик кнопки ОК.
messageBox.setCancelCallback | Устанавливает обработчик кнопки Отмена.
messageBox.setYesCallback | Устанавливает обработчик кнопки Да.
messageBox.setNoCallback | Устанавливает обработчик кнопки Нет.
MessageBox.create Статический метод создания диалога.

options {object} — набор опций диалога (описание опций см. в new MessageBox).

MessageBox.show Создает и показывает диалог на странице.

options {object} — набор опций диалога (описание опций см. в new MessageBox).

MessageBox.alert Статический метод для создания информационных диалогов (alert).
alert(message: string | Element | Node, okCallback?: Function, okCaption?: string);
alert(message: string | Element | Node, title?: string, okCallback?: Function, okCaption?: string);
MessageBox.confirm Статический метод для создания диалогов подтверждений (confirm).
confirm(message: string | Element | Node, okCallback?: Function, okCaption?: string, cancelCallback?: Function);
confirm(message: string | Element | Node, title: string, okCallback?: Function, okCaption?: string, cancelCallback?: Function);

Примеры

Создание объекта класса

const messageBox = new BX.UI.Dialogs.MessageBox(
{
    message: "Вы действительно хотите удалить файл?",
    title: "Подтверждение удаления",
    buttons: BX.UI.Dialogs.MessageBoxButtons.OK_CANCEL,
    okCaption: "Да",
    onOk: function()
    {
        console.log("onOk");
    },
}
);

messageBox.show();

Произвольные названия и callback'и кнопок

const messageBox = new BX.UI.Dialogs.MessageBox(
{
    message: "Разные названия кнопкам",
    title: "Подтверждение удаления",
    buttons: BX.UI.Dialogs.MessageBoxButtons.YES_NO_CANCEL,
    yesCaption: "Мое название Да",
    noCaption: "Мое название Нет",
    cancelCaption: "Моя Отмена",
    maxWidth: 600,
    onYes: function()
    {
        console.log("onYes");
        messageBox.close();
    },
    onNo: function()
    {
        console.log("onNo");
        messageBox.close();
    },
    onCancel: function(messageBox)
    {
        console.log("onCancel");
        messageBox.close();
    },
}
);

messageBox.show();

Опции для BX.PopupWindow

BX.UI.Dialogs.MessageBox.show({
    message: "Текст, поясняющий назначение данного попапа, находится здесь.",
    buttons: BX.UI.Dialogs.MessageBoxButtons.OK_CANCEL,
    popupOptions: {
        bindElement: BX("yesnocancel"),
        offsetLeft: 20,
        closeIcon: true,
        events: {
            onPopupClose: function() {
                BX.UI.Dialogs.MessageBox.alert("Попап закрыт.");
            }
        }
    }
});


Счётчики

Расширение обновлено до ES6.

Подключение

Подключение на PHP-странице

\Bitrix\Main\UI\Extension::load("ui.cnt");
// or
\Bitrix\Main\UI\Extension::load("ui.counter");

Базовый шаблон

Подключение шаблона:

<!-- .ui-counter > .ui-counter-inner -->
<div class="ui-counter">
    <div class="ui-counter-inner">50+</div>
</div>

Основные параметры

Опция value

let myCounter = new BX.UI.Counter({
    value: 50
});

// or

myCounter.setValue(50)

Метод для обновления значения value.

myCounter.update();

Максимальное значение maxValue {number}

По умолчанию 99. При превышении значением value заданного значения maxValue будет отображено значение второго со знаком +. Установите в качестве значения false что бы отключить лимит.

let myCounter = new BX.UI.Counter({
    maxValue: 99
});

// or

myCounter.setMaxValue(99)

Анимация animation {boolean}

По умолчанию false.

let myCounter = new BX.UI.Counter({
    animation: true
});

Метод show()

myCounter.show();

Метод hide()

myCounter.hide();

Размеры

Установление размеров size {string}

let myCounter = new BX.UI.Counter({
    size: BX.UI.Counter.Size.LARGE
});

// or

myCounter.setSize(BX.UI.Counter.Size.LARGE)

LARGE

Модификатор .ui-counter-lg.

BX.UI.Counter.Size.LARGE
<!-- .ui-counter.ui-counter-lg > .ui-counter-inner -->
<div class="ui-counter ui-counter-lg">
      <div class="ui-counter-inner">50+</div>
</div>

MEDIUM

Модификатор .ui-counter-md. Размер по умолчанию.

BX.UI.Counter.Size.MEDIUM
<!-- .ui-counter.ui-counter-md > .ui-counter-inner -->
<div class="ui-counter ui-counter-md">
      <div class="ui-counter-inner">50+</div>
</div>

SMALL

Модификатор .ui-counter-sm.

BX.UI.Counter.Size.SMALL
<!-- .ui-counter.ui-counter-sm > .ui-counter-inner -->
<div class="ui-counter ui-counter-sm">
      <div class="ui-counter-inner">50+</div>
</div>

Цвета

Установка цвета.

let myCounter = new BX.UI.Counter({
    color: BX.UI.Counter.Color.DANGER
});

// or

myCounter.setColor(BX.UI.Counter.Color.DANGER)

PRIMARY

Модификатор .ui-counter-primary.

BX.UI.Counter.Color.PRIMARY
<!-- .ui-counter.ui-counter-primary > .ui-counter-inner -->
<div class="ui-counter ui-counter-primary">
    <div class="ui-counter-inner">50+</div>
</div>

SUCCESS

Модификатор .ui-counter-success.

BX.UI.Counter.Color.SUCCESS
<!-- .ui-counter.ui-counter-success > .ui-counter-inner -->
<div class="ui-counter ui-counter-success">
    <div class="ui-counter-inner">50+</div>
</div>

DANGER

Модификатор .ui-counter-danger.

BX.UI.Counter.Color.DANGER
<!-- .ui-counter.ui-counter-danger > .ui-counter-inner -->
<div class="ui-counter ui-counter-danger">
    <div class="ui-counter-inner">50+</div>
</div>

GRAY

Модификатор .ui-counter-gray.

BX.UI.Counter.Color.GRAY
<!-- .ui-counter.ui-counter-gray > .ui-counter-inner -->
<div class="ui-counter ui-counter-gray">
    <div class="ui-counter-inner">50+</div>
</div>

LIGHT

Модификатор .ui-counter-light.

BX.UI.Counter.Color.LIGHT
<!-- .ui-counter.ui-counter-light > .ui-counter-inner -->
<div class="ui-counter ui-counter-light">
    <div class="ui-counter-inner">50+</div>
</div>

WHITE

Модификатор .ui-counter-white.

BX.UI.Counter.Color.WHITE
<!-- .ui-counter.ui-counter-white > .ui-counter-inner -->
<div class="ui-counter ui-counter-white">
    <div class="ui-counter-inner">50+</div>
</div>

DARK

Модификатор .ui-counter-dark.

BX.UI.Counter.Color.DARK
<!-- .ui-counter.ui-counter-dark > .ui-counter-inner -->
<div class="ui-counter ui-counter-dark">
    <div class="ui-counter-inner">50+</div>
</div>


Отправить отзыв по этому разделу

Таймлайн

  • Базовый класс таймлайна
  • Stream
  • History
  • Editor
  • Comment
  • CommentEditor


Базовый класс таймлайна

Описание и методы

Базовый класс элемента [link=129904]таймлайна[/link].

BX.UI.Timeline.Item
Метод | Описание | С версии
constructor(data: {}) Конструктор.

Параметры:

params - имеет следующую структуру:

  • id - идентификатор элемента (строка или число);
  • action - строковый идентификатор типа действия. На основе этого идентификатора выбирается один из наследников. Может принимать одно из значений:
    • item_create - создание элемента;
    • stage_change - смена стадии;
    • fields_change - изменение полей элемента;
    • comment - комментарий.
  • itemClassName - имя javascript-класса наследника;
  • title - заголовок записи;
  • description - содержимое записи;
  • htmlDescription - содержимое записи в html;
  • textDescription - содержимое записи в виде текста;
  • createdTimestamp - timestamp добавления записи;
  • userId - идентификатор пользователя, действие которого создало запись;
  • isFixed - true, если запись должна быть в разделе прикрепленных элементов;
  • data - список с данными о связанных сущностях:
    • item - данные об элементе до применения изменений
      • name - название элемента.
    • stageFrom - данные о стадии до изменения:
      • id - идентификатор стадии;
      • name - название стадии.
    • stageTo - данные о стадии после изменения (если она менялась);
    • task - данные о задании, в процессе выполнения которого была создана запись:
      • id - идентификатор задания;
      • title - заголовок задания;
      • description - текст задания.
    • fields - массив полей, которые были измены при создании записи:
      • title - название поля.
    • scope - идентификатор области, через которую было сделано изменение. Может принимать одно из следующих значений:
      • manual - вручную;
      • automation - роботом;
      • task - при выполнении задания;
      • rest - через приложение.
    • events - список с обработчиками событий, они формируются на стороне списка.
afterRender() | Метод вызывается после рендеринга элемента.
setIsLast(isLast: boolean): Item | Метод устанавливает признак того, что элемент является последним в списке.
getContainer(): ?Element | Метод возвращает контейнер с элементом, если он отрисован.
isRendered(): boolean | Метод вернет true, если элемент отрисован.
getCreatedTime(): ?Date | Метод вернет дату создания записи.
formatTime(time): string | Метод вернет строку с отформатированным временем создания без даты.

Геттеры и Сеттеры

  • getId(): string|number
  • getTitle(): ?string
  • getUserId(): number
  • getScope(): ?string
  • isScopeManual(): boolean
  • isScopeAutomation(): boolean
  • isScopeTask(): boolean
  • isScopeRest(): boolean
  • getItem(): ?{name: ?string}
  • render(): Element - Метод отрисует объект и вернет контейнер.
  • updateLayout() - Метод полностью перерисует контент.
  • clearLayout(isSkipContainer = false): Item - Метод очистит содержимое контейнера и удалит из документа. Если передать true, то сам контейнер тоже будет очищен и удален.
  • getDataForUpdate(): {} - Метод вернет данные, которые нужны для обновления элемента.
  • updateData(params: {}) - Метод обновит данные элемента.
  • update(params: {}): Item - Метод обновит данные элемента и перерисует его содержимое.
  • hasMenu(): boolean - Вернет true, если у элемента есть меню.
  • getActions(): Array - Метод вернет массив пунктов для выпадающего меню.
  • renderActionsButton(): Element - Метод отрисует кнопку для выпадающего меню.
  • getActionsButton(): ?Element - Метод вернет кнопку для выпадающего меню, если она была отрисована.
  • getActionsMenuId(): string - Метод вернет идентификатор для выпадающего меню.
  • getActionsMenu(): Menu - Метод вернет меню элемента.
  • startProgress() - Метод покажет лоадер и сохранит состояние обработки ajax-запроса.
  • stopProgress() - Метод скроет лоадер и сбросит состояние обработки ajax-запроса.
  • getLoader() - Метод вернет объект BX.Loader.


Stream

Описание

Класс для работы со списком элементов таймлайна.

BX.UI.Timeline.Stream

Все элементы таймлайна - наследники класса Item.

Все редакторы - наследники Editor.

Таймлайн состоит из четырех частей:

  • редакторы;
  • запланировано;
  • прикреплено;
  • все элементы.

Элементы из раздела Запланировано не отображаются в общем списке, их нельзя прикрепить.

Элементы из раздела Прикреплено - это дубли элементов из общего списка (т.е. один элемент имеет два экземпляра, один в общем списке, второй в прикрепленных).

У этих элементов будет один и тот же идентификатор, но это два разных объекта.

Элементы в общем разделе сгруппированы по дням, в начале каждого дня есть разделитель (для работы с ними есть отдельные методы).

Сам таймлайн занимается только отрисовкой, он не делает никаких запросов. Действия пользователей вызывают события, обработчики которых должны делать свои ajax-запросы.

Методы

Метод | Описание | С версии
constructor(params: {}) Конструктор.

Параметры:

params - имеет следующую структуру:

  • items - массив с данными об элементах;
  • users - массив с данными о пользователях;
  • nameFormat - формат имени пользователя;
  • pageSize - размер страницы;
  • tasks - массив с данными об элементах, которые должны отображаться в разделе Запланировано;
  • editors - массив с редакторами;
  • itemClasses - список, где ключ - код типа элемента, а значение javascript-класс наследник Item, который должен его отрисовать.
createItem(data: {}, itemClassName: ?Function): ?Item Метод создаст новый элемент, если переданы корректные данные.
  • data - список с данными об элементе. Содержимое может меняться в зависимости от типа элемента. Подробнее см. конструкторы наследников Item;
  • itemClassName - название javascript-класса-наследника Item для создания элемента.
addItem(item: Item): Stream Метод добавит новый элемент в массив элементов. Если надо, то элемент будет склонирован в список прикрепленных элементов.
  • item - элемент.
getItems(): Array | Метод вернет массив всех элементов.
getItem(id: string|number): ?Item Метод вернет элемент по его идентификатору.
  • id - идентификатор элемента.
getPinnedItems(): Array | Метод вернет массив всех прикрепленных элементов.
getPinnedItem(id: string|number): ?Item Метод вернет прикрепленный элемент по его идентификатору.
  • id - идентификатор прикрепленного элемента.
getTasks(): Array | Метод вернет массив всех элементов из раздела Запланировано.
getPinnedItem(id: string|number): ?Item Метод вернет элемент из раздела Запланировано по его идентификатору.
  • id - идентификатор элемента из раздела Запланировано.
render(): Element | Метод отрисует таймлайн и вернет DOM-элемент.
getContainer(): ?Element | Метод вернет контейнер с отрисованным таймлайном (если он был отрисован).
updateTasks(tasks: Array) Этот метод полностью перерисует раздел Запланировано с новыми элементами. При этом для удаления старых элементов и для добавления новых будет использована анимация.
  • tasks - данные об элементах в разделе Запланировано.
static getDayFromDate(date: Date): ?string Метод вернет строковое представление дня из даты .
  • date - дата.
getDateSeparator(day: string): ?Elemen Вернет существующий разделитель, если он есть.
  • day - строковое представление дня.
createDateSeparator(day: string): Element Создаст новый разделитель, но он не будет помещен в DOM.
  • day - строковое представление дня.
static isToday(date: Date): boolean Вернет true, если дата сегодняшняя.
  • date - дата.
insertItem(item: Item): this Метод добавит новый элемент item в начало ленты с анимацией. Если надо, будет добавлен разделитель.
  • item - элемент.
pinItem(item: Item): Stream | Метод добавит элемент item в список прикрепленных элементов с анимацией.
unPinItem(item: Item): Stream | Метод уберет элемент item из списка прикрепленных с анимацией.
deleteItem(item: Item) | Метод удалит элемент item с анимацией, неважно в каком разделе он расположен.
startProgress() | Метод покажет лоадер и сохранит состояние обработки аякс-запроса.
stopProgress() | Метод скроет лоадер и сбросит состояние обработки аякс-запроса.
getLoader() | Метод вернет объект BX.Loader.
enableLoadOnScroll() | Метод включает обработку события скролла списка элементов. При скролле до конца списка вызывается событие onScrollToTheBottom.
disableLoadOnScroll() | Метод отключает обработку события скролла списка элементов.

События

Событие Описание
namespace: BX.UI.Timeline.Stream
onAfterInit Событие бросается в конце работы конструктора. С помощью него можно получить доступ к объекту списка.
  • stream - в данных события будет объект BX.UI.Timeline.Stream.

Например, у нас есть элементы с action равным delete_section и мы хотим, чтобы такие элементы работали через класс MyModule.Timeline.SectionDelete.

Для этого регистрируем обработчик события:

```javascript
BX.Event.EventEmitter.subscribe('BX.UI.Timeline.Stream:onAfterInit', (event) => {
    const stream = event.getData().stream;

    stream.itemClasses.set('delete_section', MyModule.Timeline.DeleteSection);
});
```

Для перехвата остальных событий необходимо наличие объекта. Поэтому в обработчике onAfterInit его надо сохранить, чтобы при подписке его использовать.

```javascript
stream.subscribe('onAfterRender', () => {
    const container = stream.getContainer();

    // все остальные ноды находятся в stream.layout
});
```
onAfterRender Событие бросается после рендеринга таймлайна.

В обработчике события можно получить контейнер с помощью метода getContainer().

onScrollToTheBottom Событие бросается при скролле до нижнего края общего списка элементов.

onPinClick Событие бросается при клике на скрепку элемента.
  • item - элемент, на скрепку которого кликнули.


History

Базовый класс для элементов, отображающих какие-то изменения, которые произошли с элементом. Является наследником базового класса элемента.

BX.UI.Timeline.History

Класс содержит набор классов-помощников для отрисовки частей элемента, которые были изменены.

Этот класс имеет наследники:

  • Comment - элемент с комментарием;
  • FieldsChange - элемент с данными только об изменении полей;
  • StageChange - элемент с данными об изменении стадии;
  • TaskComplete - запись об изменении задания из модуля rpa.

    • Методы

    Метод | Описание | С версии
renderHeader(): ?Element | Метод отрисовывает верхнюю часть элемента с заголовком, временем и информацией о пользователе. |
renderStageChange(): ?Element | Если стадия была изменена, то метод вернет DOM-элемент с информацией о старой и новой стадии. |
renderFieldsChange(): ?Element | Если поля были изменены, то метод вернет DOM-элемент с информацией об измененных полях. |


Editor

Абстрактный класс для редакторов в таймлайне.

BX.UI.Timeline.Editor

Этот класс не может быть использован в таком виде, его надо наследовать.

Наследником является [link=11316836 ]редактор комментариев[/link].

Методы

Метод | Описание | С версии
constructor(params: {}) Конструктор.

Параметры:

  • params - параметры редактора
    • id - идентификатор редактора.
getId(): string | Метод вернет идентификатор редактора.
getTitle(): ?string | Метод вернет заголовок редактора.
getContainer(): ?Element | Метод вернет DOM-элемент, если редактор отрисован.
render(): Element | Метод отрисует редактор.
clearLayout(isSkipContainer: boolean = false): Editor | Метод очистит содержимое контейнера и удалит из документа. Если передать true, то сам контейнер тоже будет очищен и удален.
startProgress() | Метод покажет лоадер и сохранит состояние обработки ajax-запроса.
stopProgress() | Метод скроет лоадер и сбросит состояние обработки ajax-запроса.
getLoader() | Метод вернет объект BX.Loader.


Comment

Описание и методы

Класс для отрисовки элементов, которые являются комментариями.

BX.UI.Timeline.Comment

Является наследником базового класса элемента.

Содержит в себе экземпляр редактора комментариев.

Первоначально элемент отрисовывается не полностью. Блок с прикрепленными файлами загружается через асинхронное событие.

Если текст комментария длинный или содержит вставленные в текст файлы, то он загружается при клике на кнопку Развернуть.

Метод | Описание | С версии
getCommendEditor(): CommentEditor | Метод возвращает объект редактора комментариев. |
switchToEditMode() | Переключает элемент в режим редактирования комментария. |
switchToViewMode() | Переключает элемент в режим просмотра. |
loadFilesContent() | Метод загружает содержимое прикрепленных файлов. |
loadContent() | Метод загружает полный контент комментария. |

События

Событие Описание
namespace: BX.UI.Timeline.Comment
onDelete Асинхронное событие. Бросается при удалении комментария.
  • commentId - идентификатор комментария.
error Ошибка.
  • message - сообщение об ошибке.
onLoadFilesContent Асинхронное событие. Бросается при загрузке содержимого прикрепленных файлов.
  • commentId - идентификатор комментария.
onLoadContent Асинхронное событие. Бросается при загрузке полного содержимого комментариев.
  • commentId - идентификатор комментария.


CommentEditor

Описание и методы

Класс для редактирования комментариев в таймлайне.

BX.UI.Timeline.CommentEditor

Является наследником абстрактного редактора.

Сам объект не делает никаких ajax-запросов. Он только занимается отрисовкой и отправкой событий.

Метод | Описание | С версии
constructor(params: {}) Конструктор.

Параметры:

  • params - параметры редактора
    • id - идентификатор редактора;
    • commentId - идентификатор комментария, если редактор должен изменить существующий.
getVisualEditorName(): string | Метод вернет название для объекта визуального редактора.
getTextarea(): ?HTMLTextAreaElement | Метод вернет textarea, где хранится текст комментария, если редактор был отрисован.
renderTextarea(): HTMLTextAreaElement | Метод отрисует textarea.
getVisualEditorContainer(): ?Element | Метод вернет DOM-элемент с визуальным редактором, если он есть.
renderVisualEditorContainer(): Element | Метод отрисует DOM-элемент для визуального редактора и вернет его.
getButtonsContainer(): ?Element | Метод вернет DOM-элемент с кнопками, если он есть.
renderButtons(): Element | Метод отрисует DOM-элемент с кнопками и вернет его.
showVisualEditor() | Метод загрузит, если нужно, визуальный редактор через аякс и покажет его.
loadVisualEditor(): Promise | Метод вернет Promise, который будет разрешен после окончания загрузки редактора.
showEditorLoader() | Показывает лоадер загрузки визуального редактора.
hideEditorLoader() | Скрывает лоадер загрузки визуального редактора.
hideVisualEditor() | Скрывает визуальный редактор.
save() | Метод сохранит данные из редактора. Вызывается при клике на кнопку сохранения.
cancel() | Метод сбрасывает состояние редактора до исходного. Вызывается при клике на кнопку отмены.
getEmptyMessageNotification(): Popup | Возвращает попап о пустом значении.
refresh() | Метод сбросит состояние редактора в исходное состояние.
getAttachments(): Array | Метод вернет массив с идентификаторами прикрепленных файлов.

События

Событие | Описание
namespace: BX.UI.Timeline.CommentEditor
error Событие бросается при возникновении ошибки, в message будет находиться текст.
  • message - сообщение об ошибке.
onLoadVisualEditor Это асинхронное событие. Бросается при необходимости отображения визуального редактора. После разрешения Promise в data события по ключу html должен находиться html-код визуального редактора.
  • name - имя визуального редактора;
  • commentId - идентификатор комментария.
beforeSave Это событие бросается перед сохранением комментария. Если присвоить isCancel значение true, то сохранение будет отменено.
  • description - текст;
  • isCancel - флаг отмены;
  • files - идентификаторы файлов.
onSave Это асинхронное событие. Бросается на сохранении комментария. После разрешения Promise в data события по ключу comment должны быть данные для создания элемента Comment.
  • description - текст;
  • files - идентификаторы файлов;
  • commentId - идентификатор комментария.
afterSave Событие бросается после сохранения комментария.
  • comment - данные для создания элемента Comment.
cancel | Событие бросается при клике на кнопку Отмена.


Отправить отзыв по этому разделу

Тулбар

  • Типовое использование


Типовое использование

Подключение

Если необходимо на странице вывести аналогичный тулбар с кнопками, фильтром, то обратите внимание на примеры ниже.

Доступно с ui 19.0.100.

\Bitrix\Main\Loader::includeModule('ui');

Важно: если необходимо показывать страницу в слайдере, то при вызове компонента ui.sidepanel.wrapper передайте параметр "USE_UI_TOOLBAR" => "Y".

Добавление фильтра

Параметры для добавления фильтра аналогичны параметрам для подключения компонента bitrix:main.ui.filter.

\Bitrix\UI\Toolbar\Facade\Toolbar::addFilter([
   'GRID_ID' => $arResult['GRID']['ID'],
   'FILTER_ID' => $arResult['FILTER']['FILTER_ID'],
   'FILTER' => $arResult['FILTER']['FILTER'],
   'FILTER_PRESETS' => $arResult['FILTER']['FILTER_PRESETS'],
   'ENABLE_LIVE_SEARCH' => $arResult['FILTER']['ENABLE_LIVE_SEARCH'],
   'ENABLE_LABEL' => $arResult['FILTER']['ENABLE_LABEL'],
   'RESET_TO_DEFAULT_MODE' => $arResult['FILTER']['RESET_TO_DEFAULT_MODE'],
]);

Добавление кнопок

Кнопки в Toolbar добавляются методом

\Bitrix\UI\Toolbar\Facade\Toolbar::addButton(array|Button $button)

Примеры описания кнопок

<?
//кнопка-ссылка
$linkButton = new \Bitrix\UI\Buttons\Button([
    "link" => "https://cp.bitrix.ru",
    "text" => "Home"
]);

\Bitrix\UI\Toolbar\Facade\Toolbar::addButton($linkButton);

//либо можно сразу передавать массив. На основне него будет создан
// \Bitrix\UI\Buttons\Button
\Bitrix\UI\Toolbar\Facade\Toolbar::addButton([
    "link" => "https://cp.bitrix.ru",
    "text" => "Home"
]);

//кнопка с обработкой на js, статический метод
$connectButton = new \Bitrix\UI\Buttons\Button([
    "color" => \Bitrix\UI\Buttons\Color::LIGHT_BORDER,
    "icon" => \Bitrix\UI\Buttons\Icon::DISK,
    "click" => new \Bitrix\UI\Buttons\JsHandler(
        "BX.SomeModule.Actions.handleClick" //ссылка на функцию
    ),
    "text" => "Connect me"
]);

//кнопка с обработкой на js, произвольный код
$connectButton = new \Bitrix\UI\Buttons\Button([
    "color" => \Bitrix\UI\Buttons\Color::LIGHT_BORDER,
    "icon" => \Bitrix\UI\Buttons\Icon::DISK,
    "click" => new \Bitrix\UI\Buttons\JsCode(
        "BX.SidePanel.Instance.open('calendar-settings')" //произвольный код, который будет выполнен при клике на кнопку
    ),
    "text" => "Connect me"
]);

//кнопка с обработкой на js, произвольный код
$connectButton = new \Bitrix\UI\Buttons\Button([
    "color" => \Bitrix\UI\Buttons\Color::LIGHT_BORDER,
    "icon" => \Bitrix\UI\Buttons\Icon::DISK,
    "click" => new \Bitrix\UI\Buttons\JsCode(
        "BX.SidePanel.Instance.open('calendar-settings')" //произвольный код, который будет выполнен при клике на кнопку
    ),
    "text" => "Connect me"
]);

//кнопка с обработкой на js, выполнение события
$connectButton = new \Bitrix\UI\Buttons\Button([
    "color" => \Bitrix\UI\Buttons\Color::LIGHT_BORDER,
    "icon" => \Bitrix\UI\Buttons\Icon::DISK,
    "click" => new \Bitrix\UI\Buttons\JsEvent(
        "BX.SomeModule.SomeClass:onClick" //событие, которое выполнится при клике на кнопку
    ),
    "text" => "Connect me"
]);

//выпадающее меню из кнопки. Структура аналогична BX.PopupMenuWindow
$menuButton = new \Bitrix\UI\Buttons\Button([
    "text" => "Menu",
    "menu" => [
        "items" => [
            ["text" => "Детальное описание", "href" => "/path/to/page"],
            ["text" => "Редактировать", "disabled" => true],
            ["delimiter" => true],
            [
                "text" => "Уничтожить",
                "onclick" => new \Bitrix\UI\Buttons\JsHandler(
                    "BX.SomeModule.handleClick" //ссылка на функцию
                )
            ],
        ],
    ],
]);

//Split-кнопки
$splitButton = new Bitrix\UI\Buttons\Split\CreateButton();
//аналогично меню, как в пример выше
$splitButton->setMenu([
    "items" => [
        ["text" => "Детальное описание", "href" => "/path/to/page"],
        ["delimiter" => true],
    ],
]);

//можно получить доступ к главной кнопке
$mainButton = $splitButton->getMainButton();
$mainButton->setHovered();
//или к кнопке меню, из которой обычно что-то выпадает
$menuButton = $splitButton->getMenuButton();
$menuButton->setActive(false);

//у объекта кнопки есть много вспомогательных методов,
//для изменения визуального отображения
$connectButton->addClass('intranet-button-some');]
$connectButton->removeClass('intranet-button-another-one');
$connectButton->setText(string);
$connectButton->setColor(\Bitrix\UI\Buttons\Color);
$connectButton->setIcon(\Bitrix\UI\Buttons\Icon);
$connectButton->setState(\Bitrix\UI\Buttons\State);
$connectButton->setSize(\Bitrix\UI\Buttons\Size);
$connectButton->setMaxWidth(integer);
$connectButton->setCounter(integer|string);
$connectButton->setMenu([...]);
$connectButton->setNoCaps(false|true);
$connectButton->setRound(false|true);
$connectButton->setDropdown(false|true);
$connectButton->setLink(string);
$connectButton->setTag(\Bitrix\UI\Buttons\Tag);

Предустановленные кнопки

В этих кнопках по умолчанию есть текст и цвет.

\Bitrix\UI\Buttons\AddButton
\Bitrix\UI\Buttons\CancelButton
\Bitrix\UI\Buttons\CreateButton
\Bitrix\UI\Buttons\ApplyButton
\Bitrix\UI\Buttons\CloseButton
\Bitrix\UI\Buttons\SendButton
\Bitrix\UI\Buttons\SaveButton
\Bitrix\UI\Buttons\SettingsButton

\Bitrix\UI\Buttons\Split\AddButton
\Bitrix\UI\Buttons\Split\CancelButton
\Bitrix\UI\Buttons\Split\CreateButton
\Bitrix\UI\Buttons\Split\ApplyButton
\Bitrix\UI\Buttons\Split\CloseButton
\Bitrix\UI\Buttons\Split\SendButton
\Bitrix\UI\Buttons\Split\SaveButton

Минимальная ширина заголовка в px

 \Bitrix\UI\Toolbar\Facade\Toolbar::setTitleMinWidth(158);

Иконки и Кнопки

Панель тулбара является адаптивной. Если не хватает свободного места на экране, кнопки, начиная с правой стороны, поочередно схлопываются. Текст пропадает, остается только иконка.

Если по умолчанию кнопка не имеет иконки, то в атрибуте data-toolbar-collapsed-icon необходимо указать класс иконки, которая появится при схлопывании. Если у кнопки нет ни иконки, ни дата-атрибута, она не схлопывается и в консоль выводится предупреждение.

$splitButton = new Bitrix\UI\Buttons\Split\CreateButton([
    'text' => 'Split Button',
    'dataset' => [
        'toolbar-collapsed-icon' => Bitrix\UI\Buttons\Icon::CAMERA
    ]
]);


ui.tooltip

Javascript-расширение ui.tooltip позволяет отображать карточку пользователя, которая [dw]всплывает при наведении[/dw][di] [image] [/di] на определенный элемент. Доступно с ui 17.6.6.

Подключение на PHP-странице

\Bitrix\Main\UI\Extension::load("ui.tooltip");

Использование

Чтобы карточка автоматически отображалась при наведении курсора на элемент, необходимо задать ему html-атрибут bx-tooltip-user-id. В этом атрибуте указывается идентификатор пользователя (ID):

<a href="/company/personal/user/5/" bx-tooltip-user-id="5">Константин Константинопольский</a>

Чтобы "повесить" класс на всплывающую карточку (например, установить с его помощью стиль z-index), используйте атрибут bx-tooltip-classname:

<a href="/company/personal/user/5/" bx-tooltip-user-id="5" bx-tooltip-classname="intranet-user-selector-tooltip">Константин Константинопольский</a>


Отправить отзыв по этому разделу

Формы

  • Общее
  • Типы полей
  • Иконки


Общее

Подключение и базовый шаблон

Подключается библиотека вызывом расширения:

\Bitrix\Main\UI\Extension::load("ui.forms");

Базовый шаблон

<div class="ui-ctl ui-ctl-textbox ui-ctl-before-icon ui-ctl-after-icon"> <!-- 1. Основной контейнер -->
    <div class="ui-ctl-before ui-ctl-icon-search"></div> <!-- 3. Дополнительный элемент (опционально)-->
    <button class="ui-ctl-after ui-ctl-icon-clear"></button> <!-- 3. Дополнительный элемент (опционально)-->
    <input type="text" class="ui-ctl-element"> <!-- 2. Основное поле -->
</div>

  1. Основной элемент - обязательный элемент. Имеет базовый класс .ui-ctl который определяет базовые свойства всего контрола. Именно на этот элемент навешиваются все классы-модификаторы.
  2. Основное поле - обязательный элемент. Непосредственно сам контрол. Всегда имеет один класс .ui-ctl-element, но может быть разным тегом (<input>, <select>, <textarea> или <div>).
  3. Дополнительные элементы - опциональные элементы. Предназначены для отображения иконок внутри поля. Их может быть не более 2-х, но обязательно с разными классами. Подробнее об этих элементах.

Если есть необходимость кастомизировать поля по своему макету, используйте собственный класс модификатор на .ui-ctl.

Внимание! Переопределять стили без кастомного класса строго запрещено!

По умолчанию поля имеют базовую высоту в 39px и ширину 320px. В некоторых полях эти значения могут отличаться. Подробнее об этом можно узнать в описании конкретного поля.

Размеры и форма

inline-flex / flex

Одним из дефолтных свойств .ui-ctl является display: flex. Вследствие этого, поле работает как блочный элемент, но растягивается на базовую ширину своего типа. Ширину можно переопределять и сбрасывать. Подробнее об этом тут.

Модификатор .ui-ctl-inline - меняет свойство display на inline-flex, что схоже по свойствам с display: inline-block, т.е. поле начинает вести себя как блочно-строчный элемент.

Модификатор Код

Модификатор .ui-ctl-inline

<!-- .ui-ctl.ui-ctl-textbox.ui-ctl-inline > input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox ui-ctl-inline">
    <input type="text" class="ui-ctl-element">
</div>
Если есть необходимость изменить свойства в обратном направлении, можно использовать модификатор .ui-ctl-block.

Модификатор .ui-ctl-block

<!-- .ui-ctl.ui-ctl-textbox.ui-ctl-block > input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox ui-ctl-block">
    <input type="text" class="ui-ctl-element">
</div>

Ширина полей

Модификаторы ширины переопределяют базовые значения.

Модификатор Код

Модификатор .ui-ctl-w25 - устанавливает ширину в 25%.

<!-- .ui-ctl.ui-ctl-textbox.ui-ctl-w25 > input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox ui-ctl-w25">
    <input type="text" class="ui-ctl-element">

Модификатор .ui-ctl-w33 - устанавливает ширину в 33%.

<!-- .ui-ctl.ui-ctl-textbox.ui-ctl-w33 > input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox ui-ctl-w33">
    <input type="text" class="ui-ctl-element">

Модификатор .ui-ctl-w50 - устанавливает ширину в 50%.

<!-- .ui-ctl.ui-ctl-textbox.ui-ctl-w50 > input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox ui-ctl-w50">
    <input type="text" class="ui-ctl-element">

Модификатор .ui-ctl-w75 - устанавливает ширину в 75%.

<!-- .ui-ctl.ui-ctl-textbox.ui-ctl-w75 > input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox ui-ctl-w75">
    <input type="text" class="ui-ctl-element">

Модификатор .ui-ctl-w100 - устанавливает ширину в 100%.

<!-- .ui-ctl.ui-ctl-textbox.ui-ctl-w100 > input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox ui-ctl-w100">
    <input type="text" class="ui-ctl-element">

Модификатор .ui-ctl-wa - выставляет свойство width: auto.

<!-- .ui-ctl.ui-ctl-textbox.ui-ctl-wa > input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox ui-ctl-wa">
    <input type="text" class="ui-ctl-element">

Модификатор .ui-ctl-wd - сбрасывает ширину на дефолтное значение определенного типа.

<!-- .ui-ctl.ui-ctl-textbox.ui-ctl-wd > input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox ui-ctl-wd">
    <input type="text" class="ui-ctl-element">

Высота полей

Модификатор Код

Модификатор .ui-ctl-lg - устанавливает высоту строки в 47px.

<!-- .ui-ctl.ui-ctl-textbox.ui-ctl-lg > input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox ui-ctl-lg">
    <input type="text" class="ui-ctl-element">

Модификатор .ui-ctl-md - устанавливает высоту строки в 39px.

<!-- .ui-ctl.ui-ctl-textbox.ui-ctl-md > input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox ui-ctl-md">
    <input type="text" class="ui-ctl-element">

Модификатор .ui-ctl-sm - устанавливает высоту строки в 33px.

<!-- .ui-ctl.ui-ctl-textbox.ui-ctl-sm > input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox ui-ctl-sm">
    <input type="text" class="ui-ctl-element">

Модификатор .ui-ctl-xs - устанавливает высоту строки в 26px.

<!-- .ui-ctl.ui-ctl-textbox.ui-ctl-xs > input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox ui-ctl-xs">
    <input type="text" class="ui-ctl-element">

Цвет

Модификатор Код

Модификаторы .ui-ctl-active, .ui-ctl-hover..

<!-- .ui-ctl.ui-ctl-textbox.ui-ctl-active > input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox ui-ctl-active">
    <input type="text" class="ui-ctl-element">

Модификатор .ui-ctl-success.

<!-- .ui-ctl.ui-ctl-textbox.ui-ctl-success > input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox ui-ctl-success">
    <input type="text" class="ui-ctl-element">

Модификатор .ui-ctl-warning.

<!-- .ui-ctl.ui-ctl-textbox.ui-ctl-warning > input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox ui-ctl-warning">
    <input type="text" class="ui-ctl-element">

Модификатор .ui-ctl-danger.

<!-- .ui-ctl.ui-ctl-textbox.ui-ctl-danger > input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox ui-ctl-danger">
    <input type="text" class="ui-ctl-element">

Модификатор .ui-ctl-disabled.

<!-- .ui-ctl.ui-ctl-textbox.ui-ctl-disabled > input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox ui-ctl-disabled">
    <input type="text" class="ui-ctl-element">

<!-- .ui-ctl-container > input.ui-ctl-element[disabled] -->
<div class="ui-ctl ui-ctl-textbox">
    <input type="text" class="ui-ctl-element" disabled>
</div>
Модификатор меняет только оформление поля. Для того, чтобы заблокировать возможность ввода данных, добавьте к .ui-element атрибут disabled. Атрибут самодостаточен, и его можно использовать без класса, внешний вид поля тоже изменится..

Теги

Модификатор Код

Элемент .ui-ctl-tag.

новый

<!-- .ui-ctl.ui-ctl-textbox > .ui-ctl-tag{text} + input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox">
    <div class="ui-ctl-tag">новый</div>
    <input type="text" class="ui-ctl-element">
</div>

Модификатор .ui-ctl-tag-success для .ui-ctl-tag.

новый

<!-- .ui-ctl.ui-ctl-textbox > .ui-ctl-tag-success{text} + input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox">
    <div class="ui-ctl-tag-success">новый</div>
    <input type="text" class="ui-ctl-element">
</div>

Модификатор .ui-ctl-tag-primary для .ui-ctl-tag.

новый

<!-- .ui-ctl.ui-ctl-textbox > .ui-ctl-tag-primary{text} + input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox">
    <div class="ui-ctl-tag-primary">новый</div>
    <input type="text" class="ui-ctl-element">
</div>

Модификатор .ui-ctl-tag-danger для .ui-ctl-tag.

новый

<!-- .ui-ctl.ui-ctl-textbox > .ui-ctl-tag-danger{text} + input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox">
    <div class="ui-ctl-tag-danger">новый</div>
    <input type="text" class="ui-ctl-element">
</div>

Модификатор .ui-ctl-tag-warning для .ui-ctl-tag.

новый

<!-- .ui-ctl.ui-ctl-textbox > .ui-ctl-tag-warning{text} + input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox">
    <div class="ui-ctl-tag-warning">новый</div>
    <input type="text" class="ui-ctl-element">
</div>

Дополнительные свойства полей

Модификатор Код

Модификатор .ui-ctl-no-border убирает границы.

<!-- .ui-ctl.ui-ctl-textbox.ui-ctl-no-border > input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox ui-ctl-no-border">
    <input type="text" class="ui-ctl-element">
</div>

Модификатор .ui-ctl-underline убирает все границы, за исключением нижней.

<!-- .ui-ctl.ui-ctl-textbox.ui-ctl-underline > input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox ui-ctl-underline">
    <input type="text" class="ui-ctl-element">
</div>

Модификатор .ui-ctl-no-padding убирает padding в самом поле.

<!-- .ui-ctl.ui-ctl-textbox.ui-ctl-no-padding > input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox ui-ctl-no-padding">
    <input type="text" class="ui-ctl-element">
</div>

Модификатор .ui-ctl-round закругляет углы.

<!-- .ui-ctl.ui-ctl-textbox.ui-ctl-round > input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox ui-ctl-round">
    <input type="text" class="ui-ctl-element">
</div>


Типы полей

Подключение и базовый шаблон

Подключается библиотека вызывом расширения:

\Bitrix\Main\UI\Extension::load("ui.forms");

Базовый шаблон

<div class="ui-ctl ui-ctl-textbox"> <!-- 1. Основной контейнер -->
    <input type="text" class="ui-ctl-element">  <!-- 2. Основное поле -->
</div>

  1. Основной элемент - на этот контейнер обязательно ставится класс, определяющий тип поля. В данном примере стоит .ui-ctl-textbox.
  2. Основное поле - свойства этого элемента напрямую зависят от того, какой класс указан у родителя.

Textbox и Textarea

Textbox

Обычное текстовое поле. Базовая ширина 320px.

<!-- .ui-ctl.ui-ctl-textbox > input[type="text"].ui-ctl-element -->
<div class="ui-ctl ui-ctl-textbox">
    <input type="text" class="ui-ctl-element" placeholder="Название">
</div>

Textarea

Базовая ширина 640px.

<!-- .ui-ctl.ui-ctl-textarea > textarea.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textarea">
    <textarea class="ui-ctl-element"></textarea>
</div>

Dropdown

Базовая ширина 320px.

Модификация Код

Простой выбор

Выбранная опция
<!-- .ui-ctl.ui-ctl-after-icon.ui-ctl-dropdown >
    div.ui-ctl-after.ui-ctl-icon-angle +
    div.ui-ctl-element -->
<div class="ui-ctl ui-ctl-after-icon ui-ctl-dropdown">
    <div class="ui-ctl-after ui-ctl-icon-angle"></div>
    <div class="ui-ctl-element"> Выбранная опция </div>
</div>

Список на стандартном select

<!-- .ui-ctl.ui-ctl-after-icon.ui-ctl-dropdown >
    div.ui-ctl-after.ui-ctl-icon-angle +
    select.ui-ctl > option -->
<div class="ui-ctl ui-ctl-after-icon ui-ctl-dropdown">
    <div class="ui-ctl-after ui-ctl-icon-angle"></div>
    <select class="ui-ctl-element">
        <option value="">Опция #1</option>
        <option value="">Опция #2</option>
        <option value="">Опция #3</option>
    </select>
</div>

Выбор с возможностью ввода текста

<!-- .ui-ctl.ui-ctl-after-icon.ui-ctl-dropdown >
    div.ui-ctl-after.ui-ctl-icon-angle +
    input[type="text"].ui-ctl-element -->
<div class="ui-ctl ui-ctl-after-icon ui-ctl-dropdown">
    <div class="ui-ctl-after ui-ctl-icon-angle"></div>
    <input type="text" class="ui-ctl-element">
</div>

Date & Time

Модификация Код

Дата и время

14.10.2014 16:33

Базовая ширина 125px.
<!-- .ui-ctl.ui-ctl-after-icon.ui-ctl-datetime >
    div.ui-ctl-after.ui-ctl-icon-calendar +
    div.ui-ctl-element -->
<div class="ui-ctl ui-ctl-after-icon ui-ctl-datetime">
    <div class="ui-ctl-after ui-ctl-icon-calendar"></div>
    <div class="ui-ctl-element">14.10.2014 16:33</div>
</div>

Дата и время

14.10.2014 16:33

Базовая ширина 125px.
<!-- .ui-ctl.ui-ctl-ext-after-icon.ui-ctl-datetime >
    div.ui-ctl-ext-after.ui-ctl-icon-calendar +
    div.ui-ctl-element -->
<div class="ui-ctl ui-ctl-ext-after-icon ui-ctl-datetime">
    <div class="ui-ctl-ext-after ui-ctl-icon-calendar"></div>
    <div class="ui-ctl-element">14.10.2014 16:33</div>
</div>

Дата

14.10.2014

Базовая ширина 80px.
<!-- .ui-ctl.ui-ctl-after-icon.ui-ctl-date >
    div.ui-ctl-after.ui-ctl-icon-calendar +
    div.ui-ctl-element -->
<div class="ui-ctl ui-ctl-after-icon ui-ctl-date">
    <div class="ui-ctl-after ui-ctl-icon-calendar"></div>
    <div class="ui-ctl-element">14.10.2014</div>
</div>

Время

14:30

Базовая ширина 45px.
<!-- .ui-ctl.ui-ctl-after-icon.ui-ctl-time >
    div.ui-ctl-after.ui-ctl-icon-clock +
    div.ui-ctl-element -->
<div class="ui-ctl ui-ctl-after-icon ui-ctl-time">
    <div class="ui-ctl-after ui-ctl-icon-calendar"></div>
   <div class="ui-ctl-element">14:30</div>
</div>
В этих полях можно использовать другие теги .ui-ctl-element. Например, поставить стандартный , как в примерах ниже:
<!-- .ui-ctl.ui-ctl-after-icon.ui-ctl-time >
    div.ui-ctl-after.ui-ctl-icon-clock +
    select.ui-ctl-element > n*options-->
<div class="ui-ctl ui-ctl-after-icon ui-ctl-time">
    <div class="ui-ctl-after ui-ctl-icon-calendar"></div>
    <select class="ui-ctl-element">
        <option value="">12:00</option>
        <option value="">15:00</option>
        <option value="">18:00</option>
    </select>
</div>

<!-- .ui-ctl.ui-ctl-after-icon.ui-ctl-time >
    div.ui-ctl-after.ui-ctl-icon-clock +
    select.ui-ctl-element > n*options-->
<div class="ui-ctl ui-ctl-after-icon ui-ctl-time">
    <div class="ui-ctl-after ui-ctl-icon-calendar"></div>
   <input type="text" class="ui-ctl-element" value="14:33">
</div>

MultiSelect

Список на стандартном select с атрибутом multiple.

<!-- .ui-ctl.ui-ctl-multiple-select > select.ui-ctl[multiple][size="n"] > n*option-->
<div class="ui-ctl ui-ctl-multiple-select">
    <select class="ui-ctl-element" multiple size="3">
            <option value="">Опция #1</option>
            <option value="">Опция #2</option>
            <option value="">Опция #3442</option>
            <option value="">Опция #5434</option>
            <option value="">Опция #6433</option>
        </select>
</div>

Ресайз

Если не стоит ни один из модификаторов ресайза, то поле можно ресайзить во всех направлениях.

Запомни! Свойства ресайза не работают ни в одной из версий IE.

Модификатор .ui-ctl-no-resize. Запрещает изменение размера поля.

<!-- .ui-ctl.ui-ctl-textarea.ui-ctl-no-resize > textarea.ui-ctl-element -->
<div class="ui-ctl ui-ctl-textarea ui-ctl-no-resize">
    <textarea class="ui-ctl-element"></textarea>
</div>

Модификатор .ui-ctl-resize-y. Разрешает ресайз только по вертикали.

<!-- .ui-ctl.ui-ctl-textarea.ui-ctl-resize-y > textarea.ui-ctl-element -->
<div class="ui-ctl  ui-ctl-textarea ui-ctl-resize-y">
    <textarea class="ui-ctl-element"></textarea>
</div>

Модификатор .ui-ctl-resize-x. Разрешает ресайз только по горизонтали.

<!-- .ui-ctl.ui-ctl-textarea.ui-ctl-resize-x > textarea.ui-ctl-element -->
<div class="ui-ctl  ui-ctl-textarea ui-ctl-resize-x">
    <textarea class="ui-ctl-element"></textarea>
</div>

Эти классы применимы только для textarea.

Checkbox и Radio

Checkbox

Базовая ширина label равна 320px.

<!-- label.ui-ctl.ui-ctl-checkbox > input[type="checkbox"].ui-ctl-element + .ui-ctl-label-text -->
<label class="ui-ctl ui-ctl-checkbox">
    <input type="checkbox" class="ui-ctl-element">
    <div class="ui-ctl-label-text">Получать информацию о скидках и акциях</div>
</label>

Radio

Базовая ширина label равна 320px.

<!-- label.ui-ctl.ui-ctl-radio > input[type="radio"].ui-ctl-element + .ui-ctl-label-text -->
<label class="ui-ctl ui-ctl-radio">
    <input type="radio" class="ui-ctl-element">
    <div class="ui-ctl-label-text">Получать информацию о скидках и акциях</div>
</label>

File

File Link

<!-- label.ui-ctl.ui-ctl-file-link > input[type="file"].ui-ctl-element + .ui-ctl-label-text -->
<label class="ui-ctl ui-ctl-file-link">
    <input type="file" class="ui-ctl-element">
    <div class="ui-ctl-label-text">Добавить фотографию</div>
</label>

File Button

<!-- label.ui-ctl.ui-ctl-file-btn > input[type="file"].ui-ctl-element + .ui-ctl-label-text -->
<label class="ui-ctl ui-ctl-file-btn">
    <input type="file" class="ui-ctl-element">
    <div class="ui-ctl-label-text">Добавить фотографию</div>
</label>

File Drag'n'Drop

<!-- label.ui-ctl.ui-ctl-file-drop > input[type="file"].ui-ctl-element + .ui-ctl-label-text > span + small -->
<label class="ui-ctl ui-ctl-file-drop">
    <div class="ui-ctl-label-text">
        <span>Загрузить файл или картинку</span>
        <small>Перетащить с помощью drag'n'drop</small>
    </div>
    <input type="file" class="ui-ctl-element">
</label>


Иконки

Подключение и базовый шаблон

Подключается библиотека вызывом расширения:

\Bitrix\Main\UI\Extension::load("ui.forms");

Базовый шаблон

<div class="ui-ctl ui-ctl-textbox ui-ctl-before-icon ui-ctl-after-icon"> <!-- 1. Модификаторы .ui-ctl-before-icon и .ui-ctl-after-icon -->
    <div class="ui-ctl-before ui-ctl-icon-search"></div> <!-- 2. Дополнительный элемент слева .ui-ctl-before-->
    <button class="ui-ctl-after ui-ctl-icon-clear"></button> <!-- 2. Дополнительный элемент справа .ui-ctl-after -->
    <input type="text" class="ui-ctl-element">
</div>

Для добавления иконки нужно выполнить несколько условий:

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

    .ui-ctl-before-icon - определяет положение иконки слева;

    .ui-ctl-after-icon - определяет положение иконки справа;

    .ui-ctl-ext-before-icon - определяет положение иконки слева за пределами поля;

    .ui-ctl-ext-after-icon - определяет положение иконки справа за пределами поля.

    Модификатор необходимо повесить на .ui-ctl.

  2. Рядом с .ui-ctl-element нужно положить контейнер иконки с классом .ui-ctl-after и/или .ui-ctl-before. Обратите внимание, что часть названия класса *-after-* и/или *-before-* должна соответствовать аналогичному модификатору у родителя (пункт 1).
  3. Если необходимо разместить иконку за пределами поля, используйте суффикс '-ext-' в классах для родителя и для самой иконки.
  4. К контейнеру с иконкой добавить класс из доступных в этом списке.

Примеры шаблона

<!-- .ui-ctl.ui-ctl-after-icon > div.ui-ctl-after.ui-ctl-icon-search + input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-after-icon">
    <div class="ui-ctl-after ui-ctl-icon-search"></div>
   <input type="text" class="ui-ctl-element ui-ctl-textbox">
</div>

<!-- .ui-ctl.ui-ctl-before-icon > div.ui-ctl-after.ui-ctl-icon-search + input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-before-icon">
    <div class="ui-ctl-after ui-ctl-icon-search"></div>
    <input type="text" class="ui-ctl-element ui-ctl-textbox">
</div>

<!-- .ui-ctl.ui-ctl-before-icon.ui-ctl-after-icon >
        div.ui-ctl-before.ui-ctl-icon-search +
        div.ui-ctl-after.ui-ctl-icon-angle +
        input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-before-icon ui-ctl-after-icon">
    <div class="ui-ctl-before ui-ctl-icon-search"></div>
    <div class="ui-ctl-after ui-ctl-icon-clear"></div>
    <input type="text" class="ui-ctl-element ui-ctl-textbox">
</div>

<!-- .ui-ctl.ui-ctl-before-icon.ui-ctl-ext-after-icon >
        div.ui-ctl-before.ui-ctl-icon-search +
        div.ui-ctl-after.ui-ctl-icon-angle +
        input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-before-icon  ui-ctl-ext-after-icon">
    <div class="ui-ctl-before ui-ctl-icon-search"></div>
    <div class="ui-ctl-ext-after ui-ctl-icon-loader"></div>
    <input type="text" class="ui-ctl-element ui-ctl-textbox">
</div>

Иконка как кнопка

Часто требуется, чтобы иконка в поле была кнопкой. Например, в поле поиска. Для этого достаточно переименовать тег с иконкой в <button>, либо добавить модификатор .ui-ctl-icon-btn.

<!-- .ui-ctl.ui-ctl-after-icon >
        div.ui-ctl-after.ui-ctl-icon-search.ui-ctl-icon-btn +
        input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-after-icon">
    <div class="ui-ctl-after ui-ctl-icon-btn ui-ctl-icon-search"></div>
    <input type="text" class="ui-ctl-element ui-ctl-textbox">
</div>

<!-- .ui-ctl.ui-ctl-after-icon >
        button.ui-ctl-after.ui-ctl-icon-search +
        input.ui-ctl-element -->
<div class="ui-ctl ui-ctl-after-icon">
    <button class="ui-ctl-after ui-ctl-icon-search"></button>
    <input type="text" class="ui-ctl-element ui-ctl-textbox">
</div>

Список иконок

Модификатор Код

Модификатор .ui-ctl-icon-search

<!-- .ui-ctl.ui-ctl-after-icon > .ui-ctl-after.ui-ctl-icon-search + .ui-ctl-element-->
<div class="ui-ctl ui-ctl-after-icon">
   <div class="ui-ctl-after ui-ctl-icon-search"></div>
   <input type="text" class="ui-ctl-element ui-ctl-textbox">
</div>

Модификатор .ui-ctl-icon-calendar

<!-- .ui-ctl.ui-ctl-after-icon > .ui-ctl-after.ui-ctl-icon-calendar + .ui-ctl-element-->
<div class="ui-ctl ui-ctl-after-icon">
   <div class="ui-ctl-after ui-ctl-icon-calendar"></div>
   <input type="text" class="ui-ctl-element ui-ctl-textbox">
</div>

Модификатор .ui-ctl-icon-dots

<!-- .ui-ctl.ui-ctl-after-icon > .ui-ctl-after.ui-ctl-icon-dots + .ui-ctl-element-->
<div class="ui-ctl ui-ctl-after-icon">
   <div class="ui-ctl-after ui-ctl-icon-dots"></div>
   <input type="text" class="ui-ctl-element ui-ctl-textbox">
</div>

Модификатор .ui-ctl-icon-phone

<!-- .ui-ctl.ui-ctl-after-icon > .ui-ctl-after.ui-ctl-icon-phone + .ui-ctl-element-->
<div class="ui-ctl ui-ctl-after-icon">
   <div class="ui-ctl-after ui-ctl-icon-phone"></div>
   <input type="text" class="ui-ctl-element ui-ctl-textbox">
</div>

Модификатор .ui-ctl-icon-mail

<!-- .ui-ctl.ui-ctl-after-icon > .ui-ctl-after.ui-ctl-icon-mail + .ui-ctl-element-->
<div class="ui-ctl ui-ctl-after-icon">
   <div class="ui-ctl-after ui-ctl-icon-mail"></div>
   <input type="text" class="ui-ctl-element ui-ctl-textbox">
</div>

Модификатор .ui-ctl-icon-clock

<!-- .ui-ctl.ui-ctl-after-icon > .ui-ctl-after.ui-ctl-icon-clock + .ui-ctl-element-->
<div class="ui-ctl ui-ctl-after-icon">
   <div class="ui-ctl-after ui-ctl-icon-clock"></div>
   <input type="text" class="ui-ctl-element ui-ctl-textbox">
</div>

Модификатор .ui-ctl-icon-angle

<!-- .ui-ctl.ui-ctl-after-icon > .ui-ctl-after.ui-ctl-icon-angle + .ui-ctl-element-->
<div class="ui-ctl ui-ctl-after-icon">
   <div class="ui-ctl-after ui-ctl-icon-angle"></div>
   <input type="text" class="ui-ctl-element ui-ctl-textbox">
</div>

Модификатор .ui-ctl-icon-clear

<!-- .ui-ctl.ui-ctl-after-icon > .ui-ctl-after.ui-ctl-icon-clear + .ui-ctl-element-->
<div class="ui-ctl ui-ctl-after-icon">
   <div class="ui-ctl-after ui-ctl-icon-clear"></div>
   <input type="text" class="ui-ctl-element ui-ctl-textbox">
</div>

Модификатор .ui-ctl-icon-loader

<!-- .ui-ctl.ui-ctl-after-icon > .ui-ctl-after.ui-ctl-icon-loader + .ui-ctl-element-->
<div class="ui-ctl ui-ctl-after-icon">
   <div class="ui-ctl-after ui-ctl-icon-loader"></div>
   <input type="text" class="ui-ctl-element ui-ctl-textbox">
</div>


Отправить отзыв по этому разделу

Штрих-коды

  • Введение
  • Методы


Введение

Модуль содержит класс для генерации различных штрих-кодов на бэкенде.

В качестве основы используется [dw]сторонняя библиотека[/dw][di]https://github.com/kreativekorp/barcode [image] [/di], распространяющаяся по [dw]MIT лицензии[/dw][di]Является разрешительной лицензией, то есть позволяет программистам использовать лицензируемый код в закрытом программном обеспечении при условии, что текст лицензии предоставляется вместе с этим программным обеспечением.
Подробнее... [/di].

Возможности

  • генерация штрих-кода и непосредственный вывод.
  • генерация штрих-кода и возврат значения (например, для дальнейшего сохранения в файл).

Поддерживаемые стандарты

Библиотека позволяет создавать штрих-коды следующих стандартов:

  • upc-a
  • upc-e
  • ean-8
  • ean-13
  • ean-13-pad
  • ean-13-nopad
  • ean-128
  • code-39
  • code-39-ascii
  • code-93
  • code-93-ascii
  • code-128
  • codabar
  • itf
  • qr
  • qr-l
  • qr-m
  • qr-q
  • qr-h
  • dmtx
  • dmtx-s
  • dmtx-r
  • gs1-dmtx
  • gs1-dmtx-s
  • gs1-dmtx-r

Поддерживаемые форматы

  • jpeg
  • gif
  • png
  • svg


Методы

API

Метод | Описание | С версии
type(string $type) | Позволяет указать желаемый тип (стандарт) для штрих-кода. Список возможных значений доступен в Bitrix\UI\Util\Barcode\BarcodeDictionary. Не является обязательным, по умолчанию установлен QR. |
format(string $format) | Позволяет указать желаемый формат для штрих кода. Список возможных значений доступен в Bitrix\UI\Util\Barcode\BarcodeDictionary. Не является обязательным, по умолчанию установлен png. |
option(string $optionName, $value) | Используемая библиотека поддерживает большое количество опций, позволяющих кастомизировать результат. С помощью данного метода можно указать значение для какой-то конкретной опции. Полный список всех доступных опций можно найти на странице библиотеки https://github.com/kreativekorp/barcode [image] [image] . |
options(array $options) | Используемая библиотека поддерживает большое количество опций, позволяющих кастомизировать результат. С помощью данного метода можно установить значения для всех опций разом. Полный список всех доступных опций можно найти на странице библиотеки https://github.com/kreativekorp/barcode [image] [image] . |
render(string $message) | Обеспечивает генерацию штрих кода с указанным сообщением и возвращает полученный результат. |
print(string $message) | Обеспечивает генерацию штрих кода с указанным сообщением и печатает результат в поток вывода. |

Пример

use Bitrix\UI\Barcode\BarcodeDictionary;
use Bitrix\UI\Barcode\Barcode;

// генерация штрих кода в gif формате и прямая печать в вывод
$message = '1234567890';
(new Barcode())
    ->type(BarcodeDictionary::TYPE_UPC_A)
    ->format(BarcodeDictionary::FORMAT_GIF)
    ->print($message);

// создание QR кода и дальнейшее сохранение в файл
// по умолчанию используется тип QR и формат png
$link = 'https://google.com';
$content = (new Barcode())->render($link);
$arFile = array(
    'name' => 'myCode.png',
    'content'  => $content,
    'module_id' => 'ui'
);
$fileId = \CFile::SaveFile($arFile, 'ui');

// генерация с указанием линейных размеров
(new Barcode())
    ->type(BarcodeDictionary::TYPE_QR)
    ->format(BarcodeDictionary::FORMAT_JPEG)
    ->option('w', 150)
    ->option('h', 150)
    ->render($link);


Бизнес-процессы

Бизнес-процессы - модуль для создания и работы с бизнес-процессами

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('bizproc');

Класс | Описание | С версии
BaseType | Набор обработчиков базовых типов данных в бизнес-процессах. |
FieldType | Вспомогательный класс для работы API типов полей. |
RestActivityTable | Стандартная ORM-таблица для хранения и управления данными REST действий. |
RestService | API для работы бизнес-процессов через REST. |
Activity | Пространство имен, содержащее классы для работы с действиями. | 17.0.0

Смотрите также:

  • Учебный курс "Бизнес-процессы"
  • Бизнес-процессы (API для старой версии ядра)
  • урок "Автоматический запуск бизнес-процессов и роботов"


Бизнес-процессы в старом ядре

Интерфейсы и классы

Интерфейсы

Список интерфейсов модуля Бизнес-процессы в старом ядре

Интерфейс | Описание
IBPWorkflowDocument | Интерфейс содержит методы, которые необходимы бизнес-процессу для работы с документом.

Классы

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

Класс | Описание | С версии
CBPActivity | Основной класс. | создан ранее 8.5.3
CBPDocument | Вспомогательный класс, содержащий статические методы-обертки для удобного использования API модуля бизнес-процессов. | создан ранее 8.5.1
CBPRuntime | Класс исполняющей среды. Он создает бизнес-процессы, а так же инфраструктуру для их исполнения. | создан ранее 8.5.4
CBPWorkflow | Класс экземпляра бизнес-процесса. Он управляет бизнес-процессом, умеет отправлять на запуск его действия, транслировать и обрабатывать события. | создан ранее 8.5.6

Сервисы

Список сервисов [image] модуля Бизнес-процессы в старом ядре

Сервис | Описание | С версии
SchedulerService | Дает возможность подписываться на внешнее событие – истечение периода времени (работает с помощью функционала агентов).
StateService | Служит для работы со статусами бизнес-процесса (документа).
TrackingService | Дает возможность записывать информацию в лог. В лог записываются системные события времени выполнения бизнес-процесса. Например, какие действия и с каким результатом были выполнены. Кроме того в лог может записываться любая произвольная информация.
TaskService | Дает возможность работать с заданиями для пользователей.
HistoryService | Дает возможность сохранять документ в историю и восстанавливать его из истории.
DocumentService | Дает возможность вызывать методы документа.

События

Список событий модуля Бизнес-процессы в старом ядре

Событие | Вызывается | Метод | С версии
OnAddToHistory | перед добавлением записи в историю. | CBPHistoryService::AddHistory | 11.0.1
OnBeforeDeleteFileFromHistory | перед удалением файла из истории. | CBPAllHistoryService::DeleteHistory | 11.0.4
OnCreateWorkflow | при создании экземпляра бизнес-процесса. | CBPRuntime::CreateWorkflow | 11.0.4
OnTaskAdd | при создании задания бизнес-процесса. | CBPTaskService::Add | 11.0.5
OnTaskDelete | при удалении задания бизнес-процесса. | CBPAllTaskService::DeleteByWorkflow | 11.0.5
OnTaskMarkCompleted | после того, как производится удаление записи о задании пользователя. Если в БП несколько заданий (для разных пользователей) событие вызовется несколько раз. | CBPAllTaskService::MarkCompleted | 11.0.5
OnTaskUpdate | при обновлении задания бизнес-процесса. | CBPTaskService::Update | 11.0.5
OnTaskDelegate | при делегировании задачи. | CBPTaskService::delegateTask | 16.0.3


Activity

Activity - пространство имен, содержащее классы для работы с действиями.

Класс/Пространство имен | Описание | С версии
PropertiesDialog | Класс для работы с диалогом настроек действия. |


PropertiesDialog

PropertiesDialog - класс для работы с диалогом настроек действия.

Метод | Описание | С версии
getRuntimeData | Получает исполняемые данные. |
setRuntimeData | Устанавливает исполняемые данные. |


getRuntimeData

array public
\Bitrix\Bizproc\Activity\PropertiesDialog::getRuntimeData(
);

Нестатический метод получает исполняемые данные.

Без параметров


setRuntimeData

 public
\Bitrix\Bizproc\Activity\PropertiesDialog::setRuntimeData(
 array $runtimeData
);

Нестатический метод устанавливает исполняемые данные.

Параметры

Параметр | Описание | Версия
$runtimeData | Исполняемые данные. |


BaseType

BaseType - набор обработчиков базовых типов данных в бизнес-процессах.

Класс | Описание | С версии
Base | Базовый класс для работы с типами данных. |
User | Класс для работы с данными типа Пользователь. |
Date | Класс для работы с данными типа Дата. |
BoolType | Класс для работы с данными типа Да/Нет. | 16.0.2
Select | Класс для работы с данными типа Список. |
Double | Класс для работы с данными типа Число. |
StringType | Класс для работы с данными типа Строка. | 16.0.2
IntType | Класс для работы с данными типа Целое число. | 16.0.2
File | Класс для работы с данными типа Файл. |


Base

Base - базовый класс для работы с типами данных.

Метод | Описание | С версии
getFormats | Возвращает список форматов. | 16.0.3
getConversionMap | Возвращает таблицу преобразования для текущего типа. | 16.0.3
toSingleValue | Нормализует одиночное значение. | 16.5.0


getConversionMap

array public static
\Bitrix\Bizproc\BaseType\Base::getConversionMap(
);

Статический метод возвращает таблицу преобразования для текущего типа.

Без параметров


getFormats

array public static
\Bitrix\Bizproc\BaseType\Base::getFormats(
);

Статический метод возвращает список форматов.

Без параметров


toSingleValue

mixed public static
\Bitrix\Bizproc\BaseType\Base::toSingleValue(
 \Bitrix\Bizproc\FieldType $fieldType,
 mixed $value
);

Статический метод нормализует одиночное значение.

Параметры

Параметр | Описание | Версия
$fieldType | Тип поля документа. |
$value | Значение поля. |


BoolType

BoolType - класс для работы с данными типа Да/Нет.

Метод | Описание | С версии
getConversionMap | Возвращает таблицу преобразования для текущего типа. | 16.0.3
toSingleValue | Нормализует одиночное значение. | 16.5.0


getConversionMap

array public static
\Bitrix\Bizproc\BaseType\BoolType::getConversionMap(
);

Статический метод возвращает таблицу преобразования для текущего типа.

Без параметров


toSingleValue

mixed public static
\Bitrix\Bizproc\BaseType\BoolType::toSingleValue(
 \Bitrix\Bizproc\FieldType $fieldType,
 mixed $value
);

Статический метод нормализует одиночное значение.

Параметры

Параметр | Описание | Версия
$fieldType | Тип поля документа. |
$value | Значение поля. |


Date

Date - класс для работы с данными типа Дата.

Метод | Описание | С версии
getConversionMap | Возвращает таблицу преобразования для текущего типа. | 16.0.3
toSingleValue | Нормализует одиночное значение. | 16.5.0


getConversionMap

array public static
\Bitrix\Bizproc\BaseType\Date::getConversionMap(
);

Статический метод возвращает таблицу преобразования для текущего типа.

Без параметров


toSingleValue

mixed public static
\Bitrix\Bizproc\BaseType\Date::toSingleValue(
 \Bitrix\Bizproc\FieldType $fieldType,
 mixed $value
);

Статический метод нормализует одиночное значение.

Параметры

Параметр | Описание | Версия
$fieldType | Тип поля документа. |
$value | Значение поля. |


Double

Double - класс для работы с данными типа Число.

Метод | Описание | С версии
getConversionMap | Возвращает таблицу преобразования для текущего типа. | 16.0.3
toSingleValue | Нормализует одиночное значение. | 16.5.0


getConversionMap

array public static
\Bitrix\Bizproc\BaseType\Double::getConversionMap(
);

Статический метод возвращает таблицу преобразования для текущего типа.

Без параметров


toSingleValue

mixed public static
\Bitrix\Bizproc\BaseType\Double::toSingleValue(
 \Bitrix\Bizproc\FieldType $fieldType,
 mixed $value
);

Статический метод нормализует одиночное значение.

Параметры

Параметр | Описание | Версия
$fieldType | Тип поля документа. |
$value | Значение поля. |


File

File - класс для работы с данными типа Файл.

Метод | Описание | С версии
getConversionMap | Возвращает таблицу преобразования для текущего типа. | 16.5.0
toSingleValue | Нормализует одиночное значение. | 16.5.0


getConversionMap

array public static
\Bitrix\Bizproc\BaseType\File::getConversionMap(
);

Статический метод возвращает таблицу преобразования для текущего типа.

Без параметров


toSingleValue

mixed public static
\Bitrix\Bizproc\BaseType\File::toSingleValue(
 \Bitrix\Bizproc\FieldType $fieldType,
 mixed $value
);

Статический метод нормализует одиночное значение.

Параметры

Параметр | Описание | Версия
$fieldType | Тип поля документа. |
$value | Значение поля. |


IntType

IntType - класс для работы с данными типа Целое число.

Метод | Описание | С версии
toSingleValue | Нормализует одиночное значение. | 16.5.0


toSingleValue

mixed public static
\Bitrix\Bizproc\BaseType\IntType::toSingleValue(
 \Bitrix\Bizproc\FieldType $fieldType,
 mixed $value
);

Статический метод нормализует одиночное значение.

Параметры

Параметр | Описание | Версия
$fieldType | Тип поля документа. |
$value | Значение поля. |


Select

Select - класс для работы с данными типа Список.

Метод | Описание | С версии
getConversionMap | Возвращает таблицу преобразования для текущего типа. | 16.0.3


getConversionMap

array public static
\Bitrix\Bizproc\BaseType\Select::getConversionMap(
);

Статический метод возвращает таблицу преобразования для текущего типа.

Без параметров


StringType

StringType - класс для работы с данными типа Строка.

Метод | Описание | С версии
getConversionMap | Возвращает таблицу преобразования для текущего типа. | 16.0.3
toSingleValue | Нормализует одиночное значение. | 16.5.0


getConversionMap

array public static
\Bitrix\Bizproc\BaseType\StringType::getConversionMap(
);

Статический метод возвращает таблицу преобразования для текущего типа.

Без параметров


toSingleValue

mixed public static
\Bitrix\Bizproc\BaseType\StringType::toSingleValue(
 \Bitrix\Bizproc\FieldType $fieldType,
 mixed $value
);

Статический метод нормализует одиночное значение.

Параметры

Параметр | Описание | Версия
$fieldType | Тип поля документа. |
$value | Значение поля. |


User

User - класс для работы с данными типа Пользователь.

Метод | Описание | С версии
getFormats | Возвращает список форматов. | 16.0.3
getConversionMap | Возвращает таблицу преобразования для текущего типа. | 16.0.3
toSingleValue | Нормализует одиночное значение. | 16.5.0


getConversionMap

array public static
\Bitrix\Bizproc\BaseType\User::getConversionMap(
);

Статический метод возвращает таблицу преобразования для текущего типа.

Без параметров


getFormats

array public static
\Bitrix\Bizproc\BaseType\User::getFormats(
);

Статический метод возвращает список форматов.

Без параметров


toSingleValue

mixed public static
\Bitrix\Bizproc\BaseType\User::toSingleValue(
 \Bitrix\Bizproc\FieldType $fieldType,
 mixed $value
);

Статический метод нормализует одиночное значение.

Параметры

Параметр | Описание | Версия
$fieldType | Тип поля документа. |
$value | Значение поля. |


FieldType

FieldType - вспомогательный класс для работы API типов полей (переменных, констант и т.п.).

Метод | Описание | С версии
getBaseTypesMap | Возвращает список поддерживаемых базовых типов. |
normalizeProperty | Нормализует структуру свойства. |
setTypeClass | Менеджер установки типа класса. |
setSettings | Устанавливает настройки поля. | 16.5.3
getSettings | Получает настройки поля. | 16.5.3


getBaseTypesMap

array public static
\Bitrix\Bizproc\FieldType::getBaseTypesMap(
);

Статический метод возвращает список поддерживаемых базовых типов.

Без параметров


getSettings

array public
\Bitrix\Bizproc\FieldType::getSettings(
);

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

Без параметров


normalizeProperty

array public static
\Bitrix\Bizproc\FieldType::normalizeProperty(
 string|array $property
);

Статический метод нормализует структуру свойства.

Параметры

Параметр | Описание | Версия
$property | Свойство документа. |


setSettings

\Bitrix\Bizproc\FieldType public
\Bitrix\Bizproc\FieldType::setSettings(
 array $settings
);

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

Параметры

Параметр | Описание | Версия
$settings | Массив настроек. |


setTypeClass

\Bitrix\Bizproc\FieldType public
\Bitrix\Bizproc\FieldType::setTypeClass(
 string $typeClass
);

Менеджер установки типа класса.

Параметры

Параметр | Описание | Версия
$typeClass | Имя типа класса. |

Исключения

  • ArgumentException (Bitrix\Main\ArgumentException)


RestActivityTable

заголовок блока табов

Описание и методы

RestActivityTable - стандартная ORM-таблица для хранения и управления данными REST действий.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getFilePath | Возвращает путь к файлу, содержащий описание класса. |
getMap | Возвращает список полей с типами. |
getTableName | Возвращает имя таблицы базы данных, соответствующей данной сущности. |
validateAppId | Возвращает валидаторы поля APP_ID. |
validateCode | Возвращает валидаторы поля CODE. |
validateHandler | Возвращает валидаторы для поля HANDLER. |

Таблица данных REST-действий

Поле | Описание | Тип | Обяз.
ID | Идентификатор. | int | N
APP_ID | Идентификатор приложения. | varchar(128) | Y
APP_NAME | Название приложения. | text | Y
CODE | Уникальный код действия в рамках приложения. | varchar(128) | Y
INTERNAL_CODE | Внутренний код. | varchar(32) | Y
HANDLER | Код обработчика. | varchar(1000) | Y
AUTH_USER_ID | Идентификатор пользователя, чья авторизация будет использоваться для REST запросов действия. | int | N
USE_SUBSCRIPTION | Флаг подписки действия на событие. Если установлено Y, то бизнес-процесс остановится и будет ждать ответа от приложения. Если ничего не установлено, пользователь может сам установить необходимое значение в дизайнере бизнес-процессов. | char(1) | N
NAME | Название действия. | text | Y
DESCRIPTION | Описание действия. | text | N
PROPERTIES | Параметры. | text | N
RETURN_PROPERTIES | Возвращаемые значения. | text | N
DOCUMENT_TYPE | Тип документа. | text | N
FILTER | Правила отображения действия (можно показывать/отображать в меню дизайнера бизнес-процессов для определенных модулей, типов документов и редакций). | text | N


getFilePath

string public static
\Bitrix\Bizproc\RestActivityTable::getFilePath(
);

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

Без параметров


getMap

array public static
\Bitrix\Bizproc\RestActivityTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров


getTableName

string public static
\Bitrix\Bizproc\RestActivityTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров


validateAppId

array public static
\Bitrix\Bizproc\RestActivityTable::validateAppId(
);

Статический метод возвращает валидаторы поля APP_ID.

Без параметров


validateCode

array public static
\Bitrix\Bizproc\RestActivityTable::validateCode(
);

Статический метод возвращает валидаторы поля CODE.

Без параметров


validateHandler

array public static
\Bitrix\Bizproc\RestActivityTable::validateHandler(
);

Статический метод возвращает валидаторы для поля HANDLER.

Без параметров


RestService

RestService - API для работы бизнес-процессов через REST.

Метод | Описание | С версии
onRestAppDelete | Удаляет действия приложения. |
onRestAppUpdate | Обновляет действия приложения. |


onRestAppDelete

void public static
\Bitrix\Bizproc\RestService::onRestAppDelete(
 array $fields
);

Обработчик, вызываемый при удалении приложения. Удаляет связанные с приложением действия. Метод статический.

Параметры

Параметр | Описание | Версия
$fields | Поля, описывающие приложение. |


onRestAppUpdate

void public static
\Bitrix\Bizproc\RestService::onRestAppUpdate(
 array $fields
);

Обработчик, вызываемый при обновлении приложения. Удаляет связанные с приложением действия. Метод статический.

Параметры

Параметр | Описание | Версия
$fields | Поля, описывающие приложение. |


Блоги

Раздел содержит информацию о классах модуля Блоги, относящихся к ядру D7 и находящихся соответственно в пространстве имен \Bitrix\Blog.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('blog');

Класс, простраство имён | Описание
BlogUser | Класс для работы с пользователями блога.
Item | Классы для работы с записями блогов.


Блоги в старом ядре

Классы

Список классов модуля Блоги в старом ядре

Класс | Описание | С версии
CBlog | Класс для работы с блогами. | 5.0.1
CBlogCandidate | Класс для работы с желающими стать друзьями. | 7.1.2
CBlogCategory | Класс для работы с категориями сообщений блога. | 6.5.1
CBlogComment | Класс для работы с комментариями к сообщениям. | 5.9.1
CBlogGroup | Класс для работы с группами блогов. | 7.1.2
CBlogImage | Класс для работы с изображениями, прикреплёнными к сообщениям в блоге. | 8.5.3
CBlogPost | Класс для работы с сообщениями блогов. | 5.0.2
CBlogSitePath | Класс для работы с путями к публичной части блогов. | 5.9.1
CBlogTrackBack | Класс для работы с TrackBack'ами к сообщениям. | 5.9.0
CBlogUser | Класс для работы с пользователями блогов. | 5.0.2
CBlogUserGroup | Класс для работы с группами пользователей блогов. | 7.1.2
blogTextParser | Класс для форматирования сообщений. | 5.0.2

Дополнительно

  • Константы модуля блогов
  • Структура таблиц модуля блогов

События

Список событий модуля Блоги в старом ядре

Событие | Вызывается | Метод | С версии
OnBeforeBlogAdd | перед добавлением блога. | CBlog::Add | 5.0.2
OnBlogAdd | при добавлении блога. | CBlog::Add | 5.0.2
OnBeforeBlogUpdate | перед изменением блога. | CBlog::Update | 5.0.2
OnBlogUpdate | при изменении блога. | CBlog::Update | 5.0.2
OnBeforeBlogDelete | перед удалением блога. | CBlog::Delete | 5.0.1
OnBlogDelete | при удалении блога. | CBlog::Delete | 5.0.1
OnBeforeCommentAdd | перед добавлением комментария. | CBlogComment::Add | 9.5.0
OnBeforeCommentDelete | перед удалением комментария. Текст ошибки, зарегистрированной в обработчике этого события, отображается в интерфейсе живой ленты. | CBlogComment::Delete | 9.5.0
OnBeforeCommentUpdate | перед изменением комментария. | CBlogComment::Update | 9.5.0
OnBeforePostAdd | перед добавлением сообщения. | CBlogPost::Add | 9.5.0
OnBeforePostDelete | перед удалением сообщения. | CBlogPost::Delete | 9.5.0
OnBeforePostUpdate | перед изменением сообщения. | CBlogPost::Update | 9.5.0
OnCommentAdd | при добавлении комментария. | CBlogComment::Add | 9.5.0
OnCommentDelete | при удалении комментария. | CBlogComment::Delete | 9.5.0
OnCommentUpdate | при изменении комментария. | CBlogComment::Update | 9.5.0
OnPostAdd | при добавлении сообщения. | CBlogPost::Add | 9.5.0
OnPostDelete | при удалении сообщения. | CBlogPost::Delete | 9.5.0
OnPostUpdate | при изменении сообщения. | CBlogPost::Update | 9.5.0
videoConvert | при конвертации видео. | blogTextParser::blogConvertVideo | 9.0.0
BlogImageSize при конвертировании тега типа
[IMG ID=12345]
в строку типа <img .../> 		blogTextParser::blogTextParser
OnBeforePostUserFieldUpdate | после изменения\добавления сообщения в блог, но перед обновлением пользовательских свойств. | CBlogPost::Update
OnBlogPostMentionNotifyIm | после отправки уведомления об упоминании в сообщении\комментарии. | CBlogPost::NotifyIm


BlogUser

BlogUser - класс для работы с пользователями блога.

Метод | Описание | С версии
GetUserName | Формирует корректное имя пользователя блога из имени, псевдонима или логина. |
__construct | Конструктор класса BlogUser. |
cleanCache | Метод удаляет все данные из кэша пользователей блога. |
getCommentAuthorsIdsByPostId | Возвращает идентификаторы пользователей-авторов комментариев для этого сообщения. |
getPostAuthorsIdsByBlogId | Возвращает идентификаторы пользователей, оставлявших сообщения в данном блоге. Авторы комментариев не учитываются. |
getPostAuthorsIdsByDbFilter | Позволяет более удобно работать с пользователями при выборке сообщений. |
getUsers | Получает полную информацию о пользователях по их идентификаторам. |
setBlogId | Устанавливает идентификатор блога, используемый для разделения кеша для разных блогов. |
isUserGivenConsent | Проверяет, было ли дано пользователем согласие на обработку персональных данных в каком-либо из сообщений данного блога. |


__construct

 public
\Bitrix\Blog\BlogUser::__construct(
 integer $cacheTime
);

Конструктор класса BlogUser.

Если при создании экземпляра класса было передано время $cacheTime, то различные выборки пользователей будут кешироваться и при повторном обращении отдаваться из кеша. В противном случае каждый раз осуществляется запрос к БД.

Параметры

Параметр | Описание | Версия
$cacheTime | Целое. Значение времени кэша. |

Примеры

Получить полные данные всех пользователей, написавших сообщения в данном блоге.

// $blogId - идентификатор блога
$cacheTime = 86400; //one day
$blogUser = new \Bitrix\Blog\BlogUser($cacheTime);
$blogUser->setBlogId($blogId);
$postsUsers = $blogUser->getUsers(\Bitrix\Blog\BlogUser::getPostAuthorsIdsByBlogId($blogId));


cleanCache

mixed public static
\Bitrix\Blog\BlogUser::cleanCache(
);

Метод удаляет все данные из кэша пользователей блога, если кеширование включено. При следующем обращении к любому из методов, получающих пользователей, данные будут перекешированы. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCommentAuthorsIdsByPostId

 public static
\Bitrix\Blog\BlogUser::getCommentAuthorsIdsByPostId(
  $postId
);

Возвращает идентификаторы пользователей-авторов сообщений (для этого сообщения). Метод статический.

Параметры

Параметр | Описание | Версия
$postId | Идентификатор сообщения. |

Пример

Получить полные данные всех пользователей, оставивших комментарии к данному сообщению.

$arPost = CBlogPost::GetByID($this->arParams["ID"]);
$cacheTime = 86400; //one day
$blogUser = new \Bitrix\Blog\BlogUser($cacheTime);
$commentUsers = $blogUser->getUsers(\Bitrix\Blog\BlogUser::getCommentAuthorsIdsByPostId($arPost['ID']));


getPostAuthorsIdsByBlogId

 public static
\Bitrix\Blog\BlogUser::getPostAuthorsIdsByBlogId(
  $blogId
);

Возвращает идентификаторы пользователей, оставлявших сообщения в данном блоге. Авторы комментариев не учитываются. Метод статический.

Параметры

Параметр | Описание | Версия
$blogId | Идентификатор блога. |

Примеры

Получить полные данные всех пользователей, написавших сообщения в данном блоге.

// $blogId - идентификатор блога
$cacheTime = 86400; //one day
$blogUser = new \Bitrix\Blog\BlogUser($cacheTime);
$blogUser->setBlogId($blogId);
$postsUsers = $blogUser->getUsers(\Bitrix\Blog\BlogUser::getPostAuthorsIdsByBlogId($blogId));


getPostAuthorsIdsByDbFilter

array public static
\Bitrix\Blog\BlogUser::getPostAuthorsIdsByDbFilter(
  $arFilter
);

Служебный метод, позволяющий более удобно работать с пользователями при выборке сообщений. Позволяет получить идентификаторы авторов, используя тот же массив фильтра, что и в выборке CBlogPost::GetList() [image]. Метод статический.

Параметры

Параметр | Описание | Версия
$arFilter | Фильтр |

Исключения

  • \Bitrix\Main\ArgumentNullException

Пример

Получить список сообщений блога, используя сложную пользовательскую выборку и получить массив авторов для этих сообщений.

// Получаем список сообщений, используя некие условия выбора в $arFilter.
$dbPosts = CBlogPost::GetList(
    $sort,
    $arFilter,
    false,
    $count,
    $arFields
);
while ($arPost = $dbPosts->GetNext())
{
    ...
}

// Находим идентификаторы авторов сообщений для данной выборки
$blogUser = new \Bitrix\Blog\BlogUser();
$blogUsers = $blogUser->getUsers(\Bitrix\Blog\BlogUser::getPostAuthorsIdsByDbFilter($arFilter));


GetUserName

string public static
\Bitrix\Blog\BlogUser::GetUserName(
  $alias,
  $name,
  $lastName,
  $login,
 string $secondName = ""
);

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

Параметры

Параметр | Описание | Версия
$alias | Псевдоним |
$name | Имя |
$lastName | Фамилия |
$login | Логин |
$secondName | Отчество |

Примеры

Сформировать имя автора сообщения для вывода.

$authorName = \Bitrix\Blog\BlogUser::GetUserName(
    'Администратор',
    'Иван',
    'Иванов',
    'admin'
);
echo $authorName; // Администратор


getUsers

array|boolean public
\Bitrix\Blog\BlogUser::getUsers(
 array $ids = array()
);

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

Если при создании экземпляра класса BlogUser было передано время $cacheTime, то выборка пользователей будет кешироваться и при повторном обращении отдаваться из кеша. В противном случае каждый раз осуществляется запрос к БД.

Параметры

Параметр | Описание | Версия
$ids | Массив идентификаторов пользователей |

Примеры

Получить полные данные всех пользователей, оставивших комментарии к данному сообщению.

$arPost = CBlogPost::GetByID($this->arParams["ID"]);
$cacheTime = 86400; //one day
$blogUser = new \Bitrix\Blog\BlogUser($cacheTime);
$commentUsers = $blogUser->getUsers(\Bitrix\Blog\BlogUser::getCommentAuthorsIdsByPostId($arPost['ID']));


isUserGivenConsent

 public static
\Bitrix\Blog\BlogUser::isUserGivenConsent(
  $userId
);

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

Проверка соглашения происходет на основе URL, поэтому:

  • Для одного и того же блога/сообщения, но показанного в разных компонентах (с разными адресами), соглашение будет показано дважды. Т.е. пользователь будет подтверждать своё согласие для каждого компонента.
  • Если изменится URL компонента (например, изменятся настройки ЧПУ) - соглашение также будет показано заново.

Параметры

Параметр | Описание | Версия
$userId | Идентификатор пользователя. Внимание! Требуется именно идентификатор пользователя в система (в модуле main), а не идентификатор BlogUser. |
$agreementId | ID пользовательского соглашения. В системе может быть настроено несколько запросов, проверять нужно используемое в данном компоненте. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setBlogId

 public
\Bitrix\Blog\BlogUser::setBlogId(
  $id
);

Устанавливает идентификатор блога, используемый для разделения кеша для разных блогов. Метод нестатический.

Параметры

Параметр | Описание | Версия
$id | Идентификатор |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Item

Пространство имён \Bitrix\Blog\Item содержит классы для работы с записями (постами) блогов.

Класс | Описание | С версии
[link=8553367]Permissions[/link] | Класс содержит константы, соответствующие уровням прав пользователя на запись блога. | 17.5.5
Post | Класс для работы с постами блогов. | 17.5.5


Отправить отзыв по этому разделу

Permissions

  • Permissions


Permissions

Класс \Bitrix\Blog\Item\Permissions - содержит константы, соответствующие уровням прав пользователя на запись блога. Уровни представляют собой иерархию, т.е. доступ более высокого уровня включает в себя уровни доступа более низких уровней.

Уровень доступа | Описание
DENY | доступ запрещен
READ | разрешено чтение
PREMODERATE | разрешено создание записи с последующей премодерацией перед публикацией
WRITE | разрешена публикация записи
BLOG_PERMS_MODERATE | разрешена модерация записи
BLOG_PERMS_FULL | полные права на запись


Post

Post - класс для работы с записями (постами) блогов.

Метод | Описание | С версии
detectTags | Обнаруживает теги в массиве данных. |
getById | Получает экземпляр записи блога. |
getFields | Получает массив значений полей записи блога. |
getSonetPerms | Получает значения прав модуля социальной сети для пользователя на запись блога. |
getTags | Возвращает массив категорий записи блога. |


detectTags

array public
\Bitrix\Blog\Item\Post::detectTags(
 array $fields
);

Метод возвращает массив хэш-тегов из содержимого записи блога. Метод нестатический.

Параметры

Параметр | Описание | Версия
$fields | Массив данных. |

Примеры

$post = \Bitrix\Blog\Item\Post::getById(15);
$tags = $post->detectTags();


getById

array public
\Bitrix\Blog\Item\Post::getById(
int $id,
array $params
);

Метод получает экземпляр записи блога. Метод статический.

Параметры

Параметр | Описание | Версия
$id | ID записи блога. |
$params | Вспомогательные параметры. Поддерживается ключ USE_STATIC_CACHE = true/false - использование статического кеширования в методе для получения полей записи (по умолчанию - false, отключено). |

Примеры

$post = \Bitrix\Blog\Item\Post::getById(15);


getFields

array public\Bitrix\Blog\Item\Post::getFields(
);

Нестатический метод для получения массива значений полей записи блога.

Параметры

Примеры

$post = \Bitrix\Blog\Item\Post::getById(15);
$fields = $post->getFields();


getSonetPerms

array public
\Bitrix\Blog\Item\Post::getById(
int $id,
array $params
);

Нестатический метод для получения значения прав модуля социальной сети для пользователя на запись блога.

Параметры

Параметр | Описание | Версия
$params | Вспомогательные параметры. Поддерживается ключ USER_ID - ID пользователя (по умолчанию - ID текущего пользователя). |

Примеры

$post = \Bitrix\Blog\Item\Post::getById(15);
$permsResult = $post->getSonetPerms();

Возвращаемое значение: массив из двух ключей:

PERM - собственно, значение уровня прав (см. класс [link=8553367]\Bitrix\Blog\Item\Permissions[/link])

READ_BY_OSG - true/false - признак того, что право на чтение получено благодаря тому, что одна из рабочих групп соцсети, в которые адресована запись, является открытой для чтения.


getTags

array public\Bitrix\Blog\Item\Post::getTags(
);

Метод возвращает массив категорий записи блога (см. Класс CBlogCategory [image]). Метод нестатический.

Параметры

Примеры

$post = \Bitrix\Blog\Item\Post::getById(15);
$categories = $post->getTags();


Валюты

Раздел содержит информацию о классах модуля Валюты, относящихся к ядру D7 и находящихся соответственно в пространстве имен \Bitrix\Currency.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('currency');

Класс | Описание
CurrencyClassifier | Класс для работы с классификатором валют.
CurrencyLangTable | Класс для работы с таблицей языкозависимых параметров валют.
CurrencyManager | Класс для управления валютами.
CurrencyRateTable | Класс для работы с таблицей курсов валют.
CurrencyTable | Класс для работы с таблицей валют.
Helpers | Пространство имен \Bitrix\Currency\Helpers содержит вспомогательные классы.


Валюты в старом ядре

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>Валюты в старом ядре

Валюты::Валюты в старом ядре

Классы

Список классов модуля Валюты в старом ядре

Класс | Описание | С версии
CCurrency | Класс для управления валютами: добавление, удаление, перечисление. | 3.3.2
CCurrencyLang | Класс для работы с языкозависимыми параметрами валют (название, формат и пр.) | 3.3.2
CCurrencyRates | Класс для работы с курсами валют: сохранение, конвертация и пр. | 3.3.2

События

Список событий модуля Валюты в старом ядре

Событие | Вызывается | Метод | С версии
OnBeforeCurrencyAdd | перед добавлением валюты. | CCurrency::Add | 14.0.0
OnCurrencyAdd | в случае успешного добавления новой валюты. | CCurrency::Add | 14.0.0
OnBeforeCurrencyUpdate | перед обновлением существующей валюты. | CCurrency::Update | 14.0.0
OnCurrencyUpdate | в случае успешного изменения валюты. | CCurrency::Update | 14.0.0
OnBeforeCurrencyDelete | перед удалением валюты. | CCurrency::Delete | 3.3.2
OnCurrencyDelete | при удалении существующей валюты. | CCurrency::Delete | 3.3.2
CurrencyFormat | при форматировании валюты. | CCurrencyLang::CurrencyFormat | 8.0.2
OnBeforeCurrencyRateAdd | перед добавлением курса валюты. | CCurrencyRates::Add | 14.0.0
OnCurrencyRateAdd | в случае успешного добавления нового курса валюты. | CCurrencyRates::Add | 14.0.0
OnBeforeCurrencyRateUpdate | перед обновлением существующего курса валюты. | CCurrencyRates::Update | 14.0.0
OnCurrencyRateUpdate | в случае успешного изменения курса валюты. | CCurrencyRates::Update | 14.0.0
OnBeforeCurrencyRateDelete | перед удалением курса валюты. | CCurrencyRates::Delete | 14.0.0
OnCurrencyRateDelete | при удалении существующего курса валюты. | CCurrencyRates::Delete | 14.0.0

Функции

Список функций модуля Валюты в старом ядре

Функция | Описание | С версии | До версии
CurrencyFormat | Форматирует сумму price в соответствии с правилами форматирования для валюты currency на текущем языке. | 5.1.0 | 14.0.0
CurrencyFormatNumber | Форматирует цену price в соответствии с настройками валюты currency для текущего языка без использования шаблона. | 11.5.0 | 14.0.0


Компонент отрисовки пользовательских полей

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>Компонент отрисовки пользовательских полей (с версии 20.0.0)

Валюты::Компонент отрисовки пользовательских полей

С версии 20.0.800 модуля main доступно новое API для отрисовки контролов пользовательских полей.

Компонент currency.field.money предназначен для отрисовки пользовательских полей типа money (деньги) через новое API.

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

Компонент является системным и в визуальном редакторе не отображается. В физической структуре сайта его можно найти в папке /bitrix/components/bitrix/currency.field.money.

Пример вызова компонента currency.field.money

<?
$APPLICATION->IncludeComponent(
            'bitrix:currency.field.money',
            '',
            [
                'userField' => $userField,
                'additionalParameters' => $additionalParameters,
            ]
        );
?>

Параметры

Параметр | Описание
$userField | Массив метаинформации пользовательского поля. Может быть получен методом GetUserFields класса CUserTypeManager.
$additionalParameters Массив, содержащий необходимые настройки в зависимости от шаблона, которым выводится контрол. В частности в этом массиве передаются следующие элементы:
  • mode - имя шаблона компонента;
  • mediaType - имя страницы шаблона, на текущий момент или .default, или mobile. Пустое значение эквивалентно .default.

Дополнительно

Также можно использовать универсальное API:

$renderer = new \Bitrix\Currency\UserField\Renderer($userField, $additionalParameters);
return $renderer->render();


CurrencyClassifier

CurrencyClassifier - класс для работы с классификатором валют.

Методы класса

Метод | Описание | С версии
get | Метод возвращает классификатор валют. | 17.5.0


get

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyClassifier>get (доступен с 17.5.0)

CurrencyClassifier::get

array public static
\Bitrix\Currency\CurrencyClassifier::get(
 array $languageIds,
 string $baseLanguageId
);

Метод возвращает классификатор валют. Метод статический.

Параметры

Параметр | Описание | Версия
$languageIds | Массив идентификаторов языков. |
$baseLanguageId | Базовый язык. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


CurrencyLangTable

Описание и методы

CurrencyLangTable - класс для работы с таблицей языкозависимых параметров валют.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы языкозависимых параметров валюты. | 14.5.0
getTableName | Метод возвращает название таблицы языкозависимых параметров валюты. | 14.5.0
validateCurrency | Метод возвращает валидатор для поля CURRENCY. | 14.5.0
validateDecPoint | Метод возвращает валидатор для поля DEC_POINT. | 14.5.0
validateFormatString | Метод возвращает валидатор для поля FORMAT_STRING. | 14.5.0
validateFullName | Метод возвращает валидатор для поля FULL_NAME. | 14.5.0
validateLid | Метод возвращает валидатор для поля LID. | 14.5.0
validateThousandsSep | Метод возвращает валидатор для поля THOUSANDS_SEP. | 14.5.0
validateThousandsVariant | Метод возвращает валидатор для поля THOUSANDS_VARIANT. | 14.5.0

Поля языкозависимых параметров валют

Поле | Описание | Тип | Обяз.
CURRENCY | Код валюты. | Сhar(3) | Да
LID | Идентификатор сайта. | Char(2) | Да
FORMAT_STRING | Строка формата для вывода валюты. | Varchar(50) | Да
FULL_NAME | Название. | Varchar(50) | Нет
DEC_POINT | Десятичная точка при выводе. | Varchar(5) | Нет
THOUSANDS_SEP | Разделитель тысяч при выводе. | Varchar(5) | Нет
DECIMALS | Количество десятичных знаков. | Int | Да
THOUSANDS_VARIANT | Предустановленный вариант разделителя тысяч или признак, что разделитель кастомизированный. | Char(1) | Нет
HIDE_ZERO | В публичной части не показывать незначащие нули в дробной части цены. | Char(1) | Да
DATE_CREATE | Дата создания записи. | Datetime | Да
CREATED_BY | Код пользователя, создавшего запись. | Int | Да
MODIFIED_BY | Кем изменена запись. | Int | Нет
TIMESTAMP_X | Дата изменения записи. | Datetime | Нет


getMap

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyLangTable>getMap (доступен с 14.5.0)

CurrencyLangTable::getMap

array public static
\Bitrix\Currency\CurrencyLangTable::getMap(
);

Метод возвращает список полей для таблицы языкозависимых параметров валюты. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyLangTable>getTableName (доступен с 14.5.0)

CurrencyLangTable::getTableName

string public static
\Bitrix\Currency\CurrencyLangTable::getTableName(
);

Метод возвращает название таблицы в базе данных с языкозависимыми параметрами валюты. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCurrency

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyLangTable>validateCurrency (доступен с 14.5.0)

CurrencyLangTable::validateCurrency

array public static
\Bitrix\Currency\CurrencyLangTable::validateCurrency(
);

Метод возвращает валидатор для поля CURRENCY (код валюты). Метод статический и используется для валидации новых значений полей при добавлении валюты или изменении параметров уже существующей.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateDecPoint

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyLangTable>validateDecPoint (доступен с 14.5.0)

CurrencyLangTable::validateDecPoint

array public static
\Bitrix\Currency\CurrencyLangTable::validateDecPoint(
);

Метод возвращает валидатор для поля DEC_POINT (десятичная точка при выводе валюты). Метод статический и используется для валидации новых значений полей при добавлении валюты или изменении параметров уже существующей.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateFormatString

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyLangTable>validateFormatString (доступен с 14.5.0)

CurrencyLangTable::validateFormatString

array public static
\Bitrix\Currency\CurrencyLangTable::validateFormatString(
);

Метод возвращает валидатор для поля FORMAT_STRING (формат строки для вывода валюты). Метод статический и используется для валидации новых значений полей при добавлении валюты или изменении параметров уже существующей.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateFullName

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyLangTable>validateFullName (доступен с 14.5.0)

CurrencyLangTable::validateFullName

array public static
\Bitrix\Currency\CurrencyLangTable::validateFullName(
);

Метод возвращает валидатор для поля FULL_NAME (полное название валюты). Метод статический и используется для валидации новых значений полей при добавлении валюты или изменении параметров уже существующей.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateLid

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyLangTable>validateLid (доступен с 14.5.0)

CurrencyLangTable::validateLid

array public static
\Bitrix\Currency\CurrencyLangTable::validateLid(
);

Метод возвращает валидатор для поля LID (код языка). Метод статический и используется для валидации новых значений полей при добавлении валюты или изменении параметров уже существующей.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateThousandsSep

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyLangTable>validateThousandsSep (доступен с 14.5.0)

CurrencyLangTable::validateThousandsSep

array public static
\Bitrix\Currency\CurrencyLangTable::validateThousandsSep(
);

Метод возвращает валидатор для поля THOUSANDS_SEP (разделитель тысяч при выводе). Метод статический и используется для валидации новых значений полей при добавлении валюты или изменении параметров уже существующей.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateThousandsVariant

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyLangTable>validateThousandsVariant (доступен с 14.5.0)

CurrencyLangTable::validateThousandsVariant

array public static
\Bitrix\Currency\CurrencyLangTable::validateThousandsVariant(
);

Метод возвращает валидатор для поля THOUSANDS_VARIANT (один из предустановленных вариантов разделителя тысяч или признак, что разделитель кастомизированный и берется из другого поля). Метод статический и используется для валидации новых значений полей при добавлении валюты или изменении параметров уже существующей.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


CurrencyManager

CurrencyManager - класс для управления валютами.

Методы класса

Метод | Описание | С версии
checkCurrencyID | Метод проверяет идентификатор валюты. | 15.0.1
checkLanguage | Метод проверяет идентификатор языка интерфейса. | 15.0.1
clearCurrencyCache | Метод сбрасывает кеш валют. | 15.0.1
clearTagCache | Метод сбрасывает тегированный кеш валюты currency. | 15.0.1
currencyBaseRateAgent | Метод для расчета и обновления текущей (актуальной) стоимости одной единицы валюты в базовой. | 16.0.0
getBaseCurrency | Метод возвращает код базовой валюты. | 15.0.1
getCurrencyList | Метод возвращает список всех валют в следующем формате: ключ - код валюты, значение - название валюты на текущем языке. | 15.0.3
getInstalledCurrencies | Возвращает список валют, созданных при установке модуля Валюты. | 15.0.1
isCurrencyExist | Метод проверяет существование валюты по ее коду. | 17.0.0
updateBaseCurrency | Метод валюту currency делает базовой. | 16.0.0
updateBaseRates | Метод вычисляет и сохраняет в таблице валют актуальный курс на текущую дату по отношению к базовой на основании курсов валют, уже занесенных в базу. | 16.0.0


checkCurrencyID

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyManager>checkCurrencyID (доступен с 15.0.1)

CurrencyManager::checkCurrencyID

boolean|string public static
\Bitrix\Currency\CurrencyManager::checkCurrencyID(
 string $currency
);

Метод проверяет идентификатор валюты. Метод статический.

Параметры

Параметр | Описание | Версия
$currency | Идентификатор валюты. |

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

В случае успеха возвращает идентификатор валюты. В случае ошибки - false.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkLanguage

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyManager>checkLanguage (доступен с 15.0.1)

CurrencyManager::checkLanguage

boolean|string public static
\Bitrix\Currency\CurrencyManager::checkLanguage(
 string $language
);

Метод проверяет идентификатор языка интерфейса. Метод статический.

Параметры

Параметр | Описание | Версия
$language | Идентификатор языка интерфейса. |

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

В случае успеха возвращает идентификатор языка. В случае ошибки - false.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearCurrencyCache

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyManager>clearCurrencyCache (доступен с 15.0.1)

CurrencyManager::clearCurrencyCache

void public static
\Bitrix\Currency\CurrencyManager::clearCurrencyCache(
 string $language = ''
);

Метод сбрасывает кеш валют. Метод статический.

Параметры

Параметр | Описание | Версия
$language | Идентификатор языка интерфейса. | 15.0.3

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

Нет.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearTagCache

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyManager>clearTagCache (доступен с 15.0.1)

CurrencyManager::clearTagCache

void public static
\Bitrix\Currency\CurrencyManager::clearTagCache(
 string $currency
);

Метод сбрасывает тегированный кеш валюты currency. Метод статический.

Параметры

Параметр | Описание | Версия
$currency | Идентификатор валюты. |

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

Нет.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


currencyBaseRateAgent

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyManager>currencyBaseRateAgent (доступен с 16.0.0)

CurrencyManager::currencyBaseRateAgent

string public static
\Bitrix\Currency\CurrencyManager::currencyBaseRateAgent(
);

Метод для расчета и обновления текущей (актуальной) стоимости одной единицы валюты в базовой. Метод статический и необходим для корректной сортировки и фильтрации по ценам с учетом валют.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBaseCurrency

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyManager>getBaseCurrency (доступен с 15.0.1)

CurrencyManager::getBaseCurrency

string public static
\Bitrix\Currency\CurrencyManager::getBaseCurrency(
);

Метод возвращает код базовой валюты.

Одна из валют сайта должна иметь курс, равный 1, флаг BASE = 'Y' и не иметь записей в таблице курсов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrencyList

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyManager>getCurrencyList (доступен с 15.0.3)

CurrencyManager::getCurrencyList

array public static
\Bitrix\Currency\CurrencyManager::getCurrencyList(
);

Метод возвращает список всех валют в следующем формате: ключ - код валюты, значение - название валюты на текущем языке. Метод статический.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getInstalledCurrencies

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyManager>getInstalledCurrencies (доступен с 15.0.1)

CurrencyManager::getInstalledCurrencies

array public static
\Bitrix\Currency\CurrencyManager::getInstalledCurrencies(
);

Метод возвращает список валют, созданных при установке модуля Валюты. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isCurrencyExist

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyManager>isCurrencyExist (доступен с 17.0.0)

CurrencyManager::isCurrencyExist

boolean public static
\Bitrix\Currency\CurrencyManager::isCurrencyExist(
 string $currency
);

Метод проверяет существование валюты по ее коду. Метод статический.

Параметры

Параметр | Описание | Версия
$currency | Код валюты. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


updateBaseCurrency

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyManager>updateBaseCurrency (доступен с 16.0.0)

CurrencyManager::updateBaseCurrency

boolean public static
\Bitrix\Currency\CurrencyManager::updateBaseCurrency(
 string $currency
);

Метод валюту currency делает базовой. Метод статический.

Параметры

Параметр | Описание | Версия
$currency | Идентификатор валюты. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


updateBaseRates

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyManager>updateBaseRates (доступен с 16.0.0)

CurrencyManager::updateBaseRates

void public static
\Bitrix\Currency\CurrencyManager::updateBaseRates(
 string $updateCurrency = ''
);

Метод вычисляет и сохраняет в таблице валют актуальный курс валюты updateCurrency на текущую дату по отношению к базовой на основании курсов валют, уже занесенных в базу. Метод статический.

Параметры

Параметр | Описание | Версия
$updateCurrency | Идентификатор валюты. |

Исключения

  • \Bitrix\Main\ArgumentException
  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


CurrencyRateTable

CurrencyRateTable - класс для работы с таблицей курсов валют.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы курсов валют. | 14.5.0
getTableName | Метод возвращает название таблицы курсов валют в базе данных. | 14.5.0
validateCurrency | Метод возвращает валидатор для поля CURRENCY. | 14.5.0

Поля курсов валют

Поле | Описание | Тип | Обяз.
ID | Идентификатор курса. | Int | Да
CURRENCY | Код валюты. | Сhar(3) | Да
DATE_RATE | Дата без времени, на которую устанавливается курс. | Date | Да
RATE_CNT | Количество единиц валюты, которое участвует в задании курса валюты. | Int | Да
RATE | Курс валюты. | Decimal (18,4) | Да
DATE_CREATE | Дата создания записи. | Datetime | Да
CREATED_BY | Код пользователя, создавшего запись. | Int | Да
MODIFIED_BY | Кем изменен курс валюты. | Int | Нет
TIMESTAMP_X | Дата изменения курса валюты. | Datetime | Нет
BASE_CURRENCY | Базовая валюта. | Сhar(3) | Да


getMap

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyRateTable>getMap (доступен с 14.5.0)

CurrencyRateTable::getMap

array public static
\Bitrix\Currency\CurrencyRateTable::getMap(
);

Метод возвращает список полей для таблицы курсов валют. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyRateTable>getTableName (доступен с 14.5.0)

CurrencyRateTable::getTableName

string public static
\Bitrix\Currency\CurrencyRateTable::getTableName(
);

Метод возвращает название таблицы в базе данных для курсов валют. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCurrency

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyRateTable>validateCurrency (доступен с 14.5.0)

CurrencyRateTable::validateCurrency

array public static
\Bitrix\Currency\CurrencyRateTable::validateCurrency(
);

Метод возвращает валидатор для поля CURRENCY (код валюты). Метод статический и используется для валидации новых значений полей при добавлении курса валюты или изменении параметров уже существующего.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


CurrencyTable

CurrencyTable - класс для работы с таблицей валют.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы валют. | 14.5.0
getTableName | Метод возвращает название таблицы валют в базе данных. | 14.5.0
validateCurrency | Метод возвращает валидатор для поля CURRENCY. | 14.5.0
validateNumcode | Метод возвращает валидатор для поля NUMCODE. | 14.5.0

Поля валют

Поле | Описание | Тип | Обяз.
CURRENCY | Код валюты. | Сhar(3) | Да
AMOUNT_CNT | Количество единиц валюты по-умолчанию, которое участвует в задании курса валюты. | Int | Да
AMOUNT | Курс валюты по-умолчанию. | Decimal(18, 4) | Да
SORT | Порядок сортировки. | Int | Нет
DATE_UPDATE | Дата и время изменения валюты. | Datetime | Нет
NUMCODE | Трехзначный цифровой код валюты. | Char(3) | Нет
BASE | Флаг (Y/N) является ли валюта базовой. | Char(1) | Да
CREATED_BY | Идентификатор пользователя, добавившего валюту. | Int | Да
DATE_CREATE | Дата создания валюты. | Datetime | Да
MODIFIED_BY | Идентификатор пользователя, изменившего валюту. | Int | Нет
CURRENT_BASE_RATE | Текущий курс валюты. | Decimal(26, 12) | Нет


getMap

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyTable>getMap (доступен с 14.5.0)

CurrencyTable::getMap

array public static
\Bitrix\Currency\CurrencyTable::getMap(
);

Метод возвращает список полей для таблицы валют. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyTable>getTableName (доступен с 14.5.0)

CurrencyTable::getTableName

string public static
\Bitrix\Currency\CurrencyTable::getTableName(
);

Метод возвращает название таблицы валют в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCurrency

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyTable>validateCurrency (доступен с 14.5.0)

CurrencyTable::validateCurrency

array public static
\Bitrix\Currency\CurrencyTable::validateCurrency(
);

Метод возвращает валидатор для поля CURRENCY (код валюты). Метод статический и используется для валидации новых значений полей при добавлении валюты или изменении параметров уже существующей.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateNumcode

Отправить отзыв по этому разделу
Пространство имён Bitrix>Валюты>CurrencyTable>validateNumcode (доступен с 14.5.0)

CurrencyTable::validateNumcode

array public static
\Bitrix\Currency\CurrencyTable::validateNumcode(
);

Метод возвращает валидатор для поля NUMCODE (цифровой код валюты). Метод статический и используется для валидации новых значений полей при добавлении валюты или изменении параметров уже существующей.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Helpers

Namespace \Bitrix\Currency\Helpers contains helper classes.

Subspaces and classes

Namespace | Description
Admin | Namespace contains classes for executing operations in administrative section.


Admin

Пространство имен \Bitrix\Currency\Helpers\Admin содержит классы для выполнения операций в административной части.

Классы

Класс | Описание
Tools | Класс содержит вспомогательные методы.


Tools

Tools - класс содержит вспомогательные методы.

Методы класса

Метод | Описание | С версии
getCurrencyLinkList | Метод возвращает массив с адресами страниц редактирования для всех валют. |


getCurrencyLinkList

array public static
\Bitrix\Currency\Helpers\Admin\Tools::getCurrencyLinkList(
);

Метод возвращает массив с адресами страниц редактирования для всех валют. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Веб-мессенджер

Раздел содержит информацию о классах модуля Веб-мессенджер, относящихся к ядру D7 и находящихся соответственно в пространстве имен \Bitrix\Im.

Перед использованием модуля необходимо проверить, установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('im');

Смотрите также

  • Бот платформа Битрикс24
  • Настройка модуля Веб-мессенджер


Веб-мессенджер в старом ядре

События

Список событий модуля Веб-мессенджер в старом ядре

Событие | Вызывается | Метод | С версии
OnAfterMessagesAdd | после добавления сообщения | CIMMessenger::Add | 11.0.0
OnAfterConfirmNotify | после подтверждения уведомления | CIMNotify::Confirm | 11.0.3
OnBeforeConfirmNotify | перед подтверждением уведомления | CIMNotify::Confirm | 11.0.3
OnAfterDeleteNotify | после удаления уведомления | CIMNotify::DeleteWithCheck | 11.0.3
OnAfterNotifyAdd | после добавления уведомления | CIMMessenger::Add | 11.5.6
OnAfterDeleteMessage | после удаления сообщения | CIMMessage::Delete | 11.5.6
OnAfterContactListGetList | после получения контакт листа | CIMContactList::GetList | 12.1.3
OnBeforeMessageNotifyAdd | перед добавлением уведомления или сообщения | CIMNotify:add, CIMMessage::Add CIMChat::AddMessage | 12.1.3
OnAfterMessagesUpdate | после редактирования сообщения | CIMMessenger::Update | 15.0.0
OnAfterMessagesDelete | после удаления сообщения | CIMMessenger::Delete | 15.0.0
OnAfterFileUpload | после загрузки файла | CIMDisk::UploadFile | 15.0.3
OnAfterChatRead | после прочтения чата | CIMChat::SetReadMessage | 16.5.0


Генератор документов

Описание и основные классы

Генератор документов - модуль для создания и работы с документами.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('documentgenerator');

Класс | Описание
Основные классы
Body | Класс-парсер. Нужен для доступа к контенту шаблона. Позволяет выполнить замену плейсхолдеров на реальные значения.
Docx | Наследник класса Body.
Docxxml | Наследник класса Body.
DataProvider | Абстрактный класс поставщика данных. Реализующие его классы отдают поля и значения. В модуле есть несколько базовых наследников этого класса. Любой DataProvider в одном из своих полей может вернуть другой DataProvider, уровень вложенности неограниченный.
EntityDataProvider | Наследник класса DataProvider для работы с таблетами ORM [image] [image] .
HashDataProvider | Наследник класса DataProvider для работы с простыми провайдерами в виде хеша.
ArrayDataProvider | Наследник класса DataProvider. Предоставляет доступ к множественным значениям одного поля.
DataProviderManager | Синглтон, хранит в себе кеш провайдеров. Здесь сосредоточены методы для манипуляции данными от провайдеров - их инициализация, получение значений и пр.
Template | Служит для сопоставления плейсхолдеров из файла (Body) и того, каким образом нужно получить значения этих плейсхолдеров. Правила получения данных состоят из (в порядке повышения приоритета) настроек полей по умолчанию, настроек плейсхолдеров по умолчанию (не используется), настроек плейсхолдеров для текущего шаблона (не используется).
Document | Служит для генерации экземпляра документа, либо работы с уже существующим. Создается на основе шаблона, который отдает файл + настройки полей + тип основного провайдера. Далее перед генерацией документу необходимо передать значения полей / плейсхолдеров. После этого документ можно сгенерировать. После генерации он будет автоматически сохранен в таблице документов.

Смотрите также:

  • Анонс обновления генератора документов 20.0.0

Вспомогательные классы

Класс | Описание
Storage | Интерфейс и набор классов, отвечающих за доступ к файловой системе. Представлены тремя уровнями иерархии - физические файлы, b_file и диск. По умолчанию, если диск установлен - файлы всегда кидаются туда. Если диска нет - значит b_file.
Driver | Вспомогательный хелпер-синглтон. Здесь лежат методы для агентов.
getRegionsList() Метод возвращает список регионов в виде массива. Ключ - код региона, значение - массив вида.
[
    'CODE' => '',// код региона, совпадает с ключем массива
    'TITLE' => '',// языкозависимое название региона (на текущем языке)
    'LANGUAGE_ID' => '',// ид языка
];
getCurrentRegion() | Метод возвращает текущий регион. Ответ как в методе getRegionsList(), но там массив региона.

ORM-таблеты

Класс | Описание
ORM [image] [image] -таблеты (в папке \Bitrix\DocumentGenerator\Model\)
DocumentTable | Экземпляры документов.
ExternalLinkTable | Короткие ссылки. С версии documentgenerator 20.100.0 в таблицу добавлены колонки для хранения времени (VIEWED_TIME) и IP-адреса (VIEWED_IP) первого просмотра публичной ссылки (не сотрудником портала).
FieldTable | Настройки для переопределения плейсхолдеров. Пока что не используется.
FileTable | Файлы модуля. Также этот класс выступает прослойкой между интерфейсом Storage и базой данных.
SpreadsheetTable | Настраиваемые таблицы. Пока что не используется.
TemplateTable | Экземпляры установленных шаблонов.
TemplateProviderTable | Связь шаблон - провайдер.
TemplateUserTable | Связь шаблон - коды доступа.

События

Событие | Описание | С версии
onNumberGeneratorsClassesCollect | Событие передаёт API нумератора, чтобы собрать из модулей всех возможных поставщиков данных для генерации номеров. |


Модификаторы в шаблонах

Описание

Для гибкого и универсального способа управления представлением разных данных был разработан механизм модификаторов.

Модификатор пишется внутрь фигурных скобок плейсхолдера после символа тильды. Например, {CreateDate~d.m.Y h:s}.

На данный момент есть ограниченный набор полей, внешним видом которых можно управлять с помощью модификаторов. Для каждого типа поля применяются свои модификаторы.

Если написать модификатор для не того типа поля, то он будет проигнорирован. Теоретически, после символа ~ внутри скобок можно написать почти что угодно (удовлетворяющее регулярному выражению #\{(([a-zA-Z0-9._]*?)\~?([^\~\r\t\n]*))\}#U), но лучше писать правильные модификаторы для правильных полей.

Доступ к полям внутри массива (с версии documentgenerator 18.6.1)

Некоторые поля передаются в документ в виде массивов (например, товары, налоги, контакты сделки). Раньше доступ к значениям таких полей можно было получить только внутри таблицы или повторяющихся блоков. Теперь можно вставить поле из массива в любое место шаблона. По умолчанию будет взят первый элемент массива. Но можно взять другой номер с помощью модификатора index, значение 0 соответствует первому элементу.

{ProductsProductName~index=1} - вставит название второго товара из списка. Если там только один товар, то ничего не вставится.

Множественные значения (с версии documentgenerator 18.6.1)

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

  • mfirst=Y/N - показывать только первое значение.
  • mseparator=1/2 - разделитель запятая (1) или перенос строки (2).

Вывод всех значений полей элементов массива (с версии documentgenerator 18.6.1)

Теперь можно вывести все значения одного поля из всех элементов массива в произвольном месте шаблона. Например, надо вывести названия всех товаров. Вставляем поле {ProductsProductName~all=y}. В этом случае из всех названий товаров будет сформировано множественное значение и вставлено в документ. Можно управлять выводом значений с помощью модификатора mseparator=1/2 - как в предыдущем пункте. Например, {ProductsProductName~mseparator=2,all=y} выведет названия всех товаров через перенос строки. Важное замечание ! Модификатор mseparator должен стоять слева от модификатора all. Это необходимо, т.к. значением поля может быть другое множественное значение, к которому нужно применить другой модификатор.

Модификатор index в маркере начала повторяющегося блока (с версии documentgenerator 20.0.0)

С версии 20.0.0 модификатор можно задать так:

{PRODUCTS.BLOCK_START~index=1}
Название товара с индексом один: {ProductsProductName}
{PRODUCTS.BLOCK_END}

В этом случае область будет напечатана только один раз для элемента списка с указанным индексом.

Если в списке нет элемента с этим индексом, то область всё равно будет вставлена в документ один раз, но с пустыми данными.

Использование маркеров повторяющихся блоков внутри ячеек таблиц (с версии documentgenerator 20.0.0)

C версии 20.0.0 можно вставлять повторяющиеся блоки прямо внутрь ячеек таблицы.

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

Важно! Маркеры начала и конца повторяющегося блока должны стоять на отдельных строках, т.к. эти строки потом вырезаются целиком

Дата/Время и Номер телефона

Дата и время

Если отдаваемое поле является датой/временем, то в модификаторе можно указать в явном виде формат. Формат задается также, как в php-функции date(). По умолчанию вся дата и время выводится в формате страны текущего шаблона (только дата, без времени), но с помощью модификатора можно задать произвольный формат. Например, {CreateTime~d.m.Y h:s} выведет дату вместе со временем.

Тип дата/время имеют все стандартные поля, возвращающие объект DateTime, а также пользовательские поля с типом Дата/Время.

Номер телефона

Допустимые значения модификаторов можно взять из \Bitrix\Main\PhoneNumber\Format

  • E.164: +79062191234
  • International: +7 906 219-12-34
  • National: 8 (906) 219-12-34

Код типа поля - 'PHONE' Пример модификатора

{ClientPhone~format=E.164}

Имя

Для полей, которые являются именами, можно в явном виде задать формат и падеж (с некоторыми ограничениями). Полностью модификатор выглядит так:

{ContactFormattedName~Format=#TITLE# #LAST_NAME#,Case=1}

Часть Format отвечает за формат выводимого имени. Допустимы следующие поля:

  • #TITLE# - обращение, для Контактов в CRM соответствует полю "Обращение"
  • #NAME# - имя
  • #LAST_NAME# - фамилия
  • #SECOND_NAME# - отчество
  • #NAME_SHORT# - имя сокращенно (первая буква плюс точка)
  • #LAST_NAME_SHORT# - фамилия сокращенно (первая буква плюс точка)
  • #SECOND_NAME_SHORT# - отчество сокращенно (первая буква плюс точка)

Вторая часть Case отвечает за желаемый падеж в имени.

Склонение работает только если:

  1. Имя на русском языке
  2. Заполнено отчество

Т.к. в CRM для контактов нет поля "Пол", то определение пола осуществляется по отчеству. Если оно не заполнено - падеж имени не будет изменен.

Для падежей передаются следующие коды:

  • -1 - именительный
  • 0 - родительный
  • 1 - дательный
  • 2 - винительный
  • 3 - творительный
  • 4 - предложный

Все именные поля контактов/ответственных отдаются как тип поля "Имя", к которому можно применить модификатор.

Адрес и Деньги

Адрес

Это поле отдается только в рамках CRM, поэтому в других модулях его нельзя будет использовать. Полностью модификатор выглядит так:

{MyCompanyAddress~Format=3,Separator=3}

Часть Format отвчает за тип формата. Возможны следующие варианты:

  • 1 - Европа
  • 2 - Великобритания
  • 3 - Северная Америка
  • 4 - Россия (улица -> страна)
  • 5 - Россия (страна -> улица)

Часть Separator отвечает за разделитель строк. Возможны следующие варианты:

  • 1 - запятая (,)
  • 3 - перевод строки

По умолчанию используется формат в зависимости от страны, шаблоны с разделителем запятой.

Деньги

Это поле отдается только в рамках CRM, поэтому в других модулях его нельзя будет использовать. Полностью модификатор выглядит так:

{TotalSum~WZ=Y,NS=N} либо {TotalSum~W=Y,NS=N}

  • WZ - сокращение от With Zeros. Если WZ=Y, то в сумме всегда будут показаны незначащие нули, независимо от выбранного формата валюты.
  • NS - сокращение от No Sign. Если NS=Y, то сумма будет отображаться без символа валюты, если NS=N, то наоборот символ валюты будет показан.
  • W - сокращение от Words. Если W=Y и валюта одна из списка (рубль, белорусский рубль, гривна, тенге), то сумма будет написана прописью.

Этот же тип поля используется для численных значений (поля количества товаров, количества строк), но там по умолчанию NS=Y Также все денежные значения возвращают этот тип, в том числе пользовательские поля типа "Деньги".


Создание своего провайдера

Описание

Провайдер должен наследовать класс \Bitrix\DocumentGenerator\DataProvider.

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

У класса \Bitrix\DocumentGenerator\DataProvider есть несколько вспомогательных наследников:

  • \Bitrix\DocumentGenerator\DataProvider\EntityDataProvider - для работы с таблетами ORM;
  • \Bitrix\DocumentGenerator\DataProvider\HashDataProvider - для работы с простыми провайдерами в виде хеша;
  • \Bitrix\DocumentGenerator\DataProvider\ArrayDataProvider - предоставляет доступ к множественным значениям одного поля.

Цепочка провайдеров

У каждого провайдера может быть указан родительский провайдер. Если провайдер был инициализирован автоматически из описания поля, то у него будет указан родительский провайдер. Или его можно указать вручную через \Bitrix\DocumentGenerator\DataProvider::setParentProvider($dataProvider);.

Проверки

Проверка прав доступа

Проверка прав осуществляется методом \Bitrix\DocumentGenerator\DataProvider::hasAccess($userId);.

Проверка доступа вызывается в \Bitrix\DocumentGenerator\Document::hasAccess() каждый раз при работе с документом. Это не абстрактный метод. Если метод не определен, но у текущего провайдера есть родитель - этот метод будет вызван у родительского провайдера. Если родителя нет - вернет false.

Проверка успешной загрузки данных провайдера

Модуль documentgenerator спроектирован таким образом, что экземпляры провайдеров могут иметь два состояния:

  1. До загрузки данных. В этом состоянии провайдер отдает список своих полей "обезличенно".
  2. После загрузки данных. В этом состоянии провайдер может отдать "актуальный" список своих полей и их значения.

В исходном классе нет метода для получения данных (но есть в наследнике \Bitrix\DocumentGenerator\DataProvider\EntityDataProvider).

Программист должен сам решить, как и когда эти данные должны загружаться (из соображений производительности). В некоторых случаях данные должны загружаться прямо в конструкторе, в некоторых - перед получением списка полей и т.д.

Для хранения данных есть атрибут $data. Исходный метод определения загруженности провайдера:

    /**
     * @return bool
     */
    public function isLoaded()
    {
        return $this->data !== null;
    }

Этот метод вызывается в методе проверки прав и при получении значения. Если на момент обращения к этим методам провайдер не будет загружен - проверка прав вернет false, а значение не будет получено.

Поля провайдера

Основной метод любого провайдера - getFields. В целях улучшения производительности рекомендуется сделать так, чтобы основной код метода исполнялся только один раз, т.к. метод провайдера getFields() вызывается несколько раз в процессе формирования документа.

public function getFields()
{
    if($this->fields === null)
    {
        parent::getFields();
        $this->fields['MY_FIELD'] = ['TITLE' => 'My Field Title',];
    }

    return $this->fields;
}

Он должен возвращать массив, где ключ - название поля (лучше использовать английские буквы в верхнем регистре + подчеркивание), а значение - его описание. Описание поля может содержать следующие ключи (все они не обязательны, можно оставить пустой массив):

  • TITLE - заголовок поля (если его нет - выводится название)
  • TYPE - тип поля. Может принимать значения:
    • IMAGE - поле является путем к файлу-картинке
    • STAMP - аналогично IMAGE, но это поле является подписью или печатью
    • DATE - будет сформирован объект класса \Bitrix\DocumentGenerator\Value\DateTime
    • TEXT - обычное поле, но на странице изменения документа вместо input будет textarea
    • NAME - будет сформирован объект класса \Bitrix\DocumentGenerator\Value\Name
    • PHONE - будет сформирован объект класса \Bitrix\DocumentGenerator\Value\PhoneNumber
    • также сюда можно в явном виде передать полное имя класса-наследника \Bitrix\DocumentGenerator\Value
  • FORMAT - формат по умолчанию для наследников \Bitrix\DocumentGenerator\Value
  • VALUE - описание способа получения значения. Само значение по умолчанию берётся из $data. В качестве значения может выступать:
    • собственно, само значение поля в виде числа или строки
    • строка, содержащая название другого поля - в этом случае будет сделана попытка получить значение этого поля из другого поля с соответствующим названием. (пример - поле COMPANY_NAME из \Bitrix\Crm\Integration\DocumentGenerator\DataProvider\Lead)
    • callable-конструкция. В этом случае для получения значения будет вызван этот метод/функция
    • Closure (анонимная функция). Аналогично предыдущему пункту будет вызвана при получении значения. Но если вы пишете значения полей в атрибуты объекта, то придётся отказаться от этого варианта, лучше сделать соответствующий метод и указать его имя в явном виде
    • массив значений. В этом случае в шаблон попадёт объект \Bitrix\DocumentGenerator\Value\Multiple
  • PROVIDER - если значение поля должно быть другим провайдером, то здесь надо указать полное имя соответствующего класса.
  • OPTIONS - массив $options, который будет передан в конструктор провайдера.
    • VALUES - массив значений, которые будут переданые в созданный по этому описанию провайдер и переопределят его значения.
    • COPY - указатель на описание другого поля. Если вы хотите иметь несколько полей с одинаковым содержимым, но разным названием, то можно сделать это с помощью этого ключа. Например, у вас есть основное поле, это провайдер с множеством опций. Вы хотите, чтобы доступ к этому полю мог быть получен через разные названия полей. В этом случае создаются новые поля, где указываются только TITLE, VALUE и OPTIONS[COPY], равные названию основного поля.

Итоговое значение

За получение значений полей отвечает метод \Bitrix\DocumentGenerator\DataProvider::getValue().

Если по каким-то причинам не устраивает получение значения поля из его описания, то можно переопределить этот метод. Например, так:

public function getValue($name)
{
    if($name == 'myComplexFieldValue')
    {
        return 'complexValue';
    }

    return parent::getValue($name);
}

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

Исходная реализация сначала ищет значение поля в $this->data и если его нет - пытается его получить из описания поля.

Само вычисление значения выполняет \Bitrix\DocumentGenerator\DataProviderManager::getDataProviderValue().

Порядок получения значения следующий:

  1. Считывается описание поля из \Bitrix\DocumentGenerator\DataProvider::getFields(). Если такого поля нет - вернется false.
  2. Если в $options провайдера есть ключ VALUES и в нём есть значение этого поля, то значение берется оттуда.
  3. Если в VALUE описании поля строка - значение берется как getValue() текущего провайдера с этой строкой
  4. Если в VALUE - callable-конструкция, то она вызывается для получения значения. На вход этого метода/функции всегда идёт название поля
  5. Если в описании поля есть PROVIDER, то создается новый экземпляр этого класса, на вход ему передается вычисленное значеие, а в $options - передаются OPTIONS из описания поля

После получения значения над ним вызывается \Bitrix\DocumentGenerator\DataProviderManager::prepareValue().

Этот метод преобразует полученное значение к соответствующему типу из описания поля. Если вычисленное значение уже экземпляр \Bitrix\DocumentGenerator\Value, то он возвращается как есть.

Множественное значение

Возможна ситуация, когда в значении одного поля может быть несколько вариантов. Особенно это актуально для полей-провайдеров. Например, поле "моя компания" в провайдерах CRM. Моих компаний может быть несколько, и пользователь должен иметь возможность быстро сменить используемую компанию в документе.

Результат вычисления значения (обычно это результат выполнения callable-конструкции в описании поля) должен иметь вид простого массива, где каждое значение - это массив вида:

array(
    'VALUE' => $value, // само значение
    'TITLE' => $title, // заголовок, который будет выводиться в форме изменения документа для этого пункта
    'SELECTED' => $selected, // true - если должно использоваться это значение по умолчанию
);

Если SELECTED у всех false, то при формировании документа будет выбран первый вариант из списка.

Значения в виде массивов

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

В этом случае описание поля должно быть сформировано следующим образом:

$this->fields['LIST'] = [
    'PROVIDER' => \Bitrix\DocumentGenerator\DataProvider\ArrayDataProvider::class,
    'TITLE' => 'My List',
    'OPTIONS' => [
        'ITEM_PROVIDER' => 'MyItemDataProvider::class', // полное имя класса-провайдера отдельного элемента
        'ITEM_NAME' => 'ITEM', // название поля, по которому будет идти обращение к элементу
        'ITEM_TITLE' => 'My Item', // заголовок элемента
    ],
    'VALUE' => [$this, 'loadItems'],
];

Метод loadItems должен вернуть простой массив сформированных провайдеров.


Кастомизация

Добавление провайдера и данных

Добавление своего провайдера в список

Про создание своего провайдера можно почитать тут.

Регистрируем обработчик получения списка провайдеров:

//Для модуля
\Bitrix\Main\EventManager::getInstance(
)->registerEventHandler('documentgenerator', 'onGetDataProviderList', 'crm', '\Bitrix\Crm\Integration\DocumentGeneratorManager', 'getDataProviders');
//рантайм
\Bitrix\Main\EventManager::getInstance(
)->addEventHandler('documentgenerator', 'onGetDataProviderList', ['myClass', 'addDocumentProviders']);

Обработчик должен возвращать массив вида:

$result[$className] = [
    'NAME' => 'Языковое название',
    'CLASS' => $className,
    'MODULE' => 'myModule',
];

где $className - полное название класса с неймспейсом.

Это должен быть наследник класса \Bitrix\DocumentGenerator\DataProvider.

Добавление дополнительных данных в результат \Bitrix\DocumentGenerator\Document::getFile()

В своём наследнике класса \Bitrix\DocumentGenerator\DataProvider определяем метод getAdditionalDocumentInfo().

Этот метод должен вернуть массив, который будет подмешан в результат \Bitrix\DocumentGenerator\Document::getFile().

Изменение значений полей

Изменение значений полей документа перед генерацией (с documentgenerator 18.0.6)

Подписываемся на событие:

\Bitrix\Main\EventManager::getInstance()->addEventHandler('documentgenerator', 'onBeforeProcessDocument', 'onBeforeProcessDocument');

function onBeforeProcessDocument($event)
{
    $document = $event->getParameter('document');
    /** @var \Bitrix\DocumentGenerator\Document $document */
    // добавить дополнительные описания полей
    // $document->setFields($newFields);
    // добавить значения полей
    //$document->setValues(['someField' => 'myCustomValue']);
    // получить список полей и их текущих значений
    //$fields = $document->getFields();
}

Обработчик события может ничего не возвращать, все действия производятся над объектом документа.

С объектом следует быть осторожнее. Если в обработчике вызвать $document->getFile() может возникнуть бесконечная рекурсия.

Изменение списков

Изменение содержимого списков (с версии documentgenerator 20.0.0)

Раньше для изменения полей списков в событии onBeforeProcessDocument приходилось пользоваться рефлексией.

Теперь добавлены несколько новых полезных методов:

Метод | Описание
ArrayDataProvider::getItemByIndex(int $index) | Метод вернет элемент списка по индексу (если он есть).
ArrayDataProvider::replaceItem(int $index, $item) | Метод заменит элемент списка с индексом $index на $item. Если элемента списка по этому индексу нет, то будет выброшено исключение OutOfRangeException.
ArrayDataProvider::addItem($item): int | Метод добавит новый элемент в конец списка. Вернет индекс нового элемента.
ArrayDataProvider::deleteItemByIndex(int $index) | Метод удалит элемент по индексу $index, после чего все элементы будут сдвинуты.
HashDataProvider::getData()x) | Метод вернет значения всех полей провайдера.
HashDataProvider::setData(array $data) | Метод перезапишет значения полей полностью.

Ниже небольшой пример, как с помощью новых методов можно убрать все товары, кроме первого. А у оставшегося поменять название

\Bitrix\Main\EventManager::getInstance()->addEventHandler(
    \Bitrix\DocumentGenerator\Driver::MODULE_ID,
    'onBeforeProcessDocument',
    function(\Bitrix\Main\Event $event) {
        $productsPlaceholder = 'PRODUCTS';

        /** @var \Bitrix\DocumentGenerator\Document $document */
        $document = $event->getParameter('document');
        $provider = $document->getProvider();

        $productsProvider = $provider->getValue($productsPlaceholder);
        if($productsProvider instanceof \Bitrix\DocumentGenerator\DataProvider\ArrayDataProvider)
        {
            foreach($productsProvider as $index => $product)
            {
                if($index > 0)
                {
                    $productsProvider->deleteItemByIndex($index);
                }
                else
                {
                    $data = $product->getData();
                    $data['NAME'] = 'New Product Name';
                    $product->setData($data);
                }
            }
        }
    }
);

Отслеживание изменений документов

Отслеживание изменений документов

Подписываемся на события

// создание документа (уже после сохранения записи в БД)
\Bitrix\Main\EventManager::getInstance()->addEventHandler('documentgenerator', 'onCreateDocument', ['myClass', 'onCreateDocument']);
// изменение документа
\Bitrix\Main\EventManager::getInstance()->addEventHandler('documentgenerator', 'onUpdateDocument', ['myClass', 'onUpdateDocument']);

В обоих случаях, аналогично onBeforeProcessDocument, в событие придёт параметр $document с объектом документа.

// окончание конвертации документа
\Bitrix\Main\EventManager::getInstance()->addEventHandler('documentgenerator', 'onDocumentTransformationComplete', ['myClass', 'onDocumentTransformationComplete']);

В обработчик этого события придут два параметра - $documentId и $data.

$documentId - ID документа, по нему документ можно поднять через \Bitrix\DocumentGenerator\Document::loadById($documentId)

$data - результат \Bitrix\DocumentGenerator\Document::getFile().

Свои модификатор и хранилища

Реализация своих модификаторов для шаблона

Чтобы сделать обработку своих провайдеров необходимо написать наследника \Bitrix\DocumentGenerator\Value.

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

Лучше всего делать по образцу (например \Bitrix\DocumentGenerator\Value\DateTime).

Использование своего хранилища документов

Сначала необходимо реализовать класс, который будет воспроизводить интерфейс \Bitrix\DocumentGenerator\Storage. Дальше можно либо через событие onBeforeProcessDocument менять хранилище документа перед его обработкой:

$storage = new MyStorage();
$document->setStorage($storage);

либо сохранить значение хранилища по умолчанию через опцию

\Bitrix\Main\Config\Option::set('documentgenerator', 'default_storage_type', MyStorage::class);

Перед реализацией рекомендется посмотреть существующие классы \Bitrix\DocumentGenerator\Storage\File, \Bitrix\DocumentGenerator\Storage\BFile, \Bitrix\DocumentGenerator\Storage\Disk.

Отслеживание просмотра

Отслеживание просмотра публичной ссылки на документ (с documentgenerator 18.6.0)

При просмотре публичной ссылки отправляется php-событие

\Bitrix\Main\EventManager::getInstance()->send(new \Bitrix\Main\Event('documentgenerator', 'onPublicView', [
    'document' => $document,
    'isPublicView' => false,
]));

где:

  • $document - объект \Bitrix\DocumentGenerator\Document;
  • isPublicView - Параметр доступен с версии documentgenerator 20.100.0 и принимает значение True или False. Параметр равен true, если публичная ссылка просмотрена не сотрудником портала в первый раз.

Чтобы узнать, документ какого модуля был использован, над дернуть шаблон документа

$template = $document->getTemplate();
if($template && $template->MODULE_ID == 'crm')
{
    // your code for crm here
}

Если надо отследить документа для CRM и получить данные об источнике документа, можно воспользоваться следующим кодом:

$provider = $document->getProvider();
if($provider && $provider instanceof \Bitrix\Crm\Integration\DocumentGenerator\DataProvider\CrmEntityDataProvider)
{
    $ownerId = $provider->getSource();
    $ownerType = $provider->getCrmOwnerType();
}

Новое с версии 20.0.0

Переопределение логики

Модуль позволяет использовать свои классы вместо предустановленных. Таким образом можно изменить поведение модуля.

Чтобы это сделать, необходимо подписаться на событие onDriverCollectClasses модуля documentgenerator.

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

Например, вы хотите использовать свою реализацию Document, чтобы использовать свой алгоритм генерации номеров вместо встроенного нумератора.

Для этого создаете своего наследника:

class MyDocument extends Bitrix\DocumentGenerator\Document
{
    public function getNumber(bool $preview = true): string
    {
        return 'my_super_smart_number';
    }
}

После этого в init.php подписываетесь на событие

Bitrix\Main\EventManager::getInstance()->addEventHandler(
    'documentgenerator',
    'onDriverCollectClasses',
    static function(\Bitrix\Main\Event $event) {
        return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, [
            'documentClassName' => MyDocument::class,
        ]);
    }
);

Теперь Bitrix\DocumentGenerator\Driver::getInstance()->getDocumentClassName() вернет имя вашего класса.

Статические методы Bitrix\DocumentGenerator\Document::createByTemplate() и Bitrix\DocumentGenerator\Document::loadById() вернут объекты именно этого класса.

Классы, которые можно подменить, их имена и классы, которые надо наследовать

[
    'documentClassName' => Bitrix\DocumentGenerator\Document::class,
    'templateClassName' => Bitrix\DocumentGenerator\Template::class,
    'userPermissionsClassName' => Bitrix\DocumentGenerator\UserPermissions::class,
    'dataProviderManager' => Bitrix\DocumentGenerator\DataProviderManager::class,
];

Использование своих парсеров вместо стандартных Docx/DocxXml

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

Надо воспользоваться предыдущим примером, но заменить своего наследника Bitrix\DocumentGenerator\Template

class MyDocxXml extends Bitrix\DocumentGenerator\Body\DocxXml
{
    protected function getValuesForMultiplyingBlock(string $placeholder, Bitrix\DocumentGenerator\DataProvider\ArrayDataProvider $list, $data, array $fieldNames): array
    {
        // some custom logic
        return [];
    }
}

class MyDocx extends Bitrix\DocumentGenerator\Body\Docx
{
    protected function getXmlClassName(): string
    {
        return MyDocxXml::class;
    }
}

class MyTemplate extends Bitrix\DocumentGenerator\Template
{
    public function getBodyClassName(): string
    {
        return MyDocx::class;
    }
}

Кроме подмены класса в явном виде, можно подписаться на ORM-событие создания записи в таблице b_documentgenerator_template и менять в нем содержимое колонки BODY_TYPE. Класс парсера теперь берется из этой колонки.

Переопределение провайдеров (добавление своих полей)

Изменить значения полей можно с помощью события onBeforeProcessDocument. А вот с добавлением полей раньше была проблема.

Теперь можно использовать свои провайдеры вместо штатных. Есть два способа:

  1. Можно переопределить DataProviderManager и в нем крутить-вертеть классы-провайдеры и их поля как угодно
  2. Упрощенный вариант (когда нужно все провайдеры одного класса заменить его наследником) - через событие

Задача: добавить в сделку какое-то своё уникальное поле.

Решение: наследуем стандартный провайдер, в наследнике добавляем нужное поле, указываем наследник в качестве замены стандартному провайдеру.

// содержимое файла documentgenerator_classes.php
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true)
{
    die();
}

if(\Bitrix\Main\Loader::includeModule('crm'))
{
    class MyDeal extends \Bitrix\Crm\Integration\DocumentGenerator\DataProvider\Deal
    {
        public function getFields(): array
        {
            if($this->fields === null)
            {
                parent::getFields();
                $this->fields['MY_SUPER_UNIQUE_FIELD'] = [
                    'TITLE' => 'Cool Fields',
                    'VALUE' => [
                        $this, 'getUniqueFieldValue',
                    ],
                ];
            }

            return $this->fields;
        }

        public function getUniqueFieldValue()
        {
            return 'unique_value';
        }
    }
}

// обработчик события в init.php
Bitrix\Main\EventManager::getInstance()->addEventHandler(
    'documentgenerator',
    'onDataProviderManagerFillSubstitutionProviders',
    static function(\Bitrix\Main\Event $event) {
        require_once('documentgenerator_classes.php');

        $result = [];

        if(\Bitrix\Main\Loader::includeModule('crm'))
        {
            $result = [
                Bitrix\Crm\Integration\DocumentGenerator\DataProvider\Deal::class => MyDeal::class,
            ];
        }
        return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, $result);
    }
);

Теперь в списке полей будет отображаться это поле и его можно использовать в своих шаблонах.

При этом визуально ничего не изменится, в интерфейсе по-прежнему будут стандартные провайдеры.

У этого метода есть ограничения - заменяемый провайдер должен был наследником оригинального.


Сниппеты

Не забудьте подключить модуль.

\Bitrix\Main\Loader::includeModule('documentgenerator');

  • Получить список провайдеров, привязанных к определенному модулю
    • $providers = \Bitrix\DocumentGenerator\DataProviderManager::getInstance()->getList(['filter' => ['MODULE' => 'crm']]);

    Вернется список провайдеров, отфильтрованных по модулю.

  • Инициализация провайдера и получение списка его значений (для отладки)
    • $manager = \Bitrix\DocumentGenerator\DataProviderManager::getInstance();
$provider = $manager->getDataProvider(\Bitrix\DocumentGenerator\DataProvider\User::class, 1);
if($provider)
{
    print_r($manager->getArray($provider));
}

  • Полный цикл генерации документа
    • // $templateId - ид шаблона
// $invoiceId - ид счета
$template = \Bitrix\DocumentGenerator\Template::loadById($templateId);

$template->setSourceType(\Bitrix\Crm\Integration\DocumentGenerator\DataProvider\Invoice::class);
$document = \Bitrix\DocumentGenerator\Document::createByTemplate($template, $invoiceId);

// добавить / переопределить описания полей
$document->setFields([
    'myField' => [
        'VALUE' => 'defaultValue', // значение по умолчанию
    ],
]);
// указать значение поля
$document->setValues([
    'myField' => 'newValue',
]);

$result = $document->getFile();
if($result->isSuccess())
{
    print_r($result->getData())
}
else
{
    print_r($result->getErrorMessages());
}

  • Переустановить предустановленные шаблоны

    Осторожно! Эта операция перезапишет созданный пользователем шаблон.

    • $controller = new \Bitrix\DocumentGenerator\Controller\Template();

// составляем фильтр
$filter = [
    'MODULE_ID' => 'crm', // ID модуля
    'CODE' => 'BILL_RU', // код предустановленного шаблона
    'REGION' => ['RU'], // страна. Можно передать массив
    'NAME' => 'Счет (Россия)', // название предустановленного шаблона
];

// получаем список шаблонов
$result = $controller::getDefaultTemplateList($filter);
if($result->isSuccess())
{
    $templates = $result->getData();
    foreach($templates as $template)
    {
        // так мы можем пропустить уже установленные шаблоны
        if(isset($template['ID']) && $template['ID'] > 0)
        {
            continue;
        }
        $controller->installDefaultTemplate($template);
    }
}


Нумератор

Описание и логика

Как очевидно из названия, нумератор отвечает за то, чтобы генерировать номера.

Нумератор получает шаблон номера (содержащий служебные слова) и настройки для слов. Затем у нумератора можно запрашивать следующий номер. Например, если шаблон содержит - {NUMBER} - нумератор каждый раз на запрос следующего номера будет возвращать уникальное последовательное число.

Логика работы

Каждый нумератор содержит в себе генераторы, которые отвечают за парсинг служебных слов в шаблоне номера в зависимости от своих настроек. У генераторов есть привязка к типу нумератора, то есть некоторые генераторы работают только с определенным типом нумератора.

Соответственно, от типа нумератора зависит набор возможных слов для формирования шаблона.

Любой нумератор любого модуля может использовать базовые генераторы - случайный номер, дата, последовательный номер и префикс - и слова {NUMBER}, {DAY}, {MONTH}, {YEAR}, {RANDOM}, {PREFIX}

Функционал нумератора можно расширить, добавив новые классы генераторов и указав им тип нумератора, с которым они могут работать. Так сделано в модулях [link=58837]sale[/link], [link=61451]crm[/link], [link=108333]documentgenerator[/link].

Нужно создать свой класс генератора, который будет подставлять в шаблон номера какие-то свои специальные слова, например {TIME}

Подписаться на событие RegisterModuleDependences('main', 'onNumberGeneratorsClassesCollect', 'mymodule', 'TimeNumberGenerator', 'onGeneratorClassesCollect');.

Реализация метода onGeneratorClassesCollect уже есть в базовом классе \Bitrix\Main\Numerator\Generator\NumberGenerator, поэтому надо просто создать класс генератора, который может выглядеть вот так:

<?php
use Bitrix\Main\Localization\Loc;
use Bitrix\Main\Numerator\Generator\NumberGenerator;
use Bitrix\Main\Numerator\Generator\Contract\UserConfigurable;
use Bitrix\Main\Numerator\Numerator;

class TimeNumberGenerator extends NumberGenerator implements UserConfigurable
{
    const TEMPLATE_WORD_TIME = "TIME";
    protected $format;

    /** @inheritdoc */
    public function getConfig()
    {
        // через интерфейс можно будет указывать формат времени, чтобы сохранить этот формат в базу данных
        // и потом использовать при формировании номера возвращаем массив того,
        // что необходимо сохранить данному генератору
        return ['format' => $this->format];
    }

    /** @inheritdoc */
    public function setConfig($config)
    {
        // при инициализации из БД мы записываем себе формат
        $this->setFromArrayOrDefault('format', $config, '0', 'string');
    }

    /** @inheritdoc */
    public static function getSettingsFields()
    {
        // для того, чтобы в интерфейсе появилось дополнительное текстовое поле, куда можно будет вбить кастомный формат
        // указываем, какие у данного генератора есть настраиваемые параметры
        // у нас это просто строка с форматом для функции date()
        // поле станет видимым в интерфейсе, когда нажмут на синий кубик со служебным словом генератора ({TIME})
        return [
            [
                'settingName' => 'format',
                'type'        => 'string',
                'default'     => 'H:i:s',
                'title'       => 'formatTitle',
            ],
        ];
    }

    /** @inheritdoc */
    public static function getTemplateWordsForParse()
    {
        // какие служебные слова может парсить данный генератор
        // в нашем случае только слово {TIME}
        return [
            static::getPatternFor(static::TEMPLATE_WORD_TIME),
        ];
    }

    /** @inheritdoc */
    public static function getTemplateWordsSettings()
    {
        // это слово будет отображаться в интерфейсе в синем кубике
        // тыкая на который в шаблон номера будет подставляться {TIME} (это все заработает само)
        return [
            static::getPatternFor(static::TEMPLATE_WORD_TIME) => 'time',
        ];
    }

    /**
     * @return string
     */
    public static function getAvailableForType()
    {
        // для каких типов нумераторов доступен этот генератор
        // например, текущее время сделаем доступным абсолютно для всех нумераторов в продукте
        return Numerator::NUMERATOR_DEFAULT_TYPE;
    }

    /** @inheritdoc */
    public function parseTemplate($template)
    {
        // сюда приходит строка из шаблона номера, например
        // {NUMBER}/{RANDOM}__{DAY}:{TIME}
        // данный генератор умеет парсить слово {TIME}
        // остальные кракозябры не трогаем, они будут преобразованы другими генераторами
        return str_replace(self::getPatternFor(static::TEMPLATE_WORD_TIME), date($this->format, time()), $template);
    }

    /** @inheritdoc */
    public function validateConfig($config)
    {
        // тут можно проверить, что пользователь указал верный формат для date()
        $result = new Result();
        return $result;
    }
}

В результате изменится интерфейс - появится новое поле formatTitle и синий кубик time:

Создание

В идеале, вся работа с нумераторами (CRUD) происходит через класс \Bitrix\Main\Numerator\Numerator.

Старайтесь придерживаться этого принципа.

use Bitrix\Main\Numerator\Numerator;

$numerator = Numerator::create();

Нумератору нужно указать шаблон номера (состоит из служебных слов (плейсхолдеров)) и настройки для каждого служебного слова в номере (если необходимо). Например, слово {RANDOM} - превратится в рандомные символы; для {RANDOM} можно задать length - число символов в последовательности.

Получить все слова (плейсхолдеры), которые может использовать нумератор типа DOCUMENT

use Bitrix\DocumentGenerator\Driver;
use Bitrix\Main\Numerator\Numerator;

$templateWords = Numerator::getTemplateWordsForType(Driver::NUMERATOR_TYPE);

// Результат
[
    'Bitrix_Main_Numerator_Generator_SequentNumberGenerator' => [
        '{NUMBER}',
    ],
    'Bitrix_Main_Numerator_Generator_DateNumberGenerator' => [
        '{DAY}',
        '{MONTH}',
        '{YEAR}',
    ],
    'Bitrix_Main_Numerator_Generator_RandomNumberGenerator' => [
        '{RANDOM}',
    ],
    'Bitrix_Main_Numerator_Generator_PrefixNumberGenerator' => [
        '{PREFIX}',
    ],
    'Bitrix_DocumentGenerator_Integration_Numerator_DocumentNumberGenerator' => [
        '{CLIENT_ID}',
        '{SELF_ID}',
        '{SELF_COMPANY_ID}',
    ],
];

Для всех типов нумераторов по умолчанию доступны 4 базовых генератора, соответственно, всегда будут доступны слова:

  • {NUMBER} - последовательное число
  • {DAY} - день месяца в момент генерации номера, с ведущим нулем => 01, 15, ...
  • {MONTH} - номер месяца в момент генерации номера, с ведущим нулем => 03, 11, ...
  • {YEAR} - текущий год, на момент генерации номера нумератором => 2018, ...
  • {RANDOM} - случайный набор символов из латинских букв в верхнем регистре и цифр
  • {PREFIX} - указанный фиксированный набор символов

Документные нумераторы (тип DOCUMENT) могут дополнительно использовать:

  • {CLIENT_ID} - ID клиента
  • {SELF_ID} - ID сущности, которая является провайдером данных (зависит от того, что будет передано нумератору при формировании номера)
  • {SELF_COMPANY_ID} - ID компании

В CRM (для нумераторов типа CRM_QUOTE, CRM_INVOICE) можно дополнительно использовать слова:

  • {INVOICE_ID} Номер счета
  • {USER_ID_INVOICES_COUNT} - Id пользователя и число его счетов
  • {QUOTE_ID} - Номер предложения
  • {USER_ID_QUOTES_COUNT} - Id пользователя и число его предложений

В магазине (для нумераторов типа ORDER):

  • {USER_ID_ORDERS_COUNT} - Id пользователя и число его заказов
  • {ORDER_ID} - Номер заказа

Получить все настройки для создания нумератора типа DOCUMENT

use Bitrix\DocumentGenerator\Driver;
use Bitrix\Main\Numerator\Numerator;

$settings = Numerator::getSettingsFields(Driver::NUMERATOR_TYPE);

// Результат
[
    'settingsFields' => [
        'Bitrix_Main_Numerator_Numerator' => [
            ['settingName' => 'name', 'type' => 'string', 'default' => 'Нумератор 1', 'title' => 'Название нумератора', ],
            ['settingName' => 'template', 'type' => 'string', 'title' => 'Шаблон номера',],
        ],
        'Bitrix_Main_Numerator_Generator_SequentNumberGenerator' => [
            ['settingName' => 'start', 'type' => 'int', 'default' => 1, 'title' => 'Начинать последовательный номер с',],
            ['settingName' => 'step', 'type' => 'int', 'default' => 1, 'title' => 'Увеличивать последовательный номер на',],
            ['settingName' => 'periodicBy', 'type' => 'array', 'title' => 'Период работы нумератора', 'values' => [
                ['settingName' => 'default', 'value' => '', 'title' => 'Постоянно',],
                ['settingName' => 'day', 'value' => 'day', 'title' => 'В пределах дня',],
                ['settingName' => 'month', 'value' => 'month', 'title' => 'В пределах месяца',],
                ['settingName' => 'year', 'value' => 'year', 'title' => 'В пределах года',],],
            ],
            ['settingName' => 'timezone', 'type' => 'array', 'values' => [...]],
            ...,
        ],
        ...,
    ],
    'settingsWords' => [
        'Bitrix_Main_Numerator_Generator_SequentNumberGenerator' => ['{NUMBER}' => 'Последовательный номер',],
        'Bitrix_Main_Numerator_Generator_DateNumberGenerator' => ['{DAY}' => 'Текущий день', '{MONTH}' => 'Текущий месяц', '{YEAR}' => 'Текущий год',],
        'Bitrix_Main_Numerator_Generator_RandomNumberGenerator' => ['{RANDOM}' => 'Случайный номер',],
        'Bitrix_Main_Numerator_Generator_PrefixNumberGenerator' => ['{PREFIX}' => 'Префикс',],
    ]
];

settingsWords - собственно, слова для шаблона (Numerator::getTemplateWordsForType('DOCUMENT'))

settingsFields - обычно используются для формирования html формы, поэтому так много указаний. На основании типов настроек генерируется код для инпутов, дропдаунов, заголовки полей формы, заполняются дефолтные значения и т.д.

Сохранение

В идеале, вся работа с нумераторами (CRUD) происходит через класс \Bitrix\Main\Numerator\Numerator.

Старайтесь придерживаться этого принципа.

В итоге, создание нумератора, установка настроек и сохранение выглядят так:

use Bitrix\Main\Numerator\Numerator;
use Bitrix\Main\Numerator\Generator;

$config = [
    Numerator::getType() => [
        'name' => 'my awesome numerator',
        'template' => '{PREFIX}__{YEAR}/{NUMBER}--{RANDOM}',
    ],
    Generator\RandomNumberGenerator::getType() => [
        'length' => '6',
    ],
    Generator\SequentNumberGenerator::getType() => [
        'start' => '3',
        'step' => '2',
    ],
    Generator\PrefixNumberGenerator::getType()  => [
        'prefix' => 'test',
    ],
];

$numerator = Numerator::create();
$numerator->setConfig($config);
/** @var \Bitrix\Main\Entity\AddResult $result **/
$result = $numerator->save();

Настройки

use Bitrix\Main\Numerator\Numerator;
use Bitrix\Main\Numerator\Generator;

// Bitrix_Main_Numerator_Numerator
Numerator::getType() => [
   [
       'name', // Название нумератора - ОБЯЗАТЕЛЬНОЕ ПОЛЕ
       'template' // Шаблон номера - ОБЯЗАТЕЛЬНОЕ ПОЛЕ
   ],
],

// Порядковый номер - {NUMBER}
// Bitrix_Main_Numerator_Generator_SequentNumberGenerator

Generator\SequentNumberGenerator::getType() => [
   [
       'start', // С какого числа начинать
       'step', // Шаг для увеличения номера
       'periodicBy', // ['day', 'month', 'year'] - Сбрасывать счетчик в start при наступлении нового периода
       'timezone', // По какому часовому поясу определять наступление нового периода (дня и т.д.)
                   // ['', 'Pacific/Midway', ...] - значения из \CTimeZone::GetZones()
       'isDirectNumeration', // boolean, Использовать сквозную нумерацию или иметь независимые счетчики для каждой компании
   ],
],

// Случайный номер из букв латинского алфавита в верхнем регистре и цифр - {RANDOM}
// Bitrix_Main_Numerator_Generator_RandomNumberGenerator

Generator\RandomNumberGenerator::getType() => [
   [
       'length', // Длина номера
   ],
],

// Строка символов - {PREFIX}
// Bitrix_Main_Numerator_Generator_PrefixNumberGenerator

Generator\PrefixNumberGenerator::getType() => [
   [
       'prefix', // Строка
   ],
],

// Дата - {DAY}, {MONTH}, {YEAR}
// Bitrix_Main_Numerator_Generator_DateNumberGenerator формат дат на данный момент не настраивается

Получение существующего нумератора по ID

use Bitrix\Main\Numerator\Numerator;

$numerator = Numerator::load($numeratorId);

Получение первого существующего нумератора по его типу

$numerator = \Bitrix\Main\Numerator\Numerator::getOneByType('ORDER');

Получение списка нумераторов по типу

$numerator = \Bitrix\Main\Numerator\Numerator::getListByType('ORDER');

Получение следующего номера у нумератора

$nextNumber = $numerator->getNext();

Изменение настроек по ID

В идеале, вся работа с нумераторами (CRUD) происходит через класс \Bitrix\Main\Numerator\Numerator.

Старайтесь придерживаться этого принципа.

use Bitrix\Main\Numerator\Numerator;

$numerator = Numerator::load($numeratorId);
$config = $numerator->getConfig();
$config[Numerator::getType()]['name'] = 'updated name';
/*** @var \Bitrix\Main\Entity\UpdateResult|Result $result **/
$result = Numerator::update($id, $config);

Передача контекста

В идеале, вся работа с нумераторами (CRUD) происходит через класс \Bitrix\Main\Numerator\Numerator.

Старайтесь придерживаться этого принципа.

Иногда нумератор в общем случае не знает, на что заменить некоторое служебное слово в шаблоне (например, {INVOICE_ID} - номер счета для нумератора в срм). Поэтому, нумератору нужен некий контекст или источник данных. (Для нумераторов, использующих динамически конфигурируемые генераторы, реализующие интерфейс DynamicConfigurable).

Контекст можно передать несколькими способами.

// вторым параметром в Numerator::load
\Bitrix\Main\Numerator\Numerator::load($numeratorId, $source = null);

// имея нумератор, установить ему контекст
$numerator->setDynamicConfig($dynamicConfig);

Хеш нумератора

В идеале, вся работа с нумераторами (CRUD) происходит через класс \Bitrix\Main\Numerator\Numerator.

Старайтесь придерживаться этого принципа.

Нумератор, содержащий служебное слово {NUMBER} в шаблоне, может одновременно отвечать за несколько последовательных номеров (у него будет несколько "внутренних счетчиков"). В общем случае, запрашивая следующий номер у нумератора, мы будем получать последовательно увеличивающееся число.

use Bitrix\Main\Numerator\Numerator;

$numerator = Numerator::create();
$numerator->setConfig([
    Numerator::getType() => [
        'name' => 'test sequence',
        'template' => '{NUMBER}',
    ],
]);
$result = $numerator->save();
$numerator = Numerator::load($result->getId());
echo $numerator->getNext() . PHP_EOL;
$numerator = Numerator::load($result->getId());
echo $numerator->getNext() . PHP_EOL;
$numerator = Numerator::load($result->getId());
echo $numerator->getNext() . PHP_EOL;

// Получим
// 1
// 2
// 3

Если же нумератору указывать хеш (строку) и запрашивать номер для разного хеша - мы получим независимые счетчики и сможем получать номера у каждого из них отдельно.

use Bitrix\Main\Numerator\Numerator;

$numerator = Numerator::create();
$numerator->setConfig([
    Numerator::getType() => [
        'name' => 'sequence',
        'template' => '{NUMBER}',
    ],
]);
$result = $numerator->save();
$numerator = Numerator::load($result->getId());
echo $numerator->getNext('A') . PHP_EOL;
$numerator = Numerator::load($result->getId());
echo $numerator->getNext('B') . PHP_EOL;
$numerator = Numerator::load($result->getId());
echo $numerator->getNext('A') . PHP_EOL;

// Получим
// 1
// 1
// 2

Например, если передавать в качестве хеша Id компании, то можно получить независимую генерацию последовательных номеров в шаблоне для разных компаний по одному и тому же шаблону номера.

Хеш можно установить несколькими способами.

(Для нумераторов, использующих генераторы, реализующие интерфейс Sequenceable)

use Bitrix\Main\Numerator\Numerator;

// вторым параметром в Numerator::load в виде объекта
// реализующего интерфейс Hashable, возвращающего хеш строкой в $hashable->getHash()
Numerator::load($numeratorId, $hashable);

// передать хеш в getNext в виде строки
$hash = 'MANAGER_42';
$numerator->getNext($hash)

// установить хеш через сеттер в виде объекта Hashable
$numerator->setHash($hashable);


Цикл генерации документа

Полный цикл генерации и конвертации документа:

  1. Загружается запись шаблона из БД по ID.
  2. Файл шаблона скачивается из облака (если файл лежит локально - этого не происходит).
  3. Файл распаковывается и парсится (.docx файл - это zip-архив с xml-файлами), из него получаем список полей.
  4. Поднимается провайдер из шаблона, идёт сопоставление названий полей из шаблона и полей провайдера.
  5. В xml файлы подставляются значения полей, они запаковываются в файл.
  6. Файл загружается в облако (если файл лежит локально - этого не происходит).
  7. На этом этапе закончена собственно генерация документа - у нас есть готовый .docx файл.
  8. Ставится команда на отправку файла на конвертацию в pdf и jpg (хит на контроллер конвертера файлов).
  9. Команда стоит в очереди на исполнение (если очередь пустая - этого не происходит).
  10. Воркер скачивает файл (если файл лежит в облаке - из облака, если локально - с портала).
  11. Запускается процесс конвертации (в зависимости от размера / сложности файла время конвертации может меняться).
  12. Результаты конвертации закачиваются на портал (если файлы хранятся в облаке - портал загружает файлы в облако).
  13. После загрузки файлов - финальный хит на портал о завершении конвертации.


Пример генерации документа

Здесь изложен полностью процесс генерации документа:

<?php

define('BX_SESSION_ID_CHANGE', false);
define('BX_SKIP_POST_UNQUOTE', true);
define('NO_AGENT_CHECK', true);
define("STATISTIC_SKIP_ACTIVITY_CHECK", true);
define('STOP_STATISTICS', true);
define('BX_SECURITY_SHOW_MESSAGE', true);
define('NO_KEEP_STATISTIC', 'Y');
define('NO_AGENT_STATISTIC','Y');
define('DisableEventsCheck', true);

require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');

use Bitrix\DocumentGenerator\Model\FileTable;
use Bitrix\DocumentGenerator\Model\TemplateTable;
use Bitrix\DocumentGenerator\Template;
use Bitrix\Main\Result;

if(!\Bitrix\Main\Loader::includeModule('documentgenerator'))
{
    die('no documentgenerator module');
}

$filePath = 'rest_template.docx';

class DocumentGeneratorPhpExample
{
    public function saveFile(string $filePath): ?int
    {
        $fileData = \CFile::MakeFileArray($filePath);
        if(!$fileData)
        {
            return null;
        }
        $fileData['isTemplate'] = true;

        $saveResult = FileTable::saveFile($fileData);
        if($saveResult->isSuccess())
        {
            return $saveResult->getId();
        }

        return null;
    }

    public function saveTemplate(string $templateName, int $fileId): ?int
    {
        $fields['NAME'] = $templateName;
        $fields['MODULE_ID'] = 'rest';
        $fields['FILE_ID'] = $fileId;
        $fields['ACTIVE'] = 'Y';
        $fields['BODY_TYPE'] = \Bitrix\DocumentGenerator\Body\Docx::class;

        $result = TemplateTable::add($fields);
        if($result->isSuccess())
        {
            return $result->getId();
        }

        return null;
    }

    public function getTemplateFieldPlaceholders(int $templateId): ?array
    {
        $template = Template::loadById($templateId);
        if($template)
        {
            $body = $template->getBody();
            if($body)
            {
                return $body->getFieldNames();
            }
        }

        return null;
    }

    public function createDocument(Template $template): Result
    {
        $fields = [
            'SomeDate' => ['TYPE' => 'DATE'],
            'SomeName' => ['TYPE' => 'NAME'],
            'Stamp' => ['TYPE' => 'STAMP'],
            'Image' => ['TYPE' => 'IMAGE'],
            'Table' => [
                'PROVIDER' => \Bitrix\DocumentGenerator\DataProvider\ArrayDataProvider::class,
                'OPTIONS' => [
                    'ITEM_NAME' => 'Item',
                    'ITEM_PROVIDER' => \Bitrix\DocumentGenerator\DataProvider\HashDataProvider::class,
                ],
            ],
            'TableItemName' => ['VALUE' => 'Table.Item.Name'],
            'TableItemImage' => ['VALUE' => 'Table.Item.Image', 'TYPE' => 'IMAGE'],
            'TableItemPrice' => ['VALUE' => 'Table.Item.Price'],
        ];

        $values = [
            'SomeDate' => \Bitrix\Main\Type\DateTime::createFromTimestamp(time()),
            'SomeName' => [
                'NAME' => 'РРІР°РЅ',
                'LAST_NAME' => 'РџРµС‚СЂРѕРІ',
                'GENDER' => 'M',
            ],
            'Image' => __DIR__.'/image.jpg',
            'Stamp' => __DIR__.'/image.jpg',
            'Table' => [
                [
                    'Name' => 'Item name 1',
                    'Price' => '$111.23',
                    'Image' => __DIR__.'/image.jpg',
                ],
                [
                    'Name' => 'Item name 2',
                    'Price' => '$222.34',
                    'Image' => __DIR__.'/image.jpg',
                ],
            ],
        ];

        $template->setSourceType(\Bitrix\DocumentGenerator\DataProvider\Rest::class);
        $document = \Bitrix\DocumentGenerator\Document::createByTemplate($template, 111);

        return $document->setFields($fields)->setValues($values)->getFile();
    }
}

$example = new DocumentGeneratorPhpExample();

$templateId = 12;

if(!$templateId)
{
    $fileId = $example->saveFile($filePath);
    if($fileId > 0)
    {
        $templateId = $example->saveTemplate('php_test', $fileId);
    }
}

if(!$templateId)
{
    echo 'no template';
    die;
}

$fields = $example->getTemplateFieldPlaceholders($templateId);

print_r($fields);

$result = $example->createDocument(Template::loadById($templateId));

if($result->isSuccess())
{
    print_r($result->getData());
}
else
{
    print_r($result->getErrorMessages());
}


Body

Body и его потомки Docx и Docxxml - класс-парсер. Нужен для доступа к контенту шаблона. Позволяет выполнить замену плейсхолдеров на реальные значения.

Методы класса

Метод | Описание
__construct($content) | Конструктор объекта. На вход принимает контент в виде строки.
getPlaceholders() | Метод парсит содержимое файла и отдает все плейсхолдеры, которые в нем есть, в виде массива.
setValues(array $values) | Метод устанавливает значения плейсхолдеров. На вход принимает массив, где ключ - имя поля, а значение - что туда подставлять.
getContent() | Метод отдает контент файла.
process() | Метод выполняет замену плейсхолдеров на значения. Возвращает \Bitrix\Main\Result
save($filename = '', \Bitrix\DocumentGenerator\Storage $storage = null) | Метод сохраняет контент в новом файле с именем $filename, отдает ID из \Bitrix\DocumentGenerator\Model\FileTable. Если передать объект $storage, то сохранение будет произведено через него.


DataProvider

DataProvider - абстрактный класс поставщика данных. Реализующие его классы отдают поля и значения. В модуле есть несколько базовых наследников этого класса. Любой DataProvider в одном из своих полей может вернуть другой DataProvider, уровень вложенности неограниченный.

Методы класса

Метод | Описание
setParentProvider | Метод для указания родительского провайдера.
getFields | Метод отдает массив с набором полей.
getValue | Метод возвращает значение по имени поля.
hasAccess($userId) | Метод выполняет проверку прав доступа для пользователя с id $userId.


DataProviderManager

DataProviderManager - cинглтон, хранит в себе кеш провайдеров. Здесь сосредоточены методы для манипуляции данными от провайдеров - их инициализация, получение значений и пр.

Методы класса

Метод | Описание
getDataProviderValue( \Bitrix\DocumentGenerator\DataProvider $dataProvider, $placeholder) | Метод отдает значение провайдера по имени. В простейшем случае - вызывает getValue() провайдера.
createDataProvider( array $fieldDescription, $value = null, \Bitrix\DocumentGenerator\DataProvider $parentDataProvider = null, $placeholder = null) | Метод создает новый провайдер по его описанию и значению. Здесь: $fieldDescription - массив описания поля $value - значение этого поля $parentDataProvider - родительский провайдер $placeholder - имя поля родительского провайдера, по которому создается этот провайдер.
getArray( \Bitrix\DocumentGenerator\DataProvider $dataProvider) | Метод преобразует провайдер в массив. Удобный метод для отладки, либо когда цепочка плейсхолдеров точно известна.
getList( array $params) | Метод возвращает список провайдеров. Можно передать фильтр по модулю $params['filter']['MODULE'] = 'crm'
getDefaultTemplateFields( $providerClassName, array $placeholders = [], array $mainProviderOptions = [], $isAddRootGroups = true) | Метод отдает список полей по умолчанию для провайдера. $providerClassName - полное имя класса провайдера (экземпляр будет создан внутри метода) $placeholders - массив имён полей, которые надо вернуть $mainProviderOptions - параметр $options для вызова конструктора провайдера $isAddRootGroups - в описание групп полей добавится первый элемент "Документ"


Document

Document - класс служит для генерации экземпляра документа, либо работы с уже существующим. Создается на основе шаблона, который отдает файл + настройки полей + тип основного провайдера. Далее перед генерацией документу необходимо передать значения полей / плейсхолдеров. После этого документ можно сгенерировать. После генерации он будет автоматически сохранен в таблице документов.

Методы класса

Метод | Описание
createByTemplate(\Bitrix\DocumentGenerator\Template $template, $value) | Метод новый экземпляр на основе шаблона. Здесь $value - это значение основного провайдера.
loadById($documentId) | Метод загружает экземпляр документа из базы данных по его ид $documentId.
setValues(array $values) | Метод задает значения полей. В массиве $values ключ - это имя поля, а значение - его значение. Метод не обнуляет уже установленные значения, но перезапишет старые.
setFields(array $fields) | Метод задает описания полей. В массиве $fields ключ - это имя поля, а значение - его описание в виде массива. Метод не обнуляет уже установленные описания, но перезапишет старые.
checkFields($requiredOnly = true) | Метод возвращает массив описаний незаполненных полей. Если $requiredOnly = true, то проверяются только обязательные поля. Иначе вернет описания всех полей, для которых не были найдены значения.
getTemplate() | Метод вернет шаблон документа, если он есть.
getFile($sendToTransformation = true, $skipTransformationError = false)Метод генерирует новый документ, если его ещё нет. Возвращает информацию объект \Bitrix\Main\Result, где в случае успеха будет следующий массив данных:
[
    'downloadUrl' => '', // ссылка на скачивание
    'publicUrl' => '', // публичная ссылка, если есть
    'title' => '', // заголовок
    'number' => '', //номер
    'id' => '', //ID
    'createTime' => '', //время генерации
    'updateTime' => '', //время обновления
    'stampsEnabled' => '', //true если с печатями и подписями, иначе false
    'isTransformationError' => '', //true если была ошибка конвертации, иначе false
    'value' => '', //значение, с которым был создан основной провайдер
    'values' => [], // массив дополнительных значений
    'publicUrlView' => [ // с версии documentgenerator 20.100.0, информация о просмотре публичной ссылки, если публичная ссылка есть
        'time' => ' ', // время первого просмотра публичной ссылки
        'ip' => ' ', // ip-адрес первого просмотра публичной ссылки
    ],
];

Если $sendToTransformation = false - файл не будет послан на конвертацию автоматически.
Если $skipTransformationError = true, то в результат не будут добавляться ошибки конвертации (используется для подавления этой ошибки в рест-методах).
getProvider()Метод вернет экземпляр \Bitrix\DocumentGenerator\DataProvider, который использовался для генерации документа. Этот метод может вернуть false, если экземпляр не удалось создать.
update(array $values) | Метод обновляет существующий документ с новым набором значений. Массив $values аналогичен параметру в методе setValues().
getFields(array $fieldNames = [], $isConvertValuesToString = false, $groupsAsArrays = false)Метод возвращает список сгруппированных полей с конечными значениями $fields - массив имён полей для вывода описания
$isConvertValuesToString - если true - объекты будут преобразованы в строки (как правило, для json)


Template

Template - класс для сопоставления плейсхолдеров из файла (\Bitrix\DocumentGenerator\Body) и того, каким образом нужно получить значения этих плейсхолдеров. Правила получения данных состоят из (в порядке повышения приоритета) настроек полей по умолчанию, настроек плейсхолдеров по умолчанию (не используется), настроек плейсхолдеров для текущего шаблона (не используется).

Методы класса

Метод | Описание
loadById($id) | Метод загружает шаблон из базы данных по его ид $id.
getBody() | Метод возвращает экземпляр \Bitrix\DocumentGenerator\Body.
getFields() | Метод возвращает массив, где ключ - плейсхолдер, а значение - массив с описанием способа получения данных.
getFileName($prefix = '') | Метод возвращает имя файла шаблона (при скачивании). $prefix припишется к названию, если заполнено.
getDataProviders($combineExtended = false) | Метод вернет список провайдеров, которые привязаны к этому шаблону.
getUsers() | Метод вернет список кодов доступа, привязанных к этому шаблону.
setSourceType($sourceType) | Метод устанавливает используемый тип провайдера для этого шаблона. Сюда надо передать полное имя класса. Метод обязательно надо вызывать перед созданием \Bitrix\DocumentGenerator\Document. В методе идёт проверка соответствия провайдера и модуля шаблона. В случае ошибки - он не будет установлен.
getSourceType() | Метод вернет установленный тип провайдера.
getDownloadUrl($absolute = false) | Метод вернет ссылку на скачивание файла шаблона.
isDeleted() | Метод вернет true, если шаблон помечен как удалённый.


Диск

\Bitrix\Disk - пространство имен модуля Диск.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('disk');

Примеры

Получить хранилище

<?php
if (\Bitrix\Main\Loader::includeModule('disk'))
{
    $driver = \Bitrix\Disk\Driver::getInstance();
    $storage = $driver->getStorageByUserId(1);//пользователя
    $storage = $driver->getStorageByGroupId(33);//группы
    $storage = $driver->getStorageByCommonId('shared_files_s1');//идентификатор
    $storage = \Bitrix\Disk\Storage::loadById(66);//знаем идентификатор хранилища
    if ($storage)
    {
        //можем работать с хранилищем
    }
}

Создать папку в хранилище

<?php
if (\Bitrix\Main\Loader::includeModule('disk'))
{
    $storage = \Bitrix\Disk\Driver::getInstance()->getStorageByUserId(1);
    if ($storage)
    {
        $folder = $storage->addFolder(
            array(
                'NAME' => 'New folder',
                'CREATED_BY' => 1
            )
        );
    }
}

Поиск подпапки и работа с ней. (Доступно с версии 17.0.2 модуля Диск)

<?php
if (\Bitrix\Main\Loader::includeModule('disk'))
{
    $storage = \Bitrix\Disk\Driver::getInstance()->getStorageByUserId(1);
    if ($storage)
    {
        /*
        как-то получаем папку
        */
        $folder = $folder->getChild(
            array(
                '=NAME' => 'New folder',
                'TYPE' => \Bitrix\Disk\Internals\FolderTable::TYPE_FOLDER
            )
        );
    }
}

Поиск корневой папки. (Доступно с версии 17.0.2 модуля Диск)

<?php
if (\Bitrix\Main\Loader::includeModule('disk'))
{
    $storage = \Bitrix\Disk\Driver::getInstance()->getStorageByUserId(1);
    if ($storage)
    {
        $folder = $storage->getRootObject();
        $folder = $folder->getChild(
            array(
                '=NAME' => 'New folder',
                'TYPE' => \Bitrix\Disk\Internals\FolderTable::TYPE_FOLDER
            )
        );
    }
}

Создание подпапки в папке

<?php
if (\Bitrix\Main\Loader::includeModule('disk'))  {
    $storage = \Bitrix\Disk\Driver::getInstance()->getStorageByUserId(1);
    if ($storage)  {
        $folder = $storage->getRootObject();
        $folder = $folder->getChild(
            array(
                '=NAME' => 'New folder',
                'TYPE' => \Bitrix\Disk\Internals\FolderTable::TYPE_FOLDER
            )
        );
        if ($folder) {
            $folder->addSubFolder(    array(
                'NAME' => 'New folder 2',
                'CREATED_BY' => 1
            ));
        }
    }
}

Задание прав на папку

<?php
        if ($folder)
        {
            $rightsManager = \Bitrix\Disk\Driver::getInstance()->getRightsManager();
            $accessTaskId = $rightsManager->getTaskIdByName($rightsManager::TASK_READ);//чтение
            //$accessTaskId = $rightsManager->getTaskIdByName($rightsManager::TASK_EDIT);//изменение
            //$accessTaskId = $rightsManager->getTaskIdByName($rightsManager::TASK_ADD);//добавление
            //$accessTaskId = $rightsManager->getTaskIdByName($rightsManager::TASK_FULL);//полные права

            $newFolder = $folder->addSubFolder(
                array( 'NAME' => 'New folder',  'CREATED_BY' => 1),
                array(
                    array(
                        'ACCESS_CODE' => 'U10', // для пользователя с ID=10 выдадутся выбранные права
                        'TASK_ID' => $accessTaskId,
                    ),
                )
            );
        }

Отключение прав на папку. (Доступно с версии 17.0.2 модуля Диск.)

<?php
        if ($folder)
        {
            $rightsManager = \Bitrix\Disk\Driver::getInstance()->getRightsManager();
            $accessTaskId = $rightsManager->getTaskIdByName($rightsManager::TASK_READ);//чтение
            //$accessTaskId = $rightsManager->getTaskIdByName($rightsManager::TASK_EDIT);//изменение
            //$accessTaskId = $rightsManager->getTaskIdByName($rightsManager::TASK_ADD);//добавление
            //$accessTaskId = $rightsManager->getTaskIdByName($rightsManager::TASK_FULL);//полные права

            $newFolder = $folder->addSubFolder(
                array( 'NAME' => 'New folder',  'CREATED_BY' => 1),
                array(
                    array(
                        ‘NEGATIVE' => true,
                        'ACCESS_CODE' => 'U10',
                        'TASK_ID' => $accessTaskId,
                    ),
                )
            );
        }

Загрузить файл в папку.

<?php
if (\Bitrix\Main\Loader::includeModule('disk'))
{
    $storage = \Bitrix\Disk\Driver::getInstance()->getStorageByUserId(1);
    if ($storage)
    {
        $folder = $storage->getChild(
            array(
                '=NAME' => 'New folder',
                'TYPE' => \Bitrix\Disk\Internals\FolderTable::TYPE_FOLDER
            )
        );
        if ($folder)
        {
            $fileArray = \CFile::MakeFileArray($_SERVER['DOCUMENT_ROOT'].'/test.jpg');
            $file = $folder->uploadFile($fileArray, array(
                'CREATED_BY' => 1
            ));
        }
    }
}

Загрузка файла в корневую папку.

if (\Bitrix\Main\Loader::includeModule('disk'))
{
    $storage = \Bitrix\Disk\Driver::getInstance()->getStorageByUserId(1);
    if ($storage)
    {
        $folder = $storage->getRootObject();
        $fileArray = \CFile::MakeFileArray($_SERVER['DOCUMENT_ROOT'].'/test.jpg');
        $file = $folder->uploadFile($fileArray, array(
            'CREATED_BY' => 1
        ));
    }
}

Высокоуровневая работа с объектом файла.

<?php
$newFile->markDeleted($deletedBy);
$newFile->delete($deletedBy);

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

<?php
if (\Bitrix\Main\Loader::includeModule('disk'))
{
    $storage = \Bitrix\Disk\Driver::getInstance()->getStorageByUserId(1);
    if ($storage)
    {
        $folder = $storage->getRootObject();
        $file = $folder->getChild(
            array(
                '=NAME' => 'test.jpg',
                'TYPE' => \Bitrix\Disk\Internals\FileTable::TYPE_FILE
            )
        );
        if ($file)
        {
            //
        }
    }
}

Получение ссылки на файл на портале.

<?php
if ($file)
{
    $urlManager = \Bitrix\Disk\Driver::getInstance()->getUrlManager();
    echo $urlManager->getPathFileDetail($file);
}

Получение публичной ссылки

<?php
if ($file)
{
    $urlManager = \Bitrix\Disk\Driver::getInstance()->getUrlManager();
    $extLink = $file->addExternalLink(
        array(
            'CREATED_BY' => 1,
            'TYPE' => \Bitrix\Disk\Internals\ExternalLinkTable::TYPE_MANUAL,
        )
    );
    $extLinkUrl = $urlManager->getShortUrlExternalLink(
        array(
            'hash' => $extLink->getHash(),
            'action' => 'default',
        ),
        true
    );
    echo $extLink->getHash().'<br>';
    echo $extLinkUrl;
}

Получение физического файла

<?php
if ($file)
{
    //получение айди физического файла
    echo $file->getFileId();
    //работаем с ним
    CFile::ViewByUser($file->getFileId(), array('force_download' => true));
}

Работа с файлами

<?php
//загрузка новой версии файла
if ($file)
{
    $fileArray = \CFile::MakeFileArray($_SERVER['DOCUMENT_ROOT'].'/test.jpg');
    $newVersion = $file->uploadVersion($fileArray, 1);//файл, ID пользователя
// если при загрузке от одного пользователя двух версий файла с одним именем происходит менее 300 секунд - файлы сливаются.
}

//перемещение файла в другую папку
if ($file)
{
    $file->moveTo($folder, $movedBy);//объект папки, пользователь
}

Получение физического файла (для загрузки, например)

<?php
if ($file)
{
    //получение айди физического файла
    echo $file->getFileId();
    //работаем с ним
    CFile::ViewByUser($file->getFileId(), array('force_download' => true));
}

Проверка объекта и вывод ошибок

<?php
if ($folder)
{
    $folder->rename('Reports.backup');
}
else
{
    var_dump($folder->getErrors());
}

Работа с модулем допустима только высокоуровневыми методами.

<?php
//нельзя
FolderTable::update();

//следует
$folder->rename(‘New folder 2’);


Ограничение времени жизни файлов

С версии 20.0.200 добавлена возможность ограничивать время жизни файлов в корзине и время жизни версий файлов, которые [dw]не прикреплены к сущностям[/dw][di]Файл попадет под лимит:
- Если вставить просто ссылку на файл в сообщении ЖЛ, комментарии и т.п.
- Если файл залит в какой-то раздел Диска и не был прикреплен к какой-либо сущности.[/di].

Это можно сделать через установку опций в методе set:

  • установка количества дней, в течение которых версии будут доступны (-1 – бесконечно, 0 – не хранить):
    \Bitrix\Main\Config\Option::set('disk', 'disk_file_history_ttl', $dayLimit);
  • аналогично устанавливаются лимиты для хранения файлов в корзине:
    \Bitrix\Main\Config\Option::set('disk', 'disk_trashcan_ttl', $dayLimit);


События

Класс | Описание | С версии
onAfterAddFile | Событие вызывается в методе \Bitrix\Disk\File::add после добавления файла.
onAfterAddVersion | Событие вызывается в методе \Bitrix\Disk\Version::add после добавления версии файла.
onAfterDeleteFile | Событие вызывается в методе \Bitrix\Disk\File::delete после удаления файла.


onAfterAddFile

Событие вызывается в методе \Bitrix\Disk\File::add после добавления файла. При добавлении нового файла сначала будет событие новой версии, затем событие нового файла.

Параметры события

Параметр | Описание
$file | Объект типа \Bitrix\Disk\File (созданный файл)

Пример

$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('disk', 'onAfterAddFile', function (\Bitrix\Main\Event $event)
{
    list($file) = $event->getParameters();

    if($file instanceof \Bitrix\Disk\File)
    {
        var_dump("Filename {$file->getName()}");
    }
});


onAfterAddVersion

Событие вызывается в методе \Bitrix\Disk\Version::add после добавления версии файла.

Параметры события

Параметр | Описание
$model | Объект типа \Bitrix\Disk\Version (созданная версия)

Пример

public static function add(array $data, ErrorCollection $errorCollection)
    {
        $model = parent::add($data, $errorCollection);

            if($model)
        {
                $event = new Event(Driver::INTERNAL_MODULE_ID, "onAfterAddVersion", array($model));
                $event->send();
           }

        return $model;
        }


onAfterDeleteFile

Событие вызывается в методе \Bitrix\Disk\File::delete после удаления файла.

Параметры события

Параметр | Описание
$fileId | Идентификатор удаленного файла.
$deletedBy | Идентификатор пользователя, который совершил удаление.

Пример

$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('disk', 'onAfterDeleteFile', function (\Bitrix\Main\Event $event)
{
    list($fileId, $deletedBy) = $event->getParameters();

    var_dump("User with id {$deletedBy} deleted file with id {$fileId}");
});


Сайты

Описание классов, методов и приёмов работы с Сайтами.

Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.


Введение

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Так исторически сложилось, что модуль Сайты24 сначала появился (и длительное время существовал) только в облачном сервисе Битркис24. В связи с этим вся работа разработчика с модулем "заточена" под облако. Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] [image], чтобы понять как модуль функционирует (тем более, что REST доступен и в коробочной версии). А уже непосредственно данную документацию рассматривать как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.

Обратите также внимание, что в REST API большинство примеров дано на языке JavaScript. В данной же документации примеры кода даны непосредственно на языке PHP и для облака неприменимы.


Идеология Сайтов

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Поколение веб-разработчиков 00-х и 10-х годов пережило, пожалуй, три петли спирали веб-индустрии.

1. Все началось с начала 00-х, когда простые сайты на HTML начали все быстрее обрастать динамикой. Именно тогда зародился тренд "у каждого разработчика должна быть своя CMS". Простой сайт стало не модно иметь, и чем больше у тебя в админке было винтиков и шпунтиков, тем круче это считалось.

2. Так мы пришли в эру мощных систем управления сайтами, в частности в Bitrix Framework. Появлялись целые профессии для управления CMS, количество настроек все возрастало. Обычная страница списка товаров обросла уже таким количеством настроек, что порой даже опытный разработчик забывал, что имеется штатно, а что нужно дорабатывать.

3. Пришло время нового витка. Когда мощный продукт прячется под капот, а непосредственно создание сайта уходит на второй план. Во главу угла возвращается простота нулевых, когда основная задача быстро и просто донести до пользователя информацию, чуть ли не в пару кликов. Основная часть винтиков и шпунтиков прячется под капот, наружу остаются смотреть только некоторые параметры. Уже на плечи разработчика накладывается задача предустановленных параметров, подходящих под проект, а конечный менеджер проекта обладает лишь некоторыми (маркетинговыми) опциями.

Помните про это, когда будете создавать новые Сайты24!

Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.


Идеология документации

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Сущности Сайтов24 (сайты, страницы, блоки, ...) ничем не отличаются от любых других сущностей ORM и в теории могут быть обработаны стандартными методами ORM по доступу к таблице сущности (в данном случае речь о неймспейсе Bitrix\Landing\Internals). Этого настоятельно не рекомендуется делать. Используйте только те методы, которые документированы в этом разделе.

На страницах раздела (Сайты24) действует также принцип достаточности. Он означает, что если какой-то класс или метод не освещены в документации, то разработчик имеет право его использовать только под свою ответственность.


ORM запросов

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

В примерах API данного раздела даны лишь небольшие возможности мощной ORM Битрикс, который подробно объяснен в Курсе разработчика Bitrix Framework [image] другой документации. Для быстрого старта достаточно глянуть сводку на данной странице [image], из которой станут понятны принципы применения тех или иных ключей и операндов.


Работа с типами сайтов, скоупы

Типы и скоупы

Типы сайтов

Сайты могут быть следующих типов:

  • Основные:
    • PAGE (от Home Page) - обычные сайты.
    • STORE - магазины.
    • SMN - сайты, использующиеся в разделе Сайты24 в административном разделе в БУС.
  • Дополнительные:
    • KNOWLEDGE –– базы знаний.
    • GROUP –– базы знаний групп соц.сети.

На данный момент не поддерживается расширение типов.

Скоупы

Помимо разделительной функции на уровне компонентов существует также разграничение по правам, получившее название скоупов.

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

Примеры

В примере дан метод получения списка страниц, но правило распространяется на любой другой метод, в том числе на работу с правами и изменениями сущностей. Установка скоупа действует с момента установки и до окончания исполнения страницы (дублировать установку перед каждым вызовом API не надо).

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   //если не установить scope
   \Bitrix\Landing\Site\Type::setScope(
      'KNOWLEDGE'
   );

   // .. то ничего не будет возвращено, хотя такой сайт существует и доступен пользователю
   $res = \Bitrix\Landing\Landing::getList([
      'select' => [
         'ID', 'TITLE'
      ],
      'filter' => [
         'SITE_ID' => 999
      ]
   ]);
   while ($row = $res->fetch())
   {
      print_r($row);
   }
}

Если далее по хиту планируется работа с другим скоупом, то сначала следует:
- очистить установленный,
- затем установить новый.
Такое явное переопределение скоупов сделано намеренно.

\Bitrix\Landing\Site\Type::setScope(
   'KNOWLEDGE'
);

// работа в скоупе KNOWLEDGE

\Bitrix\Landing\Site\Type::clearScope();

// после очистки скоупа мы опять в состоянии основных прав

\Bitrix\Landing\Site\Type::setScope(
   'GROUP'
);

// теперь мы работаем в скоупе GROUP


Сайты на локальной установке

Примечание: этот способ актуален для коробочных порталов.

Обратите внимание! Невозможно одновременно публиковать Сайты и локально, и "наружу".

По умолчанию, Сайты получают список блоков и шаблонов из репозитория, а публикуют сайты на облачном домене ***.bitrix24.site. Чтобы можно было успешно работать на локальной установке, нужно:

В bitrix\php_interface\dbconn.php

Установить константу для получения блоков и шаблонов локально.

define("LANDING_DISABLE_CLOUD", true);

В bitrix\php_interface\init.php

Добавить код для публикации сайтов локально. Если файла нет - создать его.

class LandingSiteController
{
    public static function isDomainExists($domain)
    {
        return false;
    }

    public static function addDomain($domain, $url, $active = 'Y')
    {
        //
    }

    public static function addRandomDomain($url)
    {
        if (\Bitrix\Landing\Manager::getZone() == 'by')
        {
            return strtolower(randString(10)) . '.bitrix24site.by';
        }
        else
        {
            return strtolower(randString(10)) . '.bitrix24.site';
        }
    }

    public static function updateDomain($domain, $newName)
    {
        //
    }

    public static function activateDomain($domain, $active = 'Y')
    {
        //
    }

    public static function deleteDomain($domain)
    {
        //
    }
}


Система хуков

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Описание

У сайтов и страниц есть ряд настроек, которые описаны на страницах дополнительных полей сайтов и страниц. Но как система работает с данными? Например, выводит соответствующий код счетчика аналитики, имея на входе лишь идентификатор счетчика?

Реализовано это через систему хуков. Это классы в пространстве имен Bitrix\Landing\Hook\Page. Один хук = один класс = один файл.

Каждый класс состоит минимум из трех обязательных методов:

  1. getMap(). Возвращает карту описания хука, какие поля и в каком порядке выводить в интерфейсе настроек.
  2. enabled(). Именно этот метод определяет, сработает ли хук для сущности. Например, упомянутый выше счетчик может быть указан в настройках, но не стоит галочка (тоже поле хука) "использовать счетчик".
    Если и у сайта и у его страницы один и тот же хук включен (enabled вернул true), то будет задействован хук страницы.
  3. exec(). Основной исполняемый метод. Запускается на исполнение, если enabled дал добро.

Данные же, с которыми работает хук, хранится в линейной таблице с привязкой данных каждого поля каждого хука к странице/сайту.

Событие выполнение хука

Расширить набор хуков пока нельзя, но есть возможность переопределить работу того или иного хука.

Пример:

$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('landing', 'onHookExec',
   function(\Bitrix\Main\Event $event)
   {
      $result = new \Bitrix\Main\Entity\EventResult;

      $result->modifyFields([
         'METAOG' => function(/** @var \Bitrix\Landing\Hook\Page $hook */ $hook)
         {
             \Bitrix\Landing\Manager::setPageView(
                'MetaOG',
               '<meta property="og:image" content="/my/og/picture.png" />'
             );

             // получить массив всех полей хука
             $fields = $hook->getFields();

             // получить текущее значение конкретного поля
             $fields['DESCRIPTION']->getValue();

            //обязательно вернуть true, если НЕ требуется выполнение системного
            return true;
         }
      ]);

      return $result;
   }
);

В примере показано как переопределить работу хука "Вид страницы в социальных сетях", или проще говоря og-теги. Ваше событие должно вернуть массив посредством modifyFields, где ключами будут коды хуков, которые вы хотите переопределить (в частном случае один). Значения - анонимные функции, которые и будут вызваны в момент исполнения соответствующего хука. Коды хуков перечислены ниже.

Внимание. Если некоторые системные хуки могут быть отключены (например, через опцию интерфейса "Использовать"), то после регистрации вашего обработчика, он будет вызываться всегда, так как система передает исполнение вам.

На вход анонимной функции поступает экземпляр $hook класса \Bitrix\Landing\Hook\Page, через который можно обратиться ко всем полям хука и их текущим данным.

Коды хуков

Какие же существуют коды хуков, которые можно переопредилить?

Код | Название
B24BUTTON | Виджет на сайт
BACKGROUND | Фон страницы
FAVICON | Favicon
GACOUNTER | Google Analytics
GMAP | Карта Google
GTM | Google Tag Manager
HEADBLOCK | Пользовательский HTML и CSS
METAMAIN | Мета-теги страницы
METAOG | Вид страницы в соцсетях
METAROBOTS | Индексация в поисковых системах
PIXELFB | Размещение пикселя Facebook* * деятельность организации запрещена в Российской Федерации.
PIXELVK | Размещение пикселя ВКонтакте
UP | Кнопка "вверх"
VIEW | Тип представления
YACOUNTER | Яндекс.Метрика

Подсмотреть как работают те или иные системные хуки можно в пространстве хуков Bitrix\Landing\Hook\Page.


Полезные ссылки

Несколько ссылок, которые могут быть полезны разработчикам при работе с функционалом Сайты

  1. Данная документация является расширением документации по REST [image]. Для более полного понимания продукта рекомендуем обращаться к последней.
  2. Презентация функционала Сайты24
    • Презентация
    • Видео
  3. Функционал Сайтов с точки зрения пользователя.
    • Клиентская документация
    • Сайты24 и собственный домен в коробке [image] (Сообщение в блоге)
  4. Не стесняйтесь предлагать свои идеи, мы вас внимательно читаем.
    • Сайт Идея!
  5. Обсуждение функционала.
    • Группа по последним новостям с разработки модуля [image] (для доступа требуется регистрация [image])
  6. На сайте поставщика шаблонов [image] вы можете выбрать понравившийся вам код для использования в новых блоках или полностью новых шаблонах для сайтов и страниц.


Домены

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Описание класса

Метод | Описание | С версии
add | Добавление домена |
getCurrentId | На основании текущего домена возвращает идентификатор сущности. |
getList | Получение списка доменов |
delete | Удаление домена |
update | Изменение домена. |
getHostUrl | Возвращает текущий адрес и протокол сервера. |


Введение и поля сущности

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

В Битрикс24 (коробка и облако) понятие доменов как таковое отсутствует интерфейсно, хотя внутренне домены также присутствуют.

Итак, сущность является родительской для сущности сайта и несет в себе информацию об имени домена и протоколе.

Поля сущности

Метод | Описание
ACTIVE | Активность домена: Y / N.
DOMAIN | Имя домена.
XML_ID | Внешний ключ для нужд разработчика. Не используется сервисом.
PROTOCOL | Протокол домена (http / https).
CREATED_BY_ID | Идентификатор создавшего пользователя
MODIFIED_BY_ID | Идентификатор изменившего пользователя.
DATE_CREATE | Дата создания.
DATE_MODIFY | Дата изменения


add

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function Domain::add(
   $fields
)

Добавление домена.

Параметры

Параметр | Описание | С версии
fields | Массив параметров домена. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Domain::add(
      [
         'DOMAIN' => 'mydomain.ru'
      ]
   );
   if ($res->isSuccess())
   {
      echo 'new id: ' . $res->getId();
   }
   else
   {
      print_r($res->getErrors());
   }
}


getList

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function Domain::getList(
   $fields
)

Получение списка доменов.

Параметры

Метод | Описание | С версии
fields | Массив параметров ORM |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Domain::getList([
      'select' => [
         'ID', 'DOMAIN'
      ],
   ]);
   while ($row = $res->fetch())
   {
      print_r($row);
   }
}


update

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function Domain::update(
   $id,
   $fields
);

Изменение домена.

Параметры

Параметр | Описание | С версии
id | Идентификатор домена. |
fields | Массив параметров домена |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Domain::update(
      490,
      [
         'DOMAIN' => 'newdomain.ru',
      ]
   );
   if ($res->isSuccess())
   {
      echo 'new id: ' . $res->getId();
   }
   else
   {
      print_r($res->getErrors());
   }
}


delete

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function Domain::delete(
   $id
);

Удаление домена. Возможно только удаление домена, внутри которого не существует сайтов.

Параметры

Параметр | Описание | Версия
id | Идентификатор домена |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Domain::delete(
      490
   );
   if ($res->isSuccess())
   {
      echo 'deleted';
   }
   else
   {
      print_r($res->getErrors());
   }
}


getHostUrl

Domain::getHostUrl(
)

Возвращает текущий адрес и протокол сервера.

Параметры

Без параметров

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   echo \Bitrix\Landing\Domain::getHostUrl();
}


getCurrentId

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function getCurrentId(
)

На основании текущего домена возвращает идентификатор сущности. Если его не существует, сначала происходит автоматическое создание

Параметры

Без параметров.

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   echo \Bitrix\Landing\Domain::getCurrentId();
}


Сайты

Описание работы с сущностью Сайты.


Поля сущности Сайт

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Поле | Описание
ID | Идентификатор сайта. Создается автоматически и уникален в рамках БД.
CODE | Уникальный символьный код сайта. Обязательное поле.
ACTIVE | Активность сайта: Y / N.
TYPE | Тип сайта. (PAGE – обычный сайт, STORE – магазин). Обязательно ознакомьтесь с понятием скоупов.
DELETED | Флаг [dw]удаленной страницы[/dw][di]Маркированные как удаленные сущности не фигурируют ни в одном запросе. Система их как бы не видит. Через API вы сможете добраться до таких сущностей только явно указав в фильтрации DELETED=Y.[/di]: Y / N.
TITLE | Название сайта. Обязательное поле.
XML_ID | Внешний ключ для нужд разработчика. Не используется сервисом
DESCRIPTION | Произвольное описание сайта. Выводится в списке сайтов.
DOMAIN_ID
  1. В случае коробочного Битрикс24. Если поле передано и оно пустое, то создастся случайный домен в зоне bitrix24.site. Иначе будет зарегистрирован новый указанный портал в зоне bitrix24.site, если он не занят. Обязательное поле.
  2. В случае БУС. Идентификатор домена. По умолчанию идентификатор текущего домена.
SMN_SITE_ID | Код сайта главного модуля (например, s1). Служит для привязки Сайта24 в административном разделе соответствующего сайта главного модуля.
LANDING_ID_INDEX | ID страницы, которая указана как главная сайта.
LANDING_ID_404 | ID страницы, которая указана как ошибка 404 сайта.
TPL_ID | Идентификатор шаблона. Поля шаблона.
LANG | Поле актуально только для облачного Битрикс24, в нем содержится идентификатор языка, по которому будет отдаваться сайт (изменяться некоторые языковые фразы, например, в оформлении заказа).
CREATED_BY_ID | Идентификатор создавшего пользователя.
MODIFIED_BY_ID | Идентификатор изменившего пользователя.
DATE_CREATE | Дата создания.
DATE_MODIFY | Дата изменения.


Дополнительные поля сущности Сайт

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Дополнительные поля

Поле | Описание
THEME_CODE | Цветовая палитра. Описание тем
THEME_CODE_TYPO | Настройки шрифтов.
B24BUTTON_CODE | Идентификатор виджета на сайт. Передается JS-путь до виджета. Например, https://cdn.bitrix24.com/crm/loader_2_ibikwq.js
B24BUTTON_COLOR | Цвет виджета, может принимать значения: site (использовать основной цвет сайта), button (использовать цвет из настроек виджета)
UP_SHOW | Показывать ли кнопку Вверх: Y / N.
Фоновая картинка
BACKGROUND_USE | Использовать функционал: Y / N
BACKGROUND_PICTURE | Путь до изображения.
BACKGROUND_POSITION | Позиционирование: center (растянуть), repeat (замостить).
BACKGROUND_COLOR | Цвет фона.
Аналитика
YACOUNTER_USE | Использовать Яндекс.Метрику: Y / N.
YACOUNTER_COUNTER | Код счетчика Яндекс.Метрики.
GACOUNTER_USE | Использовать Google Analytics: Y / N.
GACOUNTER_COUNTER | Код счетчика Google Analytics.
GACOUNTER_SEND_CLICK | Отправлять данные о кликах по кнопкам и ссылкам в Google Analytics.
GACOUNTER_SEND_SHOW | Отправлять данные о просмотре блоков страницы в Google Analytics.
GTM_USE | Использовать Google Tag Manager.
GTM_COUNTER | Код Google Tag Manager.
Карты
GMAP_USE | Использовать Google Карты: Y / N.
GMAP_CODE | Код Google Карты.
Представление сайта
VIEW_USE | Использовать представление: Y / N.
VIEW_TYPE | Тип представления: no (без представления), ltr (отступ сверху и по бокам), all (отступ со всех сторон).
Robots.txt
ROBOTS_USE | Показывать свой Robots.txt: Y / N.
ROBOTS_CONTENT | Контент robots.txt
Пользовательский HTML
HEADBLOCK_USE | Использовать: Y / N.
HEADBLOCK_CODE | Блок HEAD, произвольный html.
Пользовательский CSS
CSSBLOCK_USE | Использовать: Y / N.
CSSBLOCK_CODE | Произвольный CSS-код.
CSSBLOCK_FILE | Ссылка на CSS-файл.

Примеры

Получение списка полей:

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $fields = \Bitrix\Landing\Site::getAdditionalFields(1);
   foreach ($fields as $field)
   {
      echo 'Code: ' . $field->getCode();
      echo ' @ ';
      echo 'Value: ' . $field->getValue();
      echo "\n";
   }
}

Изменение поля для сайта с ID = 1:

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Site::update(
      1,
      [
         'ADDITIONAL_FIELDS' => [
            'UP_SHOW' => 'Y'
         ]
      ]
   );
}


Методы работы с сущностью Сайт

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Описание методов работы с сущностью Сайт.

Метод | Описание | С версии
getList | Получение списка сайтов. |
add | Добавление сайта. |
update | Изменение сайта. |
delete | Удаление сайта |
getPublicUrl | Получение полного URL сайта |
markDelete | Переместить сайт в корзину. |
markUnDelete | Вернуть сайт из корзины. |
fullExport | Экспорт сайта и всех его страниц в массив. |
switchDomain | Метод "перебрасывает" домены сайтов между собой. |
ping | Метод проверяет наличие сайта, как на существование, так и на доступность. |
addLandingToMenu | Метод добавляет страницу в меню сайта. |
addByTemplate | Добавление сайта по шаблону. |
addFolder | Метод добавляет папку в сайт. | 21.800.0
updateFolder | Метод изменяет папку в сайте. | 21.800.0
getFolder | Метод получает папку в сайте. | 21.800.0
getFolders | Метод получает папки сайта. | 21.800.0
publicationFolder | Метод публикует папку сайта. | 21.800.0
copyFolders | Метод копирует все папки из одного сайта в другой, включая вложенные. Без страниц. | 21.800.0
getPreview | Метод возвращает URL изображения-превью сайта. | 21.800.0
publication | Метод публикует сайт и все его страницы и папки. | 21.800.0
unpublic | Метод снимает сайт с публикации, а также все его страницы и папки. | 21.800.0
markFolderDelete | Метод помечает папку как удаленную (помещенную в корзину). | 21.800.0
markFolderUnDelete | Метод помечает папку как не удаленную (возвращает из корзины). | 21.800.0


add

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function Site::add(
   $fields
);

Добавление сайта.

Параметры

Параметр Описание Версия
$fields массив параметров сайта. Ключи массива:
  • TITLE - название сайта
  • DOMAIN_ID - идентификатор домена
  • CODE - код сайта. CODE должно быть уникальным в рамках домена при добавлении и изменении сайта.
  • SMN_SITE_ID - идентификатор сайта главного модуля. Подробнее - ниже

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Site::add(
      [
         'TITLE' => 'New site',
         'DOMAIN_ID' => 1,
         'CODE' => 'tratata'
      ]
   );
   if ($res->isSuccess())
   {
      echo 'new id: ' . $res->getId();
   }
   else
   {
      print_r($res->getErrors());
   }
}

И небольшое погружение в архитектуру работы Сайтов24 в коробке. Так сложилось исторически, что в Битрикс24 (и облачная и коробочная версии) Сайты располагаются в публичной части, а вот в случае БУС они размещаются в административном интерфейсе.

Причем, один Сайт24 соотносится строго с одним сайтом главного модуля. Такое связывание происходит автоматически при заходе в Сайт24 через меню. Программная связь осуществляется через поле SMN_SITE_ID. Вот пример такого кода:

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Site::add(
      [
         'TITLE' => 'New site',
         'DOMAIN_ID' => 1,
         'CODE' => 'tratata',
         'SMN_SITE_ID' => 's1'
      ]
   );
   if ($res->isSuccess())
   {
      echo 'new id: ' . $res->getId();
   }
   else
   {
      print_r($res->getErrors());
   }
}

Добавление нового сайта без привязки к SMN_SITE_ID в случае БУС не запрещается, но является достаточно специфичной задачей и выходит за рамки данной документации.

Создание по шаблону

У разработчика может возникнуть необходимость в создании сайта или страницы по шаблону. Одному из тех, которые отображаются в интерфейсе создания сайта или страницы. Вот как это можно сделать начиная с версии 18.6.0. Это можно сделать посредством обращения непосредственно к компоненту демо-шаблонов.

// подключаем компонент и иницируем его параметрами
$componentName = 'bitrix:landing.demo';
$className = \CBitrixComponent::includeComponentClass($componentName);
$demoCmp = new $className;
$demoCmp->initComponent($componentName);
$demoCmp->arParams = array(
   'TYPE' => 'STORE',// PAGE – обычный сайт, STORE – магазин
   'DISABLE_REDIRECT' => 'Y'
);
// получение списка демо-шаблонов сайтов
$tpl = $demoCmp->getDemoSite();
// и страниц
$tpl = $demoCmp->getDemoPage();
// ключами массива $tpl будет код шаблона, который и требуется передать в следующий метод
$demoCmp->actionSelect('app');

В случае магазина через данный пример не будет сделан импорт каталога, следует это учитывать. Также следует заметить, что этот код лишь пример применения API.


addByTemplate

public function Site::addByTemplate(
   $code,
   $type
);

Добавление сайта по шаблону.

Подразумевается, что разработчик выполняет код в контексте определенного шаблона (зная его заранее). Но если вы хотите вывести список доступных шаблонов, можно подсмотреть здесь.

Параметры

Метод | Описание | С версии
code | Идентификатор шаблона для создания. Параметр можно определить как показано в примере с подключением компонента. |
$type | Тип сайта. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Site::addByTemplate('app', 'STORE');
   if ($res->isSuccess())
   {
      echo 'Success created';
   }
}


addFolder

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Site::addFolder(
   $siteId,
   $fields
);

Метод добавляет папку в сайт.

Параметры

Параметры Описание С версии
$siteId Идентификатор сайта.

Внимание: Требуются права на запись в указанный сайт.
$fields Поля папки:
  • ACTIVE – активность папки (Y/N). По умолчанию создается не активной;
  • TITLE – заголовок (наименование) папки;
  • CODE – символьный код папки (часть URL страницы папки). По умолчанию транслитерируется из названия папки.

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Site::addFolder(2076, [
      'TITLE' => 'Новая папка'
   ]);
   if ($res->isSuccess())
   {
      echo 'Папка создана, идентификатор: ' . $res->getId();
   }
   else
   {
      foreach ($res->getErrors() as $error)
      {
         echo $error->getMessage() . '<br/>';
      }
   }
}


addLandingToMenu

Site::addLandingToMenu(
   int $siteId,
   array $data
): void

Метод добавляет страницу в меню сайта (проверяются все включаемые области). Новый пункт добавляется в меню при наличии ключа menu в манифесте [image]. Метод не возвращает информации.

Параметры

Параметры | Описание | С версии
$siteId | Идентификатор сайта |
$data | Массив с данными страницы ([ID, TITLE]). |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Site::addLandingToMenu([
      123, [
        'ID' => 12,
        'TITLE' => 'Новый пункт'
      ]
   ]);
   while ($row = $res->fetch())
   {
      print_r($row);
   }
}


copyFolders

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Site::copyFolders(
   $fromSite,
   $toSite,
   &$folderMap
);

Метод копирует все папки из одного сайта в другой, включая вложенные. Без страниц.

Параметры

Параметры | Описание | С версии
$fromSite | Идентификатор сайта, с которого требуется скопировать папки. Должны быть права на чтение сайта. |
$toSite | Идентификатор сайта, в который требуется копировать папки. Должны быть права на запись. |
&$folderMap | Массив по ссылке. После работы метода будет содержать массив связей старых идентификаторов папок и новых. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $map = [];
   $res = \Bitrix\Landing\Site::copyFolders(2076, 2330, $map);
   if ($res->isSuccess())
   {
      echo 'Папки скопированы';
      print_r($map);
   }
   else
   {
      foreach ($res->getErrors() as $error)
      {
         echo $error->getMessage() . '<br/>';
      }
   }
}


delete

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function Site::delete(
   $id
   $pagesDelete
);

Удаление сайта

Параметры

Параметр | Описание | С версии
$id | Идентификатор сайта. |
$pagesDelete | Удалить предварительно все страницы сайта (true) или нет (false). В последнем случае сайт не будет удален, если в нем содержатся страницы. По умолчанию false. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Site::delete(
      1
   );
   if ($res->isSuccess())
   {
      echo 'deleted';
   }
   else
   {
      print_r($res->getErrors());
   }
}


fullExport

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function Site::fullExport(
   $id,
   $params
);

Экспорт сайта и всех его страниц в массив. Метод для REST, подробно описанный в соответствующей документации [image].

Параметры

Параметр | Описание | Версия
id | Идентификатор сайта |
params | Массив параметров. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFolder

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Site::getFolder(
   $folderId,
   $accessLevel
);

Метод получает папку в сайте.

Параметры

Параметры Описание С версии
$folderId Идентификатор папки в сайте.

Внимание: Требуются права уровня $accessLevel в сайте папки.
$accessLevel Уровень проверки прав. По умолчанию равен read.
Возможные значения:
  • 'read' – право на чтение;
  • 'edit' – право на создание и изменение страниц;
  • 'sett' – право на изменение настроек;
  • 'public' – право на публикацию;
  • 'delete' – право на удаление.

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $folder = \Bitrix\Landing\Site::getFolder(147);
   print_r($folder);
}


getFolders

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Site::getFolders(
   $siteId,
   $filter
);

Метод получает папки сайта.

Параметры

Параметры Описание С версии
$siteId Идентификатор сайта.

Внимание: Требуются права на запись в указанный сайт.
$filter Опциональный фильтр. Может принимать поля:
  • ACTIVE – активность папки (Y/N). По умолчанию создается не активной;
  • DELETED – папка удалена (Y/N). По умолчанию возвращаются не удаленные папки;
  • PARENT_ID – идентификатор родительской папки;
  • TITLE – заголовок папки;
  • INDEX_ID – идентификатор индексной страницы папки;
  • CODE – символьный код папки;
  • CREATED_BY_ID – идентификатор пользователя, создавшего папку;
  • MODIFIED_BY_ID – идентификатор пользователя, изменившего папку;
  • DATE_CREATE – дата создания папки;
  • DATE_MODIFY – дата изменения папки.

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $folders = \Bitrix\Landing\Site::getFolders(2076, ['PARENT_ID' => 139]);
   print_r($folders);
}


getList

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Site::getList(
   $fields
);

Получение списка сайтов.

Параметры

Параметр | Описание | С версии
fields | массив параметров ORM |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Site::getList([
      'select' => [
         'ID', 'TITLE'
      ],
   ]);
   while ($row = $res->fetch())
   {
      print_r($row);
   }
}


getPreview

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Site::getPreview(
   $siteId
);

Метод возвращает URL изображения-превью сайта (превью индексной страницы). Сайт должен быть доступен на чтение.

Параметры

Параметры | Описание | С версии
$siteId | Идентификатор сайта. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   echo \Bitrix\Landing\Site::getPreview(2070);
}


getPublicUrl

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function Site::getPublicUrl(
   $id,
   $full = true
);

Получение полного URL сайта

Параметры

Параметр | Описание | С версии
$id | Идентифкатор сайта. Может быть также массивом идентификаторов, в таком случае в ответе будет массив URL сайтов. |
$full | если true (по умолчанию), вернется полный адрес сайта. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   echo \Bitrix\Landing\Site::getPublicUrl(1);
}


markDelete

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function Site::markDelete(
   $id,
);

Переместить сайт в корзину.

Параметры

Параметр | Описание | Версия
id | идентификатор сайта. |

Внимание! Сайт и страницы, помещенные в корзину, удаляются автоматически по истечению количества дней, указанных в настройках модуля (30 дней по-умолчанию).

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Site::markDelete(
      1
   );
   if ($res->isSuccess())
   {
      echo 'mark as deleted';
   }
   else
   {
      print_r($res->getErrors());
   }


markFolderDelete

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Site::markFolderDelete(
    $id
);

Метод помечает папку как удаленную (помещенную в корзину).

Параметры

Параметры | Описание | С версии
$id | Идентификатор папки. Права на доступ к сайту папки должны быть на удаление. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Site::markFolderDelete(729);
   if ($res->isSuccess())
   {
      echo 'Папка перемещена в корзину';
   }
   else
   {
      foreach ($res->getErrors() as $error)
      {
         echo $error->getMessage() . '<br/>';
      }
   }
}


markFolderUnDelete

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Site::markFolderUnDelete(
    $id
);

Метод помечает папку как не удаленную (возвращает из корзины).

Параметры

Параметры | Описание | С версии
$id | Идентификатор папки. Права на доступ к сайту папки должны быть на удаление. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Site::markFolderUnDelete(729);
   if ($res->isSuccess())
   {
      echo 'Папка перемещена из корзины';
   }
   else
   {
      foreach ($res->getErrors() as $error)
      {
         echo $error->getMessage() . '<br/>';
      }
   }
}


markUnDelete

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function Site::markUnDelete(
   $id
);

Вернуть сайт из корзины.

Параметры

Параметр | Описание | Версия
id | Идентификатор сайта |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Site::markUnDelete(
      1
   );
   if ($res->isSuccess())
   {
      echo 'mark as deleted';
   }
   else
   {
      print_r($res->getErrors());
   }
}


ping

Site::ping(
   $id
);

Метод проверяет наличие сайта, как на существование, так и на доступность по правам для текущего пользователя. Вернет true или в false в зависимости от результата.

Параметры

Метод | Описание | С версии
id | Идентификатор сайта. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   if (\Bitrix\Landing\Site::ping($siteId))
   {
      echo 'Сайт существует и доступен по правам';
   }
}


publication

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Site::publication(
    $id
);

Метод публикует сайт и все его страницы и папки. Сайт должен быть доступен на публикацию.

Параметры

Параметры | Описание | С версии
$id | Идентификатор сайта. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Site::publication(2621);
   if ($res->isSuccess())
   {
      echo 'Сайт опубликован';
   }
   else
   {
      foreach ($res->getErrors() as $error)
      {
         echo $error->getMessage() . '<br/>';
      }
   }
}


publicationFolder

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Site::publicationFolder(
   $folderId,
   $mark
);

Метод публикует папку сайта. Должны быть права на публикацию сайта папки.

Параметры

Параметры | Описание | С версии
$folderId | Идентификатор папки в сайте.
$mark Флаг:
  • Если true, то происходит публикация папки. Является значением по умолчанию;
  • Если false, то происходит деактивация папки.

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Site::publicationFolder(146);
   if ($res->isSuccess())
   {
      echo 'Папка опубликована';
   }
   else
   {
      foreach ($res->getErrors() as $error)
      {
         echo $error->getMessage() . '<br/>';
      }
   }
}


switchDomain

Site::switchDomain(
   int $siteId1,
   int $siteId2
)

Метод "перебрасывает" домены сайтов между собой. В случае успеха возвращает true. Сайты должны находиться в одном скоупе.

Параметры

Параметр | Описание | С версии
siteId1 | Идентификатор первого сайта |
siteId2 | Идентификатор второго сайта |

Пример

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unpublic

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Site::unpublic(
    $id
);

Метод снимает сайт с публикации, а также все его страницы и папки. Сайт должен быть доступен на публикацию.

Параметры

Параметры | Описание | С версии
$id | Идентификатор сайта. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Site::unpublic(2621);
   if ($res->isSuccess())
   {
      echo 'Сайт снят с публикации';
   }
   else
   {
      foreach ($res->getErrors() as $error)
      {
         echo $error->getMessage() . '<br/>';
      }
   }
}


update

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function Site::update(
   $id,
   $fields
);

Изменение сайта.

Параметры

Параметр | Описание | Версия
$id | Идентификатор сайта. |
$fields | Массив параметров сайта. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Site::update(
      1,
      [
         'TITLE' => 'New site 2',
      ]
   );
   if ($res->isSuccess())
   {
      echo 'new id: ' . $res->getId();
   }
   else
   {
      print_r($res->getErrors());
   }
}


updateFolder

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Site::updateFolder(
   $siteId,
   $folderId,
   $fields
);

Метод изменяет папку в сайте.

Параметры

Параметры | Описание | С версии
$siteId Идентификатор сайта.

Внимание: Требуются права на запись в указанный сайт.
$folderId | Идентификатор папки в сайте.
$fields Поля папки:
  • ACTIVE – активность папки (Y/N). По умолчанию создается не активной;
  • TITLE – заголовок (наименование) папки;
  • INDEX_ID –– идентификатор страницы внутри папки, которую требуется сделать индексной страницей папки;
  • CODE – символьный код папки (часть URL страницы папки). По умолчанию транслитерируется из названия папки.

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Site::updateFolder(2076, 147, [
      'TITLE' => 'Измененная папка'
   ]);
   if ($res->isSuccess())
   {
      echo 'Папка изменена, идентификатор: ' . $res->getId();
   }
   else
   {
      foreach ($res->getErrors() as $error)
      {
         echo $error->getMessage() . '<br/>';
      }
   }
}


Страница

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Описание принципов работы с сущностью и методов, которыми это можно сделать.


Поля сущности Страница

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Поля | Описание
ID | Идентификатор страницы. Создается автоматически и уникален в рамках БД.
CODE | Уникальный символьный код страницы. Добавляется к адресу сайта, если это не главная страница. Обязательное поле.
RULE | Регулярное выражение для вывода страницы по маске. Например, правило section/([\d]+) для страницы в корне сайта будет отвечать всем страницам вида /section/<n>/, где <n> - любое число..
ACTIVE | Активность страницы: Y / N.
DELETED | Флаг [dw]удаленной страницы[/dw][di]Маркированные как удаленные сущности не фигурируют ни в одном запросе. Система их как бы не видит. Через API вы сможете добраться до таких сущностей только явно указав в фильтрации DELETED=Y.[/di]: Y / N.
TITLE | Название страницы. Обязательное поле.
XML_ID | Внешний ключ для нужд разработчика. Не используется сервисом.
DESCRIPTION | Произвольное описание страницы. Выводится в списке страниц.
SITE_ID | Идентификатор сайта, к которому привязана страница. Обязательное поле.
CREATED_BY_ID | Идентификатор пользователя создавшего страницу.
MODIFIED_BY_ID | Идентификатор пользователя изменившего страницу.
DATE_CREATE | Дата создания.
DATE_MODIFY | Дата изменения.
SITEMAP | Страница присутствует в карте сайта (/sitemap.xml), Y / N. Только для коробочного Битрикс24.
FOLDER_ID | Идентификатор папки, где содержится страница.
TPL_ID | Идентификатор шаблона. Поля шаблона.
TPL_CODE | Идентификатор шаблона партнерского решения, на основе которого был создан сайт. Например, bitrix.eshop.
AREAS | Вспомогательное референс-поле для обращения к включаемым областям в методе Landing::getList. Если добавить в фильтрацию '!==AREAS.ID' => null, то будут выбраны все страницы, используемые как включаемые области. Если добавить !==AREAS.ID' => null, то наоборот - только НЕ включаемые области.


Дополнительные поля сущности Страница

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Дополнительные поля

Одинаковые поля Страницы с Сайтом имеют приоритет над полями Сайта.

Поле | Описание
THEME_CODE | Цветовая палитра. Описание тем
THEME_CODE_TYPO | Настройки шрифтов.
Предпросмотр в социальных сетях
METAOG_TITLE | Заголовок. тег og:title.
METAOG_DESCRIPTION | Описание, тег og:description.
METAOG_IMAGE | Изображение, тег og:image.
Мета-теги
METAMAIN_USE | Задать мета-теги: Y / N.
METAMAIN_TITLE | Заголовок, тег title.
METAMAIN_DESCRIPTION | Описание, тег description.
METAMAIN_KEYWORDS | Ключевые слова, тег keywords.
Фоновая картинка
BACKGROUND_USE | Использовать функционал: Y / N
BACKGROUND_PICTURE | Путь до изображения.
BACKGROUND_POSITION | Позиционирование: center (растянуть), repeat (замостить).
BACKGROUND_COLOR | Цвет фона.
Аналитика
YACOUNTER_USE | Использовать Яндекс.Метрику: Y / N.
YACOUNTER_COUNTER | Код счетчика Яндекс.Метрики.
GACOUNTER_USE | Использовать Google Analytics: Y / N.
GACOUNTER_COUNTER | Код счетчика Google Analytics.
GACOUNTER_SEND_CLICK | Отправлять данные о кликах по кнопкам и ссылкам в Google Analytics.
GACOUNTER_SEND_SHOW | Отправлять данные о просмотре блоков страницы в Google Analytics.
GTM_USE | Использовать Google Tag Manager.
GTM_COUNTER | Код Google Tag Manager.
Пользовательский HTML
HEADBLOCK_USE | Использовать: Y / N.
HEADBLOCK_CODE | Блок HEAD, произвольный html.
Пользовательский CSS
CSSBLOCK_USE | Использовать: Y / N.
CSSBLOCK_CODE | Произвольный CSS-код.
CSSBLOCK_FILE | Ссылка на CSS-файл.
Представление страницы
VIEW_USE | Использовать представление: Y / N.
VIEW_TYPE | Тип представления: no (без представления), ltr (отступ сверху и по бокам), all (отступ со всех сторон).
Прочее
METAROBOTS_INDEX | Индексировать страницу в поисковых системах: Y / N.

Примеры

Получение списка полей:

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $fields = \Bitrix\Landing\Landing::getAdditionalFields(1);
   foreach ($fields as $field)
   {
      echo 'Code: ' . $field->getCode();
      echo ' @ ';
      echo 'Value: ' . $field->getValue();
      echo "\n";
   }
}

Изменение поля для сайта с ID = 1:

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Landing::update(
      1,
      [
         'ADDITIONAL_FIELDS' => [
            'UP_SHOW' => 'Y'
         ]
      ]
   );
}


Специальные страницы

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

В отличие от привычных сайтов БУС в рамках одного Сайта24 может быть только одна страница корзины, одна страница оформления заказа, одна страница персонального раздела, и так далее.

Нет, вам никто не запрещает создать множество таких страниц, но чтобы страница списка товаров знала о странице корзины, а та в свою очередь о странице оформления, они должны быть привязаны в единственном экземпляре к сущностям "Специальные страницы".

Создав страницу и указав ей маркер cart (корзина) мы сможем обращаться к ней на других страницах сайта прямо в коде блока:

<a href="#system_cart">Корзина</a>

//обратите внимание, маркер намеренно ставится без закрывающегося символа решетки #

Как видите, идентификатор не задействуется, и якоря спецстраниц могут быть прописаны заранее, еще до создания соответствующих страниц.

Существующие на данный момент маркеры спец.страниц:

  • #system_mainpage – главная страница
  • #system_catalog – главная страница каталога
  • #system_personal – персональный раздел
  • #system_cart – корзина
  • #system_order – оформление заказа
  • #system_payment – страница оплаты (непосредственно процессинг оплаты)
  • #system_compare – страница сравнения

Но как привязывать конкретные страницы сайта к маркерам спец. страниц? Об этом в примере кода ниже.

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   // в рамках сайта ИД=1 установим для страницы ИД=123
   // спец. тип "персональный раздел"
   \Bitrix\Landing\Syspage::set(1, 'personal', 123);

   // либо удалим привязку для сайта, не указывая страницу
   \Bitrix\Landing\Syspage::set(1, 'personal');

   // получим все имеющиеся системные страницы сайта с ИД=1
   $syspages = \Bitrix\Landing\Syspage::get(1);

   // страницы вернутся все, даже помещенные в корзину,
   // чтобы вернуть только активные, передадим второй параметр true
   $syspages = \Bitrix\Landing\Syspage::get(1, true);

   // очистим все привязки для сайта с ИД=1
   \Bitrix\Landing\Syspage::deleteForSite(1);

   // очистим все привязки для страницы с ИД=123
   \Bitrix\Landing\Syspage::deleteForLanding(123);
}

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

Чтобы получить непосредственно URL на системную страницу сайта поможет метод:

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   echo(Bitrix\Landing\Syspage::getSpecialPage(840, 'cart'));
   echo(Bitrix\Landing\Syspage::getSpecialPage(840, 'personal', ['SECTION' => 'private']));
}

В примере для сайта ID=840 мы получаем ссылку на корзину и персональный раздел. Причем, для персонального раздела мы еще формируем конкретную секцию (к ссылке добавится ?SECTION=private).


Статические методы

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

К статическим методам сущности страницы отнесены методы ORM, их обертки, а также методы переключения и получения общих состояний.

Метод | Описание | С версии
add | Добавление страницы. |
addByTemplate | Добавление страницы по шаблону. |
getList | Получение списка страниц. |
update | Изменение страницы. |
delete | Удаление страницы |
setEditMode | Установка режима "черновик" для дальнейшей работы с объектами страниц. |
getEditMode | Вернет true, если текущий режим работы "черновик" |
setPreviewMode | Специфический системный метод, использующийся для формирования режима просмотра сайта в режиме "Предпросмотр". |
getPreviewMode | Вернет true, если текущий режим работы "предпросмотр" |
markDelete | Переместить страницу в корзину. |
markUnDelete | Вернуть страницу из корзины. |


add

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Метод add

public function Landing::add(
   $fields
);

Добавление страницы.

Параметры

Параметр | Описание | С версии
fields | Массив параметров страницы. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Landing::add(
      [
         'TITLE' => 'New page',
         'SITE_ID' => 1,
         'CODE' => 'tratata'
      ]
   );
   if ($res->isSuccess())
   {
      echo 'new id: ' . $res->getId();
   }
   else
   {
      print_r($res->getErrors());
   }
}

Создание по шаблону

У разработчика может возникнуть необходимость в создании сайта или страницы по шаблону. Одному из тех, которые отображаются в интерфейсе создания сайта или страницы. Вот как это можно сделать начиная с версии 18.6.0. Это можно сделать посредством обращения непосредственно к компоненту демо-шаблонов.

// подключаем компонент и иницируем его параметрами
$componentName = 'bitrix:landing.demo';
$className = \CBitrixComponent::includeComponentClass($componentName);
$demoCmp = new $className;
$demoCmp->initComponent($componentName);
$demoCmp->arParams = array(
   'TYPE' => 'STORE',// PAGE – обычный сайт, STORE – магазин
   'SITE_ID' => 600,//идентификатор сайта
   'SITE_WORK_MODE' => 'Y',
   'DISABLE_REDIRECT' => 'Y'
);
// получение списка демо-шаблонов сайтов
$tpl = $demoCmp->getDemoSite();
// и страниц
$tpl = $demoCmp->getDemoPage();
// ключами массива $tpl будет код шаблона, который и требуется передать в следующий метод
$demoCmp->actionSelect('app');

В случае магазина через данный пример не будет сделан импорт каталога, следует это учитывать. Также следует заметить, что этот код лишь пример применения API.


getList

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function Landing::getList(
   $fields
);

Получение списка страниц.

Параметры

Параметр | Описание | Версия
$fields | Массив параметров ORM |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Landing::getList([
      'select' => [
         'ID', 'TITLE'
      ],
   ]);
   while ($row = $res->fetch())
   {
      print_r($row);
   }
}


update

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function Landing::update(
   $id,
   $fields = array()
);

Изменение страницы.

Параметры

Параметр | Описание | Версия
id | Идентификатор страницы. |
fields | Массив параметров страницы. По умолчанию любое обращение к данному методу изменяет время последнего изменения страницы. Чтобы этого не происходило, необходимо ключ DATE_MODIFY передавать равным false. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Landing::update(
      1,
      [
         'TITLE' => 'New page 2',
      ]
   );
   if ($res->isSuccess())
   {
      echo 'updated id: ' . $res->getId();
   }
   else
   {
      print_r($res->getErrors());
   }
}


delete

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function Landing::delete(
   $id
);

Удаление страницы

Параметры

Параметр | Описание | Версия
id | Идентификатор страницы |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Landing::delete(
      1
   );
   if ($res->isSuccess())
   {
      echo 'deleted';
   }
   else
   {
      print_r($res->getErrors());
   }
}


addByTemplate

addByTemplate

public function Landing::addByTemplate(
   $siteId,
   $fields,
   $code
);

Добавление страницы по шаблону

Параметры

Параметр | Описание | С версии
siteId | ID сайта, в котором требуется создать страницу. |
code | Идентификатор шаблона для создания. Параметр можно определить как показано в примере с подключением компонента. |
fields | Необязательный. Можно передать массив полей для создаваемой страницы. Пока поддерживается только ключ TITLE и DESCRIPTION. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Landing::addByTemplate(1, 'app',
      [
         'TITLE' => 'New page',
         'DESCRIPTION' => 'New page description'
      ]
   );
   if ($res->isSuccess())
   {
      echo 'new id: ' . $res->getId();
   }
   else
   {
      print_r($res->getErrors());
   }
}


setEditMode

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function Landing::setEditMode(
   $mode = true
);

Установка режима "черновик" для дальнейшей работы с объектами страниц. Подробнее смотрите раздел работы с блоками на странице.

Параметры

Параметр | Описание | Версия
mode | Если true (по-умолчанию), будет установлен режим работы "черновик". |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEditMode

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function Landing::getEditMode(
);

Вернет true, если текущий режим работы "черновик", false в ином случае.

Параметры

Без параметров


setPreviewMode

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function Landing::setPreviewMode(
   $mode
);

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

Параметры

Параметр | Описание | Версия
$mode | Если true (по-умолчанию), будет установлен режим работы "предпросмотр". |


getPreviewMode

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function Landing::getPreviewMode(
);

Вернет true, если текущий режим работы "предпросмотр", false в ином случае.

Параметры

Без параметров


markDelete

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function Landing::markDelete(
   $id,
);

Переместить страницу в корзину.

Внимание! Страницы, помещенные в корзину, удаляются автоматически по истечению количества дней, указанных в настройках модуля (30 дней по-умолчанию).

Параметры

Параметр | Описание | Версия
id | Идентификатор страницы |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Landing::markDelete(
      1
   );
   if ($res->isSuccess())
   {
      echo 'mark as deleted';
   }
   else
   {
      print_r($res->getErrors());
   }
}


markUnDelete

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function Landing::markUnDelete(
   $id
);

Вернуть страницу из корзины.

Параметры

Параметр | Описание | С версии
id | Идентификатор страницы |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Landing::markUnDelete(
      1
   );
   if ($res->isSuccess())
   {
      echo 'mark as deleted';
   }
   else
   {
      print_r($res->getErrors());
   }
}


Методы объекта

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Описание методов работы с объектом.

Метод | Описание | С версии
addBlock | Добавление нового блока на страницу. |
clearFolderIndex | Если страница установлена главной (индексной) страницей папки, то метод этот флаг сбрасывает. | 21.800.0
copyAllBlocks | Копирует все блоки указанной страницы в текущую. |
copyBlock | Копирует блок со сторонней страницы в данную. |
deleteBlock | Удаление блока из текущей страницы. |
downBlock | Меняет блок местами с нижестоящим на данной странице. |
favoriteBlock | Метод сохраняет имеющийся на странице блок в "Мои блоки". | 21.800.0
getAreas | Вернет массив включаемых областей страницы, если они существуют. |
getBlocks | Вернет массив блоков – объекты сущностей Блок |
getDomainId | Метод возвращает идентификатор домена сайта страницы. |
getError | Вернет объект ошибки, если в моменты работы со страницей произошла ошибка. |
getFolderId | Метод возвращает идентификатор папки. |
getId | Вернет идентификатор текущей страницы. |
getMeta | Вернет мета-информацию страницы. |
getPreview | Получение адреса превью страницы (картинки). |
getPublicUrl | Получение адреса страницы. |
getSiteId | Вернет идентификатор сайта текущей страницы. |
getSiteTitle | Метод возвращает название сайта текущей страницы. |
getSmnSiteId | Вернет символьный код сайта главного модуля в случае, если сайт страницы привязан к данному сайту. |
getTitle | Вернет заголовок (название) текущей страницы. |
getCode | Вернет символьный код текущей страницы. |
getXmlId | Вернет внешний код текущей страницы. |
hideBlock | Скрывает блок со страницы. |
isActive | Вернет true или false в зависимости от того, активна или нет страница. |
markDeletedBlock | Помечает блок как удаленный / не удаленный. |
move | Метод перемещает страницу в другой сайт и/или папку. | 21.800.0
moveBlock | Перемещает блок со сторонней страницы в данную. |
publication | Публикация страницы. |
copy | Метод для копирования страницы. | 20.0.137
resolveIdByPublicUrl | Метод по переданному относительному URL страницы возвращает идентификатор страницы. | 21.800.0
resortBlocks | Пересортировка блоков страницы. |
showBlock | Активирует скрытый блок на странице. |
touch | Дата изменения страницы меняется на текущую, идентификатор изменившего пользователя меняется на текущего. |
unFavoriteBlock | Метод удаляет блок, который был сохранен в "Мои блоки". | 21.800.0
unpublic | Снятие с публикации страницы. |
upBlock | Меняет блок местами с вышестоящим на данной странице. |
view | Основной метод вывода страницы, используемый как в редакторе, так и при публикации. |


Работа с объектом

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Объект сущности Страница это самодостаточный объект, обладающий всеми характеристиками страницы, и содержащий все блоки для вывода (каждый блок также является объектом и будет рассмотрен далее). Базовый код для работы с объектом представлен ниже.

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $params = [];
   $landing = \Bitrix\Landing\Landing::createInstance(
      1,
      $params
   );
   if ($landing->exist())
   {
      //работа с лендингом
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}

Массив $params является опциональным массивом параметров, который может содержать следующие ключи:

  • force_deleted (true / false): наполнить страницу как не удаленными блоками, так и удаленными (по-умолчанию удаленные игнорируются)
  • blocks_limit (int): количество блоков, инициированных в странице (по-умолчанию инициируются все блоки, связанные со страницей); удобно указывать значение 1, если объект страницы создается для некоторых действий, не связанных с блоками (например, копирование страницы)

Обратите внимание, в самом начале идет установка работы с черновиком через метод setEditMode. Это важно, так как каждая страница может быть наполнена либо черновыми блоками, либо опубликованными.

Идеология работы с объектом предполагает, что сначала необходимо произвести работы с черновиками блоков, а потом опубликовать страницу через метод publication.

Дальнейшие методы, описанные в данном подразделе, предполагают схему работу, описанную выше (режим работы, создание инстанса, проверка существование, работа, вывод ошибок).

Внимание! Вывод ошибок расположен отдельно, так как ошибка при работе со страницей может возникнуть не только на первом уровне, но и во внутренних методах (например при публикации). Имеет смысл сначала произвести необходимые действия, а потом проанализировать существующие ошибки.


addBlock

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function addBlock(
   $code,
   $data = array()
);

Добавление нового блока на страницу. Блок сразу размещается в коллекцию текущих блоков страницы и может использоваться в рамках текущего инстанса. Метод вернет идентификатор нового блока в случае успеха.

Параметры

Параметр | Описание | Версия
code | Символьный код блока. |
data | Необязательный массив дополнительных данных: ACTIVE – активность блока (если передать N, блок добавится неактивным) SORT – сортировка блока (по-умолчанию блок добавляется в конец) CONTENT – контент блока, если по каким-либо причинам он должен быть иным, чем в репозитории ANCHOR – якорь блока, если он должен быть отличен от стандартного |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      echo $landing->addBlock('23.big_carousel_blocks');
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


clearFolderIndex

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function clearFolderIndex(
);

Если страница установлена главной (индексной) страницей папки, то метод этот флаг сбрасывает. Метод не имеет параметров.

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(20450);
   if ($landing->exist())
   {
      $landing->clearFolderIndex();
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getMessage() . '<br/>';
   }
}


copy

public function copy(
   $toSiteId,
   $toFolderId
);

Метод для копирования страницы. Возвращает идентификатор новой страницы.

Параметры

Параметр | Описание | С версии
$toSiteId | Идентификатор сайта, куда надо скопировать страницу. Не обязательный, по умолчанию текущий сайт страницы. |
$toFolderId | Идентификатор папки, куда надо скопировать страницу. Не обязательный, по умолчанию либо текущая папка, либо корень сайта. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      var_dump($landing->copy());
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


copyAllBlocks

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function copyAllBlocks(
   $lid
);

Копирует все блоки указанной страницы в текущую. Блоки будут копироваться того режима, в котором инициирована текущая страница (черновик в случае режима черновика). Помеченные к удалению блоки не копируются.

Параметры

Параметр | Описание | Версия
lid | Идентификатор другой страницы, откуда скопировать блоки в данную. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      var_dump($landing->copyAllBlocks(5689));
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


copyBlock

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function copyBlock(
   $id,
   $afterId
);

Копирует блок со сторонней страницы в данную. Вернет идентификатор нового блока (добавленного на текущую страницу).

Параметры

Параметр | Описание | Версия
id | Идентификатор блока на другой странице (ею может быть и текущая страница), который необходимо скопировать в текущую. В режиме работы с черновиком копируемый блок также должен быть в черновой версии. |
afterId | Идентификатор блока уже текущей страницы, после которого необходимо вставить скопированный блок. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      var_dump($landing->copyBlock(46459, 6651));
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


deleteBlock

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function deleteBlock(
   $id
);

Удаление блока из текущей страницы.

Параметры

Параметр | Описание | Версия
id | Идентификатор блока, размещенный на данной странице. Обратите внимание на режим работы со страницей, черновик или нет, это разные наборы блоков. Вернет true в случае успеха. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      var_dump($landing->deleteBlock(46461));
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


downBlock

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function downBlock(
   $id
);

Меняет блок местами с нижестоящим на данной странице. Метод в том числе проверяет пределы сортировки (нельзя опуститься ниже последнего места).

Параметры

Параметр | Описание | Версия
id | Идентификатор блока, размещенный на данной странице. Обратите внимание на режим работы со страницей, черновик или нет, это разные наборы блоков. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      var_dump($landing->downBlock(6651));
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


favoriteBlock

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function favoriteBlock(
    $id,
    $meta
);

Метод сохраняет имеющийся на странице блок в "Мои блоки". Возвращает идентификатор нового сохраненного блока.

Примечание: Метод может пригодиться при удалении блока из сохраненных.

Параметры

Параметр | Описание | Версия
$id | Идентификатор блока.
$meta Массив информации для сохранения блока. Содержит поля:
  • name – название блока;
  • section – массив категорий [image], куда сохранить блок;
  • preview – изображение блока.

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(20450);
   if ($landing->exist())
   {
      $landing->favoriteBlock(65656, [
         'name' => 'Мой блок',
         'section' => ['text_image', 'text'],
         'preview' => 'https://mycdn.com/pic/1.jpg'
      ]);
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getMessage() . '<br/>';
   }
}


getAreas

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function getAreas(
);

Вернет массив включаемых областей страницы, если они существуют. Ключи массива содержат порядковые номера областей, значения – идентификаторы страниц, размещенных в соответствующих областях.

Параметры

Без параметров

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      print_r($landing->getAreas());
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getBlocks

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function getBlocks(
);

Вернет массив блоков – объекты сущностей Блок. Принцип работы с блоками освещен далее в документации.

Параметры

Без параметров

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      var_dump($landing->getBlocks());
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getCode

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function getCode(
);

Вернет символьный код текущей страницы.

Параметры

Без параметров

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      var_dump($landing->getTitle());
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getDomainId

getDomainId(
)

Метод возвращает идентификатор домена сайта страницы.

Параметры

Без параметров

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      var_dump($landing->getDomainId());
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getError

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function getError(
);

Вернет объект ошибки, если в моменты работы со страницей произошла ошибка.

Параметры

Без параметров

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      -1
   );
   if ($landing->exist())
   {
      //
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getFolderId

getFolderId(
)

Метод возвращает идентификатор папки, в которой лежит текущая страница или 0 в ином случае.

Параметры

Без параметров

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      var_dump($landing->getFolderId());
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getId

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

getId(
)

Вернет идентификатор текущей страницы.

Параметры

Без параметров

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      var_dump($landing->getId());
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getMeta

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

getMeta(
)

Вернет мета-информацию страницы (дата создания и изменения, кто создал и кто изменил).

Параметры

Без параметров

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      var_dump($landing->getMeta());
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getPreview

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

getPreview(
)

Получение адреса превью страницы (картинки). В случае Битрикс24 вернется реальный скриншот страницы (как она выглядит в браузере), в случае БУС вернется картинка из поля "вид страницы в соц.сетях" в настройках страницы.

Параметры

Без параметров

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      echo $landing->getPreview();
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getPublicUrl

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

public function getPublicUrl(
   $id = false,
   $absolute = true,
   $createPubPath = false
);

Получение адреса страницы.

Параметры

Параметр | Описание | Версия
id | По-умолчанию false, будет выведен адрес текущей страницы, но можно передать идентификатор иной страницы, или массив идентификаторов (что более актуально для оптимизации запроса). |
absolute | Если true (по-умолчанию), вернется абсолютный адрес страницы, включая доменное имя и протокол. |
createPubPath | Если true (по-умолчанию false) произойдет создание физической директории публикации, если ее не существует. |

Примеры

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      echo($landing->getPublicUrl());
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}

Пример группового получения ссылок на страницы

Внимательный читатель мог заметить, что в параметр id можно передать массив идентификаторов страниц. Но где взять изначальный объект $landing, который должен быть инициирован? В виде хитрости можно создать так называемый нулевой лендинг. Он заведомо не существует, поэтому мы создаем его исключительно для получения ссылок, без каких-либо иных проверок:

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $landing = \Bitrix\Landing\Landing::createInstance(
      0
   );
   $publicUrls = $landing->getPublicUrl([1,2,3]);//идентификаторы страниц
   print_r($publicUrls);
}

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]


getSiteId

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function getSiteId(
);

Вернет идентификатор сайта текущей страницы.

Параметры

Без параметров

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      var_dump($landing->getSiteId());
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getSiteTitle

getSiteTitle

Метод возвращает название сайта текущей страницы.

Параметры

Без параметров

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      var_dump($landing->getSiteTitle());
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getSmnSiteId

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function getSmnSiteId(
);

Актуально для "1С-Битрикс: Управление сайтом".

Вернет символьный код сайта главного модуля в случае, если сайт страницы привязан к данному сайту. В ином случае вернет системную константу SITE_ID.

Параметры

Без параметров

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      var_dump($landing->getSmnSiteId());
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getTitle

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function getTitle(
);

Вернет заголовок (название) текущей страницы.

Параметры

Без параметров

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      var_dump($landing->getTitle());
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getXmlId

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

getXmlId(
)

Вернет внешний код текущей страницы.

Параметры

Без параметров

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      var_dump($landing->getXmlId());
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


hideBlock

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function hideBlock(
   $id
);

Скрывает блок со страницы.

Параметры

Параметр | Описание | Версия
id | Идентификатор блока, размещенный на данной странице. Обратите внимание на режим работы со страницей, черновик или нет, это разные наборы блоков. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      var_dump($landing->hideBlock(6651));
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


isActive

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

isActive(
)

Вернет true или false в зависимости от того, активна (опубликована) или нет страница.

Параметры

Без параметров

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      var_dump($landing->isActive());
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


markDeletedBlock

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function markDeletedBlock(
   $id,
   $mark
)

Помечает блок как удаленный / не удаленный. Помеченные как удаленные блоки продолжают существовать в базе данных, но не фигурируют в инстансе страницы. За исключением случаев, когда объект инициирован специально с удаленными блоками.

Параметры

Параметр | Описание | С версии
$id | Идентификатор блока, размещенный на данной странице. Обратите внимание на режим работы со страницей, черновик или нет, это разные наборы блоков. |
$mark | true - по умолчанию (пометить удаленным) / false (снять пометку) |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      var_dump($landing->markDeletedBlock(26, true));
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


move

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function move(
   $toSiteId,
   $toFolderId
);

Метод перемещает страницу в другой сайт и/или папку.

Параметры

Параметр | Описание | Версия
$toSiteId | Идентификатор сайта, куда надо переместить страницу. Должны быть права на запись в данный сайт. |
$toFolderId | Идентификатор папки сайта, куда надо переместить страницу. Папка должна находиться в указанном сайте. Для перемещения в корень сайта параметр следует опустить. (для перемещения в текущем сайте - опустить и первый параметр). |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(20444);
   if ($landing->exist())
   {
      var_dump($landing->move(2621, 7241));
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getMessage() . '<br/>';
   }
}


moveBlock

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function moveBlock(
   $id,
   $afterId
);

Перемещает блок со сторонней страницы в данную. Вернет идентификатор нового блока (добавленного на текущую страницу).

Параметры

Параметр | Описание | Версия
id | Идентификатор блока на другой странице (ею может быть и текущая страница), который необходимо скопировать в текущую. В режиме работы с черновиком копируемый блок также должен быть в черновой версии. |
afterId | Идентификатор блока уже текущей страницы, после которого необходимо вставить скопированный блок. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      var_dump($landing->moveBlock(464591, 6651));
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


publication

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

publication(
)

Публикация страницы. Вернет true в случае успеха.

Параметры

Без параметров

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      $landing->publication();
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


resolveIdByPublicUrl

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function resolveIdByPublicUrl(
    $landingUrl,
    $siteId
);

Метод по переданному относительному URL страницы возвращает идентификатор страницы.

Параметры

Параметр | Описание | Версия
$landingUrl | Относительный URL страницы. |
$siteId | Идентификатор сайта. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   echo \Bitrix\Landing\Landing::resolveIdByPublicUrl('/folder/sub/subfolder/advokat/', 2621);
}


resortBlocks

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function resortBlocks(
)

Пересортировка блоков страницы. Устанавливает всем блокам сортировку в шаг 500.

Параметры

Без параметров

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      $landing->resortBlocks();
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


showBlock

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function showBlock(
   $id
)

Активирует скрытый блок на странице.

Параметры

Параметр | Описание | С версии
$id | Идентификатор блока, размещенный на данной странице. Обратите внимание на режим работы со страницей, черновик или нет, это разные наборы блоков. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      var_dump($landing->showBlock(6651));
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


touch

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function touch(
);

Дата изменения страницы меняется на текущую, идентификатор изменившего пользователя меняется на текущего.

Параметры

Без параметров

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      $landing->touch();
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


unFavoriteBlock

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function unFavoriteBlock(
    $blockId
);

Метод удаляет блок, который был сохранен в "Мои блоки".

Параметры

Параметр | Описание | Версия
$blockId | Идентификатор блока. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(20450);
   if ($landing->exist())
   {
      $landing->unFavoriteBlock(65656);
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getMessage() . '<br/>';
   }
}


unpublic

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

unpublic(
)

Снятие с публикации страницы. Вернет true в случае успеха.

Параметры

Без параметров

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      $landing->unpublic();
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


upBlock

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function upBlock(
   $id
);

Меняет блок местами с вышестоящим на данной странице. Метод в том числе проверяет пределы сортировки (нельзя подняться выше первого места).

Параметры

Параметр | Описание | Версия
id | Идентификатор блока, размещенный на данной странице. Обратите внимание на режим работы со страницей, черновик или нет, это разные наборы блоков. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      var_dump($landing->upBlock(6651));
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


view

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function view(
   array $params = array()
);

Основной метод вывода страницы, используемый как в редакторе, так и при публикации. Выводит блоки один за другим в браузер, обрамляя его в блоки и добавляя JS-скрипт в случае редактора.

Параметры

Параметр | Описание | Версия
params | массив параметров, который может содержать: parse_link (true/false – заменять маркеры ссылок на другие страницы и блоки, по-умолчанию true), apply_template (true / false – подставлять шаблон отображения страницы, если страница составная (например, с шапкой и подвалом), по-умолчанию true) |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      $landing->view();
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


Папки

Описание методов и приёмов работы с Папками.

Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.


Поля сущности Папка

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Поля | Описание
ID | Идентификатор папки. Создается автоматически и уникален в рамках БД.
PARENT_ID | Идентификатор родительской папки.
SITE_ID | Идентификатор сайта папки. Обязательное поле.
INDEX_ID | Идентификатор главной страницы папки.
ACTIVE | Активность страницы: Y / N.
DELETED | Флаг [dw]удаленной папки[/dw][di]Маркированные как удаленные сущности не фигурируют ни в одном запросе. Система их как бы не видит. Через API вы сможете добраться до таких сущностей только явно указав в фильтрации DELETED=Y.[/di]: Y / N.
TITLE | Название папки. Обязательное поле.
CODE | Уникальный в рамках родительской папки или корня сайта символьный код папки. Обязательное поле.
CREATED_BY_ID | Идентификатор пользователя создавшего папку.
MODIFIED_BY_ID | Идентификатор пользователя изменившего папку.
DATE_CREATE | Дата создания.
DATE_MODIFY | Дата изменения.


Методы работы с сущностью Папка

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Описание методов работы с сущностью Папка.

Метод | Описание | С версии
getBreadCrumbs | Метод возвращает массив всей цепочки папок от текущей и до корня сайта.. |
getBreadCrumbsString | Обертка над методом Folder::getBreadCrumbs. Возвращает цепочку папок в виде строчки. |
getFolder | Обертка над методом Folder::getBreadCrumbs. Возвращает полный адрес папки. |
Прочие методы | Работа с папками также реализуется через методы сущности Сайт. |


getBreadCrumbs

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Folder::getBreadCrumbs(
   $folderId,
   $siteId
);

Возвращает массив всей цепочки папок от текущей и до корня сайта. Метод не проверяет права на доступ к сайту.

Параметры

Параметры | Описание | С версии
$folderId | Идентификатор папки, для которой требуется построить цепочку. |
$siteId | Идентификатор сайта папки. Не обязательный параметр, но если передан, позволит сэкономить один запрос. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   print_r(\Bitrix\Landing\Folder::getBreadCrumbs(729));
}


getBreadCrumbsString

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Folder::getBreadCrumbsString(
   $folderId,
   $glue,
   $siteId
);

Обертка над методом Folder::getBreadCrumbs. Возвращает цепочку папок в виде строчки. Метод не проверяет права на доступ к сайту.

Параметры

Параметры | Описание | С версии
$folderId | Идентификатор папки, для которой требуется построить цепочку. |
$glue | Соединительная строка. |
$siteId | Идентификатор сайта папки. Не обязательный параметр, но если передан, позволит сэкономить один запрос. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   echo \Bitrix\Landing\Folder::getBreadCrumbsString(729, ' / ');
}
// >> Папка / Вложенная папка / Еще одна папка


getFullPath

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Folder::getFullPath(
   $folderId,
   $siteId
);

Обертка над методом Folder::getBreadCrumbs. Возвращает полный адрес папки. Метод не проверяет права на доступ к сайту.

Параметры

Параметры | Описание | С версии
$folderId | Идентификатор папки, для которой требуется построить цепочку. |
$siteId | Идентификатор сайта папки. Не обязательный параметр, но если передан, позволит сэкономить один запрос. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   echo \Bitrix\Landing\Folder::getFullPath(729);
}
// >> /folder/sub/folder/


Прочие методы

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Работа с папками также реализуется через методы сущности Сайт.

Метод | Описание | С версии
addFolder | Метод добавляет папку в сайт. |
updateFolder | Метод изменяет папку в сайте. |
getFolder | Метод получает папку в сайте. |
getFolders | Метод получает папки сайта. |
publicationFolder | Метод публикует папку сайта. |
copyFolders | Метод копирует все папки из одного сайта в другой, включая вложенные. Без страниц. |
getPreview | Метод возвращает URL изображения-превью сайта. |
publication | Метод публикует сайт и все его страницы и папки. |
unpublic | Метод снимает сайт с публикации, а также все его страницы и папки. |
markFolderDelete | Метод помечает папку как удаленную (помещенную в корзину). |
markFolderUnDelete | Метод помечает папку как не удаленную (возвращает из корзины). |


Блоки

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Описание принципов работы с Блоками страницы


Создание и изменение блока

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Создание блока

Создать свой блок достаточно просто. Все блоки размещаются на диске по пути /bitrix/blocks/, далее идет разграничение по так называемым пространствам имен. Добавить свой блок вы можете непосредственно в свое пространство, предварительно создав его. Пространство имён - это просто каталог внутри /bitrix/blocks/.

Примечание: Также поддерживается директория /local [image].

Блок состоит из следующих файлов:

  1. Основного тела блока block.php, там содержится разметка блока, которая копируется в базу данных при добавлении блока на страницу.
  2. Файла .description.php, где находится манифест блока [image]. Для показа блока в репозитории необходимо как минимум название блока в таком Пространстве имён.
  3. Языковые файлы (согласно правилам языковых файлов Bitrix Framework).
  4. Необязательные файлы script.js/style.css, которые будут подключены вместе с блоком и могут нести дополнительную логику/отображение.
  5. Необязательный файл design_style.css, в котором можно отразить css-правила, который будут применяться исключительно в конструкторе блока. Например, можно скрывать лишние карточки.
  6. Необязательный файл preview.jpg, который служит иллюстрацией блока в каталоге.

Данные файлы размещаются внутрь папки с определенным названием (лучше использовать латиницу, цифры, символы "." и "-"). С этого момента имя папки будет служить также и символьным кодом блока, прописываться в базу данных при добавлении блока на страницу. Будьте с этим осторожны.

Обратите внимание, что имя блока должно быть уникально в рамках всей установки. К примеру, если есть блок about в пространстве bitrix и в пространстве my, то в системе будет существовать только один блок, причем тот, который в пространстве my, так как оно расположено ниже пространства bitrix. Это сделано специально для возможности переопределения штатных блоков разработчиками. При распространении таких блоков через Маркетплейс рекомендуется именам блоков давать префикс партнера. Облачный REST лишен таких условий и рекомендуется к распространению как более универсальный вариант.

Важно! После добавления блока (блоков) обязательно сделайте вызов кода для очистки кеша (либо через административный интерфейс в настройках кеширования):

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Block::clearRepositoryCache();
}

Важно! Пространство имен bitrix является зарезервированным и подгружается с облачного сервиса компании Битрикс. Находящиеся там блоки не относятся к каталогу в редакторе и размещены в ознакомительных целях.

Верстку новых блоков вы можете заказать у специалиста, или воспользоваться предложенными дополнительными блоками вендора [image].

Примеры

Пример файла block.php

<section class="landing-block">
    <div class="text-center g-color-gray-dark-v3 g-pa-10">
        <div class="g-width-600 mx-auto">
            <div class="landing-block-node-text g-font-size-12 ">
                <p>© 2017 All right reserved. Developed by
                <a href="#" class="landing-block-node-link g-color-primary">Bitrix24</p>
            </div>
        </div>
    </div>
</section>

Пример файла .description.php

<?php
if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true)
{
   die();
}

use \Bitrix\Main\Localization\Loc;

return array(
   'block' =>
      array(
         'name' => Loc::getMessage('LANDING_BLOCK_32.'),
         'section' => array('image'),
      ),
   'cards' => array(),
   'nodes' =>
      array(
         '.landing-block-node-img-big' =>
            array(
               'name' => Loc::getMessage('LANDING_BLOCK_32.1'),
               'type' => 'img',
               'dimensions' => array('width' => 1440, 'height' => 960),
               'allowInlineEdit' => false,
            ),
      ),
);

Обновление блоков

Если вы хотите обновить верстку в уже добавленных блоков на страинцах, вам прежде надо изменить оригинал блока в репозитории, а затем выполнить код ниже. Обратите внимание, технология тестовая и требует отдельного тестирования на блоках, которые вы хотите изменить. Подробнее...

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Update\Block::register(
      '20.3.four_cols_fix_img_title_text',//символьный код блока
      $params
   );
}

Массив параметров в ключах хранит селекторы, на которые нужно соответствующим образом повлиять при обновлении. В значениях же содержится массива с двумя опциональными ключами (new_class, remove_class):

$params = [
      '.landing-block-node-card-title' => [
         'new_class' => ['g-pr-0', 'g-pr-15--md', 'g-mb-8', 'g-mb-0--md'],
         // добавляем классы для селектора landing-block-node-card-title

         'remove_class' => ['u-heading-v1__title', 'mb-0'],
         // удаляем классы из селектора landing-block-node-card-title

      ],
      '.landing-block-node-card-price' => [
         'new_class' => 'd-inline-block g-ml-0 g-ml-15--md',
      ],
]

Если вдруг что-то пошло не так и требуется отменить индексацию:

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Update\Block::unregister(
      '20.3.four_cols_fix_img_title_text'
   );
}

Если надо потестировать на конкретном блоке сначала, как происходит обновление:

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Update\Block::executeStep([
      'ID' => 44148 // ID блока
   ], $count = 0, $limit = 1, $params = []);
}

Константа для разработки

Также в системе присутствует константа

define("LANDING_DEVELOPER_MODE", true);

Если она определена, то [dw]при выводе блоков[/dw][di]В режиме редактирования или просмотра.[/di] система будет сравнивать дату последнего изменения блока на странице и файла блока в репозитории. Если последняя выше, произведет обновление в базе, оставив нетронутым содержимое блока.

Настоятельно рекомендуем использовать константу только в режиме разработки и отключать для продакшена.


Компоненты внутри блоков

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Недоступно для REST!

Размещение компонента

Разместить компонент (и даже не один) в блоке достаточно просто. Для этого внутри block.php размещаете вызов нужных вам компонентов.

<?php
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true)
{
   die();
}
?>
<section class="landing-block g-pt-100 g-pb-100">
   <div class="container g-font-size-13">
      <?$APPLICATION->IncludeComponent(
         "bitrix:catalog.element",
         "bootstrap_v4",
         array(
            "COUNT_DISCOUNT_4_ALL_QUANTITY" => "N",
            "DEFERRED_REFRESH" => 'N',
            "SHOW_FILTER" => 'N',
            "TOTAL_BLOCK_DISPLAY" => ['top', 'bottom'],
         ),
         false
      );?>
   </div>
</section>

Обратите внимание, параметры блока являются предустановленными. И в отличии от простейшего html-блока здесь первой строчкой идет проверка системной константы B_PROLOG_INCLUDED во избежании прямого доступа к файлу.

Если вам нужно дать возможность влиять на некоторые настройки блока, необходимо в манифесте блока соответствующим образом указать необходимые коды параметров в ключе nodes:

...
'nodes' => array(
   'bitrix:catalog.element' => array(
      'type' => 'component',
      'extra' => array(
         'editable' => array(
            'ELEMENT_ID' => array(),
            'HIDE_NOT_AVAILABLE' => array(),
            'DISCOUNT_PERCENT_POSITION' => array(
               'style' => true
            ),
         )
      )
   ),
),
...

Если вы хорошо уже знакомы с манифестом блока, то легко поймете, что здесь bitrix:catalog.element выступает в роли селектора, но является именем размещенного в блоке компонента. А ключи массива editable являются как раз теми настройками, которые мы разрешаем для изменения в рамках конкретного блока пользователем. Маркированные таким образом свойства будут доступны в форме редактирования блока. В случае указания style = true настройка будет размещаться в форме редактирования дизайна блока.

Название параметра, его тип и прочие параметры берутся непосредственно с параметра компонента, таким образом, перечисленные здесь ключи должны обязательно присутствовать в составе параметров компонента (быть прописаны в .parameters.php).

Редактирование параметров

Итак, блок с компонентом внутри размещен на странице. Как изменить какой-то параметр вызова такого компонента? Прежде всего, таким образом можно менять только параметры, которые разрешены в манифесте блока.

И сам код, меняющий один из параметров (но можно передавать и сразу массив):

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      5597
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 44131)
         {
            $block->updateNodes([
               'bitrix:catalog.section' => [
                  'MESS_BTN_BUY' => 'Add to my cart'
               ]
            ]);
            $block->save();
            $landing->getError()->copyError(
               $block->getError()
            );
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


Собственные типы нод

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Как вы уже знаете, в системе есть ряд предустановленных типов нод [image] (и +1 коробочный тип component). Данные типы охватывают максимально допустимый для редактирования контент и предполагают, что 99% задач могут быть ими решены.

Если же вы уверены, что для вашей задачи просто необходим собственный тип ноды, вам нужно сделать следующее:

  1. Создать класс-наследник от абстрактного класса Bitrix\Landing\Node. Если вы хотите всего лишь изменить поведение стандартных типов, то можете отнаследоваться от подходящего вам класса в пространстве Bitrix\Landing\Node.
  2. В наследуемом классе необходимо реализовать следующие методы:
    • getHandlerJS, возвращающий строку, название JS-класса обработчика типа для редактора (об этом еще ниже),
    • saveNode, обработчик сохранения контента вашего типа (его задача изменить по передаваемому селектору и позиции контент согласно вашей логике),
    • getNode, обработчик получения контента вашего типа (его задача по переданному селектору вернуть массив данных этого типа; в данный момент метод применяется для экспорта сайта),
    • при желании вы можете реализовать еще метод prepareManifest, который позволит вам изменять манифест блока до того как он будет отдан редактору.
  3. Этот класс должен быть доступен в момент вызова обработчика на регистрацию вашего типа.
    $eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('landing', 'onGetNodeClass',
   function(\Bitrix\Main\Event $event)
   {
      $result = new \Bitrix\Main\Entity\EventResult;
      $type = $event->getParameter('type');
      if ($type == 'my_type')
      {
         $result->modifyFields(array(
            'class' => 'MyTypeNode'
         ));
      }
      return $result;
   }
);
    Именно данный обработчик свяжет ваш класс MyTypeNode с новым типом my_type.

В заключении о JS-обработчике, упомянутом выше. Если серверная часть отвечает за сохранение данных определенного типа, то на клиентской части остаются интерфейсы взаимодействия данного типа с пользователем. Как они будут выглядеть и как взаимодействовать, это уже решать разработчику такого типа. За примерами вы можете обратить к одному из существующих JS-типов по пути /bitrix/js/landing/node.

Одним из самых простых для интуитивного понимания по коду является тип icon. Детальное описание создание собственных типов выходит за рамки данной статьи.


Собственные стили нод

Описание

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

В манифесте описан ключ style [image] и приведены группы стилей, которые вы можете назначать той или иной ноде. В коробочной версии есть возможность его расширять.

Внутри вашего пространства блоков создайте файл .style.php. Обратите внимание, это не переопределение существующих стилей, это именно их дополнение. Рекомендуется дополнять стили по мере необходимости и если они только действительно отсутствуют в штатной поставке.

Содержимое файла является массивом из двух секций:

return [
   'style' => [
      //
   ],
   'group' => [
      //
   ]
];

Рассмотрим каждую из них подробнее. За полноценным примером вы всегда можете обратиться к коробочной версии файла по пути /bitrix/blocks/bitrix/.style.php.

Секция style

Элементы этого массива как раз то, что вы видите в интерфейсе изменения дизайна блоков. Содержит ключи и их значения, где ключи не играют роли, а значения являются массивами:

  • name – название свойства
  • property – css-свойство, согласно спецификации, на которое влияет данный контрол
  • type – тип свойства (как он будет отображен в интерфейсе)
  • items – список значений свойства (с которыми происходит работа в интерфейсе)

Тут стоит напомнить, что архитектурно мы не меняем атрибут style в ноде при изменении какого-либо свойства, описанного в таких манифестах. Мы меняем лишь атрибут class, добавляя или удаляя css-класс. И интерфейс сможет работать только с перечисленными в манифесте css-классами.

Рассмотрим на примере. Вот массив css-свойства font-family.

'font-family' => array(
   'name' => Loc::getMessage('LANDING_BLOCK_STYLE_FONT_FAMILY'),
   'property' => 'font-family',
   'type' => 'list',
   'items' => array(
      array('name' => 'Open Sans', 'value' => 'g-font-open-sans'),
      array('name' => 'Helvetica', 'value' => 'g-font-helvetica'),
      array('name' => 'Montserrat', 'value' => 'g-font-montserrat'),
      array('name' => 'Roboto', 'value' => 'g-font-roboto'),
      array('name' => 'Roboto Slab', 'value' => 'g-font-roboto-slab'),
      array('name' => 'PT Sans', 'value' => 'g-font-pt-sans'),
      array('name' => 'PT Sans Narrow', 'value' => 'g-font-pt-sans-narrow'),
      array('name' => 'PT Sans Caption', 'value' => 'g-font-pt-sans-caption'),
      array('name' => 'Cormorant Infant', 'value' => 'g-font-cormorant-infant'),
      array('name' => 'Alegreya Sans', 'value' => 'g-font-alegreya-sans'),
      array('name' => 'Lobster', 'value' => 'g-font-lobster'),
      array('name' => 'Menlo', 'value' => 'g-font-code'),
   )
),

Как видите, это просто массив допустимых шрифтов, которые могут быть отображены в интерфейсе. И если пользователь в интерфейсе выберет, например, Roboto Slab, то в ноду добавится css-класс g-font-roboto-slab, а другие классы из данного свойства будут удалены.

Естественно, в стилевом файле шаблона должны быть определены css-классы, которые перечисляются в таких массивах.

Как следствие из всего вышесказанного, массив items это массив массивов формата [name=визуальное отображение, value=сохраняемый класс].

Далее будут перечислены системные style-типы.

buttons – кнопки, стиль кнопки отрисовывается за счет html-кода, сохраняемого в ключе name

array('name' => '<span class="landing-ui-align landing-ui-align-center"><em></em></span>', 'value' => 'text-center'),

slider – ползунок, как правило, это что-либо числовое, в name содержатся допустимые значения

array('name' => '14', 'value' => 'g-font-size-14'),

list – выпадающий список значений

array('name' => 'Roboto Slab', 'value' => 'g-font-roboto-slab'),

palette – палитра, выводятся перечисленные классы в их цветовом исполнении (предполагается, что каждый класс отвечает за определенный цвет)

array('name' => 'g-color-white-opacity-0_5', 'value' => 'g-color-white-opacity-0_5'),

Секция group

Как правило, на ноду можно влиять группой css-свойств. Например, у блока можно поменять не только отступы, но и добавить тень, поменять фон. В общем, все то, что присуще блочным элементам. Поэтому, в типах стилевых нод указывается не одно из значений выше, а одна из групп (или массив групп), перечисленных ниже.

Например, вы решили создать новый тип typo-shadow со своим специфичным набором css-свойств. Тогда ключ group будет выглядеть так

'group' => array(
   'typo-shadow' => array(
      'color', 'font-size', 'text-shadow'
   ),
)

И теперь в манифесте уже блока вы сможете указывать данный стилевой тип, чтобы у него появились перечисленные css-свойства:

'.landing-block-node-title' => array(
    'name' => 'Заголовок',
    'type' => 'typo-shadow',
),


Редактирование динамического контента

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Если внутри блока выводится компонент, то логично чтобы к элементам контента компонента применялись общие правила редактирования Сайтов24.

Если вы это сделаете на основании уже полученных знаний, то увидите, что элементы действительно поддаются редактированию, но сохранения не происходит (после обновления страницы). Дело в том, что серверу необходимо передать информацию какой именно динамический элемент и его часть вы меняете, так как он ничего не знает о выводимом контенте, а оперирует только вызовом компонента. Модуль Сайты24 дает такую возможность.

Для простоты возьмем компонент списка новостей. Согласно идеологии Сайтов24 вы зашиваете внутри блока максимально предустановленные параметры вызова компонента, давая на редактирование только реально нужные параметры. Как, например, количество новостей на страницу, или источник новостей.

  1. Прежде всего необходимо внести изменения в шаблон компонента, добавив класс и связующий идентификатор
    <span class="news-text" data-id="<?= $arItem['ID'];?>"><?echo $arItem["PREVIEW_TEXT"];?></span>
    Класс news-text ниже мы пропишем в манифесте блока уже как текстовый тип, а в data-id мы передаем идентификатор новости. При желании вы тут можете указать еще ряд атрибутов, которые вам нужны будут на сервере, но лучше конечно их количество минимизировать. Если вам на данный момент еще ничего не понятно, ничего страшного :).
  2. В манифесте блока в секции nodes указываем, что данный класс обладает возможностью редактирования как текст:
    '.news-text' =>
   array(
      'name' => 'Описание новости',
      'type' => 'text_component',
      'extend' => array(
         'attrs' => array(
            'data-id'
         )
      )
   ),
    Внимательный читатель заметит, что здесь мы указываем не type = text, а некий text_component. Об этом ниже. В extend мы передаем тот самый атрибут, который прописали в шаблоне – data-id. Это сообщит системе, что данный атрибут необходимо передать на сервер в момент сохранения (иначе мы не узнаем какую именно новость редактируем в данный момент).
  3. Теперь нам необходимо зарегистрировать собственный тип ноды text_component. Разумеется название типа может быть иным, на ваше усмотрение.
  4. Так как нас полностью устраивает поведение типа text, давайте отнаследуемся от него. В итоге у нас получится такой класс-наследник:
    \Bitrix\Main\Loader::includeModule('landing');

class MyTextNode extends \Bitrix\Landing\Node\Text
{
   public static function saveNode(\Bitrix\Landing\Block &$block, $selector, array $data, $additional = array())
   {
      if (!\Bitrix\Main\Loader::includeModule('iblock'))
      {
         return;
      }
      $iblockEl = new \CIBlockElement;

      foreach ($data as $pos => $value)
      {
         if (isset($additional[$selector . '@' . $pos]))
         {
            $data = $additional[$selector . '@' . $pos];
            $id = $data['data-id'];
            $iblockEl->update(
               $id,
               array(
                  'PREVIEW_TEXT' => $value,
                  'PREVIEW_TEXT_TYPE' => 'html'
               )
            );
         }
      }
   }
}
    Где нужно переопределить только один метод saveNode. И вот тут картинка должна сложиться окончательно. Мы получаем сохраняемые данные в $data (в данном примере это текст изменяемой новости), получаем идентификатор новости из прилетевшего атрибута, и изменяем соответствующую новость посредством API модуля Инфоблоков.
  5. Не забудьте зарегистрировать новый тип обработчиком
    $eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('landing', 'onGetNodeClass',
   function(\Bitrix\Main\Event $event)
   {
      $result = new \Bitrix\Main\Entity\EventResult;
      $type = $event->getParameter('type');
      if ($type == 'text_component')
      {
         $result->modifyFields(array(
            'class' => '\MyTextNode'
         ));
      }
      return $result;
   }
);

В этой статье дан упрощенный пример редактирования контента. Вы можете усложнять схемы, давая на редактирование не только описания и названия, но и различные свойства. Тут вам и могут потребоваться дополнительные атрибуты для передачи на сервер. Как, например, символьный код редактируемого свойства.

Полезные ссылки

Сайты24 и собственный домен в коробке


Класс блока

Описание

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Если размещать компоненты в блоках как есть, то проблем не будет. Но часто бывает, что требуется модифицировать ряд не настраиваемых параметров компонента, прежде чем они будут переданы в вызов компонента. Например, ссылка на корзину зависит от того, есть ли вообще в составе сайта страница корзины. Размещать такие условия в теле block.php технически возможно, но стилистически выглядит неряшливо.

Для этих целей (и пока только для этих) был введен так называемый класс блока. Это файл class.php, который размещается рядом с block.php и содержит внутри себя класс, отнаследованный от \Bitrix\Landing\LandingBlock. Класс может быть с любым названием, которое не пересекается с системными и является валидным именем класса.

Внимание! Помимо самого class.php в манифесте блока необходимо явно прописать его namespace (название директории, где располагается блок):

return array(
   'block' =>
      array(
         .....
         'namespace' => 'bitrix'
      ),

Внутри класса вы можете переопределить три метода:

  • init(array $params = [])
    Вызывается раз на страницу, независимо от количества блоков данного класса. Следует применять для определения общих параметров любых блоков класса данной страницы.

    На вход поступает массив параметров:
    site_id – идентификатор сайта страницы блока
    landing_id – идентификатор страницы блока.

  • beforeView(\Bitrix\Landing\Block $block)
    Вызывается каждый раз перед вызовом на странице блока данного класса. Следует применять метод только при необходимости влиять на конкретный блок. На вход принимает объект текущего блока.
  • beforeAdd(\Bitrix\Landing\Block $block)

    Вызывается единожды, при создании блока на странице. Не имеет значения, добавляется ли блок в редакторе, при создании шаблона или через REST. Позволяет дополнительно обработать контент конкретного блока перед вставкой. На вход принимает объект текущего блока.

Внутри одного из методов выше вам необходимо повлиять на внутренний массив $this->params, тогда к этим параметрам вы сможете обратиться непосредственно внутри содержимого блока.

Пример

Давайте рассмотрим на примере. Ниже полноценный класс одного из блоков. В методе init мы получаем массив системных страниц сайта, и на основании существования страницы перс.раздела решаем, инициировать ли нам параметр SHOW_PERSONAL_LINK в Y или N. Метод beforeView приведен для примера и логирует идентификатор текущего блока.

<?php
if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true)
{
   die();
}

use \Bitrix\Landing\Manager;

class CatalogListBlock extends \Bitrix\Landing\LandingBlock
{
   public function init(array $params = [])
   {
      $syspages = \Bitrix\Landing\Syspage::get(
         $params['site_id'],
         true
      );

      if (isset($syspages['personal']) && Manager::getUserId())
      {
         $this->params['SHOW_PERSONAL_LINK'] = 'Y';
      }
      else
      {
         $this->params['SHOW_PERSONAL_LINK'] = 'N';
      }
   }

   public function beforeView(\Bitrix\Landing\Block $block)
   {
      addMessage2Log('call block#' . $block->getId());
   }
}>

Тогда непосредственно внутри block.php при вызове компонент мы можем пользоваться уже непосредственно вызовом метода экземпляра данного класса:

$classBlock->get('SHOW_PERSONAL_LINK')

Или сразу весь block.php

<?php
if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true)
{
   die();
}
?>

<?$APPLICATION->IncludeComponent(
   'bitrix:sale.basket.basket.line',
   '.default',
   array(
      'PATH_TO_BASKET' => '#system_cart',
      'PATH_TO_PERSONAL' => '#system_personal',
      'SHOW_PERSONAL_LINK' => 'N',
      'SHOW_NUM_PRODUCTS' => 'Y',
      'SHOW_TOTAL_PRICE' => 'Y',
      'SHOW_PRODUCTS' => 'N',
      'POSITION_FIXED' => 'Y',
      'SHOW_AUTHOR' => $classBlock->get('SHOW_PERSONAL_LINK'),
      'SHOW_REGISTRATION' => 'N',
      'PATH_TO_REGISTER' => ''
   ),
   false
);?>


Статические методы

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Метод | Описание | С версии
clearRepositoryCache | Метод очищает внутренний кеш сайтов. |
deleteByCode | Удаляет все установленные на страницах блоки по его коду. |
getContentFromRepository | Метод вернет контент блока, хранящегося в репозитории. |
getLandingIdByBlockId | Метод вернет идентификатор страницы указанного блока. |
getLastUsed | Возвращает символьные коды последних использованных блоков. |
getManifestFile | Возвращает манифест блока "как есть". |
getRepository | Получение репозитория блоков. |


clearRepositoryCache

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function clearRepositoryCache(
)

Метод очищает внутренний кеш сайтов. Необходим к вызову после физического добавления нового блока.

Параметры

Без параметров

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Block::clearRepositoryCache();
}


deleteByCode

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function deleteByCode(
   $code
)

Удаляет все установленные на страницах блоки по его коду.

Параметры

Параметр | Описание | Версия
code | Символьный код блока. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Block::deleteByCode('15.social');
}


getContentFromRepository

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function getContentFromRepository(
   $code,
   $namespace = null
)

Метод вернет контент блока, хранящегося в репозитории.

Параметры

Символьный код пространства, опционально для конкретизации блока.
Параметр | Описание | Версия
code | Символьный код блока, без указания пространства |
namespace |  |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $content = \Bitrix\Landing\Block::getContentFromRepository(
      '16.1.google_map'
   );
}


getLandingIdByBlockId

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function getLandingIdByBlockId(
   $id,
)

Метод вернет идентификатор страницы указанного блока.

Параметры

Параметр | Описание | Версия
id | Идентификатор блока. Либо массив идентификаторов, тогда вернется тоже массив с соответствием блок => страница. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $lid = \Bitrix\Landing\Block::getLandingIdByBlockId(12);
}


getLastUsed

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function getLastUsed(
   $count = 10
)

Возвращает символьные коды последних использованных блоков (в привязке к текущему пользователю).

Параметры

Параметр | Описание | Версия
count | Количество записей к возврату. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   print_r(\Bitrix\Landing\Block::getLastUsed());
}


getManifestFile

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function getManifestFile(
   $code
)

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

Параметры

Параметр | Описание | Версия
code | Символьный код блока. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   print_r(\Bitrix\Landing\Block::getManifestFile('15.social'));
}


getRepository

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function getRepository(
)

Получение репозитория блоков.

Параметры

Без параметров.

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Block::getRepository();
}


Методы объекта

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Метод | Описание | С версии
changeLanding | Смена родительской страницы. |
exist | Проверка существование блока. |
export | Метод экспортирует содержимое блока (ноды, стили, атрибуты). |
getCode | Метод вернет символьный код блока. |
getContent | Метод вернет содержимое блока |
getCSS | Получение массива CSS-файлов блока. |
getExt | Получение массива js-расширений системы Битрикс у блока. |
getId | Метод вернет идентификатор блока. |
getJS | Получение массива JS-файлов блока. |
getLandingId | Метод вернет идентификатор страницы блока. |
getLocalAnchor | Метод вернет якорь блока. |
getManifest | Метод вернет манифест блока. |
getMeta | Получение мета-данных блока |
getPreview | Метод вернет картинку предпросмотра блока |
getRepoId | Метод вернет идентификатор записи в репозитории, если блок был зарегистрирован (не путать с добавлением) через REST. |
getSite | Метод вернет массив сайта страницы блока. |
getSiteId | Метод вернет идентификатор сайта страницы блока. |
getSort | Получение значения текущей сортировки блока. |
isActive | Метод вернет флаг активности блока (true / false). |
isPublic | Метод вернет флаг опубликованности блока (true/false). |
markDeleted | Установка флага удаленности блока. |
saveSort | Немедленное сохранение новой сортировки блока |
setAnchor | Установка якоря блока. |
setSort | Установка сортировки блока. |
view | Метод непосредственно вывода одного блока в браузер |


Работа с объектом

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Объект сущности Блок может существовать только в составе страницы. Поэтому работа с объектом Блока может начинаться только после инициации страницы. Об этом вы можете узнать в соответствующем разделе.

Вообще, API работы с блоками может показаться нелогичным и громоздким. Почему мол нельзя обратиться по определенному ИД к конкретному блоку и поменять, допустим, ему какое-то поле. Так сложилось исторически и на то были свои причины. Использовать ли данный API в своей работе – решать уже вам.

Пример кода "обертки" для доступа к блоку или блокам.

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         // непосредственно работа с нужным блоком
         if ($block->getId() == 45013)
         {
            $block->setActive(false);
            var_dump($block->isActive());
            $landing->getError()->copyError(
               $block->getError()
            );
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}

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


changeLanding

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function changeLanding(
   $lid
)

Смена родительской страницы (по сути, перенос блока). Метод вернет true в случае успеха.

Параметры

Параметр | Описание | Версия
lid | Идентификатор новой страницы. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 45013)
         {
            $block->changeLanding(123);
            $landing->getError()->copyError(
               $block->getError()
            );
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


exist

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function exist(
)

Проверка существование блока.

Параметры

Без параметров

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 45013)
         {
            var_dump($block->exist());
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


export

public static function export(
);

Метод экспортирует содержимое блока (ноды, стили, атрибуты). Возвращает массив

return [
   'cards' => [],//карточки
   'nodes' => [],//ноды
   'style' => [],//стили
   'attrs' => []//атрибуты
];

Параметры

Без параметров

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 45013)
         {
            var_dump($block->export());
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getCode

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function getCode(
)

Метод вернет символьный код блока.

Параметры

Без параметров

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 45013)
         {
            var_dump($block->getCode());
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getContent

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function getContent(
)

Метод вернет содержимое блока (уже добавленное на страницу и возможно измененное пользователем).

Параметры

Без параметров

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 45013)
         {
            var_dump($block->getContent());
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getCSS

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function getCSS(
)

Получение массива CSS-файлов блока.

Параметры

Без параметров.

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 45013)
         {
            var_dump($block->getCSS()());
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getExt

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function getExt(
)

Получение массива js-расширений системы Битрикс у блока.

Параметры

Без параметров.

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 45013)
         {
            var_dump($block->getExt());
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getId

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function getId(
)

Метод вернет идентификатор блока.

Параметры

Без параметров

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 45013)
         {
            var_dump($block->getId());
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getJS

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function getJS(
)

Получение массива JS-файлов блока.

Параметры

Без параметров.

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 45013)
         {
            var_dump($block->getJS());
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getLandingId

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function getLandingId(
)

Метод вернет идентификатор страницы блока.

Параметры

Без параметров

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 45013)
         {
            var_dump($block->getLandingId());
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getLocalAnchor

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function getLocalAnchor(
)

Метод вернет якорь блока. Если возвращается пусто, то используется стандартный якорь блока #block123, где 123 идентификатор блока.

Параметры

Без параметров

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 45013)
         {
            var_dump($block->getLocalAnchor());
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getManifest

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function getManifest(
)

Метод вернет манифест блока. В отличии от Block::getManifestFile вернется строго типизированный манифест с возможно опущенным ключами в оригинальном манифесте.

Параметры

Без параметров

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 45013)
         {
            var_dump($block->getManifest());
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getMeta

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function getMeta(
)

Получение мета-данных блока (информация о дате и авторе создания / изменения блока).

Параметры

Без параметров

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 46465)
         {
            print_r($block->getMeta());
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getPreview

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function getPreview(
)

Метод вернет картинку предпросмотра блока (из репозитория).

Параметры

Без параметров.

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 45013)
         {
            var_dump($block->getPreview());
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getRepoId

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function getRepoId(
)

Метод вернет идентификатор записи в репозитории, если блок был зарегистрирован (не путать с добавлением) через REST [image]. Обычные физические блоки не имеют такие записи.

Параметры

Без параметров.

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 45013)
         {
            var_dump($block->getRepoId());
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getSite

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function getSite(
)

Метод вернет массив сайта страницы блока.

Параметры

Без параметров.

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 45013)
         {
            var_dump($block->getSite());
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getSiteId

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function getSiteId(
)

Метод вернет идентификатор сайта страницы блока.

Параметры

Без параметров

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 45013)
         {
            var_dump($block->getSiteId());
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getSort

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function getSort(
)

Получение значения текущей сортировки блока.

Параметры

Без параметров.

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 46465)
         {
            echo $block->getSort();
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


isActive

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function isActive(
)

Метод вернет флаг активности блока (true / false).

Параметры

Без параметров.

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 45013)
         {
            var_dump($block->isActive());
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


isPublic

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function isPublic(
)

Метод вернет флаг опубликованности блока (true/false). Данный флаг идеологически является readonly. Потому что при публикации происходит создание опубликованной версии блока, а черновая так и остается черновой. Проще говоря, если вы выводите страницу в режиме черновика, то и каждый блок будет в режиме $block->isPublic() = false.

Параметры

Без параметров.

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 45013)
         {
            var_dump($block->isPublic());
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


markDeleted

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function markDeleted(
   $mark
)

Установка флага удаленности блока. Обратите внимание, после выполнения метода блок необходимо сохранить.

Параметры

Параметр | Описание | Версия
mark | Пометить удаленным: true (да) / false (нет). |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 46465)
         {
            $block->markDeleted(false);
            $block->save();
            $landing->getError()->copyError(
               $block->getError()
            );
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


saveSort

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function saveSort(
   $sort
)

Немедленное сохранение новой сортировки блока (в отличии от метода setSort(), где требуется дополнительное сохранение блока).

Параметры

Параметр | Описание | Версия
sort | Значение сортировки блока среди других блоков страницы |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 46465)
         {
            $block->saveSort(500);
            $landing->getError()->copyError(
               $block->getError()
            );
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


setAnchor

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function setAnchor(
   $anchor
)

Установка якоря блока. Обратите внимание, после выполнения метода блок необходимо сохранить.

Параметры

Параметр | Описание | Версия
anchor | Якорь блока. Якорь должен начинаться с символа от a-z и далее может содержать только символы от a-z, 0-9, -, _, . и : |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 46465)
         {
            $block->setAnchor('about');
            $block->save();
            $landing->getError()->copyError(
               $block->getError()
            );
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


setSort

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function setSort(
   $sort
)

Установка сортировки блока. Обратите внимание, после выполнения метода блок необходимо сохранить.

Параметры

Параметр | Описание | Версия
sort | Значение сортировки блока среди других блоков страницы. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 46465)
         {
            $block->setSort(1);
            $block->save();
            $landing->getError()->copyError(
               $block->getError()
            );
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


view

public function view(
   $edit = false,
   \Bitrix\Landing\Landing $landing = null,
   $params
)

Метод непосредственно вывода одного блока в браузер, со служебными тегами и скриптами в зависимости от режима вывода. Применяется внутри метода view объекта страницы.

Параметры

Параметр | Описание | Версия
edit | Режим редактирования (true / false). |
landing | Объект лендинга, в котором содержится блок. |
params | Массив дополнительных параметров, который может содержать следующие ключи: wrapper_show – оборачивать блок служебным div-ом (true / false). |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      1
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 45013)
         {
            $block->view(true, $landing);
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


Работа с содержимым блока

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Методы для работы с содержанием блока.

Метод | Описание | С версии
changeNodeName | Изменяет название ноды |
cloneCard | Клонирование карточки. |
getCardContent | Возвращает содержимое карточки, включая теги селектора |
getCardCount | Возвращает количество карточек по селектору. |
removeCard | Удаление карточки. |
save | Метод сохраняет сделанные в блоке изменения. |
saveContent | Сохранение произвольного контента в блок. |
setAttributes | Изменяет атрибуты селектора. |
setCardContent | Замена контента определенной карточки. |
setClasses | Изменяет набор классов по селектору. |
updateNodes | Массовое изменение содержимого нод. |


Логика работы

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

В отличии от логики работы остального модуля, методы, перечисленные в этом разделе, отличаются. После того как работа с контентом блока произведена, его необходимо сохранить. Это сделано из соображений безопасности. Ведь работа с контентом, как правило, это массовая работа (поменять содержимое одной ноды, поменять стили другой ноды, добавить или удалить карточку, потом поменять контент карточки, и так далее). Чтобы после каждого такого действия не нагружать БД, было и принято такое решение.

Хоть в примерах раздела методы и приведены обособленно, в работе их можно компоновать. Это значит, что можно вызвать сначала метод изменения стилей ноды блока, потом поменять контент этой ноды, а потом и вовсе перейти к карточкам. И только в конце вызвать save – результат сохранится. Главное всегда держать в голове логический результат своей работы (если первым методом вы удалили 3-ю карточку, то нет смысла к ней обращаться следующим методом).

И пара слов об идеологии работы с содержимым блока. Да, вы можете конечно получить содержимое блока через метод getContent, изменить его по своим соображениям, и сохранить через метод saveContent. Но это работа без контроля манифеста блока. Если в нем не разрешены какие-то селекторы к изменению, то и действие методов (например, изменение текста) не принесут эффекта.


changeNodeName

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function changeNodeName(
   $data
)

Изменяет название ноды. Например, h3 на h1. Вернет true в случае успеха.

Параметры

Параметр | Описание | Версия
data | Данные для изменения. Ключами является селектор, значениями массив пар "номер позиции" = "на какой тег меняем". Отсчет с нуля. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      5675
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 46613)
         {
            $block->changeNodeName([
               '.landing-block-node-title' => [
                  1 => 'h1'
               ]
            ]);
            $block->save();
            $landing->getError()->copyError(
               $block->getError()
            );
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


cloneCard

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function cloneCard(
   $selector,
   $position,
   $content = ''
)

Клонирование карточки. Возвращает true в случае успеха.

Параметры

Параметр | Описание | Версия
selector | Селектор карточки. |
position | Позиция карточки, после которой склонировать указанную (отсчет с нуля). Например, если передать 1, то будет вставлена карточка после второй карточки (0, 1, ..), источником данных которой станет вторая карточка. |
content | Возможность подменить контент клонируемой карточки на передаваемый. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      5675
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 46613)
         {
            $block->cloneCard('.landing-block-card', 0);
            $block->save();
            $landing->getError()->copyError(
               $block->getError()
            );
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getCardContent

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function getCardContent(
   $selector,
   $position
)

Возвращает содержимое карточки, включая теги селектора.

Параметры

Параметр | Описание | Версия
selector | Селектор карточки. |
type | Позиция карточки. Отсчет с нуля. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      5675
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 46613)
         {
            echo $block->getCardContent('.landing-block-card', 1);
            $landing->getError()->copyError(
               $block->getError()
            );
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


getCardCount

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function getCardCount(
   $selector
)

Возвращает количество карточек по селектору.

Параметры

Параметр | Описание | С версии
$selector | Селектор карточки |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      5675
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 46613)
         {
            echo $block->getCardCount('.landing-block-card');
            $landing->getError()->copyError(
               $block->getError()
            );
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


removeCard

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function removeCard(
   $selector,
   $position
)

Удаление карточки. Возвращает true в случае успеха.

Параметры

Параметр | Описание | Версия
selector | Селектор карточки. |
position | Позиция карточки, которая будет удалена. Отсчет с нуля. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      5675
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 46613)
         {
            $block->removeCard('.landing-block-card', 1);
            $block->save();
            $landing->getError()->copyError(
               $block->getError()
            );
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


save

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function save(
)

Метод сохраняет сделанные в блоке изменения. Возвращает true в случае успеха.

Параметры

Без параметров.

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      5675
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 46612)
         {
            $block->setSort(500);
            $block->saveContent('Hello world!');
            $block->save();
            $landing->getError()->copyError(
               $block->getError()
            );
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


saveContent

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function saveContent(
   $content
)

Сохранение произвольного контента в блок.

Внимание! Несоответствие контента манифесту может повлечь неработоспособность блока в интерфейсе редактирования.

Параметры

Параметр | Описание | Версия
content | Контент |
designed | Необязательный, по умолчанию false. Если передать true, то блок будет считаться как заблокированный к изменению штатным апдейтером системы. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      5675
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 46612)
         {
            $block->saveContent('<b>Hello world!</b>');
            $block->save();
            $landing->getError()->copyError(
               $block->getError()
            );
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


setAttributes

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function setAttributes(
   $data
)

Изменяет атрибуты селектора. Атрибуты должны обязательно присутствовать в манифесте, чтобы произошло изменение. Вернет true в случае успеха.

Параметры

Параметр | Описание | С версии
data | Массив для изменения. Ключами является селектор, значениями массив пар "номер позиции" = "какие атрибуты меняем" (что в свою очередь есть пара атрибут=значение). Отсчет с нуля. Подробнее в примере. Номер позиции может равняться "-1" в том случае, если требуется изменить атрибуты всех нод по селектору. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      5675
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 46613)
         {
            $block->setAttributes([
               '.landing-block-node-title' => [
                  1 => [// здесь ставим -1, если требуется повлиять на все ноды по данному селектору
                     'data-b24form' => 'jvu5mv'
                  ]
               ]
            ]);
            $block->save();
            $landing->getError()->copyError(
               $block->getError()
            );
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


setCardContent

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function setCardContent(
   $selector,
   $position,
   $content
)

Замена контента определенной карточки. Возвращает true в случае успеха.

Параметры

Параметр | Описание | Версия
daselectorta | Селектор карточки. |
position | Позиция карточки, которая будет заменена. Отсчет с нуля. |
content | Новый контент. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      5675
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 46613)
         {
            $block->setCardContent('.landing-block-card', 1, 'new content...');
            $block->save();
            $landing->getError()->copyError(
               $block->getError()
            );
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


setClasses

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function setClasses(
   $data
)

Изменяет набор классов по селектору. Возвращает true в случае успеха.

Параметры

Параметр Описание Версия
data В параметре передается массива ключ-значение, где ключом идет селектор, а каждым значением указывается два массива::
  • classList - какие классы добавить в изменяемый селектор.
  • affect - передаются стили, которые надо обнулить у всех дочерних нод. Например, передаётся класс, который окрашивает элемент в цвет (color). Значит в affect надо передать массив [color], чтобы система обнулила все color у дочерних. Иначе будет такая ситуация - цвет родителя стоит красный, а текст внутри останется прежним.

Селектор может передаваться как без указания позиции (например, .landing-block-node-text), тогда будут изменены все карточки по данному селектору. Так и с указанием позиции (например, .landing-block-node-text@2), тогда будет изменена только карточка на указанной позиции (отсчет с нуля).

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      5675
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 45474)
         {
            $block->setClasses([
               '.landing-block-node-title@1' => [
                  'classList' => [
                     'landing-block-node-title', 'g-color-gray-light-v2', 'text-right'
                  ],
                  'affect' => [
                     'text-align'
                  ]
               ]
            ]);
            $block->save();
            $landing->getError()->copyError(
               $block->getError()
            );
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


updateNodes

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function updateNodes(
   $data
)

Массовое изменение содержимого нод.

Параметры

Параметр | Описание | Версия
data | Массив селекторов и значения нод. Ключами являются позиции карточек для изменения. Значения могут иметь разные формат в зависимости от типа. Подробнее смотрите пример. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Landing::setEditMode(true);

   $landing = \Bitrix\Landing\Landing::createInstance(
      5675
   );
   if ($landing->exist())
   {
      foreach ($landing->getBlocks() as $block)
      {
         if ($block->getId() == 46613)
         {
            $block->updateNodes([
               '.landing-block-node-title' => [
                  2 => 'Title 2',
                  4 => 'Title 4'
               ],
               '.landing-block-node-text' => [
                  2 => 'Text 2',
                  4 => 'Text 4'
               ],
                     '.landing-block-node-img' => [
                        1 => [
                           'src' => '/some/path/picture.png',
                     'alt' => 'Моя картинка'
                  ]
               ],
                     '.landing-block-node-link' => [
                        1 => [
                           'text' => 'Моя ссылка',
                     'href' => 'https://bitrix24.com',
                     'target' => '_blank'
                  ]
               ],
                     '.landing-block-node-icon' => [
                        1 => [
                           'fa-facebook', 'fa-instagram'
                  ]
               ],
                     '.landing-block-node-embed' => [
                        1 => [
                           'src' => '//www.youtube.com/embed/q4d8g9Dn3ww?autoplay=1&controls=0&loop=1&mute=1&rel=0',
                     'source' => 'https://www.youtube.com/watch?v=q4d8g9Dn3ww'
                  ]
               ],
            ]);
            $block->save();
            $landing->getError()->copyError(
               $block->getError()
            );
         }
      }
   }

   foreach ($landing->getError()->getErrors() as $error)
   {
      echo $error->getCode() . ': ';
      echo $error->getMessage();
      echo "\n";
   }
}


Динамические блоки

Описание работы с сущностью Динамические блоки.


Основные понятия

Введение

Цель динамических блоков - отказ от компонентов Битрикс в обычном их понимании. Содержимое блока в базе (html) остается неизменным, а контент меняется динамически при формировании страницы. Разработчики, как и раньше, могут размещать компоненты внутри блоков. Однако тут возникают проблемы:
- кастомизации дизайна блоков в редакторе,
- допуск верстальщика к исполняемым PHP-файлам, что не всегда допускается безопасностью проекта.

В остальном цель динамических блоков одна - выводить динамический контент на страницах Сайтов24.

Источник

Источник - механизм, реализующий получение данных из внешней сущности (модуль продукта, БД, сторонний сайт и так далее).

Источник состоит из двух частей:

  • настраиваемого фильтра/готового пресета для отбора данных и загрузчика данных
  • загрузчика данных.

Создание источника возможно только в рамках модуля (не в init.php [image]), т.к. идентификатор модуля (непустой) требуется при построении списка источников и получения ограничений.

Настраиваемый фильтр для отбора данных

Форма (компонент), в которой задаются условия отбора с возможностью просмотра результатов, подпадающих под условия. Форма должна вернуть условия отбора в определенном формате - фильтр блока.

Готовый пресет для отбора данных

Ненастраиваемый (жестко заданный) фильтр блока.

Загрузчик данных

Унифицированный интерфейс для получения данных из источника. Загрузчик любого источника должен быть наследником базового класса получения данных и реализовывать одинаковый набор публичных методов (см. описание класса \Bitrix\Landing\Source\DataLoader).

Регистрация источника

Для использования произвольного источника его необходимо зарегистрировать. Регистрация - передача описания источника в определенном формате через обработчик события регистрации. После успешной проверки (валидации) описания (см. Формат данных) источник считается зарегистрированным и может быть выбран для динамического блока.

Динамический блок

Содержимое такого блока не наполняется администратором, а берется из источника. Изменение содержимого происходит автоматически при изменении данных, возвращаемых источником.

Варианты динамических блоков

Существует 2 варианта: список элементов и детальная страница элемента.

Настройки списка элементов :

  • Источник
  • Фильтр блока
  • Сортировка данных
  • Элементы блока (ноды) с перечнем полей и свойств источника, подходящих для ноды

Настройки детальной страницы:

  • Привязка к списку элементов (выбор источника и фильтр блока берутся оттуда)
  • Элементы блока (ноды) с перечнем полей и свойств источника, подходящих для ноды


Форматы данных

Данные Описание С версии
Описание источника для регистрации
  • SOURCE_ID - идентификатор, уникальный в рамках модуля (обязательный). Содержит символы латинского алфавита и цифры. Первый символ - буква латинского алфавита. Регистрозависимый.
  • TITLE - название (обязательный)
  • TYPE - тип настроек пользовательского фильтра (обязательный). Поддерживаются два типа:
    • \Bitrix\Landing\Source\Selector::SOURCE_TYPE_COMPONENT - форма настроек пользовательского фильтра. (по умолчанию)
    • \Bitrix\Landing\Source\Selector::SOURCE_TYPE_PRESET - фиксированный пользовательский фильтр
  • SETTINGS - массив параметров формы настроек пользовательского фильтра (обязательный):
    • DETAIL_PAGE (Для всех типов) - необязательный, тип - boolean. При передаче false убирается пункт "Детальная страница" в настройках блока.
    для TYPE = \Bitrix\Landing\Source\Selector::SOURCE_TYPE_COMPONENT:
    • COMPONENT_NAME => имя компонента (обязательный)
    • COMPONENT_TEMPLATE_NAME => имя шаблона (обязательный)
    • COMPONENT_PARAMS => массив параметров вызова компонента (обязательный)
    • WRAPPER - массив настроек компонента [dw]bitrix:ui.sidepanel.wrapper[/dw][di]Компонент системный, не описывается в документации[/di] (необязательный). В нем запускается компонент фильтра. Поддерживаемые настройки:
      • USE_PADDING - по умолчанию false
      • PLAIN_VIEW - по умолчанию false
      • USE_UI_TOOLBAR - по умолчанию 'N'
    для TYPE = \Bitrix\Landing\Source\Selector::SOURCE_TYPE_PRESET:
    • FILTER - массив фильтра блока
  • DATA_SETTINGS - массив доступных полей источника (обязательный)
  • FIELDS - массив полей источника для показа (числовой). Каждый элемент имеет следующую структуру:
    • id - идентификатор поля
    • name - название поля
    • type - тип ноды, которая нужна для отрисовки (см. \Bitrix\Landing\Node\Type)
    • дополнительные параметры, требующиеся для ноды (см методы \Bitrix\Landing\Node::prepareFieldDefinition и \Bitrix\Landing\Node::validateFieldDefinition)
  • ORDER - массив полей источника для сортировки (числовой). Каждый элемент имеет структуру:
    • id - идентификатор поля
    • name - название поля
  • DATA_LOADER - полное (с указанием namespace) имя класса-загрузчика (наследника \Bitrix\Landing\Source\DataLoader). обязательный
  • SOURCE_FILTER - дополнительный (ненастраиваемый) фильтр для данных. Массив, необязательный. Для инфоблоков, например, должен содержать ID инфоблока и ключи проверки доступа.

Во избежание проблем с экспортом, не рекомендуется привязываться к числовым идентификаторам сущностей текущего проекта (например, iblock12, где 12 идентификатор инфоблока). Но вы можете использовать цифры, если они относятся к иной (вашей внутренней) логике.
Фильтр блока Массив с целочисленными индексами. Каждое условие фильтра описывается массивом с такой структурой (все ключи обязательные):
  • name - название параметра фильтра (для отображения в настройках динамического блока)
  • key - имя параметра (поле или свойство элемента источника)
  • value - значения для фильтрации. Формат и содержимое value определяются источником. Для упрощения разработки рекомендуется использовать формат полей компонента bitrix:main.ui.filter. В этом случае можно использовать:
    • для передачи динамического фильтра из формы настроек - js-библиотеку landing.uifilterconverter
    • для показа динамического фильтра в форме настроек - класс \Bitrix\Landing\Source\UiFilterPreset
    • для преобразования динамического фильтра в orm/GetList формат - класс \Bitrix\Landing\Source\DataFilter
    если формат выбран иной - все эти операции будет необходимо выполнять самостоятельно.


Регистрация источника

Обработчик события сбора источников. Пример.

Параметры

Параметры | Описание | С версии
$event | переменная типа \Bitrix\Main\Event. В переменую передаётся SELECTOR - объект класса \Bitrix\Landing\Source\Selector. |

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

Возвращается объект класса \Bitrix\Main\EventResult. В случае, если источники не возвращаются (нет подпадающих под ограничения, под режим работы лендинга):

return new Main\EventResult(Main\EventResult::ERROR, null, 'ИД_модуля');

Если источники есть, возвращается массив, где каждый элемент описывает один источник (даже если в модуле источник данных только один):

$result = [];
$result[] = [ // описание одного источника
    SOURCE_ID
         ...
    ];
return new Main\EventResult(Main\EventResult::SUCCESS, $result, 'ИД_модуля');

Ключи массива:

Ключ | Описание | С версии
SOURCE_ID | Уникальный в рамках модуля идентификатор. Обязательный.
TITLE | Название. Обязательный.
TYPE | Тип формы настроек пользовательского фильтра. На текущий момент поддерживается только тип "компонент" - \Bitrix\Landing\Source\Selector::SOURCE_TYPE_COMPONENT.
SETTINGS Массив параметров формы настроек пользовательского фильтра (обязательный). для компонента необходимо передать следующие ключи:
  • COMPONENT_NAME - имя компонента (обязательный)
  • COMPONENT_TEMPLATE_NAME - имя шаблона (обязательный)
  • COMPONENT_PARAMS - массив параметров вызова компонента (обязательный)
  • WRAPPER - массив настроек компонента [dw]bitrix:ui.sidepanel.wrapper[/dw][di]Компонент системный, в документации не описывается.[/di] (необязательный). В нем запускается компонент фильтра. Поддерживаемые настройки:
    • USE_PADDING - по умолчанию false
    • PLAIN_VIEW - по умолчанию false
    • USE_UI_TOOLBAR - по умолчанию 'N'
DATA_SETTINGS Массив доступных полей источника (обязательный):
  • FIELDS - массив полей источника для показа (числовой). Каждый элемент имеет следующую структуру:
    • ID - идентификатор поля
    • NAME - название поля
    • TYPE - тип ноды, которая нужна для отрисовки (см. \Bitrix\Landing\Node\Type)
    • Дополнительные параметры, требующиеся для ноды (см методы \Bitrix\Landing\Node::prepareFieldDefinition и \Bitrix\Landing\Node::validateFieldDefinition)
  • ORDER - массив полей источника для сортировки (числовой). Каждый элемент имеет структуру:
    • ID - идентификатор поля
    • NAME - название поля
DATA_LOADER | Полное (с указанием namespace) имя класса-наследника \Bitrix\Landing\Source\DataLoader, который будет отдавать информацию по элементам. Обязательный.
SOURCE_FILTER | Дополнительный (ненастраиваемый) фильтр для элементов. Массив, необязательный. Для инфоблоков, например, содержит ID инфоблока и ключи проверки доступа.

Смотри также

  • Форматы данных


Пример регистрации источника

Пример

use \Bitrix\Main;
// наш класс, который будет выбирать данные по элементам источника
class MyLoader extends \Bitrix\Landing\Source\DataLoader
{
   public function getElementListData()
   {
      // получения списка элементов из источника
      $this->seo->clear(); // должен присутствовать всегда в самом начале метода - очистка seo-параметров

      $select = $this->getPreparedSelectFields(); // получаем список полей и свойств, которые нужны для элементов
      if (empty($select))
      {
         return []; // для ненастроенного блока ничего не будем выводить
      }

      $filter = $this->getPreparedFilter($this->getFilterFields()); // получаем фильтр для orm или GetList старого ядра
      $internalFilter = $this->getInternalFilter(); // получаем дополнительный фильтр (см SOURCE_FILTER в обработчике событий)
           if (!empty($internalFilter) && is_array($internalFilter))
        {
           $filter = array_merge($filter, $internalFilter); // если дополнительный фильтр не пуст, он имеет приоритет
        }
        if (empty($filter))
        {
           return []; // если фильтра нет, ничего не выводим
        }

      $order = []; // сортировка результата
      $rawOrder = $this->getOrder();
      if (isset($rawOrder['by']) && isset($rawOrder['order']))
      {
         $order[$rawOrder['by']] = $rawOrder['order'];
         if (!in_array($rawOrder['by'], $select)
         {
            $select[] = $rawOrder['by']; // учитываем, что код будет работать на mysql 5.7 и выше
         }
      }

        $limit = $this->getLimit(); // получаем максимальное число элементов, которое нужно выбрать
        if ($limit <= 0)
        {
         $limit = 50; // если лимит не задан, ограничиваемся какой-то разумной величиной
        }

      $result = [];
      $iterator = \MyModule::getList([
              'select' => $select,
              'filter' => $filter,
                  'order' => $order,
              'limit' => $limit
                ]);

      while ($row = $iterator->fetch())
      {
         // данные каждого элемента необходимо привести к html-безопасному виду. вариант реализации - на выбор разработчика
         ...

         $result[] = $row;
      }

      return $result;
   }

   public function getElementData($element)
   {
      // получение конкретного элемента из источника
      $this->seo->clear(); // должен присутствовать всегда в самом начале метода - очистка seo-параметров

      $select = $this->getPreparedSelectFields(); // получаем список полей и свойств, которые нужны для элемента
      if (empty($select))
      {
         return []; // для ненастроенного блока ничего не будем выводить
      }

      // предполагаем, что ID элемента - целое число
      if (!is_string($element) && !is_int($element))
      {
         return [];
      }
      $element = (int)$element;
      if ($element <= 0)
      {
         return [];
      }

      // для детальной страницы проверяем фильтр, чтобы блокировать вывод элемента, не подпадающего под нашу выборку
      $filter = $this->getPreparedFilter($this->getFilterFields()); // получаем фильтр для orm или GetList старого ядра
      $internalFilter = $this->getInternalFilter(); // получаем дополнительный фильтр (см SOURCE_FILTER в обработчике событий)
        if (!empty($internalFilter) && is_array($internalFilter))
        {
           $filter = array_merge($filter, $internalFilter); // если дополнительный фильтр не пуст, он имеет приоритет
        }
        if (empty($filter))
        {
           return []; // если фильтра нет, ничего не выводим
        }
        $filter['ID'] = $element; // ограничиваем выборку одним элементом

      $iterator = \MyModule::getList([
         'select' => $select,
         'filter' => $filter,
      ]);
      $row = $iterator->fetch();
      if (empty($row))
      {
         return [];
      }

      // данные необходимо привести к html-безопасному виду. вариант реализации - на выбор разработчика

      $this->seo->setTitle($row['NAME']); // задаем в качестве заголовка название элемента

      return [$row];
   }

   /**
    * Описание полей для преобразования фильтра блока в orm фильтр
    *
    * @return array
    */
   private function getFilterFields()
   {
      $result = [];

      // поле NAME типа строка
      $result['NAME'] = [
         'id' => 'NAME', // идентификатор (совпадает с ключом массива)
         'type' => 'string', // тип поля Строка (main.ui.filter)
         'operators' => [ // префиксы для условий
            'default' => '%' // префикс по умолчанию
         ]
      ];
      // поле ID типа число
      $result['ID'] = [
         'id' => 'ID', // идентификатор (совпадает с ключом массива)
         'type' => 'number', // тип поля Число (main.ui.filter)
         'operators' => [ // префиксы для условий
            'default' => '=', // префикс по умолчанию
            'exact' => '=', // точное совпадение (равно) (X === value)
            'range' => '><', // фильтр по диапазону (min <= X <= max)
            'more' => '>', // больше (X > value)
            'less' => '<' // меньше (X < value)
         ]
      ];
      // поле SECTION_ID типа список
      $result['SECTION_ID'] = [
         'id' => 'SECTION_ID', // идентификатор (совпадает с ключом массива)
         'type' => 'list', // тип поля Список (main.ui.filter)
         'operators' => [ // префиксы для условий
            'default' => '=' // префикс по умолчанию
         ]
      ];
      // поле INCLUDE_SUBSECTIONS типа чекбокс
      $result['INCLUDE_SUBSECTIONS'] = [
         'id' => 'INCLUDE_SUBSECTIONS', // идентификатор (совпадает с ключом массива)
         'type' => 'checkbox', тип поля Чекбокс (main.ui.filter)
         'operators' => [ // префиксы для условий
            'default' => '' // префикс по умолчанию
         ]
      ];

      return $result;
   }
}

// регистрация обработчика
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->registerEventHandler('landing', 'OnBuildSourceList', 'partner.mymodule', '\MySource', 'sourceBuildHandler');

// класс обработчика для передачи описания (регистрации) источника
class MySource
{
   public static function sourceBuildHandler(\Bitrix\Main\Event $event)
   {
      /** @var \Bitrix\Landing\Source\Selector $selector */
      $selector = $event->getParameter('SELECTOR');

      if (!$selector->checkSiteMode([\Bitrix\Landing\Source\Selector::SITE_MODE_PAGE])) // пример - источник только для сайтов 24
      {
         return new Main\EventResult(Main\EventResult::ERROR, null, 'ИД_модуля');
      }
      $restrictions = $selector->getModuleRestrictions('ИД_модуля'); // получение ограничений
      if (!empty($restrictions['SITE_ID']) && $restrictions['SITE_ID'] !== 's2') //пример - источник только для сайта с кодом s2
      {
         return new Main\EventResult(Main\EventResult::ERROR, null, 'ИД_модуля');
      }

      $path = $selector->getSourceFilterBaseUri('ИД_модуля', 'ИД_источника');
      $baseUri = $path->getUri(); // путь, который необходимо использовать в качестве базового для формы настройки фильтра (постраничка и отбор элементов в форме)

      $componentParams = [
         ... // параметры, необходимые компоненту
         'BASE_LINK' => $baseUri // имя ключа - любое, лишь бы компонент его обрабатывал
      ];

      $result = [];

      $result[] = [
         'SOURCE_ID' => 'ИД_источника',
         'TITLE' => 'мой источник',
         'TYPE' => \Bitrix\Landing\Source\Selector::SOURCE_TYPE_COMPONENT,
         'SETTINGS' => [
            'COMPONENT_NAME' => 'my:selector.landing', // компонент настройки фильтра
            'COMPONENT_TEMPLATE_NAME' => '.default',
            'COMPONENT_PARAMS' => $componentParams,
            'WRAPPER' => [ // необязательные настройки, передаваемые в bitrix:ui.sidepanel.wrapper
               'USE_PADDING' => false,
               'PLAIN_VIEW' => false,
               'USE_UI_TOOLBAR' => 'N'
            ]
         ],
         'SOURCE_FILTER' => [ // дополнительный фильтр
            '=ACTIVE' => 'Y' // выводим только активные элементы
         ],
         'DATA_SETTINGS' => [
            'FIELDS' => [ // поля для вывода в блоке
               0 => [
                  'id' => 'ID',
                  'name' => 'Идентификатор',
                  'type' => \Bitrix\Landing\Node\Type::TEXT,
               ]
               1 => [
                  'id' => 'NAME',
                  'name' => 'Название',
                  'type' => \Bitrix\Landing\Node\Type::TEXT,
               ],
               2 => [
                  'id' => 'PICTURE',
                  'name' => 'Изображение',
                  'type' => \Bitrix\Landing\Node\Type::IMG,
               ],
               ...
               N => [
                  'id' => 'QUANTITY',
                  'name' => 'Количество',
                  'type' => \Bitrix\Landing\Node\Type::TEXT,
               ],

            ],
            'ORDER' => [
               0 => [
                  'id' => 'ID',
                  'name' => 'Идентификатор',
               ],
               1 => [
                  'id' => 'NAME',
                  'name' => 'Название',
               ],
               ...
               N => [
                  'id' => 'AVAILABLE',
                  'name' => 'Доступность',
               ],
            ]
         ],
         'DATA_LOADER' => '\MyLoader' // класс-загрузчик данных
      ];
      return new Main\EventResult(Main\EventResult::SUCCESS, $result, 'ИД_модуля');
   }
}


Преобразование фильтра блока

Описание

Рекомендованный формат фильтра блока

Напомним рекомендованный формат фильтра блока:

  • name - название параметра фильтра (для отображения в настройках динамического блока)
  • key - имя параметра (поле или свойство элемента источника)
  • value - значения для фильтрации (массив, зависящий от типа поля)

Для преобразования фильтра блока (в случае следования рекомендациям) в другие форматы служат классы:

  • \Bitrix\Landing\Source\Filter - базовая логика
  • \Bitrix\Landing\Source\UiFilterPreset - конвертация в формат bitrix:main.ui.filter[/dw][di].
  • \Bitrix\Landing\Source\DataFilter - конвертация в формат orm-фильтра (или GetList старого api)

Для преобразования в первую очередь необходимо описать все поля фильтра. Каждое поле описывается таким образом:

  • id - Идентификатор поля. Соответствует полю key условия из фильтра блока
  • type - тип поля. Возможные значения:
    • string - строка
    • number - число
    • date - дата
    • custom_date - диапазоны дат
    • list - список/множественный список для выбора
    • checkbox - чекбокс (выбран/не выбран)
    • dest_selector - выбор привязки к сущности
  • operators - массив префиксов для генерации orm-фильтра (см. \Bitrix\Landing\Source\DataFilter)

Для полей типа список (list) можно указать признак множественности:

params => [
         'multiple' => 'Y'
      ]

Для полей типа date можно разрешить выбор времени:

time => true;

Ключами массива полей являются идентификаторы поля.

Пример описания фильтра

$fields = [];
   // поле NAME типа строка
   $fields['NAME'] = [
      'id' => 'NAME', // идентификатор (совпадает с ключом массива)
      'type' => 'string', // тип поля Строка (main.ui.filter)
   ];
   // поле ID типа число
   $fields['ID'] = [
      'id' => 'ID', // идентификатор (совпадает с ключом массива)
      'type' => 'number', // тип поля Число (main.ui.filter)
   ];
   // поле ENTITY_LIST типа список
   $fields['ENTITY_LIST'] = [
      'id' => 'ENTITY_LIST', // идентификатор (совпадает с ключом массива)
      'type' => 'list', // тип поля Список (main.ui.filter)
      'params' => [ // параметры
         'multiple' => 'Y' // множественный выбор
      ]
   ];
   // поле ACTIVE типа чекбокс
   $fields['ACTIVE'] = [
      'id' => 'ACTIVE', // идентификатор (совпадает с ключом массива)
      'type' => 'checkbox', тип поля Чекбокс (main.ui.filter)
      'operators' => [ // префиксы для условий
         'default' => '' // префикс по умолчанию
      ]
   ];


Шаблон компонента настройки условий отбора

Пример шаблона компонента настройки условий выбора.

Обратите внимание, в шаблоне подключается библиотека landing.uifilterconverter [image].

template.php

<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

\Bitrix\Main\UI\Extension::load('landing.uifilterconverter');
   // фильтр
   $APPLICATION->includeComponent(
       'bitrix:main.ui.filter',
       '',
       $arResult['FILTER'], // все параметры для main.ui.filter должны быть подготовлены в компоненте
       $component,
       ['HIDE_ICONS' => true]
    );
    // показ отобранных элементов источника
    $APPLICATION->IncludeComponent(
       'bitrix:main.ui.grid',
       '',
       $arResult['GRID'], // все параметры для main.ui.grid должны быть подготовлены в компоненте
       $component,
       ['HIDE_ICONS' => true]
    );

    $APPLICATION->IncludeComponent(
       'bitrix:ui.button.panel',
       '',
       [
          'BUTTONS' => [
             ['TYPE' => 'save'],
             ['TYPE' => 'cancel']
          ],
          'ALIGN' => 'center'
       ],
       $component,
       ['HIDE_ICONS' => true]
    );

    $filterSettings = [
       'defaultFilter' => [], // фильтр по умолчанию. необходим, если администратор нажмет Сохранить, ничего не настраивая
    ];
    ?>
    <script type="text/javascript">
       BX.ready(function() {
          MySelector.create(
             '<?=\CUtil::jsEscape($arResult['FILTER']['FILTER_ID']); ?>', // ИД_фильтра
            <?=\CUtil::PhpToJSObject($filterSettings, false, true, false); ?>
          );
       });
   </script>

script.js

    (function(){
       var BX = window.BX;
       if (MySelector)
       {
          return;
       }

       MySelector = function() {
          this.id = '';
          this.filter = [];
       };

       MySelector.create = function(id, settings)
       {
          var self = new MySelector();
          self.initialize(id, settings);

          return self;
       };

       MySelector.prototype = {
          initialize: function (id, settings)
          {
             this.id = id;
             this.settings = {
                defaultFilter: []
             };
             this.converterSettings = {};
             if (BX.type.isPlainObject(settings))
             {
                if (BX.type.isArray(settings.defaultFilter))
                   this.settings.defaultFilter = settings.defaultFilter;
             }

             this.converter = new BX.Landing.UiFilterConverter({
                filterId: this.id
             });

             this.loadFilter();
             // при нажатии на Применить в фильтре обновляем данные
             BX.addCustomEvent('BX.Main.Filter:apply', BX.proxy(this.applyFilter, this));
            // Обработчик кнопки слайдера Сохранить
             BX.addCustomEvent(BX.UI.ButtonPanel, 'button-click', function(button) {
                var currentSlider;

                if (BX.type.isNotEmptyObject(button))
                {
                   if (button.TYPE === 'save') // если нажали на Сохранить в слайдере, надо передать результаты
                   {
                      // собственно, передача
                      top.BX.SidePanel.Instance.postMessageTop(window, 'save', {
                         filter: this.filter
                      });
                      // закрытие слайдера - его необходимо делать самостоятельно
                      currentSlider = top.BX.SidePanel.Instance.getSliderByWindow(window);
                      if(currentSlider)
                      {
                         currentSlider.close(true);
                         top.BX.SidePanel.Instance.destroy(currentSlider.getUrl());
                      }
                      currentSlider = null;
                   }
                }
             }.bind(this));
          },

          loadFilter: function()
          {
             this.filter = this.converter.getFilter();

             if (this.filter.length === 0)
                this.filter = this.settings.defaultFilter;
          },

          applyFilter: function(eventFilterId, values, ob, filterPromise, filterParams)
          {
             if (eventFilterId !== this.id)
             {
                return;
             }
             this.loadFilter();
          }
       };
    })();


Классы

Классы для работы с нодами.

Класс | Описание | С версии
Node | Содержит идентификаторы базовых типов полей (нод) в динамическом блоке. |
Selector | Менеджер источников. |
DataLoader | Абстрактный класс для возвращения данных об элементах источника. |
Seo | Класс для работы с seo-данными блока детальной страницы. |


Node

Содержит идентификаторы базовых типов полей (нод) в динамическом блоке.

Метод | Описание | С версии
prepareFieldDefinition | Получает описание поля источника с указанием, к какому типу ноды относится. |
validateFieldDefinition | Используется для проверки того, полное описание поля источника передано или нет |


prepareFieldDefinition

 \Bitrix\Landing\Node::prepareFieldDefinition(
   array $field
)

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

Параметры

Параметры Описание С версии
$field Массив с описанием поля. Требуемые ключи (минимально):
  • id - идентификатор поля
  • name - название
  • type - тип поля
Остальные ключи определяются типом ноды.

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

  • null
    • нет ключей id, name или type;
    • не найден класс-наследник \Bitrix\Landing\Node, обрабатывающий данный тип;
    • пустой результат метода validateFieldDefinition.
  • нормализованный массив с описанием поля


validateFieldDefinition

\Bitrix\Landing\Node::validateFieldDefinition(
   array $field
)

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

Параметры

Параметры Описание С версии
$field Массив с описанием поля. Требуемые ключи (минимально):
  • id - идентификатор поля
  • name - название
  • type - тип поля
Остальные ключи определяются типом ноды.

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

Базовый метод возвращает массив структуры:

  • id - идентификатор поля
  • name - название
  • type - тип ноды


Selector

Описание

Менеджер источников. Служебный класс. Собирает коллекцию источников, реализует интерфейс доступа к фильтру данных. При сборе источников класс валидирует (проверяет на соответствие формату) полученные описания. По результатам проверки каждый источник, прошедший валидацию описания, будет представлен такой структурой:

  • INDEX - уникальный индекс источника (см. метод \Bitrix\Landing\Source\Selector::getSourceIndex)
  • MODULE - идентификатор модуля (обязательный)
  • SOURCE_ID - уникальный в рамках модуля идентификатор (обязательный)
  • TITLE - название (обязательный)
  • TYPE - тип формы настроек пользовательского фильтра. необязательный. при отсутствии ставится значение по умолчанию. На текущий момент поддерживается только тип "компонент" - \Bitrix\Landing\Source\Selector::SOURCE_TYPE_COMPONENT.
  • SETTINGS - массив параметров формы настроек пользовательского фильтра (обязательный):
    • COMPONENT_NAME - имя компонента (обязательный)
    • COMPONENT_TEMPLATE_NAME - имя шаблона (обязательный)
    • COMPONENT_PARAMS - массив параметров вызова компонента (обязательный)
  • WRAPPER - массив настроек компонента [dw]bitrix:ui.sidepanel.wrapper[/dw][di]Компонент системный, не описывается в документации.[/di] (необязательный). В нем запускается компонент фильтра. Поддерживаемые настройки:
    • USE_PADDING - по умолчанию false
    • PLAIN_VIEW - по умолчанию false
    • USE_UI_TOOLBAR - по умолчанию 'N'
  • DATA_SETTINGS - массив доступных полей источника (обязательный)
  • FIELDS - массив полей источника для показа (числовой). Каждый элемент имеет следующую структуру:
    • id - идентификатор поля
    • name - название поля
    • type - тип ноды, которая нужна для отрисовки (см. \Bitrix\Landing\Node\Type)
    • дополнительные параметры, требующиеся для ноды (см методы \Bitrix\Landing\Node::prepareFieldDefinition и \Bitrix\Landing\Node::validateFieldDefinition)
  • ORDER - массив полей источника для сортировки (числовой). Каждый элемент имеет структуру:
    • id - идентификатор поля
    • name - название поля
  • DATA_LOADER - полное (с указанием namespace) имя класса-наследника \Bitrix\Landing\Source\DataLoader, который будет отдавать информацию по элементам. Обязательный
  • SOURCE_FILTER - дополнительный (ненастраиваемый) фильтр для элементов. Массив, необязательный. Для инфоблоков, например, содержит ID инфоблока и ключи проверки доступа.

Методы

Метод | Описание | С версии
Конструктор класса | Метод - конструктор. |
showSourceFilterByRequest | Метод-надстройка над showSourceFilter. |
showSourceFilter | Метод отрисовывает форму настроек пользовательского фильтра данных. |
getSourcesDescription | Метод позволяет получать описаний всех источников для построения формы выбора в настройках блока лендинга. |
getSources | Статический метод для получения описания всех доступных источников для заданного события. |
getSourceNames | Статический метод для получения списка названий источников. |
getSourceIndex | Статический метод для генерации уникального индекса источника. |
getSourceFilterBaseUri | Метод получает объект ссылки для формы настроек фильтра. |
getSiteMode | Возвращает в строке текущий режим работы лендинга. |
getModuleRestrictions | Метод возвращает ограничения для источников конкретного модуля. |
getDataLoader | Метод возвращает объект получения данных из источника. |
findSource | Метод для поиска источника по его уникальному индексу. |
checkSiteMode | Метод возвращает true, если текущий режим работы лендинга найден в списке переданных режимов. |


checkSiteMode

\Bitrix\Landing\Source\Selector::checkSiteMode(
   array $modeList
)

Метод возвращает true, если текущий режим работы лендинга найден в списке переданных режимов. Источники обязаны проверять текущий режим. Например, каталоги не выводятся в режиме сайта. См. пример обработчика

Параметры

Метод Описание С версии
$modeList массив допустимых режимов (из списка ниже):
  • \Bitrix\Landing\Source\Selector::SITE_MODE_PAGE - сайт 24
  • \Bitrix\Landing\Source\Selector::SITE_MODE_STORE - магазин 24
  • \Bitrix\Landing\Source\Selector::SITE_MODE_KNOWLEDGE - база знаний (зарезервировано)


findSource

\Bitrix\Landing\Source\Selector::findSource(
   $index
)

Метод для поиска источника по его уникальному индексу.

Параметры

Параметр | Тип | Описание | С версии
$index | строка | уникальный индекс источника |

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

Возвращается:

  • null (не найден)
  • массив данных по источнику


getDataLoader

\Bitrix\Landing\Source\Selector::getDataLoader(
   $index,
   array $parameters,
   array $options = []]
)

Метод возвращает объект получения данных из источника.

Параметры

Метод | Тип | Описание | С версии
$index | строка | Уникальный индекс источника (обязательный)
$parameters массив Настройки блока лендинга (обязательный). Может содержать ключи:
  • select - перечень выбираемых полей источника
  • filter - фильтр блока в том виде, в каком он сохранен в настройках блока (см класс \Bitrix\Landing\Source\Filter и производные от него)
  • order - сортировка списка результатов
  • limit - максимальное число возвращаемых записей.
  • internal_filter - дополнительный фильтр, возвращаемый в источнике в поле SOURCE_FILTER.
$options массив дополнительные настройки (необязательный). Может содержать ключи:
  • detail_page_url - шаблон ссылки на детальную страницу

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

Возвращается:

  • null - источник не найден
  • объект класса-наследника \Bitrix\Landing\Source\DataLoader, который можно использовать для выборок записей из источника.


getModuleRestrictions

\Bitrix\Landing\Source\Selector::getModuleRestrictions(
   $module
)

Метод возвращает ограничения для источников конкретного модуля. См. пример обработчика.

Параметры

Параметр | Тип | Описание | С версии
$module | строка | Модуль (обязательный) |

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

Массив параметров для модуля либо null. По умолчанию возвращается массив с ключом SITE_ID - идентификатор текущего сайта (если сайт определен).


getSiteMode

\Bitrix\Landing\Source\Selector::getSiteMode(
)

Возвращает в строке текущий режим работы лендинга. На данный момент поддерживаются два режима: сайт 24 и магазин 24.

Параметры

Без параметров


getSourceFilterBaseUri

\Bitrix\Landing\Source\Selector::getSourceFilterBaseUri(
   $module,
   $sourceId
)

Метод обеспечивает получение объекта ссылки для формы настроек фильтра. Метод необходим, если форма настройки включает в себя грид (список элементов) с постраничной навигацией и/или фильтр.

Параметры

Метод | Тип | Описание | С версии
$module | строка | Идентификатор модуля, которому принадлежит источник |
$sourceId | строка | Уникальный в рамках модуля идентификатор источника. Возвращаемое значение - объект \Bitrix\Main\Web\Uri |


getSourceIndex

\Bitrix\Landing\Source\Selector::getSourceIndex(
   $module,
   $sourceId
)

Статический метод для генерации уникального индекса источника.

Параметры

Метод | Тип | Описание | С версии
$module | строка | Идентификатор модуля. (обязательный) |
$sourceId | строка | Идентификатор источника внутри модуля. (обязательный) |

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

Вернёт в строке уникальный индекс источника.


getSourceNames

\Bitrix\Landing\Source\Selector::getSourceNames(
   array $config = []
)

Статический метод для получения списка названий источников.

Параметры

Параметры Описание С версии
config Массив настроек с такими ключами:
  • SOURCE_EVENT_ID - идентификатор события сбора источников. Необязательный. Значение по умолчанию - \Bitrix\Landing\Source\Selector::EVENT_BUILD_SOURCE_LIST.
  • SOURCE_PATH - url (относительно корня сайта) для открытия формы с настройкой фильтра. Необязательный. По умолчанию - \Bitrix\Landing\Source\Selector::SOURCE_PATH.

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

Возвращается массив. Ключ - уникальный индекс источника, значение - название.


getSources

\Bitrix\Landing\Source\Selector::getSources(
   array $config = []
)

Статический метод для получения описания всех доступных источников для заданного события. Внутри себя создает объект селектора с переданными настройками и возвращает результат вызова метода \Bitrix\Landing\Source\Selector::getSourcesDescription.

Параметры

Параметры Описание С версии
config Массив настроек с такими ключами:
  • SOURCE_EVENT_ID - идентификатор события сбора источников. Необязательный. Значение по умолчанию - \Bitrix\Landing\Source\Selector::EVENT_BUILD_SOURCE_LIST.
  • SOURCE_PATH - url (относительно корня сайта) для открытия формы с настройкой фильтра. Необязательный. По умолчанию - \Bitrix\Landing\Source\Selector::SOURCE_PATH.

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

Возвращаемое значение - массив. Ключи массива - уникальные индексы источников. Каждый элемент массива описывает один источник в следующем формате:

  • id - уникальный индекс источника (строка)
  • name - название источника (строка)
  • url - [ filter => Настраиваемый фильтр для отбора данных ],
  • sort - поля для сортировки данных источника
  • references - список полей источника для настройки отображения в блоке лендинга


getSourcesDescription

\Bitrix\Landing\Source\Selector::getSourcesDescription(
)

Метод позволяет получать описаний всех источников для построения формы выбора в настройках блока лендинга.

Параметры

Без параметров

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

Возвращаемое значение - массив. Ключи массива - уникальные индексы источников. Каждый элемент массива описывает один источник в следующем формате:

  • id - уникальный индекс источника (строка)
  • name - название источника (строка)
  • url - [ filter => Настраиваемый фильтр для отбора данных ],
  • sort - поля для сортировки данных источника
  • references - список полей источника для настройки отображения в блоке лендинга


showSourceFilter

\Bitrix\Landing\Source\Selector::showSourceFilter(
   $index
)

Метод отрисовывает форму настроек пользовательского фильтра данных

Внутри себя метод вызывает компонент [dw]bitrix:ui.sidepanel.wrapper[/dw][di]Компонент системный, в документации не описывается.[/di], которому передает пользовательский компонент настроек. Страница с этим методом должна быть открыта через слайдер.

Параметры

Метод | тип | Описание | С версии
$index | строка | уникальный индекс источника |

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

Нет возвращаемого значения.


showSourceFilterByRequest

\Bitrix\Landing\Source\Selector::showSourceFilterByRequest(
)

Метод-надстройка над showSourceFilter. Получает индекс источника из get/post запроса из ключа SOURCE_ID.

Параметры

Без параметров.

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

Нет возвращаемого значения.


Конструктор класса

\Bitrix\Landing\Source\Selector::__construct(
   array $config = []
)

Метод - конструктор.

Параметры

Параметры Описание С версии
config Массив настроек с такими ключами:
  • SOURCE_EVENT_ID - идентификатор события сбора источников. Необязательный. Значение по умолчанию - \Bitrix\Landing\Source\Selector::EVENT_BUILD_SOURCE_LIST.
  • SOURCE_PATH - url (относительно корня сайта) для открытия формы с настройкой фильтра. Необязательный. По умолчанию - \Bitrix\Landing\Source\Selector::SOURCE_PATH.

Примеры

// все параметры по умолчанию
$selector = new \Bitrix\Landing\Source\Selector();

// работа с источниками для конкретного события (явно заданного)
$selector = new \Bitrix\Landing\Source\Selector([
   'SOURCE_EVENT_ID' => 'onBuildMySources'
]);

// кастомная страница вызова форм
$selector = new \Bitrix\Landing\Source\Selector([
   'SOURCE_PATH' => '/source/'
]);


DataLoader

Абстрактный класс для возвращения данных об элементах источника. В источнике необходимо породить свой класс и реализовать выборку данных по переданным параметрам.

Метод | Описание | С версии
__construct | Конструктор класса |
setConfig | Метод устанавливает настройки источника. |
setOptions | Метод для установки дополнительных настроек. |
getElementData | Возвращает данные для элемента, чей идентификатор был передан в метод |
getElementListData | Возвращает данные для списка элементов |
Служебные методы для работы с пользовательским фильтром
calculateFilterHash | Возвращает хеш очищенного (соответствующего формату) фильтра блока. |
getFilterHash | Получение хеша пользовательского фильтра. |
normalizeFilter | Выполняет очистку фильтра блока. |
Методы получения настроек динамического блока
getFilter | Возвращает пользовательский фильтр. |
getSelectFields | Возвращает список полей для показа. |
getPreparedSelectFields | Возвращает нормализованный список полей (в виде простого массива). |
getPreparedFilter | Возвращает готовый фильтр для использования в orm/GetList конкретного источника. |
getInternalFilter | Возвращает дополнительный фильтр. |
getLimit | Возвращает число элементов для вывода в списке. |
getOrder | Возвращает настройки сортировки. |
Методы SEO
getSeo | Возвращает объект класса \Bitrix\Landing\Source\Seo для работы с seo-параметрами отдельного элемента. |
getSeoProperty | Получение seo-параметра для элемента (только для детальной страницы). |
getSeoTitle | Получение названия элемента для заголовка страницы. |


calculateFilterHash

 \Bitrix\Landing\Source\DataLoader::calculateFilterHash(
   $filter
)

Служебный метод для работы с пользовательским фильтром. Возвращает хеш очищенного (соответствующего формату) фильтра блока.

Параметры

Параметр | Описание | С версии
$filter | Массив очищенного пользовательского фильтра. |

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

Возвращается строка хеша.


getElementData

\Bitrix\Landing\Source\DataLoader::getElementData(
   $element
)

Абстрактный метод, должен быть перекрыт в классе-наследнике. Возвращает данные для элемента, чей идентификатор был передан в метод (настройки см \Bitrix\Landing\Source\DataLoader::setConfig)

Параметры

Параметр | Тип | Описание | С версии
$element | строка или целое число | Идентификатор элемента, данные которого нужно вернуть. |

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

Возвращается массив, содержащий один элемент (массив) с требуемыми полями элемента:

$item = [
    ... // данные по элементу
];
return [$item];

Либо пустой массив (элемент не найден или не подпадает под фильтр).


getElementListData

 \Bitrix\Landing\Source\DataLoader::getElementListData(
)

Абстрактный метод который должен быть перекрыт в классе-наследнике. Возвращает данные для списка элементов (настройки см \Bitrix\Landing\Source\DataLoader::setConfig).

Параметры

Без параметров

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

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


getFilter

\Bitrix\Landing\Source\DataLoader::getFilter(
)

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

Параметры

Без параметров

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

Возвращается массив фильтра (см \Bitrix\Landing\Source\DataLoader::setConfig).


getFilterHash

\Bitrix\Landing\Source\DataLoader::getFilterHash(
   $filter
)

Служебный метод для работы с пользовательским фильтром. Получение хеша пользовательского фильтра. Обертка вокруг методов calculateFilterHash и normalizeFilter.

Параметры

Параметр | Описание | С версии
$filter | массив необработанного фильтра блока |

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

Возвращает строку хеша.


getInternalFilter

\Bitrix\Landing\Source\DataLoader::getInternalFilter(
)

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

Параметры

Без параметров

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

Возвращается массив фильтра или null (если не задан).


getLimit

\Bitrix\Landing\Source\DataLoader::getLimit(
)

Служебный метод получения настроек динамического блока. Возвращает число элементов для вывода в списке. Имеет смысл только для списков элементов.

Параметры

Без параметров

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

Возвращается макс число элементов, которое надо выбрать. Если не задано - вернет ноль.


getOrder

\Bitrix\Landing\Source\DataLoader::getOrder(
)

Служебный метод получения настроек динамического блока. Возвращает настройки сортировки. Имеет смысл только для списка элементов.

Параметры

Без параметров

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

Возвращает массив вида:

      'by' => 'ИМЯ_ПОЛЯ_СОРТИРОВКИ',
      'order' => 'направление' (asc/desc)

См \Bitrix\Landing\Source\DataLoader::setConfig


getPreparedFilter

\Bitrix\Landing\Source\DataLoader::getPreparedFilter(
   array $fields
)

Служебный метод получения настроек динамического блока. Возвращает готовый фильтр для использования в orm/GetList конкретного источника. В своих классах рекомендуется использовать вместо \Bitrix\Landing\Source\DataLoader::getFilter.

Параметры

Параметр | Описание | С версии
$fields | описание полей фильтра. См. класс \Bitrix\Landing\Source\Filter. |

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

Возвращает готовый orm/GetList-фильтр.


getPreparedSelectFields

\Bitrix\Landing\Source\DataLoader::getPreparedSelectFields(
)

Служебный метод получения настроек динамического блока. Возвращает нормализованный список полей (в виде простого массива). В своих классах рекомендуется использовать вместо \Bitrix\Landing\Source\DataLoader::getSelectFields

Параметры

Без параметров

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

Возвращается массив, список требуемых полей и свойств.


getSelectFields

\Bitrix\Landing\Source\DataLoader::getSelectFields(
)

Служебный метод получения настроек динамического блока. Возвращает список полей для показа.

Параметры

Без параметров

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

Возвращает массив требуемых полей и свойств. Каждый элемент - массив, в котором обязательный ключ id - код поля (см \Bitrix\Landing\Source\DataLoader::setConfig).


getSeo

\Bitrix\Landing\Source\DataLoader::getSeo()

Метод SEO. Используются только после вызова \Bitrix\Landing\Source\DataLoader::getElementData. Возвращает объект класса \Bitrix\Landing\Source\Seo для работы с seo-параметрами отдельного элемента.

Параметры

Без параметров

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

Возвращается объект класса \Bitrix\Landing\Source\Seo.


getSeoProperty

\Bitrix\Landing\Source\DataLoader::getSeoProperty(
   $name
)

Метод SEO. Используются только после вызова \Bitrix\Landing\Source\DataLoader::getElementData. Получение seo-параметра для элемента (только для детальной страницы).

Параметры

Параметр | Тип | Описание | С версии
$name | строка | имя параметра - см. константы класса \Bitrix\Landing\Source\Seo |

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

Возвращается строка (если свойство есть) или null.


getSeoTitle

 \Bitrix\Landing\Source\DataLoader::getSeoTitle(
)

Метод SEO. Используются только после вызова \Bitrix\Landing\Source\DataLoader::getElementData. Получение названия элемента для заголовка страницы.

Параметры

Без параметров

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

Возвращает название (если оно установлено после вызова \Bitrix\Landing\Source\DataLoader::getElementData) или null.


normalizeFilter

\Bitrix\Landing\Source\DataLoader::normalizeFilter(
   $filter
)

Служебный метод для работы с пользовательским фильтром. Выполняет очистку фильтра блока. Удаляются все записи, не соответствующие формату. При использовании своего формата фильтра (см Фильтр блока) метод должен быть перекрыт.

Параметры

Параметр | Описание | С версии
$filter | Массив необработанного фильтра блока |

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

Возвращается отфильтрованный массив (может быть пустым).

Будут отброшены следующие элементы:

  • не массив
  • отсутствуют или пустые ключи key, name
  • отсутствует или не является массивом ключ value


setConfig

\Bitrix\Landing\Source\DataLoader::setConfig(
   array $config
)

Метод устанавливает настройки источника.

Параметры

Параметры Тип Описание С версии
$config Массив Настройки источника. Штатные ключи:
  • select - Массив полей элементов источника для показа в блоке. Формат массива:
    [
  [
     'id' => 'ИМЯ_ПОЛЯ_ЭЛЕМЕНТА_ИСТОЧНИКА',
     доп. поля (для ссылок, например)
  ],
  ...
]
  • filter - Фильтр блока. Формат массива:

[
   [
      'name' - название параметра фильтра
      'key' - имя параметра (поле или свойство элемента источника)
      'value' - значения для фильтрации (массив)
         [
          // формат определяется типом поля в main.ui.filter
         ]
    ],
...
]
  • order - Поля и направление сортировки (имеет смысл только для списка). Формат массива:
    [
    'by' => 'ИМЯ_ПОЛЯ_СОРТИРОВКИ',
    'order' => 'направление' (asc/desc)
]
  • limit - Число выводимых элементов (имеет только для списка). Значение - целое число
  • internal_filter - Дополнительный фильтр, накладываемый поверх фильтра блока (ключ 'filter'). Сюда относится проверка прав, активности элементов, и так далее. Формат и содержимое соответствует полю SOURCE_FILTER из описания источника (если задано).

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

Возвращаемого значения нет.


setOptions

\Bitrix\Landing\Source\DataLoader::setOptions(
   array $options
)

Метод для установки дополнительных настроек.

Параметры

Параметр | Тип | Описание | С версии
$options | массив | Дополнительные параметры. Для списка это например, шаблон детальной ссылки. |

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

Возвращаемого значения нет.


Конструктор класса

\Bitrix\Landing\Source\DataLoader::__construct(
)

Метод - конструктор.

Параметры

Без параметров


Seo

Класс для работы с seo-данными блока детальной страницы.

Константы seo-параметров:

  • \Bitrix\Landing\Source\Seo::TITLE - заголовок страницы
  • \Bitrix\Landing\Source\Seo::BROWSER_TITLE - заголовок страницы в браузере
  • \Bitrix\Landing\Source\Seo::KEYWORDS - ключевые слова
  • \Bitrix\Landing\Source\Seo::DESCRIPTION - описание
Метод | Описание | С версии
getTitle | Возвращает заголовок страницы. |
setTitle | Сохранение заголовка страницы. |
setProperties | Метод для сохранения набора свойств. |


getTitle

\Bitrix\Landing\Source\Seo::getTitle(
)

Возвращает заголовок страницы.

Параметры

Без параметров

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

Возвращается строка, если заголовок существует, или null, если заголовка нет.


setProperties

\Bitrix\Landing\Source\Seo::setProperties(
   array $values
)

Метод для сохранения набора свойств.

Параметры

Параметры | Описание | С версии
$values | Набор свойств (ключ - код свойства) |

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

Не имеет


setTitle

\Bitrix\Landing\Source\Seo::setTitle(
   $value
)

Сохранение заголовка страницы.

Параметры

Параметры | Тип | Описание | С версии
$value | строка | Заголовок |

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

Нет


Source

Классы для преобразования фильтра блока.

Класс | Описание | С версии
Filter | Класс базовой логики |
UiFilterPreset | Класс для конвертации в формат bitrix:main.ui.filter[/dw][di]. |
DataFilter | Класс для конвертации в формат orm-фильтра (или GetList старого api) |


DataFilter

Генерация orm-фильтра (или GetList-фильтра для старого api). Используется в настраиваемом фильтре для отбора данных и загрузчике данных (iblock).

Метод | Описание | С версии
construct | Конструктор класса |
initFieldTypeHandlers | Служебный метод заполняет список поддерживаемых типов полей |
addCheckboxValue | Метод преобразует значение типа чекбокс в формат bitrix:main.ui.filter[/dw][di]. |
addCustomDateValue | Метод преобразует значение типа диапазоны дат в формат bitrix:main.ui.filter[/dw][di]. |
addDateValue | Преобразует значение типа дата или дата/время в формат bitrix:main.ui.filter[/dw][di]. |
addDestSelectorValue | Метод преобразует значение типа привязка к сущности в формат bitrix:main.ui.filter. |
addListValue | Метод преобразует значение типа список/множественный список в формат bitrix:main.ui.filter. |
addNumberValue | Преобразует значение типа число в формат bitrix:main.ui.filter. |
addStringValue | Преобразует значение типа строка в формат bitrix:main.ui.filter. |

Пример

Преобразования фильтра блока в orm-фильтр (также см пример пользовательского источника). Обратите внимание, что для полей указан ключ operators - без него работать не будет.

$fields = [];

      // поле NAME типа строка
      $fields['NAME'] = [
         'id' => 'NAME', // идентификатор (совпадает с ключом массива)
         'type' => 'string', // тип поля Строка (main.ui.filter)
         'operators' => [ // префиксы для условий
            'default' => '%' // префикс по умолчанию
         ]
      ];
      // поле ID типа число
      $fields['ID'] = [
         'id' => 'ID', // идентификатор (совпадает с ключом массива)
         'type' => 'number', // тип поля Число (main.ui.filter)
         'operators' => [ // префиксы для условий
            'default' => '=', // префикс по умолчанию
            'exact' => '=', // точное совпадение (равно) (X === value)
            'range' => '><', // фильтр по диапазону (min <= X <= max)
            'more' => '>', // больше (X > value)
            'less' => '<' // меньше (X < value)
         ]
      ];
      // поле SECTION_ID типа список
      $fields['SECTION_ID'] = [
         'id' => 'SECTION_ID', // идентификатор (совпадает с ключом массива)
         'type' => 'list', // тип поля Список (main.ui.filter)
         'operators' => [ // префиксы для условий
            'default' => '=' // префикс по умолчанию
         ]
      ];
      // поле INCLUDE_SUBSECTIONS типа чекбокс
      $fields['INCLUDE_SUBSECTIONS'] = [
         'id' => 'INCLUDE_SUBSECTIONS', // идентификатор (совпадает с ключом массива)
         'type' => 'checkbox', тип поля Чекбокс (main.ui.filter)
         'operators' => [ // префиксы для условий
            'default' => '' // префикс по умолчанию
         ]
      ];

      $sourceFilter = ... // получение фильтра блока см описание класса \Bitrix\Landing\Source\DataLoader и его наследников

      $filter = \Bitrix\Landing\Source\DataFilter();
      $filter->setFields($filter);
      $ormFilter = $filter->create($sourceFilter); // фильтр для orm


addCheckboxValue

\Bitrix\Landing\Source\DataFilter::addCheckboxValue(
   array &$result,
   $fieldId,
   array $field,
   array $value
)

Метод преобразует значение типа чекбокс в формат api получения данных.

Параметры

Метод | Тип | Описание | С версии
$result | массив, передается по ссылке | Сконвертированный фильтр (Каждый метод пишет в этот массив свои результаты. Или не пишет, если не сможет). |
$fieldId | строка | Идентификатор поля |
$field | массив | Описание поля (см \Bitrix\Landing\Source\Filter::setFields) |
$values | массив | Фильтр блока (см \Bitrix\Landing\Source\Filter::create) |

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

Нет


addCustomDateValue

\Bitrix\Landing\Source\DataFilter::addCustomDateValue(
   array &$result,
   $fieldId,
   array $field,
   array $value
)

Метод преобразует значение типа диапазоны дат в формат api получения данных.

Параметры

Метод | Тип | Описание | С версии
$result | массив, передается по ссылке | Сконвертированный фильтр (Каждый метод пишет в этот массив свои результаты. Или не пишет, если не сможет). |
$fieldId | строка | Идентификатор поля |
$field | массив | Описание поля (см \Bitrix\Landing\Source\Filter::setFields) |
$values | массив | Фильтр блока (см \Bitrix\Landing\Source\Filter::create) |

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

Нет


addDateValue

\Bitrix\Landing\Source\DataFilter::addDateValue(
   array &$result,
   $fieldId,
   array $field,
   array $value
)

Метод преобразует значение типа дата или дата/время в формат api получения данных.

Параметры

Метод | Тип | Описание | С версии
$result | массив, передается по ссылке | Сконвертированный фильтр (Каждый метод пишет в этот массив свои результаты. Или не пишет, если не сможет). |
$fieldId | строка | Идентификатор поля |
$field | массив | Описание поля (см \Bitrix\Landing\Source\Filter::setFields) |
$values | массив | Фильтр блока (см \Bitrix\Landing\Source\Filter::create) |

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

Нет


addDestSelectorValue

\Bitrix\Landing\Source\DataFilter::addDestSelectorValue(
   array &$result,
   $fieldId,
   array $field,
   array $value
)

Метод преобразует значение типа привязка к сущности в формат api получения данных.

Параметры

Метод | Тип | Описание | С версии
$result | массив, передается по ссылке | Сконвертированный фильтр (Каждый метод пишет в этот массив свои результаты. Или не пишет, если не сможет). |
$fieldId | строка | Идентификатор поля |
$field | массив | Описание поля (см \Bitrix\Landing\Source\Filter::setFields) |
$values | массив | Фильтр блока (см \Bitrix\Landing\Source\Filter::create) |

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

Нет


addListValue

\Bitrix\Landing\Source\DataFilter::addListValue(
   array &$result,
   $fieldId,
   array $field,
   array $value
)

Метод преобразует значение типа список/множественный список в формат api получения данных.

Параметры

Метод | Тип | Описание | С версии
$result | массив, передается по ссылке | Сконвертированный фильтр (Каждый метод пишет в этот массив свои результаты. Или не пишет, если не сможет). |
$fieldId | строка | Идентификатор поля |
$field | массив | Описание поля (см \Bitrix\Landing\Source\Filter::setFields) |
$values | массив | Фильтр блока (см \Bitrix\Landing\Source\Filter::create) |

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

Нет


addNumberValue

\Bitrix\Landing\Source\DataFilter::addNumberValue(
   array &$result,
   $fieldId,
   array $field,
   array $value
)

Метод преобразует значение типа число в формат api получения данных.

Параметры

Метод | Тип | Описание | С версии
$result | массив, передается по ссылке | Сконвертированный фильтр (Каждый метод пишет в этот массив свои результаты. Или не пишет, если не сможет). |
$fieldId | строка | Идентификатор поля |
$field | массив | Описание поля (см \Bitrix\Landing\Source\Filter::setFields) |
$values | массив | Фильтр блока (см \Bitrix\Landing\Source\Filter::create) |

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

Нет


addStringValue

\Bitrix\Landing\Source\DataFilter::addStringValue(
   array &$result,
   $fieldId,
   array $field,
   array $value
)

Метод преобразует значение типа строка в формат api получения данных.

Параметры

Метод | Тип | Описание | С версии
$result | массив, передается по ссылке | Сконвертированный фильтр (Каждый метод пишет в этот массив свои результаты. Или не пишет, если не сможет). |
$fieldId | строка | Идентификатор поля |
$field | массив | Описание поля (см \Bitrix\Landing\Source\Filter::setFields) |
$values | массив | Фильтр блока (см \Bitrix\Landing\Source\Filter::create) |

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

Нет


initFieldTypeHandlers

\Bitrix\Landing\Source\DataFilter::initFieldTypeHandlers(
)

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

Поддерживаются следующие типы полей:

  • string - строка
  • number - число
  • date - дата
  • custom_date - диапазоны дат
  • list - список для выбора
  • checkbox - чекбокс (выбран/не выбран)
  • dest_selector - выбор сущности


Конструктор класса

\Bitrix\Landing\Source\Filter::__construct

Создает объект для работы с фильтром. Внутри себя вызывает метод initFieldTypeHandlers

Параметры

Без параметров


Filter

Абстрактный класс. Вся работа идет через классы-наследники.

Метод | Описание | С версии
construct | Конструктор класса. |
setFields | Метод передаёт описания полей фильтра. |
create | Преобразование фильтра блока в нужный формат. |
initFieldTypeHandlers | Заполняет список поддерживаемых типов полей. |


create

\Bitrix\Landing\Source\Filter::create(
   array $sourceFilter
)

Преобразование фильтра блока в нужный формат (зависит от реализации класса-наследника).

Параметры

Метод | Описание | С версии
$sourceFilter | массив фильтра блока |

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

Возвращается массив преобразованного фильтра.


initFieldTypeHandlers

\Bitrix\Landing\Source\Filter::initFieldTypeHandlers(
)

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

Все методы, обрабатывающие типы полей, должны иметь стандартный набор параметров:

(array &$result, $fieldId, array $field, array $value)

Параметры

Метод | Тип | Описание | С версии
$result | массив, передается по ссылке | Сконвертированный фильтр (Каждый метод пишет в этот массив свои результаты. Или не пишет, если не сможет). |
$fieldId | строка | Идентификатор поля |
$field | массив | Описание поля (см \Bitrix\Landing\Source\Filter::setFields) |
$values | массив | Фильтр блока (см \Bitrix\Landing\Source\Filter::create) |

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

Нет


setFields

\Bitrix\Landing\Source\Filter::setFields(
   array $fields
)

Метод передаёт описания полей фильтра.

Параметры

Параметры | Описание | С версии
$fields | Массив полей фильтра |

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

Нет


Конструктор класса

\Bitrix\Landing\Source\Filter::__construct

Конструктор класса. Внутри себя вызывает метод initFieldTypeHandlers

Параметры

Без параметров


UiFilterPreset

Класс для преобразования фильтра блока в формат main.ui.filter. Используется в настраиваемом фильтре для отбора данных.

Метод | Описание | С версии
construct | Конструктор |
addCheckboxValue | Метод преобразует значение типа чекбокс в формат bitrix:main.ui.filter. |
addCustomDateValue | Метод преобразует значение типа диапазоны дат в формат bitrix:main.ui.filter. |
addDateValue | Преобразует значение типа дата или дата/время в формат bitrix:main.ui.filter. |
addDestSelectorValue | Метод преобразует значение типа привязка к сущности в формат bitrix:main.ui.filter. |
addListValue | Метод преобразует значение типа список/множественный список в формат bitrix:main.ui.filter. |
addNumberValue | Преобразует значение типа число в формат bitrix:main.ui.filter. |
addStringValue | Преобразует значение типа строка в формат bitrix:main.ui.filter. |
create | Преобразует фильтр блока в формат bitrix:main.ui.filter. |
initFieldTypeHandlers | Служебный метод заполняет список поддерживаемых типов полей. |

Пример

Инициализация компонента bitrix:main.ui.filter значениями из фильтра блока при открытии формы настройки (настраиваемый фильтр для отбора данных). Обратите внимание, что в этом примере для полей нет ключа operators, т.к. он не требуется (хотя его наличие не запрещается).

$gridFilterConfig = new UI\Filter\Options('ИД_фильтра');

      $preset = [];
      $request = \Bitrix\Main\Context::getCurrent()->getRequest();
      $data = $request->getPost('filter'); // в этом ключе отдается фильтр блока в форму
      if (!empty($data) && is_array($data))
      {
         $fields = []; // поля фильтра - см формат
         $fields['NAME'] = [
            'id' => 'NAME',
            'type' => 'string',
         ];
         $fields['ID'] = [
            'id' => 'ID',
            'type' => 'number',
         ];
         $fields['ENTITY_LIST'] = [
            'id' => 'ENTITY_LIST',
            'type' => 'list',
            'params' => [
               'multiple' => 'Y'
            ]
         ];
         $fields['ACTIVE'] = [
            'id' => 'ACTIVE',
            'type' => 'checkbox',
            'operators' => [
               'default' => ''
            ]
         ];

         $sourceFilter = new \Bitrix\Landing\Source\UiFilterPreset();
         $sourceFilter->setFields($fields);
         $preset = $sourceFilter->create($data);
      }

      $gridFilterConfig->setFilterSettings(
           \Bitrix\Main\UI\Filter\Options::TMP_FILTER,
           [
              'name' => '',
              'fields' => $preset
           ],
           true,
           false
        );
        $gridFilterConfig->save();


addCheckboxValue

\Bitrix\Landing\Source\UiFilterPreset::addCheckboxValue(
   array &$result,
   $fieldId,
   array $field,
   array $value
)

Метод преобразует значение типа чекбокс в формат bitrix:main.ui.filter.

Параметры

Метод | Тип | Описание | С версии
$result | массив, передается по ссылке | Сконвертированный фильтр (Каждый метод пишет в этот массив свои результаты. Или не пишет, если не сможет). |
$fieldId | строка | Идентификатор поля |
$field | массив | Описание поля (см \Bitrix\Landing\Source\Filter::setFields) |
$values | массив | Фильтр блока (см \Bitrix\Landing\Source\Filter::create) |

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

Нет


addCustomDateValue

\Bitrix\Landing\Source\UiFilterPreset::addCustomDateValue(
   array &$result,
   $fieldId,
   array $field,
   array $value
)

Метод преобразует значение типа диапазоны дат в формат bitrix:main.ui.filter.

Параметры

Метод | Тип | Описание | С версии
$result | массив, передается по ссылке | Сконвертированный фильтр (Каждый метод пишет в этот массив свои результаты. Или не пишет, если не сможет). |
$fieldId | строка | Идентификатор поля |
$field | массив | Описание поля (см \Bitrix\Landing\Source\Filter::setFields) |
$values | массив | Фильтр блока (см \Bitrix\Landing\Source\Filter::create) |

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

Нет


addDateValue

\Bitrix\Landing\Source\UiFilterPreset::addDateValue(
   array &$result,
   $fieldId,
   array $field,
   array $value)

Преобразует значение типа дата или дата/время в формат bitrix:main.ui.filter.

Параметры

Метод | Тип | Описание | С версии
$result | массив, передается по ссылке | Сконвертированный фильтр (Каждый метод пишет в этот массив свои результаты. Или не пишет, если не сможет). |
$fieldId | строка | Идентификатор поля |
$field | массив | Описание поля (см \Bitrix\Landing\Source\Filter::setFields) |
$values | массив | Фильтр блока (см \Bitrix\Landing\Source\Filter::create) |

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

Нет


addDestSelectorValue

\Bitrix\Landing\Source\UiFilterPreset::addDestSelectorValue(
   array &$result,
   $fieldId,
   array $field,
   array $value
)

Метод преобразует значение типа привязка к сущности в формат bitrix:main.ui.filter.

Параметры

Метод | Тип | Описание | С версии
$result | массив, передается по ссылке | Сконвертированный фильтр (Каждый метод пишет в этот массив свои результаты. Или не пишет, если не сможет). |
$fieldId | строка | Идентификатор поля |
$field | массив | Описание поля (см \Bitrix\Landing\Source\Filter::setFields) |
$values | массив | Фильтр блока (см \Bitrix\Landing\Source\Filter::create) |

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

Нет


addListValue

\Bitrix\Landing\Source\UiFilterPreset::addListValue(
   array &$result,
   $fieldId,
   array $field,
   array $value
)

Метод преобразует значение типа список/множественный список в формат bitrix:main.ui.filter.

Параметры

Метод | Тип | Описание | С версии
$result | массив, передается по ссылке | Сконвертированный фильтр (Каждый метод пишет в этот массив свои результаты. Или не пишет, если не сможет). |
$fieldId | строка | Идентификатор поля |
$field | массив | Описание поля (см \Bitrix\Landing\Source\Filter::setFields) |
$values | массив | Фильтр блока (см \Bitrix\Landing\Source\Filter::create) |


addNumberValue

\Bitrix\Landing\Source\UiFilterPreset::addNumberValue(
   array &$result,
   $fieldId,
   array $field,
   array $value)

Преобразует значение типа число в формат bitrix:main.ui.filter.

Параметры

Метод | Тип | Описание | С версии
$result | массив, передается по ссылке | Сконвертированный фильтр (Каждый метод пишет в этот массив свои результаты. Или не пишет, если не сможет). |
$fieldId | строка | Идентификатор поля |
$field | массив | Описание поля (см \Bitrix\Landing\Source\Filter::setFields) |
$values | массив | Фильтр блока (см \Bitrix\Landing\Source\Filter::create) |

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

Нет


addStringValue

\Bitrix\Landing\Source\UiFilterPreset::addStringValue(
   array &$result,
   $fieldId,
   array $field,
   array $value)

Преобразует значение типа строка в формат bitrix:main.ui.filter.

Параметры

Метод | Тип | Описание | С версии
$result | массив, передается по ссылке | Сконвертированный фильтр (Каждый метод пишет в этот массив свои результаты. Или не пишет, если не сможет). |
$fieldId | строка | Идентификатор поля |
$field | массив | Описание поля (см \Bitrix\Landing\Source\Filter::setFields) |
$values | массив | Фильтр блока (см \Bitrix\Landing\Source\Filter::create) |

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

Нет


create

\Bitrix\Landing\Source\UiFilterPreset::create(
   array $sourceFilter
)

Преобразует фильтр блока в формат bitrix:main.ui.filter. Внутри себя вызывает родительский метод плюс выполняет инициализацию ключа FIND.

Параметры

Параметры | Тип | Описание | С версии
$sourceFilter | массив | Фильтр блока |

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

Возвращается массив преобразованного фильтра.


initFieldTypeHandlers

\Bitrix\Landing\Source\Filter::initFieldTypeHandlers(
)

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

Поддерживаются следующие типы полей:

  • string - строка
  • number - число
  • date - дата
  • custom_date - диапазоны дат
  • list - список для выбора
  • checkbox - чекбокс (выбран/не выбран)
  • dest_selector - выбор сущности

Пример

Свой метод initFieldTypeHandler.

$this->fieldTypeHandlers = [
 'string' => 'addStringValue',
   'number' => 'addNumberValue',
   'date' => 'addDateValue',
   'custom_date' => 'addCustomDateValue',
   'list' => 'addListValue',
   'checkbox' => 'addCheckboxValue',
   'dest_selector' => 'addDestSelectorValue',
];


Конструктор класса

\Bitrix\Landing\Source\UiFilterPreset::__construct

Создает объект класса для преобразования фильтра блока в формат компонента bitrix:main.ui.filter. Вызывает конструктор родительского класса.

Параметры

Без параметров


Пространство имён Node

Содержит идентификаторы базовых типов полей (нод) в динамическом блоке. Идентификаторы используются для указания - в какой ноде может быть отрисовано поле или свойство источника.

Обрабатываемые типы (на текущий момент):

  • \Bitrix\Landing\Node\Type::TEXT - текстовые поля (строки, блоки текста, числа)
  • \Bitrix\Landing\Node\Type::IMAGE - изображение
  • \Bitrix\Landing\Node\Type::ICON - иконка
  • \Bitrix\Landing\Node\Type::LINK - ссылка


Отправить отзыв по этому разделу

Кастомизация и расширение

  • Места встраивания
  • Внесение изменений в системный шаблон
  • Создание собственного шаблона
  • Навигационная цепочка
  • Библиотеки иконок
  • События редактора
  • Цветовые темы
  • Партнерские шаблоны


Места встраивания

Отправить отзыв по этому разделу
Пространство имён Bitrix>Сайты24>Кастомизация и расширение>Места встраивания

Кастомизация и расширение::Места встраивания

Данная информация актуальна только для коробочных Битрикс24 и Баз Знаний.

Описание

В ряде мест портала вы могли видеть такой интерфейс:

Вот в каждое место, где вы это видите, вы можете внедриться посредством API. Давайте расскажем как. Речь будет идти про PHP API, но есть еще REST со своим алгоритмом встройки.

Встраивание в меню, удаление из меню

Для начала вам нужно определиться с меню, в которое вы хотите встроиться, получить его код. Сделать это можно, открыв в интерфейсе выбор привязки к меню ("Выбрать базу знаний") и посмотрев адрес открывшегося фрейма. Там будет параметр, например, menuId=crm_switcher:deal. Это и есть так называемый код меню. И вот с ним уже можем работать:

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $id = 2093;// ID базы знаний
   \Bitrix\Landing\Site\Type::setScope('KNOWLEDGE');
   $binding = new \Bitrix\Landing\Binding\Menu('crm_switcher:deal');
   $binding->bindSite($id);// привязка
//   $binding->unbindSite($id);// отвязка
   print_r($binding->getList('crm_switcher:deal'));// вывод всех привязок по коду
   print_r($binding->getList());// вывод всех привязок всех мест
}

Встраивание в группу социальной сети, удаление из группы

Тут похожий принцип, но за основу берется ИД группы и есть определенная сложность с тем, что БЗ групп и обычные БЗ находятся в разных скоупах. Это значит, что привязка должна быть к той БЗ, которая создана в скоупе GROUP. Либо сменить скоуп у имеющеся. Обратите внимание! После операции указанная БЗ исчезнет из списка общих, и привяжется к группе.

Выполним привязку к группе:

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $id = 2093;// ID базы знаний
   $groupId = 121;// ID группы
   \Bitrix\Landing\Site\Type::setScope('KNOWLEDGE');
   $binding = new \Bitrix\Landing\Binding\Group($groupId);
   $binding->bindSite($id);// привязка
   print_r($binding->getList($groupId));// привязка к указанной группе
   print_r($binding->getList());// привязки ко всем группам
   // сменим скоуп базе знаний
   \Bitrix\Landing\Rights::setGlobalOff();
   \Bitrix\Landing\Site::update($id, [
      'TYPE' => 'GROUP'
   ]);
   \Bitrix\Landing\Rights::setGlobalOn();
}

И отвязка:

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $id = 2093;// ID базы знаний
   $groupId = 121;// ID группы
   \Bitrix\Landing\Site\Type::setScope('GROUP');
   $binding = new \Bitrix\Landing\Binding\Group($groupId);
   $binding->unBindSite($id);// привязка
   // сменим скоуп базе знаний
   \Bitrix\Landing\Rights::setGlobalOff();
   \Bitrix\Landing\Site::update($id, [
      'TYPE' => 'KNOWLEDGE'
   ]);
   \Bitrix\Landing\Rights::setGlobalOn();
}


Внесение изменений в системный шаблон

Отправить отзыв по этому разделу
Пространство имён Bitrix>Сайты24>Кастомизация и расширение>Внесение изменений в системный шаблон

Кастомизация и расширение::Внесение изменений в системный шаблон

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

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

Вместе с тем система дает достаточно гибкие возможности влияния на шаблон, о них рассказано ниже.

Конфигурационный файл

На помощь приходит конфигурационный файл .config.php, который размещается внутри шаблона /bitrix/templates/landing24. Файл подключается как в момент редактирования, так и на опубликованном сайте и может влиять на поведение шаблона.

Вот как может выглядеть данный файл (актуальную версию массива вы можете найти в методе Bitrix\Landing\Config::getDefaultConfig()):

return [
   'js_core_public' => [
      'landing_core'
   ],
   'js_core_edit' => [
      'landing_core'
   ],
   'disable_namespace' => [],
   'enable_namespace' => [],
   'public_wrapper_block' => true,
   'google_font' => true
];

Давайте разберем все ключи более подробно.

js_core_public – массив js-расширений, который необходим модулю для работы в опубликованном состоянии. Полностью отказываться от landing_core мы не рекомендуем, так как он несет ряд библиотек, нужных для показа (например, vendors_base.css это Bootstrap), но дополнить или изменить ряд скриптов – вполне.

Вот так выглядит системное ядро landing_core (вы можете скопировать его в свое расширение, зарегистрировать его, а затем указать ваш код в js_core_public)

<?php

// $pathJS = '/bitrix/js/landing';
// $pathTemplate24 = '/bitrix/templates/landing24';

$jsConfig = array(
    // ...
    'landing_core_custom' => array(// изменили ключ, так как регистрируем свое расширение
        'js' => array(
            $pathJS . '/utils.js',
            $pathTemplate24 . '/assets/js/helpers/onscroll-animation_init.js',
            $pathTemplate24 . '/assets/js/helpers/go_to_init.js',
            $pathTemplate24 . '/assets/js/helpers/popup_init.js',
            $pathTemplate24 . '/assets/js/helpers/hamburgers_init.js',
        ),
        'css' => array(
            $pathTemplate24 . '/assets/vendor/vendors_base.css',
            $pathTemplate24 . '/assets/vendor/icon-awesome/css/font-awesome.css',
            $pathTemplate24 . '/assets/vendor/icon-line/css/simple-line-icons.css',
            $pathTemplate24 . '/assets/vendor/icon-line-pro/style.css',
            $pathTemplate24 . '/assets/vendor/icon-hs/style.css',
            $pathTemplate24 . '/assets/vendor/icon-etlinefont/style.css',
            $pathTemplate24 . '/themes/themes_core.css',
            $pathTemplate24 . '/assets/css/custom.css',
            $pathTemplate24 . '/assets/css/themes_custom.css',
        ),
        'rel' => array('landing_public'),
    ),
    // ...
);

foreach ($jsConfig as $code => $ext)
{
    \CJSCore::registerExt($code, $ext);
}

// вносим коррективы в .config.php
return [
    'js_core_public' => [
        'landing_core_custom'//для публичной части указываем уже свое расширение
    ],
    'js_core_edit' => [
        'landing_core'//для редактора, как вариант, можно оставить и системное
    ],
    'disable_namespace' => [],
    'enable_namespace' => [],
    'public_wrapper_block' => true,
    'google_font' => true
];

Примечание. Узнать больше про регистрацию расширений [image].

js_core_edit - все то же самое, что и js_core_public, но только в отношении режима редактирования.

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

   'disable_namespace' => [
      'bitrix'
   ],

enable_namespace - в этом параметре можно напротив указать приоритетные пространства - только они будут учитываться в редакторе. Если ключ задан, то ключ disable_namespace игнорируется.

public_wrapper_block – в опубликованной версии каждый блок оборачивается в дополнительный системный div. Если вдруг вам это по какой-то причине не требуется, просто укажите здесь false.

Внимание! Значение false допустимо, если вы используете только собственные кастомные блоки. Корректная работа стандартных блоков без дополнительного wrapper'а не гарантируется

google_font – по-умолчанию в шапке шаблона подключается ряд google-шрифтов. Если это не требуется, просто укажите false.

Несмотря на то, что файл размещается в системном шаблоне, он никогда не будет изменен при обновлении и вы можете смело им пользоваться.

Файл подключается только раз и может быть наделен дополнительной логикой. Например, подключение или отключение того или иного пространства блоков в зависимости от текущего домена.

Использование маркеров в шаблоне

В шаблоне достаточно много так называемых маркеров вывода. Маркер - это определенное место в верстке, куда будет выведен код, установленный разработчиком. Давайте, например, добавим некий код сразу после открывающего тега <head>. Воспользоваться можно любым подходящим событием на этапе сборки страницы. Давайте для примера возьмем OnBeforeProlog [image].

$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('main', 'OnBeforeProlog',
   function()
   {
      if (\Bitrix\Main\Loader::includeModule('landing'))
      {
         \Bitrix\Landing\Manager::setPageView(
            'AfterHeadOpen',
            '<meta http-equiv="X-UA-Compatible" content="IE=edge">'
         );
      }
   }
);

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

Какие есть метки шаблона на данный момент:

HtmlClass - class тега <html>.

AfterHeadOpen - текст сразу после открывающего тега <head>.

BeforeHeadClose - текст перед закрывающим тегом </head>.

HtmlClass - class тега <body>.

BodyTag - любой текст внутри тега <body> (например, стили, атрибуты).

AfterBodyOpen - текст сразу после открывающего тега <body>.

Noscript - то же самое, что AfterBodyOpen (идет перед данным тегом), с одним отличием: если на сайте включено согласие пользователей с Cookies, то это поле безусловно очищается. Предполагается, что в поле размещаются noscript-части счетчиков.

HtmlClass - class тега <main> (обертка всего содержимого страницы).

FooterJS - текст в месте вывода JS-кода в подвале страницы.

BeforeBodyClose - текст перед закрывающим тегом </body>.

И шаблоном для визуализации

<!DOCTYPE html>
<html class="HtmlClass">
<head>
   AfterHeadOpen
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1">
   <title>title
    <!-- Google Fonts -->
    <!-- CSS -->
    <!-- OG -->
   BeforeHeadClose
</head>
<body class="BodyClass" BodyTag>
AfterBodyOpen
<main class="MainClass">
   <!-- Body -->
   FooterJS
</main>
BeforeBodyClose
</body>
</html>


Создание собственного шаблона

Отправить отзыв по этому разделу
Пространство имён Bitrix>Сайты24>Кастомизация и расширение>Создание собственного шаблона

Кастомизация и расширение::Создание собственного шаблона

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Мы постарались максимально подробно описать работу с шаблонами на этой странице. Тем не менее считаем, что вам обязательно нужно изучить раздел Шаблон дизайна сайта [image] курса Разработчик Bitrix Framework.

В настройках модуля есть возможность сменить основной шаблон Сайтов24, который назвается landing24, или сменить для конкретного сайта. Рекомендуется прибегать к данному варианту только если вы исчерпали все возможности системного изменения и отдаете себе отчет, что это в мелочах может потребовать много сил и времени. В том числе на будущую поддержку. С другой стороны, такой подход может пригодиться, чтобы скопировать штатный шаблон и внести в него кардинальные изменения (например, с целью узкой оптимизации).

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

Итак, как создать свой собственный шаблон Сайта24? Давайте рассмотрим.

  1. Прежде всего есть ряд условий к верстке:
    • шаблон должен быть на Bootstrap4 (для версий ниже 4 мы не даем никаких гарантий)
    • должна присутствовать возможность нарезать верстку в блоки, при перестановке таких блоков местами ничего не будет "перекошено", и так далее
    • в верстке и скриптах должна отсутствовать адресация по атрибуту id, так как каждый блок может быть размещен на странице несколько раз
  2. Теперь можно переходить к созданию костяка шаблона. Для этого просто копируете необходимые файлы из каталога /bitrix/templates/landing24 в ваш каталог, находящийся рядом.

    Нужно скопировать файлы:

    • description.php (внутри которого задать имя вашего нового шаблона)
    • header.php (без изменений)
    • footer.php (без изменений)
    • template_styles.css (без изменений, в нем нужные стили для представления сайта и страниц: шапка, подвал, сайдбар)

    Мы пишем "без изменений", подразумевая, что при копировании файла ничего дополнительно менять не требуется, но вы можете его изменить конкретно под свои задачи. Некоторые маркеры внутри файлов используются для вывода важных элементов управления (например, счетчики).

    Полученный код шаблона (имя вашего каталога) необходимо прописать в настройках модуля. Общий для всех, или для конкретного сайта.

  3. Далее работаем уже с вашим каталогом. Копируйте туда все необходимые файлы для вашей верстки (скрипты, стили, шрифты, изображения, спрайты, и так далее). В общем все то, что предполагается для корректной работы шаблона.
  4. В шаблоне сайта подключаем скрипты и стили вашего шаблона по всем канонам (стили вверху, скрипты внизу).
  5. Внимание! У вас должен получиться визуально пустой шаблон, не должно быть никаких видимых частей, "которые будут показываться на всех страницах". Дальнейшее действо предполагает, что вы нарезаете верстку в блоки, и именно из них редактором собираются страницы. Каждый такой блок должен представлять из себя исключительно "кусок" html, стилями зависящий от шаблона сайта.
  6. Так как вы создаете свой шаблон, то скорее всего в нем не будут работать штатные блоки, зависящие от своей верстки. Рекомендуется создать конфигурационный файл в своем шаблоне и отключить системные блоки (bitrix) в ключе disable_namespace.
       'disable_namespace' => [
      'bitrix'
   ],
  7. Если вы хотите исключить абсолютно все пространства кроме своего, укажите белый список, тогда только перечисленные пространства будут выводиться. Предыдущий параметр будет игнорироваться.
       'enable_namespace' => [
      'local'
   ],
  8. Шаблон не может существовать без тем. Вам нужно создать как минимум одну тему с помощью обработчика (там же даны пояснения, что такое тема). Через данный же обработчик необходимо отключить все существующие темы в системе. Например, так:
    $eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('landing', 'onGetThemeColors',
   function(\Bitrix\Main\Event $event)
   {
      $result = new \Bitrix\Main\Entity\EventResult;
      $colors = $event->getParameter('colors');

      $colors = [];

      $colors['mytheme1'] = array(
         'name' => 'Моя тема 1',
         'color' => '#cdcdcd',
         'base' => true
      );
      $colors['mytheme2'] = array(
         'name' => 'Моя тема 2',
         'color' => '#373737',
         'base' => true
      );

      $result->modifyFields(array(
         'colors' => $colors
      ));

      return $result;
   }
);
  9. Так как вы создаете полностью отдельный шаблон, нет гарантии, что сторонние приложения смогут корректно на нем работать, в связи с чем не выводятся шаблоны создания сайтов и страниц [image], и партнерские блоки, зарегистрированные через REST [image]. Чтобы нужные вам блоки и шаблоны создания появились, регистрируйте их с параметром site_template_id = #ваш_код_главного_шаблона#. Подробнее смотрите регистрацию шаблона [image] и регистрацию блока [image].
  10. Вполне вероятно, вам потребуется также подключить собственные библиотеки иконок, или убрать некоторые из штатной поставки. Хотя есть так же вариант, скопировать в ваш основной шаблон все стилевые файлы иконочных библиотек. В любом случае, обратите на это внимание, возможно вам полезным окажется страница по работе с библиотеками иконок.

Прочее

В настройках сайта можно включать показ кнопки "Вверх". Включенная опция добавляет на тег body класс g-upper-show, с которым работает скрипт, добавляя уже динамически кнопку.

В своем шаблоне вы можете реализовать с нуля показ кнопки, либо взять скрипт с системного шаблона по пути: /bitrix/templates/landing24/assets/js/helpers/go_to_init.js.

Также присутствует возможность переопределить работу системного показа кнопки "вверх" через обработчик показа хуков (код хука UP).


Навигационная цепочка

Отправить отзыв по этому разделу
Пространство имён Bitrix>Сайты24>Кастомизация и расширение>Навигационная цепочка

Кастомизация и расширение::Навигационная цепочка

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Как создавать блоки с навигационной цепочкой, объяснено в соответствующем разделе [image] Rest документации. Там же говорится, что влиять непосредственно на верстку самой последовательности ссылок (цепочки) возможности в облаке нет. Но зато такая возможность есть в коробочной версии.

Верстка такой цепочки по-умолчанию размещена в /bitrix/templates/landing24/chain_template.php. Правда изменять данный файл не рекомендуется, иначе это может быть потеряно при обновлении системы.

Зато у вас есть возможность создать свой собственный шаблон с аналогичным файлом, и уже в него внести изменения.


Библиотеки иконок

Отправить отзыв по этому разделу
Пространство имён Bitrix>Сайты24>Кастомизация и расширение>Библиотеки иконок

Кастомизация и расширение::Библиотеки иконок

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Для типа ноды icon [image] присутствует возможность редактору выбора иконок из ряда предустановленных. В коробочной версии есть возможность как удалять некоторые библиотеки, так и добавлять новые.

В штатной поставке присутствуют следующие библиотеки иконок (в скобках даных системные классы, которые могут вам пригодиться ниже):

    Fontawesome (BX.Landing.Icon.FontAwesome)
    HS Icons (BX.Landing.Icon.HSIcons)
    Simple Line Icons (BX.Landing.Icon.SimpleLine)
    Simple Line Icon Pro 1 (BX.Landing.Icon.SimpleLineProOne)
    Simple Line Icon Pro 2 (BX.Landing.Icon.SimpleLineProTwo)
    100 Line Icons (BX.Landing.Icon.EtLineIcons)

Следующим образом можно зарегистрировать свои библиотеки:

var customLibrary = {
   id: 'my-library',
   name: 'My Library',
   categories: [
      {
         id: 'my-category-id',
         name: 'My Category Name',
         items: [
            'icon-class-name-1',
            'icon-class-name-2',
            ...
         ]
      }
   ]
};
BX.Landing.UI.Panel.Icon.getInstance().libraries.push(customLibrary);

Как вы можете видеть, в items просто перечисляются классы иконок библиотеки. Данный JS-код и сама CSS-библиотека должны присутствовать на странице инициации редактора. В публичной части должна присутствовать только CSS-библиотека. Подключить такой код можно, например, через библиотеки [image].

Соответственно, аналогичным образом вы можете перетасовать системный набор иконок, и оставить только нужные вам. Тут то и придут на помощь классы, данные в скобочках выше:

BX.Landing.UI.Panel.Icon.getInstance().libraries = [];//Удаление всех предустановленых библиотек
BX.Landing.UI.Panel.Icon.getInstance().libraries.push(BX.Landing.Icon.SimpleLineProTwo)
BX.Landing.UI.Panel.Icon.getInstance().libraries.push(BX.Landing.Icon.EtLineIcons)


События редактора

Отправить отзыв по этому разделу
Пространство имён Bitrix>Сайты24>Кастомизация и расширение>События редактора

Кастомизация и расширение::События редактора

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

В редакторе присутствует возможность регистрации обработчиков ряда событий. Это позволит вам более гибко подойти к решению самых разнообразных задач. А в некоторых местах без них не обойтись. Например, блок со слайдером, где каждый слайд – отдельная карточка. После изменения в количестве карточек вам нужно будет скорее всего переинициировать код слайдера (зависит от конкретных библиотек и выходит за рамки данной документации).

Событие | Описание | С версии
BX.Landing.Block:init | Вызывает обработчики после инициализации блока |
BX.Landing.Block:Card:beforeAdd | Вызывает обработчики перед добавлением карточки |
BX.Landing.Block:Card:add | Вызывает обработчики после добавления карточки |
BX.Landing.Block:Card:beforeRemove | Вызывает обработчики перед удалением карточки |
BX.Landing.Block:Card:remove | Вызывает обработчики после удаления карточки |
BX.Landing.Block:beforeApplyStyleChanges | Вызывает обработчики перед применением стилей из панели дизайна |
BX.Landing.Block:updateStyleWithoutDebounce | Вызывает обработчики немедленно на каждой итерации, без отсечек |
BX.Landing.Block:updateStyle | Вызывает обработчики после применения изменений дизайна |
BX.Landing.Block:remove | Вызывает обработчики в момент когда блок помечен как удаленный, но еще присутствует в DOM |
BX.Landing.Block:afterRemove | Вызывает обработчики после удаления из DOM |
BX.Landing.Block:Node:update | Вызывает обработчики после изменения ноды |
BX.Landing.Block:beforeApplyContentChanges | Вызывает обработчики перед применением изменений контента из панели "редактировать" (после клика на сохранить) |
BX.Landing.Block:beforeApplyAttributesChanges | Вызывает обработчики перед применением изменений атрибутов |
BX.Landing.Block:Node:updateAttr | Вызывает обработчики после изменения атрибута |

В обработчики всех событий первым параметром передается объект BX.Landing.Event.Block [image] или null.

Пример

Зарегистрировать свой обработчик можно через метод BX.addCustomEvent [image]. Зарегистрируем обработчик на добавление карточки. Обратите внимание, обработчик будет вызываться при добавлении карточки любого блока, и вам нужно дополнительно контролировать нужные параметры.

BX.addCustomEvent('BX.Landing.Block:Card:add', BX.delegate(
   function (block)
   {
      console.log(block);
   }
));


Цветовые темы

Отправить отзыв по этому разделу
Пространство имён Bitrix>Сайты24>Кастомизация и расширение>Цветовые темы

Кастомизация и расширение::Цветовые темы

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Темы

В настоящий момент в системе присутствуют цветовые темы, представленные ниже. Стоит учитывать, что в шаблоне присутствует как тема визуального отображения (формы, цвета), так и тема шрифтов. Сайт по шаблону всегда создается в определенной цветовой теме и в определенной шрифтовой теме. Как правило, они совпадают (шрифтовая тема это небольшой дополнительный файл). Затем, когда пользователь меняет визуальную тему, шрифтовая тема внутри остается неизменной и может меняться только программно разработчиком. Это намеренное поведение системы.

Код темы | Название темы
1construction | Янтарный
2business | Фиолетово-синий
3corporate | Малибу
accounting | Желто-зеленый
agency | Пастельный красный
app | Умеренный бирюзовый
architecture | Закат солнца
charity | Желтый
consulting | Светло-зелёное море
courses | Умеренный аквамариновый
event | Амарантовый
gym | Индиго Крайола
lawyer | Карминно-розовый
music | Дикий арбуз
photography | Нефтяной
real-estate | Оранжевый закат
restaurant | Малиновый
shipping | Красный
spa | Цитрусовый
travel | Киноварь
wedding | Клюквенный

Примечание. Названия тем с цифрами в начале - не описка. Часть тем именно так и называется.

Расширение тем

Чтобы добавить следующую тему, требуется совершить следующий порядок действий:

  1. Прежде всего по пути тем создать директорию вашей темы /bitrix/templates/<TEMPLATE_ID>/themes/<YOUR_CODE>/ и аналогичную директорию для шрифтовой темы /bitrix/templates/<TEMPLATE_ID>/themes-typo/<YOUR_CODE>/. Где <YOUR_CODE> – код вашей темы, например, mytheme.
  2. По аналогии соседних тем (или на основании) создать ваши собственные файлы в данных директориях. Все файлы в данных директориях будут подключены как стили на страницу.
  3. Зарегистрировать вашу тему через обработчик
    $eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('landing', 'onGetThemeColors',
   function(\Bitrix\Main\Event $event)
   {
      $result = new \Bitrix\Main\Entity\EventResult;
      $colors = $event->getParameter('colors');

      $colors['mytheme'] = array(
         'name' => 'Моя тема',
         'color' => '#cdcdcd',
         'base' => true
      );

      $result->modifyFields(array(
         'colors' => $colors
      ));

      return $result;
   }
);
    В примере мы регистрируем тему:
    – с кодом mytheme
    – с названием 'Моя тема'
    – с цветом #cdcdcd (для показа в интерфейсе)
    – ключ base может отсутствовать, в случае true отвечает за вывод темы в предпросмотре шаблона.
  4. После этого вашу тему можно выбирать через интерфейс редактирования или использовать программно.


Партнерские шаблоны

Отправить отзыв по этому разделу
Пространство имён Bitrix>Сайты24>Кастомизация и расширение>Партнерские шаблоны

Кастомизация и расширение::Партнерские шаблоны

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Добавление своих шаблонов в мастер создания сайта или страницы на данный момент возможно только посредством REST [image].


События

Метод | Описание | С версии
onAfterDemoCreate | Событие информирует свои обработчики, что был создан сайт по определенному шаблону. |
onBeforeFolderRecycle | Событие возникает при перемещении папки в корзину или восстановлении из нее. | 21.800.0
onBeforeLandingRecycle | Событие возникает при перемещении страницы в корзину или восстановлении из нее. |
onBeforeSiteRecycle | Событие возникает при перемещении сайта в корзину или восстановлении из нее. |
onBlockGetRepository | Событие позволяет повлиять на массив блоков, отдаваемых из репозитория. |
onDemosGetRepository | Событие позволяет повлиять на массив шаблонов, которые выводятся при создании нового сайта или страницы. |
onLandingAfterUnPublication | Событие вызывается после снятия страницы с публикации. | 18.7.500
onBuildTemplateCreateUrl | Событие позволяет перехватить клик на непосредственное создание сайта или страницы по шаблону. | 18.7.500
onBlockPublicView | Событие вызывается непосредственно перед выдачей контента блока на опубликованную страницу. | 20.3.0
onSuccessRest | Событие позволяет переопределить результат любой REST-команды. | 20.3.0


Введение

При работе с сущностью Сайт вы можете пользоваться штатным "встроенным" набором событий, который предоставляет ORM D7 [image]. Главное не забывать про осторожность, и что доступ напрямую к некоторым сущностям (например, блоки) без понимания полной архитектуры может быть чреват.

Вместе с тем, благодаря штатным событиям ORM, можно вполне сносно решать базовые задачи: определять добавление сайта, страницы, запрещать работу с ними, и так далее.

В данном подразделе описаны события исключительно модуля Сайты24, которые генерируются в специальных случаях.


onAfterDemoCreate

Событие информирует свои обработчики, что был создан сайт по определенному шаблону. Отличие от события на добавление сущности Сайт (ORM [image]) в том, что в обработчике данного события можно быть уверенным, что создался и сайт и все его страницы.

параметры:

Параметр | Описание | С версии
id | Идентификатор сайта. |
code | Символьный код выбранного шаблона. |

Пример

$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('landing', 'onAfterDemoCreate',
   function(\Bitrix\Main\Event $event)
   {
      $result = new \Bitrix\Main\Entity\EventResult;
      $siteId = $event->getParameter('id');
      $code = $event->getParameter('code');

      if ($code == 'spa')
      {
         //
      }

      return $result;
   }
);


onBeforeFolderRecycle

Событие возникает при перемещении папки в корзину или восстановлении из нее. Событие не возникает при непосредственно физическом удалении папки (для этого используйте штатный метод ORM [image]).

Параметры

Метод | Описание | С версии
id | Идентификатор папки.
delete Флаг:
  • Y – перемещение в корзину;
  • N – возврат из корзины

Событие позволяет также запретить перемещение в корзину.

Пример

$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('landing', 'onBeforeFolderRecycle',
   function(\Bitrix\Main\Event $event)
   {
      $result = new \Bitrix\Main\Entity\EventResult;

      $id = $event->getParameter('id');
      $delete = $event->getParameter('delete');

      AddMessage2Log(
         ('запись ' . $id) .
         ($delete ? ' перемещена в корзину' : ' возвращена из корзины')
      );

// Запрет перемещения в корзину. При необходимости - откомментируйте код.
      /*$result->setErrors(array(
         new \Bitrix\Main\Entity\EntityError(
            'Удаление запрещено!',
            'DELETE_DISABLED'
         )
      ));*/

      return $result;
   }
);


onBeforeLandingRecycle

Событие возникает при перемещении страницы в корзину или восстановлении из нее. Событие не возникает при непосредственно физическом удалении страницы, для последнего пользуйтесь штатным методом ORM (как с ними работать [image]).

Параметры

Параметр | Описание | С версии
id | Идентификатор страницы. |
delete | Флаг (Y – перемещение в корзину; N – возврат из корзины). |

Событие позволяет также запретить перемещение в корзину, в примере следует откомментировать необходимый код.

Пример

$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('landing', 'onBeforeLandingRecycle',
   function(\Bitrix\Main\Event $event)
   {
      $result = new \Bitrix\Main\Entity\EventResult;

      $id = $event->getParameter('id');
      $delete = $event->getParameter('delete');

      AddMessage2Log(
         ('запись ' . $id) .
         ($delete ? ' перемещена в корзину' : ' возвращена из корзины')
      );

      /*$result->setErrors(array(
         new \Bitrix\Main\Entity\EntityError(
            'Удаление запрещено!',
            'DELETE_DISABLED'
         )
      ));*/

      return $result;
   }
);


onBeforeSiteRecycle

Событие возникает при перемещении сайта в корзину или восстановлении из нее. Событие не возникает при непосредственно физическом удалении сайта, для последнего пользуйтесь штатным методом ORM (как с ними работать [image]).

Параметры

Метод | Описание | С версии
id | Идентификатор сайта. |
delete | Флаг (Y – перемещение в корзину; N – возврат из корзины). |

Событие позволяет также запретить перемещение в корзину, в примере следует откомментировать необходимый код.

Пример

$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('landing', 'onBeforeSiteRecycle',
   function(\Bitrix\Main\Event $event)
   {
      $result = new \Bitrix\Main\Entity\EventResult;

      $id = $event->getParameter('id');
      $delete = $event->getParameter('delete');

      AddMessage2Log(
         ('запись ' . $id) .
         ($delete ? ' перемещена в корзину' : ' возвращена из корзины')
      );

      /*$result->setErrors(array(
         new \Bitrix\Main\Entity\EntityError(
            'Удаление запрещено!',
            'DELETE_DISABLED'
         )
      ));*/

      return $result;
   }
);


onBlockGetRepository

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

Параметры

:
Параметр | Описание | С версии
blocks | Массив блоков. |

Важно! Событие не подходит для добавления новых блоков (см. инструкцию по добавлению). Только для корректировки (например, категории) или удаления существующих.

Пример

В абстрактном примере мы пробегаемся по массиву блоков и при некорректной версии блока удаляем его из выдачи.

$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('landing', 'onBlockGetRepository',
   function(\Bitrix\Main\Event $event)
   {
      $result = new \Bitrix\Main\Entity\EventResult;
      $blocks = $event->getParameter('blocks');

      foreach ($blocks as $secCode => &$section)
      {
         foreach ($section['items'] as $blockCode => &$block)
         {
            if (isset($block['manifest']['block']['version']))
            {
               $blockVersion = $block['manifest']['block']['version'];
               if (version_compare('15.0.0', $blockVersion) < 0)
               {
                  unset($section['items'][$blockCode]);
               }
            }
         }
         unset($block);
      }
      unset($section);

      $result->modifyFields(array(
         'blocks' => $blocks
      ));

      return $result;
   }
);


onBlockPublicView

Событие вызывается непосредственно перед выдачей контента блока на опубликованную страницу.

Параметры

Параметр | Описание | С версии
block | Объект блока, позволяет обратиться к его полям, манифесту, и так далее. |
outputContent | Контент, который будет выведен на страницу. Внимание, в этот момент в $block->getContent() может находиться иной контент до предварительной обработки ядром. Метод должен вернуть контент, который и будет выведен на страницу. |

Пример

use \Bitrix\Main\EventManager;
use \Bitrix\Main\Event;

$eventManager = EventManager::getInstance();
$eventManager->addEventHandler('landing', 'onBlockPublicView',
   function(Event $event) use($query)
   {
      $outputContent = $event->getParameter('outputContent');
      /**
       * какие-то действия с $outputContent
       */
      return $outputContent;
   }
);


onBuildTemplateCreateUrl

Событие позволяет перехватить клик на непосредственное создание сайта или страницы по шаблону.

Параметр

Параметр | Описание | С версии
code | Символьный код выбранного шаблона. |

Пример

В примере реакция замены клика для шаблона SPA

$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('landing', 'onBuildTemplateCreateUrl',
   function(\Bitrix\Main\Event $event)
   {
      $result = new \Bitrix\Main\Entity\EventResult;
      $code = $event->getParameter('code');

      if ($code == 'spa')
      {
         $result->modifyFields([
              'onclick' => "alert(123);"
           ]);
      }

      return $result;
   }
);


onDemosGetRepository

Событие позволяет повлиять на массив шаблонов, которые выводятся при создании нового сайта или страницы. Например, удалить некоторые при определенных условиях.

Параметры

Параметр | Описание | С версии
data | Массив шаблонов. |

Важно! Метод не подходит для добавления новых шаблонов (см. инструкцию для добавления [image]). Только для корректировки (например, категории) или удаления существующих.

Примеры

В абстрактном примере мы удаляем из массива определенный шаблон.

$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('landing', 'onDemosGetRepository',
   function(\Bitrix\Main\Event $event)
   {
      $result = new \Bitrix\Main\Entity\EventResult;
      $data = $event->getParameter('data');

      unset($data['store-my']);

      $result->modifyFields(array(
         'data' => $data
      ));
      return $result;
   }
);


onLandingAfterUnPublication

Событие вызывается после снятия страницы с публикации.

Внимание, если снимается с публикации сайт, то будет вызвано по одному событию на каждую страницу внутри него.

$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('landing', 'onLandingAfterUnPublication',
   function(\Bitrix\Main\Event $event)
   {
      $id = $event->getParameter('id');
      AddMessage2Log('Лендинг #id '. $id . ' теперь не опубликован');
   }
);


onSuccessRest

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

Параметры

Метод | Описание | С версии
result | Результат работы метода.
action Массив вызова метода и параметры. Содержит ключи:
  • action - видоизмененный метод REST; к примеру, landing.landing.getAdditionalFields превратится в landing::getadditionalfields,
  • class - класс, который был вызван,
  • method - метод класса, который был вызван,
    • >params_init - параметры метода.

Пример

Для метода landing.landing.getAdditionalFields [image]:

$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('landing', 'onSuccessRest',
   function(\Bitrix\Main\Event $event) use($buildLangFile)
   {
      $result = new \Bitrix\Main\Entity\EventResult();
      $action = $event->getParameter('action');
      $restResult = $event->getParameter('result');

      if (
         is_array($restResult) &&
         strtolower($action['action']) == 'landing::getadditionalfields'
      )
      {
         $restResult = ['my', 'new', 'array'];
         $result->modifyFields([
            'result' => $restResult
         ]);
      }

      return $result;
   }
);


Файловая система

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Метод | Описание | С версии
getFilePath | Получает относительный путь системного файла. |
getFileArray | Получает массив с информацией о системном файле. |


Введение

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Файлы в Сайтах24 хранятся как и файлы остальной системы в таблице b_file и взаимодействие с ними происходит посредством класса CFile [image]. Но есть также дополнительная прослойка API, которая следит за количеством "ссылок" на файл.

Чтобы лучше понять необходимость прослойки, стоит обратиться к блокам. Представьте, что вы добавили картинку в блок. Это одна запись в таблице b_file. Потому этот блок скопировали, вот записи уже две. А потом скопировали страницу, записи (на рассматриваемый файл) уже три. А теперь удаляем самый первый блок. И вот тут прослойка контролирует, нет ли больше ссылок на данный файл? Если нет, она удаляет файл и на диске через CFile::delete [image]. В ином случае удаления физического не происходит.

Если въедливый читатель пойдет дальше, то он увидит, что при удалении сущности (например, блока) удаление файла не произойдет сразу (даже если он остался единственным). Запись в таблице-прослойке пометится как запись к удалению, и только системный агент позже произведет анализ и удаление. Это сделано для оптимизации.

Сказанное выше рассматривалось на примере блока. Но аналогично система ведет себя со страницами и даже сайтам. И у тех и у других могут быть свои картинки. Например, фоновая картинка, картинка с соц.сети, возможно еще какие-то картинки в будущем.

Чтобы система понимала, где какой файл внутри блока, каждая нода, содержащая картинку, автоматически маркируется дата-атрибутами data-fileid и data-fileid2x, где хранится непосредственно идентификатор файла для обычной версии и для ретина-версии.

Разработчику не требуется следить за данными файлами, система анализирует все автоматически. Но если интерес сильнее, вот некоторые методы, данные сразу в примерах. Все методы не возвращают результата за исключением непосредственно геттеров.

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   // идентификатор некоего файла из таблицы b_file
   $fileId = 123;
   // прикрепление файла к сайту ид=1
   Bitrix\Landing\File::addToSite(1, $fileId);
   // удаление привязки к файлу (или массиву файлов) от сайта ид=1
   Bitrix\Landing\File::deleteFromSite(1, $fileId);
   // прикрепление файла к странице ид=1
   Bitrix\Landing\File::addToLanding(1, $fileId);
   // удаление привязки к файлу (или массиву файлов) от страницы ид=1
   Bitrix\Landing\File::deleteFromLanding(1, $fileId);
   // прикрепление файла к блоку ид=1
   Bitrix\Landing\File::addToBlock(1, $fileId);
   // удаление привязки к файлу (или массиву файлов) от блока ид=1
   Bitrix\Landing\File::deleteFromBlock(1, $fileId);
   // замена файла (или массива файлов) в блоке ид=1 (старые привязки будут удалены)
   Bitrix\Landing\File::replaceInBlock(1, $fileId);
   // получение массива файлов из текста $content (атрибуты data-fileid)
   Bitrix\Landing\File::getFilesFromBlockContent(1, $content);
   // копирует файлы блока от одного к другому
   Bitrix\Landing\File::copyBlockFiles(1, 2);
   // финальный уборщик, проверяющий помеченные к удалению привязки и удаляющий файлы
   Bitrix\Landing\File::deleteFinal(30);
   // получить список всех ид файлов с блока ид=1
   Bitrix\Landing\File::getFilesFromBlock(1);
   // получить список всех ид файлов со страницы ид=1
   Bitrix\Landing\File::getFilesFromLanding(1);
   // получить список всех ид файлов с сайта ид=1
   Bitrix\Landing\File::getFilesFromSite(1);
}


getFileArray

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function File::getFileArray(
   $fileId
)

Получает массив с информацией о системном файле.

Полный аналог метода CFile::getFileArray [image], в том числе в возвращаемом значении, за тем лишь исключением, что в целях безопасности следит, чтобы файл относился к модулю Сайтов. В ином случае вернет false.

Параметры

Параметр | Описание | Версия
fileId | Идентификатор файла. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $file = Bitrix\Landing\File::getFileArray($fileId);
}


getFilePath

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function File::getFilePath(
   $fileId
);

Получает относительный путь системного файла.

Полный аналог метода CFile::getPath [image], в том числе в возвращаемом значении, за тем лишь исключением, что в целях безопасности следит, чтобы файл относился к модулю Сайтов. В ином случае вернет null.

Параметры

Параметр | Описание
fileId | Идентификатор файла

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $file = Bitrix\Landing\File::getFilePath($fileId);
}


Связь с шаблоном

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Методы, не попавшие в специализированные разделы


Iblock::getElementUrl

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function Iblock::getElementUrl(
   $siteId,
   $elementId
);

Метод возвращает URL товара в рамках сайта. Актуально только для магазина.

Параметры

Параметр | Описание | Версия
siteId | Идентификатор сайта. |
elementId | Идентификатор элемента. |

Примеры

$siteId = 571;
$elementId = 6697;

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $elementUrl = \Bitrix\Landing\Connector\Iblock::getElementUrl(
      $siteId, $elementId
   );
   echo $elementUrl;
}


Manager::getUrlFromFile

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public static function Manager::getUrlFromFile(
   $path
);

Метод на основании пути до файла превращает его в URL на основании текущего домена и текущего протокола.

Параметры

Параметр | Описание | Версия
path | Путь до файла. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   echo \Bitrix\Landing\Manager::getUrlFromFile(
      '/upload/landing/aaa/1.jpg'
   );
}
//http://24.local.bx/upload/landing/aaa/1.jpg


Шаблоны представления

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Описание методов для работы с шаблонами.

Наследуются методы add, delete, update, getlist базового класса \Bitrix\Landing\Internals\BaseTable.

Метод | Описание | С версии
landingIsArea | Метод для определения, используется ли страница как включаемая область где-либо. |
deleteArea | Удаление любой привязки указанной страницы как включаемой области. |
getForLanding | Метод получает список включаемых областей для страницы. |
getForSite | Метод получает список включаемых областей для сайта. |
setForLanding | Метод устанавливает включаемые области для страницы в рамках конкретного шаблона. |
setForSite | Метод устанавливает включаемые области для сайта в рамках конкретного шаблона. |
getList | Метод возвращает список идентификаторов шаблонов. |


Введение

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Шаблоны представления описывают представления конкретного сайта или страницы о том, как выглядит их разметка:

  • С шапкой и подвалом
  • С сайдбаром
  • Их вариации

Причем привязка к странице сильнее, чем привязка к сайту (если и сайт и страница данного сайта привязаны к разным шаблонам, то вывод будет происходить по сетке шаблона страницы). Каждая область такого шаблона есть отдельная страница (с набором блоков и прочими аналогичными характеристиками).

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

Вот данный список:

Внешний код (XML_ID) | Название
empty | Пустой
sidebar_left | С сайдбаром слева
sidebar_right | С сайдбаром справа
header_footer | С шапкой и подвалом
without_left | Без левого сайдбара
without_right | Без правого сайдбара

Обратите внимание, здесь не указываются идентификаторы шаблонов, вместе с тем при передаче сайту или странице нужно указать именно идентификатор. Чтобы получить непосредственно идентификатор, воспользуйтесь методом Template::getList. Вы получите список идентификаторов в разрезе именно вашего портала.

Смотрите также:

  1. Создание шаблона главного сайта
  2. Создание шаблонов сайтов и страниц – на данный момент такая возможность существует только посредством REST [image].


Поля сущности Шаблон

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

Поле | Описание
ID | Идентификатор шаблона.
ACTIVE | Активность шаблона: Y / N.
AREA_COUNT | Количество областей помимо контента
SORT | Сортировка
TITLE | Название.
XML_ID | Внешний код.
CONTENT | Разметка шаблона.
CREATED_BY_ID | Идентификатор пользователя создавшего шаблон.
MODIFIED_BY_ID | Идентификатор пользователя изменившего шаблон.
DATE_CREATE | Дата создания.
DATE_MODIFY | Дата изменения.


deleteArea

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function TemplateRef::deleteArea(
   $id
)

Удаление любой привязки указанной страницы как включаемой области. После выполнения команды на данную страницу не будет ссылаться ни одна область. Сама страница останется нетронутой.

Параметры

Параметр | Описание | С версии
$id | Идентификатор страницы. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\TemplateRef::deleteArea(12);
}


getForLanding

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function TemplateRef::getForLanding(
   $id
)

Метод получает список включаемых областей для страницы. Ключами возвращаемого массива являются идентификаторы включаемых областей, а значениями - идентификаторы страниц.

Параметры

Параметр | Описание | С версии
$id | Идентификатор страницы. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\TemplateRef::getForLanding(34);
}


getForSite

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function TemplateRef::getForSite(
   $id
)

Метод получает список включаемых областей для сайта. Ключами возвращаемого массива являются идентификаторы включаемых областей, а значениями - идентификаторы страниц.

Параметры

Метод | Описание | С версии
$id | Идентификатор сайта. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\TemplateRef::getForSite(34);
}


getList

public function Template::getList(
   params
)

Метод возвращает список идентификаторов шаблона.

Параметры

Параметр | Описание | С версии
params | Опциональный массив, с опциональными ключами: select, filter, order, group, которые содержат значения таблицы основных полей сущности. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $res = \Bitrix\Landing\Template::getList([
      'select' => [
         'ID', 'TITLE'
      ],
      'filter' => [
         '>ID' => 0
      ]
   ]);
   while ($row = $res->fetch())
   {
      print_r($row);
   }
}


landingIsArea

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function TemplateRef::landingIsArea(
   $id
)

Метод для определения, используется ли страница как включаемая область где-либо. В случае успеха вернет true.

Параметры

Метод | Описание | С версии
$id | Идентификатор страницы. Либо массив идентификаторов, тогда в ответе будет также массив, с ключами, равными переданным идентификаторам страниц, и с булевыми значениями. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $check = \Bitrix\Landing\TemplateRef::landingIsArea(12);
   if ($check)
   {
      echo 'Страница используется как включаемая область';
   }
}


setForLanding

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function TemplateRef::setForLanding(
   $id,
   $data
)

Метод устанавливает включаемые области для страницы в рамках конкретного шаблона (страница должна быть уже привязана к шаблону через поле TPL_ID).

Параметры

Параметр | Описание
id | Идентификатор страницы.
data | Массив данных для установки (если массив пустой или не передан, установленные области сбросятся). Ключами массива являются идентификаторы областей, а значениями идентификаторы страниц, которые необходимо установить как область.

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\TemplateRef::setForLanding(
      34,
      [
         1 => 123,
         2 => 456
      ]
   );
}


setForSite

[dw]Внимание![/dw][di]Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией [image] модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.[/di]

public function TemplateRef::setForSite(
   $id,
   $data
)

Метод устанавливает включаемые области для сайта в рамках конкретного шаблона (сайт или страница должны быть уже привязаны к шаблону через поле TPL_ID).

Параметры

Метод | Описание
id | Идентификатор сайта.
data | Массив данных для установки (если массив пустой или не передан, установленные области сбросятся). Ключами массива являются идентификаторы областей, а значениями идентификаторы страниц, которые необходимо установить как область.

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\TemplateRef::setForSite(
      34,
      [
         1 => 123,
         2 => 456
      ]
   );
}


Права


Основные положения

На данный момент права можно выдавать только для сайтов, и они распространяются на все вложенные страницы. Например, право Изменение настроек, выданное для сайта, распространяется на страницу настроек сайта и страницы настроек любых его страниц.


Отличия

В случае Битрикс24 система поддерживает две модели: ролевую и расширенную.

Ролевая модель подразумевает установку прав по ролям в публичном разделе Сайты24 и Магазины24.
Расширенная модель подразумевает установку прав внутри настроек каждого сайта.

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

В случае "Битрикс Управление Сайтом" поддерживается только расширенная модель, переключить на ролевую модель невозможно.

Обратите внимание! При обращении к методам для различных моделей не происходит определение текущего режима, это должен определять разработчик самостоятельно с помощью соответствующих методов.


Переключение моделей

Переключение между режимами осуществляется следующим методом:

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Rights::switchMode();
}

Определить, какая модель в данный момент включена на проекте, можно с помощью следующего метода:

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   if (\Bitrix\Landing\Rights::isExtendedMode())
   {
      echo 'Расширенная модель';
   }
   else
   {
      echo 'Ролевая модель';
   }
}


Общее

Метод | Описание | С версии
clearContextUserId | Метод очищает контекстного пользователя, установленного методом setContextUserId. | 21.800.0
hasAdditionalRight | Метод проверяет имеет ли текущий пользователь доступ к определенному типу прав. |
getOperationsForSite | Метод вернет права текущего пользователя. |
hasAccessForSite | Вернет true, если текущий пользователь имеет доступ к сайту по указанному типу. |
removeDataForSite | Удаляет все права для сайта. |
setContextUserId | Метод устанавливает идентификатор пользователя, который далее будет применяться при работе с методами сайтов. | 21.800.0
setOff | Временно отключит любую проверку прав. |
setOn | Включит обратно любую проверку прав |


clearContextUserId

Rights::clearContextUserId(
);

Метод очищает контекстного пользователя, установленного методом Rights::setContextUserId. Метод не имеет параметров.

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Rights::clearContextUserId();
}


getOperationsForSite

Rights::getOperationsForSite(
   $siteId
)

Метод вернет права текущего пользователя. В случае несуществующего сайта или отсутствия прав на него вернется одинаковое состояние – пустой массив. В ином случае массив, состоящий из возможных значений:

  • denied - запрет доступа
  • read – чтение (право автоматически ставится системой дополнительно при указании любого другого отличного от denied)
  • edit – изменение (содержимого страниц)
  • sett – изменение настроек
  • public – публикация
  • delete – удаление (в корзину, и восстановление из корзины)

Параметры

Метод | Описание | С версии
siteId | Идентификатор сайта. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   $rights = \Bitrix\Landing\Rights::getOperationsForSite($siteId);
   print_r($rights);
}


hasAccessForSite

Rights::hasAccessForSite(
   $siteId,
   $accessType
);

Вернет true, если текущий пользователь имеет доступ к сайту по указанному типу.

Параметры

Параметр | Описание | С версии
siteId | Идентификатор сайта.
accessType Тип, для которого осуществляется проверка прав:
  • denied - запрет доступа
  • read – чтение (право автоматически ставится системой дополнительно при указании любого другого отличного от denied)
  • edit – изменение (содержимого страниц)
  • sett – изменение настроек
  • public – публикация
  • delete – удаление (в корзину, и восстановление из корзины)

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   if (\Bitrix\Landing\Rights::hasAccessForSite($siteId, 'delete'))
   {
      echo 'Вы можете удалить данный сайт';
   }
}

Проверка права на создание нового сайта:

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   if (\Bitrix\Landing\Rights::hasAccessForSite(0, 'sett'))
   {
      echo 'Вы можете создать новый сайт';
   }
}


hasAdditionalRight

Rights::hasAdditionalRight(
   $code
);

Метод проверяет имеет ли текущий пользователь доступ к определенному типу прав.

Параметры

Метод Описание С версии
code На данный момент может принимать значения:
  • menu24 - видит ли пользователь меню в публичном разделе Битрикс24.
  • create- может ли пользователь создавать новые сайты в публичном разделе Битрикс24.

Пример

if (CModule::IncludeModule('landing'))
{
   if (\Bitrix\Landing\Rights::hasAdditionalRight('menu24'))
   {
      echo 'Пункт меню Сайты24 доступен';
   }
}


removeDataForSite

Rights::removeDataForSite(
   $siteId
)

Удаляет все права для сайта.

Параметры

Параметр | Описание | С версии
siteId | Идентификатор сайта. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Rights::removeDataForSite($siteId);
}


setContextUserId

Rights::setContextUserId(
    $uid
);

Метод устанавливает идентификатор пользователя, который далее будет применяться при работе с методами сайтов. Метод не меняет авторизацию текущего пользователя и работает только на текущем хите.

Параметры

Параметр | Описание | С версии
$uid | Идентификатор пользователя. |

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Rights::setContextUserId(45);
}


setOff

Rights::setOff(
);

Метод без параметров. Временно отключит любую проверку прав.

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   Rights::setOff();
   //далее код выполнится без проверки прав
   Rights::setOn();
   //теперь снова будут проверяться права текущего пользователя
}

Также вы можете воспользоваться константой LANDING_DISABLE_RIGHTS. Ее установка отключит любую проверку прав в рамках текущей страницы:

define('LANDING_DISABLE_RIGHTS', true);


setOn

Rights::setOn(
);

Метод без параметров. Включит обратно любую проверку прав.

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   Rights::setOff();
   //далее код выполнится без проверки прав
   Rights::setOn();
   //теперь снова будут проверяться права текущего пользователя
}


Константы

LANDING_DISABLE_RIGHTS

Константа используется для отключения проверки прав.

define('LANDING_DISABLE_RIGHTS', true);


Расширенная модель

Описание класса

Метод | Описание | С версии
setOperationsForSite | Устанавливает права доступа для сайта. |


setOperationsForSite

Rights::setOperationsForSite(
   $siteId,
   $rights
);

Устанавливает права доступа для сайта. Вернёт true или ошибку. Метод доступен только администратору портала, а в облаке в том числе только платным тарифам.

Параметры

Параметр | Описание | С версии
id | Идентификатор сайта.
rights Объект с правами, ключами которого являются уникальные идентификаторы (пользователя, отдела, группы, ...), а значениями допустимые операции:
  • denied – доступ закрыт (при установке данного права даже в составе других, другие права сбрасываются для конкретного объекта)
  • read – чтение (право автоматически ставится системой дополнительно при указании любого другого отличного от denied)
  • edit – изменение (содержимого страниц)
  • sett – изменение настроек
  • public – публикация
  • delete – удаление (в корзину, и восстановление из корзины)

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

В качестве ключей можно использовать значения:

  • SG<X> - рабочая группа, например SG1 - рабочая группа с идентификатором 2;
  • U<X> - пользователь, например U45 - пользователь с идентификатором 45;
  • DR<X> - отдел, включая подразделы, например DR23 - раздел с идентификатором 23;
  • UA - все авторизованные пользователи.
  • G<X> - группа пользователей, например G2 - группа пользователей с идентификатором 2.

Пример

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Rights::setOperationsForSite($siteId, [
      'U3' => [
         'edit', 'delete'
      ],
      'U1' => [
         'edit', 'sett'
      ]
   ]);
}


Ролевая модель

Описание класса

Метод | Описание | С версии
fetchAll | Получить список ролей. |
getRights | Получить список сайтов, права на которые установлены в рамках роли. |
setAccessCodes | Метод устанавливает для роли коды доступа, для которых будет действовать данная роль |
setRights | Устанавливает в рамках роли для списков сайта необходимые права. |


fetchAll

public static function Role::fetchAll(
   $type
);

Получить список ролей. Вернет массив всех ролей.

Параметры

Без параметров

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   print_r(\Bitrix\Landing\Role::fetchAll());
}


getRights

public static function Role::getRights(
   $id
);

Получить список сайтов, права на которые установлены в рамках роли. Метод вернет массив (см. пример), где ключами будут идентификаторы сайта, а значениями массив доступных операций (нулевой ключ означает доступ по-умолчанию для роли):

  • denied - запрещено всё,
  • read – чтение (право автоматически ставится системой дополнительно при указании любого другого отличного от denied),
  • edit – изменение (содержимого страниц),
  • sett – изменение настроек,
  • public – публикация,
  • delete – удаление (в корзину, и восстановление из корзины).

Параметры

Параметр | Описание | Версия
id | Идентификатор роли. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   print_r(\Bitrix\Landing\Role::getRights(11));
   /**
    array (
      0 =>
         array (
            0 => 'denied',
         ),
      10 =>
         array (
            0 => 'read',
            1 => 'edit',
            2 => 'sett',
         ),
   )
    */
}


setAccessCodes

public static function Role::setAccessCodes(
   $id,
   $codes
);

Метод устанавливает для роли коды доступа, для которых будет действовать данная роль (и ее ограничения на сайты). На вход методу передается идентификатор роли и массив кодов доступа. Если массив будет пуст, коды для роли будут сброшены.

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

В качестве ключей можно использовать значения:

  • SG<X> - рабочая группа, например SG1 - рабочая группа с идентификатором 2;
  • U<X> - пользователь, например U45 - пользователь с идентификатором 45;
  • DR<X> - отдел, включая подразделы, например DR23 - раздел с идентификатором 23;
  • UA - все авторизованные пользователи.
  • G<X> - группа пользователей, например G2 - группа пользователей с идентификатором 2.

Параметры

Параметр | Описание | Версия
id | Идентификатор роли. |
codes | Массив кодов доступа. |

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Role::setAccessCodes(11, array (
      'SG3_A',
      'G4'
   ));
}


setRights

public static function Role::setRights(
   $id
);

Устанавливает в рамках роли для списков сайта необходимые права. Все иные сайты, не указанные во входящем массиве считаются отвязанными от роли.

Ключами массива идут идентификаторы сайта, а значениями массив доступных операций (нулевой ключ означает доступ по-умолчанию для роли):

  • denied - запрещено всё,
  • read – чтение (право автоматически ставится системой дополнительно при указании любого другого отличного от denied),
  • edit – изменение (содержимого страниц),
  • sett – изменение настроек,
  • public – публикация,
  • delete – удаление (в корзину, и восстановление из корзины).

Параметры

Параметры | Описание | С версии
id | Идентификатор роли.
rights | Массив сайтов для привязки прав. См. пример.
additional Опционально может быть передан массив с дополнительными правами, кому разрешено в рамках роли:
  • menu24 – показывать ли для данной роли пункт меню "Сайты" / "Магазины" в коробочном Битрикс24
  • create – разрешать ли в рамках роли создавать сайты

Примеры

if (\Bitrix\Main\Loader::includeModule('landing'))
{
   \Bitrix\Landing\Role::getRights(11, array (
      0 =>
         array (
            0 => 'denied',
         ),
      10 =>
         array (
            0 => 'read',
            1 => 'edit',
            2 => 'sett',
         ),
      55 =>
         array (
            0 => 'public',
            1 => 'delete',
         ),
      ),
      array(
         'menu24', 'create'
      )
   );
}


Задачи

Модуль управления задачами.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('tasks');

Класс | Описание | С версии
Access | Пространство имён содержит классы для контроля доступа. | 20.6.0
CTaskCheckListItem | Класс для работы с чек-листами. | 18.0.6
CTaskCommentItem | Класс для работы с комментариями к задачам. | 18.0.6
Task | Содержит классы orm для сущностей, которые являются вспомогательными для сущности Задача. | 15.6.0
TaskTable | Класс orm для сущности Задача. | 15.6.0
Template | Cодержит классы orm для сущности Шаблон задачи. | 14.5.11
TemplateTable | Класс orm для сущности Шаблон задачи. | 14.5.11
Internals | Пространство имён содержит классы для работы с таблицами модуля Задачи. |
Integration | Пространство имён содержит классы для интеграции с различными модулями системы. |
Rest | Пространство имён для работы с методами Rest. |

Смотрите также:

  • Задачи (учебный курс)
  • Задачи (пользовательская документация)
  • Задачи (API для старой версии ядра)


Задачи в старом ядре

Классы

Список классов модуля Задачи в старом ядре

Класс | Описание | С версии
CTasks | Класс для получения списка задач и ряда других действий. | 10.0.2 по 12.0.9
CTaskCheckListItem | Класс для работы с чеклистами. | 17.6.11
CTaskElapsedItem | Класс для работы с учетом затраченного на задачи времени. Следует использовать вместо устаревшего CTaskElapsedTime [image] [image] . | 12.5.4
CTaskElapsedTime | Класс для работы с учетом затраченного на задачи времени. | 10.0.5
CTaskFiles | Класс для работы с файлами задач. | 10.0.5
CTaskFilterCtrl | Класс для работы с предустановленными и пользовательскими фильтрами для задач. | 12.0.1
CTaskItem | Класс для создания/редактирования/удаления и проведения некоторых других действий с задачами (строго рекомендуется к использованию вместо CTasks). | 12.5.0
CTaskLog | Класс для работы с историей изменений в задаче. | 10.0.5
CTaskReminders | Класс управления напоминаниями. | 10.0.6
CTaskTags | Класс для работы с тегами. | 10.0.5

События

Список событий модуля Задачи в старом ядре

Событие | Вызывается | Метод | С версии
OnBeforeTaskAdd | Перед добавлением задачи. | CTasks::Add | 10.0.5
OnBeforeTaskDelete | Перед удалением задачи. | CTasks::Delete | 10.0.5
OnBeforeTaskUpdate | Перед обновлением задачи. | CTasks::Update | 10.0.5
OnTaskAdd | После добавления задачи. | CTasks::Add | 10.0.5
OnTaskDelete | После удаления задачи. | CTasks::Delete | 10.0.5
OnTaskUpdate | После обновления задачи. | CTasks::Update | 10.0.5
OnBeforeTaskNotificationSend | Перед отправкой уведомлений в IM. | CTaskNotifications::SendMessage | 12.5.0
OnBeforeTaskElapsedTimeAdd | Перед добавлением записи о затраченном времени в лог действий над задачей. | CTaskElapsedTime::Add | 14.0.16
OnBeforeTaskElapsedTimeUpdate | Перед изменением записи о затраченном времени в логе действий над задачей. | CTaskElapsedTime::Update | 14.0.16
OnBeforeTaskElapsedTimeDelete | Перед удалением записи о затраченном времени из лога действий над задачей. | CTaskElapsedTime::Delete | 14.0.16
OnTaskElapsedTimeAdd | После добавления в лог действий над задачей записи о затраченном времени. | CTaskElapsedTime::Add | 12.5.0
OnTaskElapsedTimeUpdate | После изменения в логе действий над задачей записи о затраченном времени. | CTaskElapsedTime::Update | 12.5.0
OnTaskElapsedTimeDelete | После удаления из лога действий над задачей записи о затраченном времени. | CTaskElapsedTime::Delete | 12.5.0
OnBaseAllowedActionsMapInit | При инициализации карты дозволенных действий над задачей. | CTaskItem::getBaseAllowedActions | 12.5.3
OnTaskReminderAdd | При добавлении напоминания к задаче. | CTaskReminders::Add | 14.5.10

Дополнительно

  • Структура таблиц
  • Список констант


Access

Access - пространство имён содержит классы для контроля доступа модуляЗадачи.

Класс | Описание | С версии
TaskAccessController | Класс обеспечивает проверку доступа к действиям над задачами и чеклистам в задачах. |
TemplateAccessController | Класс обеспечивает проверку доступа к действиям над шаблонами задач. |
ActionDictionary | Справочник доступных действий. |

Оба класса - контроллера содержат одинаковый набор методов - getInstance, check, can.


can

public static function can($userId, string $action, $itemId = null, $params = null): bool
{
}

Статический метод создает экземпляр контроллера и проверяет права доступа. То есть этот метод является комбинацией методов check и getInstance.

Параметры

Параметр | Описание | Версия
$userId | Иденификатор пользователя |
$action | Действие |
$item | Сущность |
$params | Параметры |


check

public function check(string $action, AccessibleItem $item = null, $params = null): bool
{
}

Нестатический метод проверяет, может ли текущий пользователь выполнить указанное действие.

Параметры

Параметр | Описание | Версия
$action | Действие |
$item | Сущность |
$params | Параметры |


getInstance

public static function getInstance($userId)
{
}

Статический метод возвращает существующий экземпляр контроллера для указанного пользователя.

Параметры

Параметр | Описание | Версия
$userId | Идентификатор пользователя. |


События

События, позволяющие перехватить управление.

Класс | Описание | С версии
Bitrix\Main\Access\Event\EventDictionary::EVENT_ON_BEFORE_CHECK | Вызывается перед проверкой доступа по конкретному правилу.
onAfterAddVersion | Событие вызывается в методе \Bitrix\Disk\Version::add после добавления версии файла.
Bitrix\Main\Access\Event\EventDictionary::EVENT_ON_AFTER_CHECK | Вызывается после того, как отрабатывает проверка по конкретному правилу.


CTaskCheckListItem

CTaskCheckListItem - класс для работы с чек-листами.

Метод | Описание | С версии
add | Создает пункт чек-листа. |
getInstance | Редактирует пункт чек-листа. |
getList | Получает список чек-листов. |


add

Описание

\CTaskCheckListItem::add(CTaskItemInterface $oTaskItem, array $fields)

Статический метод для создания пункта чек-листа. После успешного создания пункта чек-листа вернется объект \CTaskCheckListItem.

Параметры

Первым параметром передается объект конкретной задачи для того, чтобы прикрепить к ней пункт чек-листа. Вторым параметром передается массив значений этого пункта чек-листа.

Параметр | Описание и параметры | Версия
TITLE (обязательный) | Текст чек-листа. Можно передавать любую строку, кроме пустой строки или строки, содержащей только пробелы. Если TITLE будет равен === (трем знакам "равно"), то вместо пункта чек-листа будет разделительная линия. |
SORT_INDEX | Индекс сортировки. Целое число. Чем больше, тем ниже в списке. |
IS_COMPLETE | Флаг о том, что пункт чек-листа уже выполнен. |

События

OnBeforeTaskCheckListItemAdd ($task, $fields)
OnAfterTaskCheckListItemAdd ($task, $oldFields, $newFields)

Пример

$task = \CTaskItem::getInstance($taskId, $userId);

\CTaskCheckListItem::add($task, ['TITLE'=>'First item', 'SORT_INDEX'=>10, 'IS_COMPLETE'=>'N']);

\CTaskCheckListItem::add($task, ['TITLE'=>'Second item', 'SORT_INDEX'=>20, 'IS_COMPLETE'=>'N']);

\CTaskCheckListItem::add($task, ['TITLE'=>'Third item. Completed', 'SORT_INDEX'=>30, 'IS_COMPLETE'=>'Y']);

REST запрос

// 20190207175030
// http://site.ru/rest/1/********/tasks.task.checklist.add?taskId=1&fields[TITLE]=Hello%20world

{
  "result": {
    "item": [
      {
        "ID": "1",
        "CREATED_BY": "1",
        "TASK_ID": "1",
        "TITLE": "Hello world",
        "IS_COMPLETE": "N",
        "SORT_INDEX": "1"
      }
    ]
  },
  "time": {
    "start": 1549554630.441403,
    "finish": 1549554630.552115,
    "duration": 0.11071205139160156,
    "processing": 0.05162310600280762,
    "date_start": "2019-02-07T17:50:30+02:00",
    "date_finish": "2019-02-07T17:50:30+02:00"
  }
}


getInstance

Статический метод для редактирования пункта чек-листа.

Редактирование

$task = \CTaskItem::getInstance($taskId, $userId);
$item = new \CTaskCheckListItem($task, $itemId);

$item->update(['TITLE'=>'title 2']);

События

OnBeforeTaskCheckListItemUpdate ($task, $fields)
OnAfterTaskCheckListItemUpdate ($task, $oldFields, $newFields)

REST запрос

// 20190207175155
// http://site.ru/rest/1/********/tasks.task.checklist.update?taskId=1&checkListItemId=29&fields[TITLE]=Hello%20world

{
  "result": {
    "item": [
      {
        "ID": "1",
        "CREATED_BY": "1",
        "TASK_ID": "1",
        "TITLE": "Hello world",
        "IS_COMPLETE": "N",
        "SORT_INDEX": "1"
      }
    ]
  },
  "time": {
    "start": 1549554715.4373,
    "finish": 1549554715.54894,
    "duration": 0.11163997650146484,
    "processing": 0.038207054138183594,
    "date_start": "2019-02-07T17:51:55+02:00",
    "date_finish": "2019-02-07T17:51:55+02:00"
  }
}

Удаление

$task = \CTaskItem::getInstance($taskId, $userId);
$item = new \CTaskCheckListItem($task, $itemId);
$item->delete();

События

OnBeforeTaskCheckListItemDelete ($task, $fields)
OnAfterTaskCheckListItemDelete ($task)

REST запрос

// 20190207175321
// http://site.ru/rest/1/********/tasks.task.checklist.delete?taskId=1&checkListItemId=29

{
  "result": {
    "item": true
  },
  "time": {
    "start": 1549554801.140385,
    "finish": 1549554801.24166,
    "duration": 0.10127520561218262,
    "processing": 0.032243967056274414,
    "date_start": "2019-02-07T17:53:21+02:00",
    "date_finish": "2019-02-07T17:53:21+02:00"
  }
}

Проверка доступа

Проверка доступа к действиям над пунктами чек-листа:

task = \CTaskItem::getInstance($taskId, $userId);
$item = new \CTaskCheckListItem($task, $itemId);

$task->isActionAllowed(\CTaskItem::ACTION_CHECKLIST_ADD_ITEMS);

// для добавления пункта чеклиста, разрешение стоит спрашивать у задачи, а не у чек-листа!

$item = new \CTaskCheckListItem($task, $itemId);
// удаление
$item->isActionAllowed(\CTaskCheckListItem::ACTION_REMOVE);
// сортировка
$item->isActionAllowed(\CTaskCheckListItem::ACTION_REORDER);
// изменение
$item->isActionAllowed(\CTaskCheckListItem::ACTION_MODIFY);
// выполнение
$item->isActionAllowed(\CTaskCheckListItem::ACTION_TOGGLE);

Возможные варианты $actionId:

\CTaskCheckListItem::ACTION_ADD     = 0x01; // добавление
\CTaskCheckListItem::ACTION_MODIFY  = 0x02; // изменение
\CTaskCheckListItem::ACTION_REMOVE  = 0x03; // удаление
\CTaskCheckListItem::ACTION_TOGGLE  = 0x04; // выполнение
\CTaskCheckListItem::ACTION_REORDER = 0x05; // сортировку

Изменение сортировки

$task = \CTaskItem::getInstance($taskId, $userId);
$item = new \CTaskCheckListItem($task, $itemId);
$newIndex = 19;
$item->setSortIndex($newIndex);

События

OnBeforeTaskCheckListItemSort ($task, $fields)
OnAfterTaskCheckListItemSort ($task, $oldFields, $newFields)

Перемещение

Переместить пункт 5 под 2 пункт чеклиста:

$task = \CTaskItem::getInstance($taskId, $userId);
$item5 = new \CTaskCheckListItem($task, $itemId5);
$item2 = new \CTaskCheckListItem($task, $itemId2);

$item5->moveAfterItem($item2->getId());

События

OnCheckListItemMoveItem ($selectedItemId, $insertAfterItemId)

REST запрос

// 20190207175514
// http://site.ru/rest/1/********/tasks.task.checklist.moveafter?taskId=1&checkListItemId=2&afterItemId=6

{
  "result": {
    "item": [
      {
        "ID": "2",
        "CREATED_BY": "1",
        "TASK_ID": "1",
        "TITLE": "Hello world",
        "IS_COMPLETE": "N",
        "SORT_INDEX": "17"
      }
    ]
  },
  "time": {
    "start": 1549555019.965198,
    "finish": 1549555020.053995,
    "duration": 0.08879685401916504,
    "processing": 0.035902976989746094,
    "date_start": "2019-02-07T17:56:59+02:00",
    "date_finish": "2019-02-07T17:57:00+02:00"
  }
}

Выполнение пункта

Проверка выполнен ли пункт чек-листа

$task = \CTaskItem::getInstance($taskId, $userId);
$item = new \CTaskCheckListItem($task, $itemId);

echo $item->iSComplete() ? 'Выполнен' : 'Не выполнен';

Выполнить пункт чек-листа:

$task = \CTaskItem::getInstance($taskId, $userId);
$item = new \CTaskCheckListItem($task, $itemId);

echo $item->сomplete();

События

См. метод update.

REST запрос

// 20190207175514
// http://site.ru/rest/1/********/tasks.task.checklist.complete?taskId=1&checkListItemId=2

{
  "result": {
    "item": [
      {
        "ID": "2",
        "CREATED_BY": "1",
        "TASK_ID": "1",
        "TITLE": "Hello world",
        "IS_COMPLETE": "Y",
        "SORT_INDEX": "4"
      }
    ]
  },
  "time": {
    "start": 1549554914.300577,
    "finish": 1549554914.371372,
    "duration": 0.07079505920410156,
    "processing": 0.03411412239074707,
    "date_start": "2019-02-07T17:55:14+02:00",
    "date_finish": "2019-02-07T17:55:14+02:00"
  }
}

Невыполненный пункт

Пометить пункт чек-листа как невыполненный. В отличии от метода toggle этот метод не переключает выполненный/невыполненный, а принудительно выставляет “невыполненный”.

$task = \CTaskItem::getInstance($taskId, $userId);
$item = new \CTaskCheckListItem($task, $itemId);

echo $item->renew();

События

См. метод update.

REST запрос

// 20190207175514
// http://site.ru/rest/1/********/tasks.task.checklist.renew?taskId=1&checkListItemId=2

{
  "result": {
    "item": [
      {
        "ID": "2",
        "CREATED_BY": "1",
        "TASK_ID": "1",
        "TITLE": "Hello world",
        "IS_COMPLETE": "N",
        "SORT_INDEX": "4"
      }
    ]
  },
  "time": {
    "start": 1549554914.300577,
    "finish": 1549554914.371372,
    "duration": 0.07079505920410156,
    "processing": 0.03411412239074707,
    "date_start": "2019-02-07T17:55:14+02:00",
    "date_finish": "2019-02-07T17:55:14+02:00"
  }
}


getList

/** @var $list array */
$list = \CTaskCheckListItem::getList(['filter'=>['TASK_ID'=>1], 'select'=>['ID', 'TITLE'], 'order'=>['SORT_INDEX']]);

foreach($list ... )
{
     // same magic
}

Статический метод позволяет получить список чек-листов.

Без параметров

Примеры

REST запрос

// 20190207180803
// http://site.ru/rest/1/********/tasks.task.checklist.list?taskId=1&filter[fasdfa",
        "IS_COMPLETE": "Y",
        "SORT_INDEX": "4"
      },
      {
        "ID": "19",
        "CREATED_BY": "1",
        "TITLE": "test add new check list item",
        "IS_COMPLETE": "N",
        "SORT_INDEX": "5"
      }
    ]
  },
  "time": {
    "start": 1549555683.415296,
    "finish": 1549555683.489995,
    "duration": 0.07469892501831055,
    "processing": 0.0047719478607177734,
    "date_start": "2019-02-07T18:08:03+02:00",
    "date_finish": "2019-02-07T18:08:03+02:00"
  }
}


CTaskCommentItem

CTaskCommentItem - класс для работы с комментариями в модуле задач.

Метод | Описание | С версии
add | Создание комментария. |
delete | Удаление комментария. |
update | Изменение комментария. |


add

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

\CTaskCommentItem::add(\CTaskItem $task, array $fields);

Статический метод для создания комментария к задаче.

Параметры

Первым параметром передается объект задачи, вторым поля комментария..

Поля | Описание | Версия
AUTHOR_ID | Идентификатор пользователя, от имени которого создается комментарий. |
AUTHOR_NAME | Имя пользователя (опционально). |
AUTHOR_EMAIL | E-mail пользователя (опционально). |
USE_SMILES | (Y|N) - парсить или нет комментарии на наличие смайлов. |
POST_MESSAGE | Текст сообщения. |
FILES | Массив файлов. |
AUX | (Y|N) - обновить модуль статистики и отправить сообщение о новом сообщении получателям. |

Примеры

$task = \CTaskItem::getInstance($this->entityId, $authorId);
\CTaskCommentItem::add($task, $fields);

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

http://site.bx/rest/1/SECRETKEY/task.commentitem.add?taskId=1&fields[POST_MESSAGE]=hello%20world!

Можно подписаться на событие создания комментария:

RegisterModuleDependences('forum', 'OnCommentTopicAdd', 'tasks', 'YourClass', 'onBeforeAdd');

RegisterModuleDependences('forum', 'OnAfterCommentTopicAdd', 'tasks', 'YourClass', 'onAfterAdd');


delete

$comment = \CTaskCommentItem(\CTaskItem $task, $commentId);
$comment->delete($fields);

Нестатический метод для удаления комментария.

Без параметров

Примеры

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

http://site.bx/rest/1/SECRETKEY/tasks.task.comments.delete?taskId=1&commentId=1

Можно подписаться на событие создания комментария:

RegisterModuleDependences('forum', 'OnCommentDelete', 'tasks', 'YourClass', 'OnCommentDelete');

RegisterModuleDependences('forum', 'OnAfterCommentDelete', 'tasks', 'YourClass', 'OnAfterCommentDelete');


update

$comment = \CTaskCommentItem(\CTaskItem $task, $commentId);
$comment->update($fields);

Нестатический метод для изменения комментария.

Параметры

Поля такие же, как в методе создания комментариев.

Примеры

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

http://site.bx/rest/1/SECRETKEY/tasks.task.comments.update?taskId=1&commentId=1&fields[POST_MESSAGE]=hello%20world%202!

Можно подписаться на событие создания комментария:

RegisterModuleDependences('forum', 'OnCommentUpdate', 'tasks', 'YourClass', 'OnCommentUpdate');

RegisterModuleDependences('forum', 'OnAfterCommentUpdate', 'tasks', 'YourClass', 'OnAfterCommentUpdate');


Проверка доступа к действию с комментарием

$comment = \CTaskCommentItem(\CTaskItem $task, $commentId);
if($comment->isActionAllowed(\CTaskCommentItem::ACTION_COMMENT_ADD))
{
// add comment access granted
}

На проверке имеется три доступа:

\CTaskCommentItem::ACTION_COMMENT_ADD;
\CTaskCommentItem::ACTION_COMMENT_MODIFY;
\CTaskCommentItem::ACTION_COMMENT_REMOVE;


Работа с ошибками

Если что-то пошло не по плану, всегда можно отловить исключение

\TasksException

Пример работы:

$task = \CTaskItem::getInstance($this->entityId, $authorId);
try
{
     \CTaskCommentItem::add($task, $fields);
}
catch(\TasksException $e)
{
     // log it
}


Integration

Integration - пространство имён, содержащее классы для интеграции с различными модулями системы.

Класс/Пространство имен | Описание | С версии
Forum | Пространство имён для работы с форумами. |


Forum

Forum - пространство имён для работы с форумами.


Отправить отзыв по этому разделу

Task

  • Comment


Comment

Comment - класс для работы с комментариями к задачам.

Метод | Описание | С версии
add | Метод добавляет новый комментарий к задаче. |
update | Метод обновляет существующий комментарий к задаче. |
delete | Метод удаляет комментарий к задаче. |


add

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Задачи>Integration>Forum>Task>Comment>add (с версии 16.5.0)

Comment::add

array|boolean public static
\Bitrix\Tasks\Integration\Forum\Task\Comment::add(
  $taskId,
  $messageText,
 boolean $authorId,
 array $files
);

Метод добавляет новый комментарий к задаче. Метод статический.

Параметры

Параметр | Описание | Версия
$taskId | Идентификатор задачи |
$messageText | Текст комментария |
$authorId | Идентификатор автора комментария |
$files | Прикладываются временные идентификаторы (то есть 'n17') файлов, которые были загружены на диск |

Примеры

$result = \Bitrix\Tasks\Integration\Forum\Task\Comment::add($taskId, $arFields); // получили РЕЗУЛЬТАТ выполнения
if(!$result->isSuccess())
{
// если была ошибка, то кидаем исключение
throw new TasksException(serialize($result->getErrors()->getMessages()), TasksException::TE_ACTION_FAILED_TO_BE_PROCESSED | TasksException::TE_FLAG_SERIALIZED_ERRORS_IN_MESSAGE);
}

$resultData = $result->getData(); // если ошибок не было, можем получить данные, которые были вставлены в комментарии

return $resultData['ID']; // например, чтобы вернуть ID комментария


delete

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Задачи>Integration>Forum>Task>Comment>delete (с версии 16.5.0)

Comment::delete

array|boolean public static
\Bitrix\Tasks\Integration\Forum\Task\Comment::delete(
  $id,
 boolean $taskId = false
);

Удаляет комментарий к задаче. Метод статический.

Параметры

Параметр | Описание | Версия
$id | Идентификатор комментария. Обязательный параметр. |
$taskId | Идентификатор задачи. Обязательный параметр. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


update

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Задачи>Integration>Forum>Task>Comment>update (с версии 16.5.0)

Comment::update

array|boolean public static
\Bitrix\Tasks\Integration\Forum\Task\Comment::update(
  $id,
 array $data,
 boolean $taskId = false
);

Метод обновляет существующий комментарий к задаче. Метод статический.

Параметры

Параметр | Описание | Версия
$id | Идентификатор комментария |
$data | Данные |
$taskId | Идентификатор задачи |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Internals

Internals - пространство имён содержит классы для работы с таблицами модуля Задачи.

Класс/Пространство имен | Описание | С версии
SystemLogTable | Класс для работы с таблицей b_tasks_syslog. | 16.6.0
TaskTable | Класс для работы с таблицей b_task. |
Task | Пространство имён, объединяющее классы для работы с таблицами задач. |
Notification | Пространство имён, объединяющее классы для работы с уведомлениями. | 16.6.0


Notification

Notification - пространство имён, объединяющее классы для работы с уведомлениями.

Класс/Пространство имен | Описание | С версии
Task | Пространство имён, содержащее классы для работы с таблицами. |


Task

Task - пространство имён, содержащее классы для работы с таблицами.

Класс | Описание | С версии
ThrottleTable | Класс для работы с таблицей b_tasks_msg_throttle. |


ThrottleTable

ThrottleTable - класс для работы с таблицей b_tasks_msg_throttle.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getTableName | Возвращает имя таблицы в базе данных, соответствующей сущности. |
getMap | Возвращает список полей с типами. |


getMap

array public static
\Bitrix\Tasks\Internals\Notification\Task\ThrottleTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров


getTableName

string public static
\Bitrix\Tasks\Internals\Notification\Task\ThrottleTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров


SystemLogTable

SystemLogTable - класс для работы с таблицей b_tasks_syslog.

Метод | Описание | С версии
getTableName | Возвращает имя таблицы в базе данных, соответствующей сущности. |
getMap | Возвращает список полей с типами. |


getMap

array public static
\Bitrix\Tasks\Internals\SystemLogTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров


getTableName

string public static
\Bitrix\Tasks\Internals\SystemLogTable::getTableName(
);

Статический метод возвращает имя таблицы в базе данных, соответствующей сущности.

Без параметров


Task

Task - пространство имён, объединяющие классы для работы с таблицами задач.

Классы | Описание | С версии
ViewedTable | Класс для работы с таблицей b_tasks_viewed. | 16.6.0
SortingTable | Класс для работы с таблицей b_tasks_sorting. | 16.0.3
ReminderTable | Класс для работы с таблицей b_tasks_reminder. | 16.6.0
RelatedTable | Класс для работы с таблицей b_tasks_dependence. | 16.6.0
ElapsedTimeTable | Класс для работы с таблицей b_tasks_elapsed_time. |
TimerTable | Класс для работы с таблицей b_tasks_timer. | 16.6.0
TemplateTable | Класс для работы с таблицей b_tasks_template. | 14.5.11
FavoriteTable | Класс для работы с таблицей b_tasks_favorite. | 15.6.0
Template | Пространство имён, объединяющее классы для работы с таблицами шаблонов. | 15.6.0
MemberTable | Класс для работы с таблицей b_tasks_member. | 16.6.0
CheckListTable | Класс для работы с таблицей b_tasks_template_chl_item. | 16.5.0
LogTable | Класс для работы с таблицей b_tasks_log. | 16.6.0
ProjectDependenceTable | Класс для работы с таблицей b_tasks_proj_dep. | 16.6.0
TagTable | Класс для работы с таблицей b_tasks_tag. | 16.6.0


CheckListTable

CheckListTable - класс для работы с таблицей b_tasks_template_chl_item.

Метод | Описание | С версии
getTableName | Возвращает имя таблицы в базе данных, соответствующей сущности. |
getMap | Возвращает список полей с типами. |


getMap

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Задачи>Internals>Task>CheckListTable>getMap (с версии 16.5.0)

CheckListTable::getMap

array public static
\Bitrix\Tasks\Internals\Task\CheckListTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров


getTableName

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Задачи>Internals>Task>CheckListTable>getTableName (с версии 16.5.0)

CheckListTable::getTableName

string public static
\Bitrix\Tasks\Internals\Task\CheckListTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров


ElapsedTimeTable

ElapsedTimeTable - класс для работы с таблицей b_tasks_elapsed_time.

Метод | Описание | С версии
getTableName | Возвращает имя таблицы в базе данных, соответствующей сущности. |
getMap | Возвращает список полей с типами. |


getMap

array public static
\Bitrix\Tasks\Internals\Task\ElapsedTimeTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров


getTableName

string public static
\Bitrix\Tasks\Internals\Task\ElapsedTimeTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров


FavoriteTable

FavoriteTable - класс для работы с таблицей b_tasks_favorite.

Метод | Описание | С версии
getTableName | Возвращает имя таблицы в базе данных, соответствующей сущности. |
toggle | Меняет состояние "избранности" задачи для определенного (или текущего) пользователя. |
check | Проверяет, находится ли задача в Избранном у определенного (или текущего) пользователя. |
delete | Удаляет задачу из Избранного для определенного (или текущего) пользователя. |
add | Добавляет задачу в Избранное для определенного (или текущего) пользователя. |
getMap | Возвращает список полей с типами. |
deleteByTaskId | Удаляет задачу из Избранного для всех пользователей. |


add

\Bitrix\Main\Entity\AddResult public static
\Bitrix\Tasks\Internals\Task\FavoriteTable::add(
 array ,
 array
);

Статический метод добавляет задачу в Избранное для определенного (или текущего) пользователя. Эта функция не проверяет права.

Параметры

Параметр | Описание | Версия
$data | Первичный ключ.
$behaviour Поведенческие флаги:
  • CHECK_EXISTENCE - если принимает значение true, то функция проверяет присутствует ли уже задача в Избранном (добавляется запрос в базу данных). По умолчанию принимает значение true. Установки значения false может привести к ошибке SQL.
  • AFFECT_CHILDREN - если принимает значение true, то все подзадачи также будут добавлены в избранное (по умолчанию false).


check

boolean public static
\Bitrix\Tasks\Internals\Task\FavoriteTable::check(
 array
);

Статический метод проверяет, находится ли задача в Избранном у определенного (или текущего) пользователя. Данная функция не проверяет права.

Параметры

Параметр | Описание | Версия
$primary | Первичный ключ. |


delete

\Bitrix\Main\Entity\DeleteResult public static
\Bitrix\Tasks\Internals\Task\FavoriteTable::delete(
 array ,
 array
);

Статический метод удаляет задачу из Избранного для определенного (или текущего) пользователя. Эта функция не проверяет права.

Параметры

Параметр | Описание | Версия
$primary | Первичный ключ.
$behaviour Поведенческие флаги:
  • AFFECT_CHILDREN - если принимает значение true, то все подзадачи также будут удалены из избранного (по умолчанию false).


deleteByTaskId

\Bitrix\Main\Entity\DeleteResult public static
\Bitrix\Tasks\Internals\Task\FavoriteTable::deleteByTaskId(
 integer ,
 array
);

Статический метод удаляет задачу из Избранного для всех пользователей. Данная функция не проверяет права.

Параметры

Параметр | Описание | Версия
$taskId | Идентификатор задачи.
$behaviour Поведенческие флаги:
  • LOW_LEVEL - если принимает значение true, то функция будет игнорировать все события и выполнит запрос в базу данных.


getMap

array public static
\Bitrix\Tasks\Internals\Task\FavoriteTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров


getTableName

string public static
\Bitrix\Tasks\Internals\Task\FavoriteTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров


toggle

\Bitrix\Main\Entity\AddResult|\Bitrix\Main\Entity\DeleteResult public static
\Bitrix\Tasks\Internals\Task\FavoriteTable::toggle(
 array ,
 array
);

Статический метод меняет состояние "избранности" задачи для определенного (или текущего) пользователя. Данная функция не проверяет права.

Параметры

Параметр | Описание | Версия
$primary | Первичный ключ. |
$behaviour | Необязательный параметр, присутствует для унификации параметров с другими методами. |


LogTable

LogTable - класс для работы с таблицей b_tasks_log.

Метод | Описание | С версии
getTableName | Возвращает имя таблицы в базе данных, соответствующей сущности. |
getMap | Возвращает список полей с типами. |


getMap

array public static
\Bitrix\Tasks\Internals\Task\LogTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров


getTableName

string public static
\Bitrix\Tasks\Internals\Task\LogTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров


MemberTable

MemberTable - класс для работы с таблицей b_tasks_member.

Метод | Описание | С версии
getTableName | Возвращает имя таблицы в базе данных, соответствующей сущности. |
getMap | Возвращает список полей с типами. |


getMap

array public static
\Bitrix\Tasks\Internals\Task\MemberTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров


getTableName

string public static
\Bitrix\Tasks\Internals\Task\MemberTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров


ProjectDependenceTable

ProjectDependenceTable - класс для работы с таблицей b_tasks_proj_dep.

Метод | Описание | С версии
getTableName | Возвращает имя таблицы в базе данных, соответствующей сущности. |
getListByLegacyTaskFilter | Возвращает список прямых ссылок на основе фильтра, соответствующего CTask::GetList() [image] . |
getMap | Возвращает список полей с типами. |
getSubTreeSql | Присутствует для улучшения производительности. |


getListByLegacyTaskFilter

 public static
\Bitrix\Tasks\Internals\Task\ProjectDependenceTable::getListByLegacyTaskFilter(
);

Статический метод возвращает список прямых ссылок на основе фильтра, соответствующего CTask::GetList() [image].

Без параметров


getMap

array public static
\Bitrix\Tasks\Internals\Task\ProjectDependenceTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров


getSubTreeSql

 public static
\Bitrix\Tasks\Internals\Task\ProjectDependenceTable::getSubTreeSql(
);

Метод присутствует для улучшения производительности. Метод статический.

Без параметров


getTableName

string public static
\Bitrix\Tasks\Internals\Task\ProjectDependenceTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров


RelatedTable

RelatedTable - класс для работы с таблицей b_tasks_dependence.

Метод | Описание | С версии
getTableName | Возвращает имя таблицы в базе данных, соответствующей сущности. |
getMap | Возвращает список полей с типами. |


getMap

array public static
\Bitrix\Tasks\Internals\Task\RelatedTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров


getTableName

string public static
\Bitrix\Tasks\Internals\Task\RelatedTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров


ReminderTable

ReminderTable - класс для работы с таблицей b_tasks_reminder.

Метод | Описание | С версии
getTableName | Возвращает имя таблицы в базе данных, соответствующей сущности. |
getMap | Возвращает список полей с типами. |


getMap

array public static
\Bitrix\Tasks\Internals\Task\ReminderTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров


getTableName

string public static
\Bitrix\Tasks\Internals\Task\ReminderTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров


SortingTable

SortingTable - класс для работы с таблицей b_tasks_sorting.

Метод | Описание | С версии
deleteByTaskId | Удаляет задачу из сортировочного дерева. |
insertBatch | Добавляет строки в таблицу. |


deleteByTaskId

 public static
\Bitrix\Tasks\Internals\Task\SortingTable::deleteByTaskId(
 integer $taskId
);

Статический метод удаляет задачу из сортировочного дерева.

Параметры

Параметр | Описание | Версия
$taskId | Идентификатор задачи. |


insertBatch

void public static
\Bitrix\Tasks\Internals\Task\SortingTable::insertBatch(
 array $items
);

Статический метод добавляет строки в таблицу.

Параметры

Параметр | Описание | Версия
$items | Добавляемые элементы. |


TagTable

TagTable - класс для работы с таблицей b_tasks_tag.

Метод | Описание | С версии
getTableName | Возвращает имя таблицы в базе данных, соответствующей сущности. |
getMap | Возвращает список полей с типами. |


getMap

array public static
\Bitrix\Tasks\Internals\Task\TagTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров


getTableName

string public static
\Bitrix\Tasks\Internals\Task\TagTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров


Template

Template - пространство имён, объединяющее классы для работы с таблицами шаблонов.

Класс | Описание | С версии
DependenceTable | Класс для работы с таблицей b_tasks_template_dep. |
CheckListTable | Класс для работы с таблицей b_tasks_template_chl_item. | 16.5.0
SystemLogTable | Класс для работы с таблицей b_tasks_syslog. | 16.6.0


CheckListTable

CheckListTable - класс для работы с таблицей b_tasks_template_chl_item.

Метод | Описание | С версии
getTableName | Возвращает имя таблицы базы данных, соответствующей данной сущности. |
deleteByTemplateId | Удаляет все элементы чек-листа для указанного шаблона. |
moveAfterItem | Перемещает пункт чек-листа после другого пункта. |
updateForTemplate | Обновляет список элементов для определенного шаблона. |
getMap | Возвращает список полей с типами. |


deleteByTemplateId

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Задачи>Internals>Task>Template>CheckListTable>deleteByTemplateId (с версии 16.5.0)

CheckListTable::deleteByTemplateId

 public static
\Bitrix\Tasks\Internals\Task\Template\CheckListTable::deleteByTemplateId(
 integer $templateId
);

Статический метод удаляет все элементы чек-листа для указанного шаблона.

Параметры

Параметр | Описание | Версия
$templateId | Идентификатор шаблона. |

Исключения

  • ArgumentException (Bitrix\Main\ArgumentException)


getMap

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Задачи>Internals>Task>Template>CheckListTable>getMap (с версии 16.5.0)

CheckListTable::getMap

array public static
\Bitrix\Tasks\Internals\Task\Template\CheckListTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров


getTableName

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Задачи>Internals>Task>Template>CheckListTable>getTableName (с версии 16.5.0)

CheckListTable::getTableName

string public static
\Bitrix\Tasks\Internals\Task\Template\CheckListTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров


moveAfterItem

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Задачи>Internals>Task>Template>CheckListTable>moveAfterItem (с версии 16.5.0)

CheckListTable::moveAfterItem

 public static
\Bitrix\Tasks\Internals\Task\Template\CheckListTable::moveAfterItem(
 integer $selectedItemId,
 integer $insertAfterItemId
);

Статический метод перемещает пункт чек-листа после другого пункта.

Параметры

Параметр | Описание | Версия
$selectedItemId | Идентификатор перемещаемого элемента. |
$insertAfterItemId | Идентификатор элемента, после которого будет размещен элемент. |

Исключения

  • ArgumentException (Bitrix\Main\ArgumentException)


updateForTemplate

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Задачи>Internals>Task>Template>CheckListTable>updateForTemplate (с версии 16.5.0)

CheckListTable::updateForTemplate

array public static
\Bitrix\Tasks\Internals\Task\Template\CheckListTable::updateForTemplate(
 integer $templateId,
 array $items = array()
);

Статический метод обновляет список элементов для определенного шаблона: добавляет новые, обновляет существующие, удаляет пустые.

Параметры

Параметр | Описание | Версия
$templateId | Идентификатор шаблона. |
$items | Обновляемые/добавляемые элементы чек-листа. |

Исключения

  • ArgumentException (Bitrix\Main\ArgumentException)


DependenceTable

DependenceTable - класс для работы с таблицей b_tasks_template_dep.

Метод | Описание | С версии
getTableName | Возвращает имя таблицы в базе данных, соответствующей сущности. | с версии 16.0.0
getMap | Возвращает список полей с типами. |


getMap

array public static
\Bitrix\Tasks\Internals\Task\Template\DependenceTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров


getTableName

string public static
\Bitrix\Tasks\Internals\Task\Template\DependenceTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров


getMap

array public static
\Bitrix\Tasks\Internals\Task\Template\SystemLogTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров


getTableName

string public static
\Bitrix\Tasks\Internals\Task\Template\SystemLogTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров


TemplateTable

TemplateTable - класс для работы с таблицей b_tasks_template.

Метод | Описание | С версии
getUfId | Возвращает код пользовательского поля, чтобы пользовательское поле работало с orm. | 16.6.0
getMap | Возвращает список полей с типами. |
getTableName | Возвращает имя таблицы базы данных, соответствующей данной сущности. |


getMap

array public static
\Bitrix\Tasks\Internals\Task\TemplateTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров


getTableName

string public static
\Bitrix\Tasks\Internals\Task\TemplateTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров


getUfId

string public static
\Bitrix\Tasks\Internals\Task\TemplateTable::getUfId(
);

Статический метод возвращает код пользовательского поля, чтобы пользовательское поле работало с orm.

Без параметров


TimerTable

TimerTable - класс для работы с таблицей b_tasks_timer.

Метод | Описание | С версии
getTableName | Возвращает имя таблицы в базе данных, соответствующей сущности. |
getMap | Возвращает список полей с типами. |


getMap

array public static
\Bitrix\Tasks\Internals\Task\TimerTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров


getTableName

string public static
\Bitrix\Tasks\Internals\Task\TimerTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров


ViewedTable

ViewedTable - класс для работы с таблицей b_tasks_viewed.

Метод | Описание | С версии
getTableName | Возвращает имя таблицы в базе данных, соответствующей сущности. |
getMap | Возвращает список полей с типами. |


getMap

array public static
\Bitrix\Tasks\Internals\Task\ViewedTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров


getTableName

string public static
\Bitrix\Tasks\Internals\Task\ViewedTable::getTableName(
);

Статический метод возвращает имя таблицы в базе данных, соответствующей сущности.

Без параметров


TaskTable

TaskTable - класс для работы с таблицей b_task.

Метод | Описание | С версии
getTableName | Возвращает имя таблицы в базе данных, соответствующей сущности. |
getUfId | Возвращает код пользовательского поля, чтобы пользовательское поле работало с orm. | 16.6.0
getMap | Возвращает список полей с типами. |


getMap

array public static
\Bitrix\Tasks\Internals\TaskTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров


getTableName

string public static
\Bitrix\Tasks\Internals\TaskTable::getTableName(
);

Статический метод возвращает имя таблицы в базе данных, соответствующей сущности.

Без параметров


getUfId

string public static
\Bitrix\Tasks\Internals\TaskTable::getUfId(
);

Статический метод возвращает код пользовательского поля, чтобы пользовательское поле работало с orm.

Без параметров


Отправить отзыв по этому разделу

Rest

  • ActionFilter
  • Controllers


Отправить отзыв по этому разделу

ActionFilter

  • Task


Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Задачи>Rest>ActionFilter>Task (с версии 18.0.0)

Task

Task - описание класса


listAllowedScopes

array public
\Bitrix\Tasks\Rest\ActionFilter\Task::listAllowedScopes(
);

Список допустимых значений областей, в которых должен работать фильтр. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Отправить отзыв по этому разделу

Controllers

  • Template


Отправить отзыв по этому разделу

Template

  • Checklist
  • Files


Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Задачи>Rest>Controllers>Template>Checklist (с версии 17.7.0)

Checklist

Checklist - описание класса


addAction

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Задачи>Rest>Controllers>Template>Checklist>addAction (с версии 17.7.0)

Checklist::addAction

integer public
\Bitrix\Tasks\Rest\Controllers\Template\Checklist::addAction(
 integer $taskId,
 array $fields,
 array $params = array()
);

Метод добавляет элемент чек-листа в задачу. Метод нестатический.

Параметры

Параметр | Описание | Версия
$taskId | Идентификатор задачи |
$fields | Поля |
$params | Параметры |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteAction

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Задачи>Rest>Controllers>Template>Checklist>deleteAction (с версии 17.7.0)

Checklist::deleteAction

boolean public
\Bitrix\Tasks\Rest\Controllers\Template\Checklist::deleteAction(
 integer $taskId,
 integer $itemId,
 array $params = array()
);

Метод удаляет существующий элемент чек-листа. Метод нестатический.

Параметры

Параметр | Описание | Версия
$taskId | Идентификатор задачи |
$itemId | Идентификатор элемента чек-листа |
$params | Параметры |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


fieldsAction

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Задачи>Rest>Controllers>Template>Checklist>fieldsAction (с версии 17.7.0)

Checklist::fieldsAction

array public
\Bitrix\Tasks\Rest\Controllers\Template\Checklist::fieldsAction(
);

Метод возвращает все поля элемента чек-листа. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


listAction

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Задачи>Rest>Controllers>Template>Checklist>listAction (с версии 17.7.0)

Checklist::listAction

array public
\Bitrix\Tasks\Rest\Controllers\Template\Checklist::listAction(
 integer $taskId,
 array $params = array()
);

Метод получает всех элементов чек-листа задачи. Метод нестатический.

Параметры

Параметр | Описание | Версия
$taskId | Идентификатор задачи |
$params | Список параметров |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


updateAction

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Задачи>Rest>Controllers>Template>Checklist>updateAction (с версии 17.7.0)

Checklist::updateAction

boolean public
\Bitrix\Tasks\Rest\Controllers\Template\Checklist::updateAction(
 integer $taskId,
 integer $itemId,
 array $fields,
 array $params = array()
);

Метод обновляет элемент чек-листа задачи. Метод нестатический.

Параметры

Параметр | Описание | Версия
$taskId | Идентификатор задачи |
$itemId | Идентификатор элемента чек-листа |
$fields | Поля |
$params | Параметры |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Задачи>Rest>Controllers>Template>Files (с версии 17.7.0)

Files

Files - описание класса


addAction

integer public
\Bitrix\Tasks\Rest\Controllers\Template\Files::addAction(
 integer $taskId,
 array $fields,
 array $params = array()
);

Метод добавляет новый файл. Метод нестатический.

Параметры

Параметр | Описание | Версия
$taskId | Идентификатор задачи |
$fields | Поля |
$params | Параметры |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteAction

boolean public
\Bitrix\Tasks\Rest\Controllers\Template\Files::deleteAction(
 integer $taskId,
 integer $fileId,
 array $params = array()
);

Нестатический метод удаляет существующий файл.

Параметры

Параметр | Описание | Версия
$taskId | Идентификатор задачи |
$fileId | Поля |
$params | Параметры |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


fieldsAction

array public
\Bitrix\Tasks\Rest\Controllers\Template\Files::fieldsAction(
);

Возвращает все поля DB и UF_ файла. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAction

array public
\Bitrix\Tasks\Rest\Controllers\Template\Files::getAction(
 integer $fileId,
 array $params = array()
);

Нестатический метод получает данные файла.

Параметры

Параметр | Описание | Версия
$fileId | Поля |
$params | Параметры |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


listAction

array public
\Bitrix\Tasks\Rest\Controllers\Template\Files::listAction(
 integer $taskId,
 array $params = array()
);

Нестатический метод получает список всех файлов задачи.

Параметры

Параметр | Описание | Версия
$taskId | Идентификатор задачи |
$params | Параметры |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Task

Task - содержит классы orm для сущностей, которые являются вспомогательными для сущности Задача.

Класс | Описание | С версии
DependenceTable | Класс orm для сущности Гант. | 16.0.0
FavoriteTable | Класс orm для сущности Список избранного. |
SortingTable | Класс orm для работы с данными сортировки задач. | 16.0.3


DependenceTable

DependenceTable - класс orm для сущности Гант.

Метод | Описание | С версии
getListByLegacyTaskFilter | Возвращает список прямых ссылок на основе фильтра, соответствующего CTask::GetList() [image] . |


getListByLegacyTaskFilter

 public static
\Bitrix\Tasks\Task\DependenceTable::getListByLegacyTaskFilter(
);

Статический метод возвращает список прямых ссылок на основе фильтра, соответствующего CTask::GetList() [image].

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


FavoriteTable

FavoriteTable - класс orm для сущности Список избранного.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
add | Добавляет задачу в Избранное для определенного (или текущего) пользователя. |
check | Добавляет задачу в Избранное для определенного (или текущего) пользователя. |
delete | Удаляет задачу из Избранного для определенного (или текущего) пользователя. |
deleteByTaskId | Удаляет задачу из Избранного для всех пользователей. |
toggle | Меняет состояние "избранности" задачи для определенного (или текущего) пользователя. |


add

\Bitrix\Main\Entity\AddResult public static
\Bitrix\Tasks\Task\FavoriteTable::add(
 array ,
 array
);

Статический метод добавляет задачу в Избранное для определенного (или текущего) пользователя. Эта функция не проверяет права.

Параметры

Параметр | Описание | Версия
$data | Первичный ключ.
$behaviour Поведенческие флаги:
  • CHECK_EXISTENCE - если принимает значение true, то функция проверяет присутствует ли уже задача в Избранном (добавляется запрос в базу данных). По умолчанию принимает значение true. Установки значения false может привести к ошибке SQL.
  • AFFECT_CHILDREN - если принимает значение true, то все подзадачи также будут добавлены в избранное (по умолчанию false).


check

boolean public static
\Bitrix\Tasks\Task\FavoriteTable::check(
 array
);

Статический метод проверяет, находится ли задача в Избранном у определенного (или текущего) пользователя. Данная функция не проверяет права.

Параметры

Параметр | Описание | Версия
$primary | Первичный ключ. |


delete

\Bitrix\Main\Entity\DeleteResult public static
\Bitrix\Tasks\Task\FavoriteTable::delete(
 array ,
 array
);

Статический метод удаляет задачу из Избранного для определенного (или текущего) пользователя. Эта функция не проверяет права.

Параметры

Параметр | Описание | Версия
$primary | Первичный ключ.
$behaviour Поведенческие флаги:
  • AFFECT_CHILDREN - если принимает значение true, то все подзадачи также будут удалены из избранного (по умолчанию false).


deleteByTaskId

\Bitrix\Main\Entity\DeleteResult public static
\Bitrix\Tasks\Task\FavoriteTable::deleteByTaskId(
 integer ,
 array
);

Статический метод удаляет задачу из Избранного для всех пользователей. Данная функция не проверяет права.

Параметры

Параметр | Описание | Версия
$taskId | Идентификатор задачи.
$behaviour Поведенческие флаги:
  • LOW_LEVEL - если принимает значение true, то функция будет игнорировать все события и выполнит запрос в базу данных.


toggle

\Bitrix\Main\Entity\AddResult|\Bitrix\Main\Entity\DeleteResult public static
\Bitrix\Tasks\Task\FavoriteTable::toggle(
 array ,
 array
);

Статический метод меняет состояние "избранности" задачи для определенного (или текущего) пользователя. Данная функция не проверяет права.

Параметры

Параметр | Описание | Версия
$primary | Первичный ключ. |
$behaviour | Необязательный параметр, присутствует для унификации параметров с другими методами. |


SortingTable

SortingTable - класс orm для работы с данными сортировки задач.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
deleteByTaskId | Удаляет задачу из сортировочного древа. |


deleteByTaskId

 public static
\Bitrix\Tasks\Task\SortingTable::deleteByTaskId(
 integer $taskId
);

Статический метод удаляет задачу из сортировочного древа.

Параметры

Параметр | Описание | Версия
$taskId | Идентификатор задачи. |


TaskTable

TaskTable - класс orm для сущности Задача.

Методы класса

Метод | Описание | С версии
getRuntimeMixins | Позволяет добавить различные примеси исполнения к static::getList(). | 16.0.0


getRuntimeMixins

array public static
\Bitrix\Tasks\TaskTable::getRuntimeMixins(
 array $mixins = array()
);

Статический метод позволяет добавить различные примеси исполнения к static::getList(), которые зависят от некоторых внутренних данных, и следовательно не могут быть помещены в static::getMap().

Параметры

Параметр Описание Версия
$mixins Добавляемые примеси:
  1. IN_FAVORITE - проверяет, находятся ли указанные задачи в Избранном (добавляет колонку IN_FAVORITE);
  2. CHECK_RIGHTS - проверяет, доступны ли указанные задачи для чтения;
  3. LEGACY_FILTER - добавляет фильтр наследования к результату (подобно CTasks::GetList()).


Template

Template - содержит классы orm для сущности Шаблон задачи.

Класс | Описание | С версии
CheckListItemTable | Класс orm для сущности Чек-лист задачи. |


CheckListItemTable

CheckListItemTable - класс orm для сущности Чек-лист задачи.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
deleteByTemplateId | Удаляет все элементы чек-листа для указанного шаблона. |
moveAfterItem | Перемещает пункт чек-листа после другого пункта. |
updateForTemplate | Обновляет список элементов для определенного шаблона: добавляет новые, обновляет существующие, удаляет пустые. |
validateTitle | Возвращает валидатор для поля TITLE (Название задачи). |


deleteByTemplateId

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Задачи>Template>CheckListItemTable>deleteByTemplateId (с версии 14.5.11)

CheckListItemTable::deleteByTemplateId

 public static
\Bitrix\Tasks\Template\CheckListItemTable::deleteByTemplateId(
 integer $templateId
);

Статический метод удаляет все элементы чек-листа для указанного шаблона.

Параметры

Параметр | Описание | Версия
$templateId | Идентификатор шаблона. |

Исключения

  • ArgumentException (Bitrix\Main\ArgumentException)


moveAfterItem

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Задачи>Template>CheckListItemTable>moveAfterItem (с версии 14.5.11)

CheckListItemTable::moveAfterItem

 public static
\Bitrix\Tasks\Template\CheckListItemTable::moveAfterItem(
 integer $selectedItemId,
 integer $insertAfterItemId
);

Статический метод перемещает пункт чек-листа после другого пункта.

Параметры

Параметр | Описание | Версия
$selectedItemId | Идентификатор перемещаемого элемента. |
$insertAfterItemId | Идентификатор элемента, после которого будет размещен элемент. |

Исключения

  • ArgumentException (Bitrix\Main\ArgumentException)


updateForTemplate

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Задачи>Template>CheckListItemTable>updateForTemplate (с версии 14.5.11)

CheckListItemTable::updateForTemplate

 public static
\Bitrix\Tasks\Template\CheckListItemTable::updateForTemplate(
 integer $templateId,
 array $items = array()
);

Статический метод обновляет список элементов для определенного шаблона: добавляет новые, обновляет существующие, удаляет пустые.

Параметры

Параметр | Описание | Версия
$templateId | Идентификатор шаблона. |
$items | Обновляемые/добавляемые элементы чек-листа. |

Исключения

  • ArgumentException (Bitrix\Main\ArgumentException)


validateTitle

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Задачи>Template>CheckListItemTable>validateTitle (с версии 14.5.11)

CheckListItemTable::validateTitle

array public static
\Bitrix\Tasks\Template\CheckListItemTable::validateTitle(
);

Статический метод возвращает валидатор для поля TITLE (Название задачи).

Без параметров


TemplateTable

TemplateTable - класс orm для сущности Шаблон задачи.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
validateSiteId | Возвращает валидаторы поля SITE_ID (Идентификатор сайта). |
validateStatus | Возвращает валидаторы поля STATUS (Мета-статус задачи). |
validateTitle | Возвращает валидаторы поля TITLE (Название задачи). |
validateXmlId | Возвращает валидаторы поля XML_ID (Внешний код). |


validateSiteId

array public static
\Bitrix\Tasks\TemplateTable::validateSiteId(
);

Статический метод возвращает валидаторы поля SITE_ID (Идентификатор сайта).

Без параметров


validateStatus

array public static
\Bitrix\Tasks\TemplateTable::validateStatus(
);

Статический метод возвращает валидаторы поля STATUS (Мета-статус задачи).

Без параметров

Статусы

  • const METASTATE_VIRGIN_NEW = -2; // непросмотренные
  • const METASTATE_EXPIRED = -1; // просроченные
  • const METASTATE_EXPIRED_SOON = -3; // почти просрочены. Срок - сутки, не настраивается.
  • const STATE_NEW = 1; // новый, не используется
  • const STATE_PENDING = 2; // Pending === Accepted // принято, не используется
  • const STATE_IN_PROGRESS = 3; // в работе. по умолчанию для всех
  • const STATE_SUPPOSEDLY_COMPLETED = 4; // частично завершен. требуется подтверждение других участников
  • const STATE_COMPLETED = 5; // завершен
  • const STATE_DEFERRED = 6; // отложено
  • const STATE_DECLINED = 7; // отклонен, не используется


validateTitle

array public static
\Bitrix\Tasks\TemplateTable::validateTitle(
);

Статический метод возвращает валидаторы поля TITLE (Название задачи).

Без параметров


validateXmlId

array public static
\Bitrix\Tasks\TemplateTable::validateXmlId(
);

Статический метод возвращает валидаторы поля XML_ID (Внешний код).

Без параметров


Интернет-магазин

\Bitrix\Sale - пространство имен модуля Интернет-магазин.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('sale');

Класс, пространство имен | Описание
Archive | Класс для работы с архивацией заказов.
Basket | Класс для работы с корзиной. Наследник класса \Bitrix\Sale\BasketItemCollection.
BasketBase | Класс для работы с корзиной.
BasketItemCollection | Класс коллекции товарных позиций.
BusinessValue | Класс для работы с бизнес-смыслами.
Configuration | Класс для работы с настройками резервирования товаров, складского учета и настройками смены статусов интернет-магазина.
Delivery | Пространство имен, содержащее классы для работы со службами доставок.
Discount | Пространство имен, содержащее подпространства, классы и методы для расчета всех скидок (каталога и магазина) и округления цен для корзины или заказа.
DiscountCouponsManager | Класс для работы с купонами при расчетах.
Fuser | Класс для получения идентификатора покупателя.
Internals | Подпространство, содержащее классы для работы с таблицами модуля Интернет-магазин.
Location | Подпространство имен, содержащее классы для работы с местоположениями.
Notify | Класс для работы с уведомлениями.
Order | Класс для работы с заказами.
OrderBase | Базовый класс для работы с заказами.
OrderDiscountManager | Класс для работы с правилами корзины при расчетах.
Payment | Класс оплаты.
PaymentCollection | Класс коллекции оплат.
PropertyValueCollectionBase | Базовый класс коллекции свойств заказа.
ProviderBase | Базовый класс для работы с провайдерами магазина.
Result | Класс для работы с результатами.
SalesZone | Класс для задания зоны обслуживания магазином.
Services | Базовая общая часть служб доставок и платежных систем.
Shipment | Класс отгрузок.
ShipmentCollection | Класс коллекции отгрузок.
ShipmentItem | Класс элемента отгрузки.
ShipmentItemStore | Класс штрих-кодов элементов отгрузки.
StatusBase | Базовый класс статусов.
Tax | Класс налогов.
TradingPlatform | Класс для работы с торговыми платформами.


Интернет-магазин в старом ядре

Классы

Список классов модуля Интернет-магазин в старом ядре

Класс | Описание | С версии
CSaleAuxiliary | Класс для облегчения предоставления платного доступа к ресурсам. | 4.0.10
CSaleBasket | Класс для работы с корзиной покупателей. | 3.2.2
CSaleDelivery | Класс для работы со службами (методами) доставки. | 3.2.2
CSaleDeliveryHandler | Класс для работы с автоматизированными службами доставки. | 6.5.0
CSaleDiscount | Класс для работы со скидками на сумму заказа. | 3.3.1
CSaleLocation | Класс для работы с местоположениями. | 3.2.2
CSaleLocationGroup | Класс для работы с группами местоположений. | 3.2.2
CSaleOrder | Класс для работы с заказами. | 3.3.0
CSaleOrderProps | Класс для работы с набираемыми свойствами заказов. | 3.3.0
CSaleOrderPropsGroup | Класс для работы с группами свойств заказов. | 3.3.0
CSaleOrderPropsValue | Класс для работы со значениями свойств заказов. | 3.3.0
CSaleOrderPropsVariant | Класс для работы с вариантами значений свойств заказов. | 3.3.0
CSaleOrderTax | Класс для работы с суммами налогов, которые начисляются для каждого заказа. | 3.3.2
CSaleOrderUserProps | Класс для работы с профилями покупателей. | 3.3.0
CSaleOrderUserPropsValue | Класс для работы со значениями свойств заказов, сохраняемыми в профилях покупателей. | 3.3.0
CSalePaySystem | Класс для работы с платежными системами. | 3.3.6
CSalePaySystemAction | Класс для работы с обработчиками платежных систем. | 3.3.6
CSalePersonType | Класс для работы с типами плательщиков. | 3.3.0
CSaleRecurring | Класс для работы с возобновляемыми подписками. | 4.0.6
CSaleStatus | Класс для работы со статусами заказов. | 3.3.0
CSaleTax | Класс для работы с налогами. | 3.3.1
CSaleTaxRate | Класс для работы со ставками налогов. | 3.3.1
CSaleUser | Класс для работы с пользователями. | 3.2.2
CSaleUserAccount | Класс для работы с внутренними счетами клиентов. | 4.0.6
CSaleUserCards | Класс для работы с платежными картами. | 4.0.6
CSaleUserTransact | Класс для работы с платежными транзакциями. | 4.0.6

События

Список событий модуля Интернет-магазин в старом ядре

  • События, связанные с изменением типов плательщиков [image];
  • События, связанные с местоположениями [image];
  • События, связанные с изменением заказов [image];
  • События, связанные с изменением статусов заказа [image];
  • События, связанные с изменением состояния заказов [image];
  • События, связанные с изменением записей в корзине [image];
  • События, связанные с изменением аффилиатов [image];
  • События, связанные с компонентами [image];
  • События, связанные с отправкой почтовых шаблонов [image];
  • Прочие события [image].

Функции и дополнительная информация

Список функций модуля Интернет-магазин в старом ядре

Функция | Описание
SaleFormatCurrency | Функция форматирует сумму fSum в соответствии с правилами форматирования для валюты strCurrency на текущем языке.

Дополнительно

  • Интеграция с платежными системами
  • Создание обработчиков служб доставки
  • XML-файлы для обмена данными
  • Взаимодействие УС с сайтом


Работа через реестр

Этот способ помогает не ошибиться в названии нужного метода при работе с сущностями интернет-магазина в редакции, объединяющей интернет-магазин и CRM (например, «1С-Битрикс24: Интернет-магазин+CRM»).

Примечание: если в таких редакциях использовать классы обычного интернет-магазина, то могут возникнуть проблемы с работой функционала, специфичного для CRM (например, с работой роботов).

\Bitrix\Main\Loader::includeModule('sale');

$registry = \Bitrix\Sale\Registry::getInstance(
    \Bitrix\Sale\Registry::REGISTRY_TYPE_ORDER
);

$orderClassName = $registry->getOrderClassName();

$order = $orderClassName::load(...);

Суть описанного способа:

  • Загрузка модуля sale и получение объекта реестра.

    При загрузке объекта выполняется инициализация карты, которая описывает, какие классы отвечают за указанную сущность интернет-магазина (CRM в эту карту загружает свои классы, поэтому карта становится актуальной для продукта, содержащего CRM).

  • Теперь нужно не явно работать с названием класса, а запрашивать его из реестра с помощью метода типа getOrderClassName. Он вернет правильное название класса.
  • В завершении вместо явного указания класса используется переменная $orderClassName, которая содержит правильное название класса, и продолжается обычная работа с нужными методами заказа, например, load($id).

Для остальных сущностей интернет-магазина методы по получению правильного класса аналогичны (например, чтобы работать с оплатой, нужно вместо getOrderClassName() вызывать getPaymentClassName() ).


Приёмы работы с методами интернет-магазина

В данном разделе приведены примеры работы с методами следующих сущностей модуля Интернет-магазин:

  • Заказы
  • Свойства заказа
  • Значения свойств заказа
  • Корзина
  • Свойства корзины
  • Оплаты
  • Отгрузки
  • Состав отгрузки


Заказы

Операции с заказами

Создание

$products = [
    [
        'PRODUCT_ID' => 135,
        'PRODUCT_PROVIDER_CLASS' => '\Bitrix\Catalog\Product\CatalogProvider',
        'NAME' => 'Товар 1',
        'PRICE' => 500,
        'CURRENCY' => 'RUB',
        'QUANTITY' => 5,
    ]
];

$basket = Bitrix\Sale\Basket::create('s1');

foreach ($products as $product)
{
    $item = $basket->createItem("catalog", $product["PRODUCT_ID"]);
    unset($product["PRODUCT_ID"]);
    $item->setFields($product);
}

$siteId = 's1'; // код сайта
$userId = 1; // ID пользователя
$order = \Bitrix\Sale\Order::create($siteId, $userId);

$order->setPersonTypeId(1); // 1 - ID типа плательщика

$order->setBasket($basket);

$shipmentCollection = $order->getShipmentCollection();
$shipment = $shipmentCollection->createItem(
    Bitrix\Sale\Delivery\Services\Manager::getObjectById(1) // 1 - ID службы доставки
);

$shipmentItemCollection = $shipment->getShipmentItemCollection();

foreach ($basket as $basketItem)
{
    $item = $shipmentItemCollection->createItem($basketItem);
    $item->setQuantity($basketItem->getQuantity());
}

$paymentCollection = $order->getPaymentCollection();
$payment = $paymentCollection->createItem(
    Bitrix\Sale\PaySystem\Manager::getObjectById(1) // 1 - ID платежной системы
);

$payment->setField("SUM", $order->getPrice());
$payment->setField("CURRENCY", $order->getCurrency());

$r = $order->save();
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}

Создание без отгрузок и оплат

$basket = \Bitrix\Sale\Basket::create('s1');

$item = $basket->createItem('catalog', 123);
$item->setField('QUANTITY', 1);
$item->setField('CURRENCY', 'RUB');
$item->setField('PRODUCT_PROVIDER_CLASS', '\Bitrix\Catalog\Product\CatalogProvider');

$item = $basket->createItem('catalog', 125);
$item->setField('QUANTITY', 1);
$item->setField('CURRENCY', 'RUB');
$item->setField('PRODUCT_PROVIDER_CLASS', '\Bitrix\Catalog\Product\CatalogProvider');

$basket->refresh();

$order = \Bitrix\Sale\Order::create('s1', 1, 'RUB');
$order->setPersonTypeId(1);
$order->setBasket($basket);
$r = $order->save();
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}

Получение по ID

Заказ представляет собой объект, который можно получить несколькими способами:

  • по ID:
    $order = \Bitrix\Sale\Order::load($id);
  • по номеру заказа (ACCOUNT_NUMBER):
    $order = \Bitrix\Sale\Order::loadByAccountNumber($accountNumber);

Получение информации

Для получения информации используйте один из двух методов.

  • \Bitrix\Sale\Order::loadByFilter($parameters);

    Метод всегда возвращает либо массив объектов, либо null.

    Параметр Описание С версии
    $parameters Массив, структура:
    • filter - описание фильтра для WHERE и HAVING
    • order - параметры сортировки
    • limit - количество записей
    • offset - смещение для limit
    • runtime - динамически определенные поля

  • \Bitrix\Sale\Order::getList($parameters);

    Метод всегда возвращает объект DB\Result, из которого можно получить данные с помощью метода fetch();

    Параметр Описание С версии
    $parameters Массив, структура которого полностью соответствует структуре ORM'ного getList [image].
    Метод всегда возвращает объект DB\Result, из которого можно получить данные с помощью метода fetch().

    Примеры:

    Выведем даты всех заказов текущего пользователя за текущий месяц, отсортированные по дате заказа

$myDate = new \Bitrix\Main\Type\Date();
$myDate->add('-1M');

$parameters = [
   'filter' => [
       "USER_ID" => $USER->GetID(),
       ">=DATE_INSERT" => $myDate
   ],
   'order' => ["DATE_INSERT" => "ASC"]
];

$dbRes = \Bitrix\Sale\Order::getList($parameters);
while ($order = $dbRes->fetch())
{
    var_dump($order);
}

    Получить заказы с определенным товаром

$dbRes = \Bitrix\Sale\Order::getList([
    'filter' => [
        'BASKET.PRODUCT_ID' => 174474
    ],
    'order' => ['ID' => 'DESC']
]);

while ($order = $dbRes->fetch())
{
    var_dump($order);
}

    Фильтрация по нескольким вариантам статуса

$dbRes = \Bitrix\Sale\Order::getList([
    'filter' => [
        "USER_ID" => $USER->GetID(),
        "@STATUS_ID" => ["N", "P"]
    ],
    'order' => ['ID' => 'DESC']
]);

while ($order = $dbRes->fetch())
{
    var_dump($order);
}

    Получение списка заказов, у которых отсутствует какое-либо свойство

    $dbRes = \Bitrix\Sale\Order::getList([
    'select' => ['ID'],
    'filter' => [
        'PROPERTY_VAL.ID' => null
    ],
    'runtime' => [
        new \Bitrix\Main\Entity\ReferenceField(
            'PROPERTY',
            '\Bitrix\sale\Internals\OrderPropsTable',
            array("=ref.PERSON_TYPE_ID" => "this.PERSON_TYPE_ID",),
            array("join_type"=>"inner")
        ),
        new \Bitrix\Main\Entity\ReferenceField(
            'PROPERTY_VAL',
            '\Bitrix\sale\Internals\OrderPropsValueTable',
            array("=this.PROPERTY.ID" => "ref.ORDER_PROPS_ID", "=this.ID" => "ref.ORDER_ID",),
            array("join_type"=>"left")
        ),
    ],
    'group' => ['ID'],
    'order' => ['ID' => 'DESC']
]);

while ($order = $dbRes->fetch())
{
    var_dump($order);
}

    Получение списка заказов по нескольким свойствам заказа

    CModule::IncludeModule('sale');

$dbRes = \Bitrix\Sale\Order::getList([
    'select' => [
        "ID",
        "PROPERTY_VAL.VALUE",
        "PROPERTY_VAL_2.VALUE"
    ],
    'filter' => [
        '=PROPERTY_VAL.CODE' => 'EMAIL',
        '=PROPERTY_VAL.VALUE' => 'example@example.com',
        '=PROPERTY_VAL_2.CODE' => 'ZIP',
        '=PROPERTY_VAL_2.VALUE' => 101000
    ],
    'runtime' => [
        new \Bitrix\Main\Entity\ReferenceField(
            'PROPERTY_VAL',
            '\Bitrix\sale\Internals\OrderPropsValueTable',
            ["=this.ID" => "ref.ORDER_ID"],
            ["join_type"=>"left"]
        ),
        new \Bitrix\Main\Entity\ReferenceField(
            'PROPERTY_VAL_2',
            '\Bitrix\sale\Internals\OrderPropsValueTable',
            ["=this.ID" => "ref.ORDER_ID"],
            ["join_type"=>"left"]
        ),
    ]
]);

while ($order = $dbRes->fetch())
{
    var_dump($order);
}

Редактирование

$order = \Bitrix\Sale\Order::load(123); // 123 - ID заказа

$order->setField('USER_DESCRIPTION', 'Мой первый заказ');

$r = $order->save();
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}

Оплата

Оплата заказа подразумевает оплату всех частичных оплат, которые в него входят. Только в этом случае заказ считается полностью оплаченным.

$order = \Bitrix\Sale\Order::load(123); // 123 - ID заказа
$paymentCollection = $order->getPaymentCollection();
foreach ($paymentCollection as $payment)
{
    $r = $payment->setPaid('Y');
    if (!$r->isSuccess())
    {
        var_dump($r->getErrorMessages());
    }
}

if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}

Разрешение доставки

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

$order = \Bitrix\Sale\Order::load(123); // 123 - ID заказа
$shipmentmentCollection = $order->getShipmentCollection();
foreach ($shipmentmentCollection as $shipment)
{
    $r = $shipment->allowDelivery();
    if (!$r->isSuccess())
    {
        var_dump($r->getErrorMessages());
    }
}

$r = $order->save();
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}

Если необходимо отменить разрешение отгрузки, тогда достаточно вместо $shipment->allowDelivery() вызвать $shipment->disallowDelivery():

$order = \Bitrix\Sale\Order::load(123); // 123 - ID заказа
$shipmentCollection = $order->getShipmentCollection();
foreach ($shipmentCollection as $shipment)
{
    $r = $shipment->disallowDelivery();
    if (!$r->isSuccess())
    {
        var_dump($r->getErrorMessages());
    }
}

$r = $order->save();
if (!$r->isSuccess())
{
     var_dump($r->getErrorMessages());
}

Добавление комментария

$order = \Bitrix\Sale\Order::load(123); // 123 - ID заказа

$r = $order->setField('COMMENTS', 'Комментарий');
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}

$r = $order->save();
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}

Смена статуса

$order = \Bitrix\Sale\Order::load(123); // 123 - ID заказа

$r = $order->setField('STATUS_ID', 'P');
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}

$r = $order->save();
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}

Отмена и удаление

Отмена

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

$order = \Bitrix\Sale\Order::load(123); // 123 - ID заказа

$r = $order->setField('CANCELED', 'Y');
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}

$r = $order->save();
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}

Удаление

Есть 2 подхода к удалению заказа: "умное" и "в лоб".

  • При "умном" удалении заказ сначала отменяется, а затем удаляется. Это значит, что у удаляемого заказа не должно быть оплаченный оплат и отгруженных отгрузок.

$r = \Bitrix\Sale\Order::delete(123); // 123 - ID заказа
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}
  • При удалении "в лоб" не происходит отмены заказа. Идет прямое удаление информации о заказе из базы.
    $r = \Bitrix\Sale\OrderBase::deleteNoDemand(123); // 123 - ID заказа
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}

Получение публичной ссылки

Необходимо, чтобы в настройках модуля Интернет-магазин (Настройки > Настройки продукта > Настройки модулей > Интернет-магазин) была отмечена опция "Разрешить просмотр заказа по ключу без авторизации".

if (\Bitrix\Sale\Helpers\Order::isAllowGuestView($order))
{
    $publicLink = \Bitrix\Sale\Helpers\Order::getPublicLink($order);
}

Выборка заказов по значению свойства

$dbRes = \Bitrix\Sale\Order::getList([
    'select' => ['ID'],
  'filter' => [
      'PROPERTY.ORDER_PROPS_ID' => 15,// 15 - ID свойства
      'PROPERTY.VALUE' => 'значение',
  ],
  'order' => ['ID' => 'DESC']
]);

Добавление привязки

Пример добавления привязки существующего Контакта или Компании к Заказу:

$communication = $order->getContactCompanyCollection();

$contact = Contact::create($communication);
$contact->setField('ENTITY_ID', $contactId);
$contact->setField('IS_PRIMARY', 'Y'); // необязательно

$communication->addItem($contact);


Свойства заказа

Получение списка свойств заказа, привязанных к платежной системе и службе доставки:

    $dbRes = \Bitrix\Sale\Property::getList([
    'select' => ['ID'],
    'filter' => [
        'REL_PS.ENTITY_ID' => 184,
        'REL_DLV.ENTITY_ID' => 1,
    ],
    'runtime' => [
        new \Bitrix\Main\Entity\ReferenceField(
            'REL_PS',
            '\Bitrix\Sale\Internals\OrderPropsRelationTable',
            array("=ref.PROPERTY_ID" => "this.ID", "=ref.ENTITY_TYPE" => new \Bitrix\Main\DB\SqlExpression('?', 'P')),
            array("join_type"=>"left")
               ),
        new \Bitrix\Main\Entity\ReferenceField(
            'REL_DLV',
            '\Bitrix\Sale\Internals\OrderPropsRelationTable',
            array("=this.ID" => "ref.PROPERTY_ID", "=ref.ENTITY_TYPE" => new \Bitrix\Main\DB\SqlExpression('?', 'D')),
            array("join_type"=>"left")
        ),
    ],
    'group' => ['ID'],
    'order' => ['ID' => 'DESC']
]);

while ($property = $dbRes->fetch())
{
    var_dump($property);
}


Значения свойств заказа

Внимание! Необходимо выполнять сохранение через заказ: \Bitrix\Sale\Order::save(). Помимо всего этого, в одной из ближайших версий вызов \Bitrix\Sale\PropertyValueCollection::save() либо \Bitrix\Sale\PropertyValue::save() будет генерировать ошибку уровня E_WARNING.

Получение

  • Работа с объектами
    $collection = $order->getPropertyCollection();
foreach ($collection as $item)
{
    // $item - объект класса \Bitrix\Sale\PropertyValue
}
  • Работа с массивами

    Помимо объектов есть возможность напрямую обращаться к базе через метод \Bitrix\Sale\PropertyValueCollection::getList($parameters), либо \Bitrix\Sale\PropertyValue::getList($parameters). Оба этих метода работают аналогично.

    Методы всегда возвращают объект Bitrix\Main\DB\Result, из которого можно получить данные с помощью метода fetch().

    Параметр | Описание | С версии
    $parameters | Массив, структура которого полностью соответствует структуре ORM'ного getList [image].
    // получение списка свойств для заказа с ID 123
$dbRes = \Bitrix\Sale\PropertyValueCollection::getList([
    'select' => ['*'],
    'filter' => [
        '=ORDER_ID' => 123,
    ]
]);

while ($item = $dbRes->fetch())
{
    var_dump($item);
}

Обновление

$order = \Bitrix\Sale\Order::load(123);

$collection = $order->getPropertyCollection();

$propertyValue = $collection->getItemById(123);
$r = $propertyValue->setField('VALUE', 'Новое значение');
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}

$order->save();

Доступное для редактирования поле:

"VALUE", // значение свойства

Удаление

$order = \Bitrix\Sale\Order::load(123);

$collection = $order->getPropertyCollection();

$propertyValue = $collection->getItemById(123);
$propertyValue->delete();

$order->save();

Получение конкретного значения

$collection = $order->getPropertyCollection();
  • по ID
    $propertyValue = $collection->getItemById($id);
  • по внутреннему индексу
    $propertyValue = $collection->getItemByIndex($index);
  • по ID самого свойства
    $propertyValue = $collection->getItemByOrderPropertyId($propertyId);
  • геттеры для значений ключевых свойств(телефон, email, имя, адрес и т.д.)
    $propertyValue = $collection->getAddress();
$propertyValue = $collection->getPhone();
$propertyValue = $collection->getProfileName();
$propertyValue = $collection->getTaxLocation();
$propertyValue = $collection->getDeliveryLocationZip();
$propertyValue = $collection->getDeliveryLocation();
$propertyValue = $collection->getPayerName();
$propertyValue = $collection->getUserEmail();

Добавление свойства

  • Вариант 1:
    $propertyValue = $collection->createItem([
    'ID' => 1,
    'NAME' => 'Новое свойство',
    'TYPE' => 'STRING',
    'CODE' => 'NEW_PROP',
]);

$propertyValue->setField('VALUE', 'Y');
  • Вариант 2:
    $propertyValue = \Bitrix\Sale\PropertyValue::create($collection, [
    'ID' => 1,
    'NAME' => 'Новое свойство',
    'TYPE' => 'STRING',
    'CODE' => 'NEW_PROP',
]);

$propertyValue->setField('VALUE', 'Свойство_3');
$collection->addItem($propertyValue);

Получение информации о свойстве, значение которого хранится в заказе

  • Работа с массивом
    $propertyInfo = $propertyValue->getProperty();

    Результатом является массив с ключами:

    'ID', // ID свойства
'PERSON_TYPE_ID', // ID типа плательщика, к которому оно привязано
'NAME', // Название свойства
'TYPE', // Тип
'REQUIRED', // Флаг обязательности
'DEFAULT_VALUE', // Значение по умолчанию
'SORT', // Сортировка
'USER_PROPS', // Входит ли в профиль
'IS_LOCATION', // Является ли местоположением
'PROPS_GROUP_ID', // ID группы
'DESCRIPTION',  // Описание
'IS_EMAIL', // Является ли почтой
'IS_PROFILE_NAME', // Является ли названием профиля пользователя
'IS_PAYER', // Используется ли как имя плательщика
'IS_LOCATION4TAX', // Используется ли как местоположение для налогов
'IS_FILTERED', // Доступно ли в фильтре по заказам
'CODE', // Код
'IS_ZIP', // Используется ли как почтовый индекс
'IS_PHONE', // Является ли телефоном
'IS_ADDRESS', // Является ли адресом
'ACTIVE', // Флаг активности
'UTIL', // Флаг служебности
'INPUT_FIELD_LOCATION',
'MULTIPLE',// Флаг множественности
'MINLENGTH', // Минимальная длина строки
'MAXLENGTH', // Максимальная длина строки
'PATTERN', // Регулярное выражение для проверки
'MULTILINE', // Много строк
'SIZE', // Количество видимых символов
  • Работа с объектом
    $property = $propertyValue->getPropertyObject();

    Любое значение можно получить, используя метод:

    $property->getField('SIZE');

    Для некоторых наиболее популярных полей реализованы геттеры:

    $property->getId(); // ID свойства
$property->getPersonTypeId(); // ID типа плательщика, к которому оно привязано
$property->isUtil(); // является ли служебным
$property->isRequired(); // является ли обязательным
$property->getType(); // тип
$property->getDescription(); // описание
$property->getRelations(); // связи
$property->getName(); // название
$property->getGroupId(); // ID группы


Корзина

Внимание! Если корзина привязана к заказу, то использовать метод \Bitrix\Sale\Basket::save() для сохранения категорически запрещается. При изменении корзины может произойти изменение связанных сущностей (оплаты, отгрузки), которые не будут сохранены. Необходимо выполнять сохранение через заказ: \Bitrix\Sale\Order::save(). Помимо этого, в одной из ближайших версий вызов \Bitrix\Sale\Basket::save() будет генерировать ошибку уровня E_WARNING.

Создание

$siteId = 's1'; // ID сайта, к которому будет привязана корзина
$basket = \Bitrix\Sale\Basket::create($siteId);

Получение

  • корзина, которая не привязана к заказу:
    /*
 * $fuser - ID пользователя
 * $siteId - ID сайта, к которому привязана корзина
 */

$basket = \Bitrix\Sale\Basket::loadItemsForFUser($fuser, $siteId);

  • корзина, которая привязана к заказу:
    /*
 * $orderId - id заказа
 */
$order = \Bitrix\Sale\Order::load($orderId);

$basket = $order->getBasket();

  • получение списка товаров:

    Помимо объектов есть возможность напрямую обращаться к базе через метод \Bitrix\Sale\Basket::getList($parameters).

    Метод всегда возвращает объект Bitrix\Main\DB\Result, из которого можно получить данные с помощью метода fetch().

    Параметр | Описание | С версии
    $parameters | Массив, структура которого полностью соответствует структуре ORM'ного getList [image].
    // получение списка товаров для текущего пользователя
$dbRes = \Bitrix\Sale\Basket::getList([
    'select' => ['NAME', 'QUANTITY'],
    'filter' => [
        '=FUSER_ID' => \Bitrix\Sale\Fuser::getId(),
        '=ORDER_ID' => null,
        '=LID' => \Bitrix\Main\Context::getCurrent()->getSite(),
        '=CAN_BUY' => 'Y',
    ]
]);

while ($item = $dbRes->fetch())
{
    var_dump($item);
}

Получение веса

$basket->getWeight();

Получение стоимости

  • без учета скидок и наценок
    $basket->getBasePrice();
  • с учетом скидок и наценок
    • Если корзина привязана к заказу:
      $price = $basket->getPrice();
    • Если корзина не привязана к заказу (применённые скидки не хранятся до тех пор, пока не будет создан заказ):
      /*
 * $fuser - ID пользователя
 * $siteId - ID сайта, к которому привязана корзина
 */

$basket = \Bitrix\Sale\Basket::loadItemsForFUser($fuser, $siteId); // $basket - объект класса \Bitrix\Sale\Basket

$context = new \Bitrix\Sale\Discount\Context\Fuser($basket->getFUserId());
$discounts = \Bitrix\Sale\Discount::buildFromBasket($basket, $context);
$r = $discounts->calculate();
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}

$result = $r->getData();
if (isset($result['BASKET_ITEMS']))
{
    $r = $basket->applyDiscount($result['BASKET_ITEMS']);
    if (!$r->isSuccess())
    {
        var_dump($r->getErrorMessages());
    }
}

Добавление позиции

  • Вариант 1:
    /*
 * $basket - объект класса \Bitrix\Sale\Basket
 */

$basketItem = $basket->createItem($moduleId, $productId);
$basketItem->setField('QUANTITY', 4);
  • Вариант 2:
    $basketItem = \Bitrix\Sale\BasketItem::create($basket, $moduleId, $productId);
$basketItem->setField('QUANTITY', 4);

$basket->addItem($basketItem);

Получение позиции

  • по ID:
    $basketItem = $basket->getItemById($id);
  • по basketCode:
    $basketItem = $basket->getItemByBasketCode($itemCode);
  • по внутреннему индексу:
    $basketItem = $basket->getItemByIndex($index);

Изменение позиции

Изменить можно как отдельное поле, так и группу полей:

  • Изменение отдельного поля:
    • Если корзина не привязана к заказу:
      $basket = Sale\Basket::loadItemsForFUser($fuser, $siteId);

$basketItem = $basket->getItemById($basketItemId);
if ($basketItem)
{
    $basketItem->setField('FIELD_NAME', $value);
}

$basket->save();
    • Если корзина привязана к заказу:
      $order = \Bitrix\Sale\Order::load(123);

$basket = $order->getBasket();

$basketItem = $basket->getItemById(1);
if ($basketItem)
{
    $basketItem->setField('FIELD_NAME', $value);
}

$order->save();

  • Изменение группы полей:
    • Если корзина не привязана к заказу:
      $basket = Sale\Basket::loadItemsForFUser($fuser, $siteId);

$basketItem = $basket->getItemById($basketItemId);
if ($basketItem)
{
    $basketItem->setFields([
        'FIELD_NAME_1' => $value,
        ...
        'FIELD_NAME_2' => $value,
    ]);
}

$basket->save();
    • Если корзина привязана к заказу:
      $order = \Bitrix\Sale\Order::load(123);

$basket = $order->getBasket();

$basketItem = $basket->getItemById(1);
if ($basketItem)
{
    $basketItem->setFields([
        'FIELD_NAME_1' => $value,
        ...
        'FIELD_NAME_2' => $value,
    ]);
}

$order->save();

Список полей, доступных для изменения:

"NAME", // название товара
"LID", // сайт, на котором сделана покупка
"SORT", // сортировка
"PRODUCT_ID", // код товара
"BASE_PRICE", // цена без учета скидок и наценок
"PRICE", // цена с учетом скидок и наценок
"DISCOUNT_PRICE", // скидка
"CURRENCY", // Валюта
"CUSTOM_PRICE", // флаг(Y/N): кастомная цена или нет
"QUANTITY", // количество
"WEIGHT", // вес
"DIMENSIONS", // размеры
"MEASURE_CODE", // код единицы измерения
"DELAY", // Флаг "товар отложен" (Y/N)
"CAN_BUY", // Флаг "товар можно купить" (Y/N)
"NOTES", // Особые заметки
"VAT_RATE",  // ставка НДС
"VAT_INCLUDED", // флаг(Y/N): включен налог или нет
"BARCODE_MULTI",  // флаг(Y/N): штрихкод уникальный или нет
"SUBSCRIBE", // флаг(Y/N): подписка на товар
"PRODUCT_PROVIDER_CLASS", // Имя класса провайдера
"TYPE", // тип товара
"XML_ID" // внешний идентификатор

Актуализация корзины данными из провайдера

$basket->refresh();

Установка кастомной цены товара

// загружаем заказ
$order = \Bitrix\Sale\Order::load($ID);

// получаем корзину
$basket = $order->getBasket();

foreach ($basket as $basketItem)
{
    if ((int)$basketItem->getProductId() === 120)
    {
        $basketItem->markFieldCustom('PRICE');
        $basketItem->setField('PRICE', 100);
    }
}

$r = $order->save();
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}

Удаление элемента корзины

  • Если корзина привязана к заказу:
    $order = \Bitrix\Sale\Order::load(123);

$basket = $order->getBasket();

$basketItem = $basket->getItemById(1);
if ($basketItem)
{
    $basketItem->delete();
}

$r = $order->save();
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}
  • Если корзина не привязана к заказу:
    $basket = Sale\Basket::loadItemsForFUser($fuser, SITE_ID);

$basketItem = $basket->getItemById($basketItemId);
$result = $basketItem->delete();
if ($result->isSuccess())
{
    $basket->save();
}


Свойства корзины

Внимание! Если корзина привязана к заказу, то использовать метод \Bitrix\Sale\Basket::save() для сохранения категорически запрещается. Необходимо выполнять сохранение через заказ: \Bitrix\Sale\Order::save(). Помимо всего этого в одной из ближайших версий вызов \Bitrix\Sale\BasketPropertiesCollection::save() будет генерировать ошибку уровня E_WARNING.

Добавление

// $basket - объект класса \Bitrix\Sale\Basket
foreach ($basket as $basketItem)
{
    $collection = $basketItem->getPropertyCollection();

    $item = $collection->createItem();
    $item->setFields([
        'NAME' => 'Новое свойство',
        'CODE' => 'XXX',
        'VALUE' => 'Значение',
    ]);
}

Получение

  • Работа с коллекцией
    $collection = $basketItem->getPropertyCollection();
foreach ($collection as $item)
{
    // $item - объект класса \Bitrix\Sale\BasketPropertyItem
}
  • Работа с массивом

    Помимо объектов есть возможность напрямую обращаться к базе через метод \Bitrix\Sale\BasketPropertiesCollection::getList($parameters).

    Метод всегда возвращает объект Bitrix\Main\DB\Result, из которого можно получить данные с помощью метода fetch().

    Параметр | Описание | С версии
    $parameters | Массив, структура которого полностью соответствует структуре ORM'ного getList [image].
    // получение списка свойств для товара с кодом 123
$dbRes = \Bitrix\Sale\BasketPropertiesCollection::getList([
    'select' => ['*'],
    'filter' => [
        '=BASKET_ID' => 123,
    ]
]);

while ($item = $dbRes->fetch())
{
    var_dump($item);
}

Обновление

// $basketItem - объект класса \Bitrix\Sale\BasketItem
$collection = $basketItem->getPropertyCollection();
$property = $collection->getItemById(123);
$property->setField('VALUE', 'Новое значение');

'NAME', // название свойства
'VALUE', // значение свойства
'CODE', // код свойства
'SORT', // сортировка
'XML_ID' // внешний код

Удаление

// $basketItem - объект класса \Bitrix\Sale\Basket
$collection = $basketItem->getPropertyCollection();
$property = $collection->getItemById(123);
$property->delete();

Получение конкретного свойства

$collection = $baketItem->getPropertyCollection();
  • по ID
    $property = $collection->getItemById($id);
  • по внутреннему индексу
    $property = $collection->getItemByIndex($index);

Перезапись всех имеющихся свойств

Метод \Bitrix\Sale\BasketPropertiesCollection::redefine работает следующим образом:

  • если свойство есть в коллекции, но отсутствует во входных данных, то свойство будет удалено
  • если свойство есть в коллекции, а так же присутствует во входных данных, то свойство обновится
  • если свойства нет в коллекции, но присутствует во входных данных, то свойство добавится
// $basket - объект класса \Bitrix\Sale\BasketBase
foreach ($basket as $basketItem)
{
    $collection = $basketItem->getPropertyCollection();
    $collection->redefine([
        [
            'NAME' => 'Новое свойство',
            'CODE' => 'XXX',
            'VALUE' => 'Значение',
        ]
    ]);
}


Оплаты

Внимание! Оплаты всегда связаны с заказом. Использовать метод \Bitrix\Sale\Payment::save() для сохранения категорически запрещается. При изменении оплаты может произойти изменение связанных сущностей, которые не будут сохранены. Необходимо выполнять сохранение через заказ: \Bitrix\Sale\Order::save(). Помимо всего этого в одной из ближайших версий вызов \Bitrix\Sale\Payment::save() будет генерировать ошибку уровня E_WARNING.

Получение

  • Работа с коллекцией
    $collection = $order->getPaymentCollection();
foreach ($collection as $payment)
{
    // ...
}
  • Работа с массивом

    Помимо объектов есть возможность напрямую обращаться к базе через метод \Bitrix\Sale\PaymentCollection::getList($parameters), либо \Bitrix\Sale\Payment::getList($parameters). Оба этих метода работают аналогично.

    Методы всегда возвращают объект Bitrix\Main\DB\Result, из которого можно получить данные с помощью метода fetch().

    Параметр | Описание | С версии
    $parameters | Массив, структура которого полностью соответствует структуре ORM'ного getList [image].
    // получение списка оплат для заказа 1234
$dbRes = \Bitrix\Sale\PaymentCollection::getList([
    'select' => ['*'],
    'filter' => [
        '=ORDER_ID' => 1234,
    ]
]);

while ($item = $dbRes->fetch())
{
    var_dump($item);
}

Добавление

  • Вариант 1:
    /*
 * $collection - объект класса \Bitrix\Sale\PaymentCollection
 */

$payment = $collection->createItem();
$payment->setFields([
    'PAY_SYSTEM_ID' => 10,
    'PAY_SYSTEM_NAME' => 'Оплата картой',
    'SUM' => 100,
]);
  • Вариант 2:
    /*
 * метод \Bitrix\Sale\PaymentCollection::createItem принимает один
 *необязательный параметр: $paySystemService - объект платежной системы
 */
$service = \Bitrix\Sale\PaySystem\Manager::getObjectById(10);
$payment = $collection->createItem($service);

$payment->setField('SUM', 100);
  • Вариант 3:
    /*
 * в метод \Bitrix\Sale\Payment::create тоже можно передать объект платежной системы
 */
$service = \Bitrix\Sale\PaySystem\Manager::getObjectById(10);
$payment = \Bitrix\Sale\Payment::create($collection, $service);

$payment->setField('SUM', 100);

$collection->addItem($payment);

Редактирование

Изменить данные в оплате можно через методы:

  • $r = $payment->setField($fieldName, $value);

  • $r = $payment->setFields([
    $fieldName1 => $value1,
    $fieldName2 => $value2,
    ...
]);

В обоих случаях результатом работы метода является объект класса \Bitrix\Sale\Result.

Список доступных для редактирования полей:

'PAID', // Флаг оплаченности: Y или N
'DATE_PAID', // Дата оплаты
'EMP_PAID_ID', // Кто оплатил
'PAY_SYSTEM_ID', // ID платежной системы
'PS_INVOICE_ID', // идентификатор оплаты в платежной системе
'PS_STATUS', // данные, пришедшие от платежной системы: статус транзакции
'PS_STATUS_CODE', // данные, пришедшие от платежной системы: код транзакции
'PS_STATUS_DESCRIPTION', // данные, пришедшие от платежной системы: описание транзакции
'PS_STATUS_MESSAGE', // данные, пришедшие от платежной системы: сообщение
'PS_SUM', // данные, пришедшие от платежной системы: сумма транзакции
'PS_CURRENCY', // данные, пришедшие от платежной системы: валюта
'PS_RESPONSE_DATE', // данные, пришедшие от платежной системы: дата ответа от платежной системы
'PAY_VOUCHER_NUM', // номер платежного документа
'PAY_VOUCHER_DATE', // дата платежного документа
'DATE_PAY_BEFORE', // дата, до которой необходимо оплатить счет (в магазине не используется)
'DATE_BILL', // дата выставления счета
'XML_ID', // XML_ID
'SUM', // сумма оплаты
'CURRENCY', // валюта
'PAY_SYSTEM_NAME', // название платежной системы
'COMPANY_ID', // ID компании, которая будет принимать оплату
'PAY_RETURN_NUM', // номер документа возврата
'PAY_RETURN_DATE',  // дата документа возврата
'PAY_RETURN_COMMENT', // комментарий к возврату
'PRICE_COD', // стоимость оплаты при доставке (используется, например, для наложенного платежа)
'EMP_RETURN_ID', // ID пользователя, который выполнял возврат
'RESPONSIBLE_ID', // ID пользователя, ответственного за оплату
'EMP_RESPONSIBLE_ID', // ID пользователя, который назначил ответственного
'DATE_RESPONSIBLE_ID', // дата назначения ответственного
'IS_RETURN', // выполнялся ли возврат. (см. блок возврат оплаты ниже в данной главе)
'COMMENTS', // комментарий к оплате
'ACCOUNT_NUMBER', // номер оплаты
'UPDATED_1C', // обновлена ли через 1С
'ID_1C', // ID в 1С
'VERSION_1C', // версия документа оплаты от 1с
'EXTERNAL_PAYMENT', // флаг Y/N: внешняя оплата или нет
'MARKED', // промаркирована ли оплата
'REASON_MARKED', // причина маркировки
'DATE_MARKED', // дата маркировки
'EMP_MARKED_ID', // кем промаркирована оплата

Удаление

Возвращает объект типа \Bitrix\Sale\Result.

$r = $payment->delete();
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}

Получение конкретной оплаты

$collection = $order->getPaymentCollection();
  • по ID:
    $payment = $collection->getItemById($id);
  • по внутреннему индексу:
    $payment = $collection->getItemByIndex($index);

Получение суммы оплаты

$sum = $payment->getSum();

Получение состояния: оплачено или нет

Возвращает true или false.

$isPaid = $payment->isPaid();

Получение оплаченной суммы по заказу

$paymentCollection = $order->getPaymentCollection();
$paymentCollection->getPaidSum();

Возврат средств

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

  • 'Y' - при возврате на внутренний счет;
    $r = $payment->setReturn('Y');
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}
  • 'P' - при возврате через платежную систему(если она поддерживает данный функционал);
    $r = $payment->setReturn('P');
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}
  • 'N' - при отмене возврата.
    $r = $payment->setReturn('N');
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}

Возвращает объект типа \Bitrix\Sale\Result. При выполнении возврата Вам не требуется делать каких-то дополнительных операций вроде вызова методов API платежной системы для выполнения возврата. Система все сделает сама. При попытке выполнить возврат через платежную систему, которая его не поддерживает, будет возвращена ошибка.

Получение объекта платежной системы

Результатом работы метода является объект класса \Bitrix\Sale\PaySystem\Service.

$service = $payment->getPaySystem();

Получение списка доступных платежных систем с учетом настроенных ограничений

$paySystemList = \Bitrix\Sale\PaySystem\Manager::getListWithRestrictions($payment, $mode);
Параметры | Описание | С версии
$payment | Объект оплаты.
$mode Одно из двух значений:
  • \Bitrix\Sale\Services\Base\RestrictionManager::MODE_CLIENT
  • \Bitrix\Sale\Services\Base\RestrictionManager::MODE_MANAGER

По умолчанию: \Bitrix\Sale\Services\Base\RestrictionManager::MODE_CLIENT. В режиме клиента возвращается список только тех платежных систем, которые попадают под ограничения.

В режиме менеджера возвращается полный список платежных систем (системы, которые не подают под ограничения, имеют ключ RESTRICTED).


Отгрузки

Внимание! Отгрузки всегда связаны с заказом. Использовать метод \Bitrix\Sale\Shipment::save() для сохранения категорически запрещается. При изменении отгрузки может произойти изменение связанных сущностей, которые не будут сохранены. Необходимо выполнять сохранение через заказ: \Bitrix\Sale\Order::save(). Помимо всего этого в одной из ближайших версий вызов \Bitrix\Sale\Shipment::save() будет генерировать ошибку уровня E_WARNING.

Описание и добавление

Одной из особенностей данной архитектуры является наличие скрытой системной отгрузки. В этой отгрузке находятся товары, которые не были распределены по отгрузкам.

Когда товар добавляется в корзину, он автоматом попадает в системную отгрузку. Когда мы добавляем товар в отгрузку, внутри системы может произойти следующее:

  • либо количество товара уменьшится,
  • либо товар полностью из системной отгрузки переместится в обычную отгрузку.

В первом случае с этой отгрузкой ничего нельзя сделать: ни отгрузить, ни удалить. Поэтому правильнее ее исключать во время обхода коллекции (см. примеры Работа с коллекцией без системной отгрузки или Получение конкретной отгрузки).

Добавление отгрузки

  • Вариант 1:
    /*
 * $collection - объект класса \Bitrix\Sale\ShipmentCollection
 */

$shipment = $collection->createItem();
$shipment->setField('DELIVERY_ID', 10);

/*
 * метод \Bitrix\Sale\ShipmentCollection::createItem принимает один необязательный параметр:
 * $delivery - объект службы доставки
 */
$service = \Bitrix\Sale\Delivery\Services\Manager::getById(10);
$shipment = $collection->createItem($service);
  • Вариант 2:
    /*
 * в метод \Bitrix\Sale\Shipment::create тоже можно передать объект платежной системы
 */
$service = \Bitrix\Sale\Delivery\Services\Manager::getById(10);
$shipment = \Bitrix\Sale\Shipment::create($collection, $service);

$collection->addItem($shipment);

Получение

  • Работа с коллекцией
    $collection = $order->getShipmentCollection();
foreach ($collection as $shipment)
{
    // ...
}
  • Работа с коллекцией без системной отгрузки
    $collection = $order->getShipmentCollection()->getNotSystemItems();
foreach ($collection as $shipment)
{
    // ...
}
  • Работа с массивом

    Помимо объектов есть возможность напрямую обращаться к базе через метод \Bitrix\Sale\ShipmentCollection::getList($parameters), либо \Bitrix\Sale\Shipment::getList($parameters). Оба этих метода работают аналогично.

    Метод всегда возвращает объект Bitrix\Main\DB\Result, из которого можно получить данные с помощью метода fetch().

    Параметр | Описание | С версии
    $parameters | Массив, структура которого полностью соответствует структуре ORM'ного getList [image].
    // получение списка отгрузок для заказа 1234
$dbRes = \Bitrix\Sale\ShipmentCollection::getList([
    'select' => ['*'],
    'filter' => [
        '=ORDER_ID' => 1234,
    ]
]);

while ($item = $dbRes->fetch())
{
    var_dump($item);
}

Редактирование

Возможные варианты:

  • $r = $shipment->setField($fieldName, $value);

  • $r = $shipment->setFields([
    $fieldName1 => $value1,
    $fieldName2 => $value2,
    ...
]);

В обоих случаях результатом работы метода является объект класса \Bitrix\Sale\Result.

Список доступных для редактирования полей:

"STATUS_ID", // статус отгрузки
"BASE_PRICE_DELIVERY", // базовая стоимость доставки
"ALLOW_DELIVERY", // флаг разрешения доставки: Y/N
"DATE_ALLOW_DELIVERY", // дата разрешения доставки
"EMP_ALLOW_DELIVERY_ID", // ID пользователя, который разрешал доставку
"DEDUCTED",  // флаг отгрузки: Y/N
"DATE_DEDUCTED", // дата отгрузки
"EMP_DEDUCTED_ID", // ID пользователя, который отгружал отгрузку
"REASON_UNDO_DEDUCTED", // причина отмены отгрузки
"DELIVERY_ID", //  ID службы доставки
"DELIVERY_DOC_NUM", // номер документа отгрузки
"DELIVERY_DOC_DATE", // дата документа отгрузки
"TRACKING_NUMBER", // трэк-номер
"XML_ID", //XML_ID
"PARAMS", //
"DELIVERY_NAME", // название службы доставки
"COMPANY_ID", // ID компании, занимающейся отгрузкой
'MARKED', // промаркирована ли отгрузка
'REASON_MARKED', // причина маркировки
'DATE_MARKED', // дата маркировки
'EMP_MARKED_ID', // кем промаркирована отгрузка
"CANCELED", // отменена ли отгрузка
"DATE_CANCELED",
"EMP_CANCELED_ID",
'RESPONSIBLE_ID', // ID пользователя, ответственного за отгрузку
'EMP_RESPONSIBLE_ID', // ID пользователя, который назначил ответственного
'DATE_RESPONSIBLE_ID', // дата назначения ответственного
"COMMENTS", // комментарий
"CURRENCY", // валюта
"CUSTOM_PRICE_DELIVERY", // Флаг, установлена ли цена вручную
'UPDATED_1C', // обновлена ли через 1С
'ID_1C', // ID в 1С
'VERSION_1C', // версия документа отгурзки от 1С
'EXTERNAL_PAYMENT', // флаг Y/N: внешняя отгрузка или нет
"TRACKING_STATUS", // статус отправления
"TRACKING_LAST_CHECK", // дата последней проверки статуса отправления
"TRACKING_DESCRIPTION", // описание статуса отправления
'ACCOUNT_NUMBER', // номер отгрузки
'DISCOUNT_PRICE' // сумма итоговой скидки/наценки для отгрузки

Удаление

Возвращает объект типа \Bitrix\Sale\Result.

$r = $shipment->delete();
if ($result->isSuccess())
{
    ...
}

Получение статуса

$statusId = $shipment->getField('STATUS_ID');

Получение конкретной отгрузки

$collection = $order->getShipmentCollection();
  • по ID
    $shipment = $collection->getItemById($id);
  • по внутреннему индексу
    $shipment = $collection->getItemByIndex($index);
  • по коду
    $shipment = $collection->getItemByShipmentCode($code);

Получение стоимости доставки

$price = $shipment->getPrice();

Флаги разрешения и отгрузки доставки

Управление флагом разрешения доставки

  • Доставка разрешена
    $r = $shipment->allowDelivery();
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}
  • Доставка не разрешена
    $r = $shipment->disallowDelivery();
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}

Управление флагом отгрузки доставки

  • Доставка отгружена
    $r = $shipment->setField('DEDUCTED', 'Y');
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}
  • Доставка не отгружена
    $r = $shipment->setField('DEDUCTED', 'N');
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}

Получение распределенного количества товара по отгрузкам

$shipmentCollection = $order->getShipmentCollection();
$quantity = $collection->getBasketItemDistributedQuantity();

Получение стоимости всех доставок в заказе

  • без учета скидок/наценок
    $shipmentCollection = $order->getShipmentCollection();
$price = $collection->getBasePriceDelivery();
  • с учетом скидок/наценок
    $shipmentCollection = $order->getShipmentCollection();
$price = $collection->getBasePriceDelivery();

Установка склада самовывоза для отгрузки

$order = \Bitrix\Sale\Order::load(123);

$collection = $order->getShipmentCollection();

$shipment = $collection->getItemById(1);

$storeId = '2';
$shipment->setStoreId($storeId);

$order->save();

В примере заказ уже существует. Для нового заказа код аналогичный.

Получение списка доступных служб доставок с учетом настроенных ограничений

$deliveryList = \Bitrix\Sale\Delivery\Services\Manager::getRestrictedList($shipment, $mode);
Параметры | Описание | С версии
$shipment | Объект отгрузки.
$mode Одно из двух значений:
  • \Bitrix\Sale\Services\Base\RestrictionManager::MODE_CLIENT
  • \Bitrix\Sale\Services\Base\RestrictionManager::MODE_MANAGER

По умолчанию: \Bitrix\Sale\Services\Base\RestrictionManager::MODE_CLIENT. В режиме клиента возвращается список только тех служб доставок, которые попадают под ограничения.

В режиме менеджера возвращается полный список служб доставок (доставки, которые не подают под ограничения, имеют ключ RESTRICTED).


Состав отгрузки

Внимание! Использовать метод \Bitrix\Sale\ShipmentItemCollection::save() для сохранения категорически запрещается. При изменении состава отгрузки может произойти изменение связанных сущностей, которые не будут сохранены. Необходимо выполнять сохранение через заказ: \Bitrix\Sale\Order::save(). Помимо всего этого в одной из ближайших версий вызов \Bitrix\Sale\ShipmentItemCollection::save() будет генерировать ошибку уровня E_WARNING.

Получение отгрузок

  • Работа с коллекцией
    $collection = $shipment->getShipmentItemCollection();
foreach ($collection as $shipmentItem)
{
    // ...
}

    Комплекты в коллекции хранятся в "развернутой" форме: там присутствует и сам комплект(родитель), и его состав. Это необходимо учитывать при работе с данной коллекцией. Для облегчения решения данной задачи есть специальные методы, которые позволяют не задумываться над этим:

    $collection = $shipment->getShipmentItemCollection();
$collection->getShippableItems();

/*
 * Возвращает коллекцию товаров для отгрузки.
 * В этой коллекции присутствуют все элементы, кроме родителей комплекта,
 * т.к. при отгрузке они не учитываются
 */

$collection = $shipment->getShipmentItemCollection();
$collection->getSellableItems();

/*
 * Возвращает коллекцию товаров которая фактически продается.
 * В этой коллекции присутствуют все элементы, кроме состава комплекта
 */

    Более подробную информацию по работе с комплектами вы найдете в разделе Корзина.

  • Работа с массивом

    Помимо объектов есть возможность напрямую обращаться к базе через метод \Bitrix\Sale\ShipmentItemCollection::getList($parameters), либо \Bitrix\Sale\ShipmentItem::getList($parameters). Оба этих метода работают аналогично.

    Методы всегда возвращают объект Bitrix\Main\DB\Result, из которого можно получить данные с помощью метода fetch().

    Параметр | Описание | С версии
    $parameters | Массив, структура которого полностью соответствует структуре ORM'ного getList [image].
    // получение состава для отгрузки 123
$dbRes = \Bitrix\Sale\ShipmentItemCollection::getList([
    'select' => ['*'],
    'filter' => [
        '=ORDER_DELIVERY_ID' => 123,
    ]
]);

while ($item = $dbRes->fetch())
{
    var_dump($item);
}

Получение конкретной отгрузки

$collection = $shipment->getShipmentItemCollection();
  • по ID
    $shipment = $collection->getItemById($id);
  • по внутреннему индексу
    $shipment = $collection->getItemByIndex($index);
  • по коду элемента корзины
    $shipment = $collection->getItemByBasketCode($basketCode);
  • по ID элемента корзины
    $shipment = $collection->getItemByBasketId($basketId);

Добавление товара

$collection = $shipment->getShipmentItemCollection();
$collection->createItem($basketItem);

или

$collection = $shipment->getShipmentItemCollection();

$item = \Bitrix\Sale\ShipmentItem::create($collection, $basketItem);
$collection->addItem($item);

Изменение товара

  • Изменение отдельного поля:
    $shipmentItem->setField('FIELD_NAME', $value);
  • Изменение группы полей:
    $shipmentItem->setFields([
    'FIELD_NAME_1' => $value,
    ...
    'FIELD_NAME_2' => $value,
]);

"QUANTITY", // количество товара в отгрузке
"RESERVED_QUANTITY", // количество зарезервированного товара в отгрузке
"XML_ID" // XML_ID

Удаление товара

$r = $shipmentItem->delete();
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}

Получение стоимости товаров

$collection = $shipment->getShipmentItemCollection();
$price = $collection->getPrice();

Установка склада отгрузки

$order = \Bitrix\Sale\Order::load(123)

$shipmentCollection = $order->getShipmentCollection();
$shipment = $shipmentCollection->getItemById(123);

$itemCollection = $shipment->getShipmentItemCollection();
$shipmentItem = $itemCollection->getItemById(1);

$collection = $shipmentItem->getShipmentItemStoreCollection();
/*
 * Считаем, что склад для отгрузки не указан.
 * В противном случае нужно воспользоваться методом getItemById
 */
$itemStore = $collection->createItem($shipmentItem->getBasketItem());

$itemStore->setFields([
    'QUANTITY' => 1,
    'STORE_ID' => 1
]);

$r = $order->save();
if (!$r->isSuccess())
{
    var_dump($r->getErrorMessages());
}


Платежные системы

В данном разделе приведены примеры работы с Платежными системами:

  • Рекуррентные платежи


Рекуррентные платежи

Поддержка платежей

Чтобы ваш обработчик поддерживал [dw]рекуррентные платежи,[/dw][di] Рекуррентные платежи - это возможность выполнять регулярные списания денег с банковской карты покупателя или электронного кошелька без повторного ввода реквизитов карты и без участия плательщика для инициации очередного платежа. [/di] необходимо реализовать интерфейс \Bitrix\Sale\PaySystem\IRecurring.

После выполнения успешной оплаты необходимо сохранить токен в поле оплаты PS_RECURRING_TOKEN.

При следующей оплате нужно скопировать этот токен в новую оплату и вызывать метод по выполнению рекуррентного платежа, используя полученный токен в запросе на новый платёж.

В настоящее время рекуррентные платежи в продукте не используются. Данный функционал реализован в рамках модуля sale для дальнейшего использования в модуле crm.

На текущий момент рекуррентные платежи поддерживаются только Яндекс.Кассой [image].

Внимание! Рекуррентные платежи не поддерживаются Яндекс.Кассой при OAuth-авторизации.
Использование рекуррентных платежей доступно только в облачной версии продукта.

Рекуррентный платёж поддерживается при следующих видах оплаты: банковская карта, Яндекс.Деньги и через виджет.

При настройке обработчика [image] Яндекс.Кассы в форме настроек платежной системы (Магазин > Настройки > Платежные системы) появится чекбокс для установки "Автоплатежей". При включении этой настройки будет выполнен запрос на сохранение способа оплаты

Если Яндекс.Касса подтвердит сохранение способа оплаты, то токен сохранится в поле PS_RECURRING_TOKEN.

Чтобы выполнить автоплатеж без подтверждения со стороны пользователя, необходимо скопировать значение токена в новую оплату заказа (поле PS_RECURRING_TOKEN).

Примечание: В дальнейшем данный функционал будет выполняться в модуле crm при использовании рекуррентных crm-форм.

Пример

$order = \Bitrix\Sale\Order::load($id);

/** @var \Bitrix\Sale\Payment $payment */
$payment = null;

/** @var \Bitrix\Sale\PaymentCollection $paymentCollection */
$paymentCollection = $order->getPaymentCollection();
if ($paymentCollection)
{
    /** @var \Bitrix\Sale\Payment $value */
    foreach ($paymentCollection as $value)
    {
        if (!$value->isInner())
        {
            $payment = $value;
        }
    }
}

if ($payment)
{
    $service = \Bitrix\Sale\PaySystem\Manager::getObjectById($payment->getPaymentSystemId());
    $result = $service->repeatRecurringPayment($payment);
    if ($result->isSuccess())
    {
        // всё хорошо, оплата выполнена, данные можно получить из $result->getData()
    }
    else
    {
        // возникли ошибки. Список ошибок можно получить из $result->getErrorMessages()
    }
}


События

В данной главе описаны события модуля Интернет-магазин:

  • События компонента оформления заказа
  • События на изменение значения поля
  • События на завершение пересчета
  • События на сохранение заказа
  • События после сохранения сущности
  • Сохранение заказа: особые события
  • События сохранения корзины
  • События обновления корзины
  • События отгрузки
  • События платежных систем
  • События при непосредственном удалении сущностей из базы
  • События работы с кассами и чеками
  • События служб доставок


События компонента оформления заказа

Примечание: с версии 16.0.31 модуля Интернет-магазин добавлена возможность пересчета заказа после изменения в событиях по флагу RECREATE_ORDER.

Примечание: с версии 21.300.50 модуля Интернет-магазин для пересчета суммы заказа после изменения данных следует добавить флаг $arUserResult['CALCULATE_PAYMENT'] = 'Y'.

Событие Описание и параметры С версии
OnSaleComponentOrderCreated Вызывается после создания и расчета обьекта заказа.

Параметры
$order | Обьект заказа \Bitrix\Sale\Order.
&$arUserResult | Массив arUserResult компонента, содержащий текущие выбранные пользовательские данные.
$request | Обьект \Bitrix\Main\HttpRequest.
&$arParams | Массив параметров компонента.
&$arResult | Массив arResult компонента.
&$arDeliveryServiceAll | Массив доступных по ограничениям служб доставки.
&$arPaySystemServiceAll | Массив доступных по ограничениям платежных систем.
 16.0.23
OnSaleComponentOrderShowAjaxAnswer Вызывается перед отправкой ajax-ответа.

Параметры
&$result Массив данных для ответа ajax'ом.
16.0.23
OnSaleComponentOrderJsData Вызывается после инициализации массива с данными для javascript-обработчика.

Параметры
&$arResult | Массив arResult компонента.
&$arParams | Массив параметров компонента.
 16.0.23
OnSaleComponentOrderProperties Вызывается после получения всех свойств заказа (из значений по умолчанию, из профиля или уже заполненных клиентом).

Параметры
&$arUserResult | Массив arUserResult компонента, содержащий текущие выбранные пользовательские данные.
$request | Обьект \Bitrix\Main\HttpRequest.
&$arParams | Массив параметров компонента.
&$arResult | Массив arResult компонента.
 16.0.26
OnSaleComponentOrderUserResult Вызывается после получения данных (свойств заказа, платежной системы, службы доставки и т.п.), отправленных клиентом.

Параметры
&$arUserResult | Массив arUserResult компонента, содержащий текущие выбранные пользовательские данные.
$request | Обьект \Bitrix\Main\HttpRequest.
&$arParams | Массив параметров компонента.
 16.0.26
OnSaleComponentOrderDeliveriesCalculated Вызывается после расчета тарифов на доставки.

Параметры
$order | Обьект заказа \Bitrix\Sale\Order.
&$arUserResult | Массив arUserResult компонента, содержащий текущие выбранные пользовательские данные.
$request | Обьект \Bitrix\Main\HttpRequest.
&$arParams | Массив параметров компонента.
&$arResult | Массив arResult компонента.
&$arDeliveryServiceAll | Массив доступных по ограничениям служб доставки.
&$arPaySystemServiceAll | Массив доступных по ограничениям платежных систем.
16.0.28
OnSaleComponentOrderResultPrepared Вызывается после формирования всех данных компонента на этапе заполнения формы заказа, может быть использовано для модификации данных. Аналог устаревшего события OnSaleComponentOrderOneStepProcess.

Параметры
$order | Обьект заказа \Bitrix\Sale\Order.
&$arUserResult | Массив arUserResult компонента, содержащий текущие выбранные пользовательские данные.
$request | Обьект \Bitrix\Main\HttpRequest.
&$arParams | Массив параметров компонента.
&$arResult | Массив arResult компонента.
16.0.28


События на изменение значения поля

События

Событие Описание и параметры Полные названия событий
OnBefore<наследник>SetField* Событие происходит перед изменением и вы можете отменить это изменение, запретить изменение поля.

Параметры
ENTITY | Объект, к которому относится поле.
NAME | Название поля.
VALUE | Значение поля.
 OnBeforeSaleOrderSetField

OnBeforeSaleBasketItemSetField

OnBeforeSaleShipmentSetField

OnBeforeSaleShipmentItemSetField

OnBeforeSalePaymentSetField

OnBeforeSalePropertyValueSetField
On<наследник>SetField* Происходит непосредственно перед самим изменением, т.е. оно сейчас начнется.

Параметры
ENTITY | Объект, к которому относится поле.
NAME | Название поля.
VALUE | Значение поля.
OLD_VALUE | Старое значение поля.
 OnSaleOrderSetField

OnSaleBasketItemSetField

OnSaleShipmentSetField

OnSaleShipmentItemSetField

OnSalePaymentSetField

OnSalePropertyValueSetField
* <наследник> - это один из наследников класса \Bitrix\Sale\Internals\Entity:
  • заказ - SaleOrder;
  • товар в корзине - SaleBasketItem;
  • отгрузка - SaleShipment;
  • товар в отгрузке - SaleShipmentItem;
  • оплата - SalePayment;
  • свойство заказа - SalePropertyValue.

Примеры

/*
рассмотрим пример, в котором будет выполняться округление цен в корзине.
Причем мы будем округлять не по правилам корзины, а отбрасывать копейки.
Для этого нам понадобится обработчик события OnBeforeSaleBasketItemSetField.
*/

\Bitrix\Main\EventManager::getInstance()->addEventHandler(
    'sale',
    'OnBeforeSaleBasketItemSetField',
    'roundPrice'
);

/*
Обработчик этого события будет вызван каждый раз, когда выполняется попытка изменения цены элемента корзины заказа.
Соответственно, в этом обработчике вы проверяете, что у вас действительно изменяется цена
и вы округляете значение VALUE, отбрасывая копейки.
*/

function roundPrice(\Bitrix\Main\Event $event)
{
    $name = $event->getParameter('NAME');
    $value = $event->getParameter('VALUE');

    if ($name === 'PRICE')
    {
        $value = floor($value);
        $event->addResult(
            new Main\EventResult(
                Main\EventResult::SUCCESS, array('VALUE' => $value)
            )
        );
    }
}


События на завершение пересчета

Когда заказ пришел в консистентное состояние, т.е. данные полей уже рассчитаны на основании имеющейся информации о заказе, то при решении индивидуальных задач вы можете использовать события финального обсчета заказа.

Событие Описание и параметры
OnBeforeSaleOrderFinalAction Происходит непосредственно перед финальным обсчетом.

Параметры
ENTITY | Объект заказа.
HAS_MEANINGFUL_FIELD | Флаг изменения поля, которое могло повлиять на пересчет.
BASKET | бъект корзины.
OnAfterSaleOrderFinalAction Происходит тогда, когда заказ полностью просчитан.

Параметры
ENTITY Объект заказа.

Примеры

//пример использования события OnAfterSaleOrderFinalAction

\Bitrix\Main\EventManager::getInstance()->addEventHandler(
    'sale',
    'OnAfterSaleOrderFinalAction',
    'myFunction'
);

//в обработчике получаем сумму, с которой планируются некоторые действия в дальнейшем:

function myFunction(\Bitrix\Main\Event $event)
{
    /** @var \Bitrix\Sale\Order $order */
    $order = $event->getParameter('ENTITY');
    $sum = $order->getPrice();
    // . . .
}


События на сохранение заказа

События

Все сущности сохраняются в том состоянии, в котором они есть на текущий момент, т.е. сохранение происходит на уже рассчитанном заказе. Сохранение всегда происходит через метод заказа save(). При этом сохраняется не только заказ, но и все связанные с ним сущности (оплаты и отгрузки) именно в том консистентном состоянии, которое было достигнуто путем расчетов объектов:

/** \Bitrix\Sale\Order $order */
$order = \Bitrix\Sale\Order::load(18);
$order->setField("USER_DESCRIPTION", "Доставить к подъезду");

$shipmentCollection = $order->getShipmentCollection();
/** \Bitrix\Sale\Shipment $shipment */
foreach ($shipmentCollection as $shipment)
{
    if (!$shipment->isSystem())
        $shipment->allowDelivery();
}

$order->save();

Вмешаться в процесс сохранения можно с помощью двух событий на сохранение заказа.

Событие Описание и параметры
OnSaleOrderBeforeSaved Происходит в самом начале процесса сохранения.

Параметры
ENTITY | Объект заказа.
VALUES | Старые значения полей заказа.
OnSaleOrderSaved Происходит в конце сохранения, когда заказ и все связанные сущности уже сохранены.

Параметры
ENTITY | Объект заказа.
VALUES | Старые значения полей заказа.
IS_NEW | Принимает одно из двух значений: true - если заказ новый, false - если нет. Использование данного флага позволяет избавиться от зацикливаний при вызове сохранения заказа в событии.

Примеры

//пример использования события OnSaleOrderSaved

use Bitrix\Main;
Main\EventManager::getInstance()->addEventHandler(
    'sale',
    'OnSaleOrderSaved',
    'myFunction'
);

//в обработчике получаем сумму, с которой планируются некоторые действия в дальнейшем:

function myFunction(Main\Event $event)
{
    /** @var Order $order */
    $order = $event->getParameter("ENTITY");
    $oldValues = $event->getParameter("VALUES");
    $isNew = $event->getParameter("IS_NEW");

    if ($isNew)
    {
        $sum = $order->getPrice();
        // . . .
    }
}


События после сохранения сущности

События

Событие Описание и параметры Полные названия событий
On<наследник>EntitySaved Происходит непосредственно после сохранения сущности системы заказов.

Параметры
ENTITY | Сохраняемый объект.
VALUES | Cтарые значения полей.
 OnSaleOrderEntitySaved

OnSaleBasketItemEntitySaved

OnSaleShipmentEntitySaved

OnSaleShipmentItemEntitySaved

OnSalePaymentEntitySaved

OnSalePropertyValueEntitySaved
где <наследник> - это один из наследников класса \Bitrix\Sale\Internals\Entity:
  • заказ - SaleOrder;
  • товар в корзине - SaleBasketItem;
  • отгрузка - SaleShipment;
  • товар в отгрузке - SaleShipmentItem;
  • оплата - SalePayment;
  • свойство заказа - SalePropertyValue.

Примеры

//рассмотрим пример использования события OnSalePaymentEntitySaved:

\Bitrix\Main\EventManager::getInstance()->addEventHandler(
    'sale',
    'OnSalePaymentEntitySaved',
    'myFunction'
);

/*
В обработчике определяется, что, если оплата выполняется через внутренний счет,
то выполняются какие-то свои действия при сохранении сущности:
*/

function myFunction(\Bitrix\Main\Event $event)
{
     /** @var Payment $payment */
    $payment = $event->getParameter("ENTITY");
    $oldValues = $event->getParameter("VALUES");

    if ($payment->isInner())
    {
        // это внутренний счет
        // . . .
    }
}

//пример по выполнению некоторых действий при изменении статуса заказа

\Bitrix\Main\EventManager::getInstance()->addEventHandler(
    'sale',
    'OnSaleOrderEntitySaved',
    'OnStatusChange'
);

function OnStatusChange(Bitrix\Main\Event $event)
{
    $arEmailFields = array();
    $order = $event->getParameter("ENTITY");
    $oldValues = $event->getParameter("VALUES");
    $arOrderVals = $order->getFields()->getValues();
    if($arOrderVals['STATUS_ID'] == 'F' && isset($oldValues['STATUS_ID']) && $oldValues['STATUS_ID'] != 'F') // статус изменился
        {
         // Выполните необходимые вам действия
         //  ...
        }

}


Сохранение заказа: особые события

В системе заказов имеется набор особых событий, которые являются событиями с отложенной инициацией, т.е. они инициируются в жизненном цикле заказа, но вызываются при сохранении.

Событие Описание и параметры
OnSaleOrderCanceled Вызывается при сохранении, если был изменен флаг отмены.

Параметры
ENTITY Объект заказа.
OnSaleStatusOrderChange Вызывается при сохранении, если статус заказа был изменен.

Параметры
ENTITY Объект заказа.
OnSaleOrderPaid Вызывается при сохранении, если оплаченность заказа была изменена.

Параметры
ENTITY Объект заказа.
OnShipmentTrackingNumberChange Вызывается при сохранении, если был изменен идентификатор отправления.

Параметры
ENTITY Объект отгрузки.
OnShipmentAllowDelivery Вызывается при сохранении, если был изменен флаг разрешения отгрузки.

Параметры
ENTITY Объект отгрузки.
OnShipmentDeducted Вызывается при сохранении, если был изменен флаг отгрузки.

Параметры
ENTITY Объект отгрузки.
OnSaleBeforeOrderDelete Вызывается перед удалением заказа.

Параметры
ENTITY Объект заказа.


События сохранения корзины

У корзины есть следующая особенность: она может быть как привязана, так и не привязана к заказу. Привязанная к заказу корзина - это та, которая в заказе, т.е. товары уже заказаны. Непривязанная - это корзина, которая пока еще не оформлена. В случае, если корзина не привязана, то у нее появляются два дополнительных события.

Событие Описание и параметры
OnSaleBasketBeforeSaved Cобытие происходит перед сохранением корзины.

Параметры
ENTITY Объект корзины.
OnSaleBasketSaved Происходит после того, как корзина сохранена.

Параметры
ENTITY Объект корзины.

Примеры

//пример использования события OnSaleBasketBeforeSaved

use Bitrix\Main;
Main\EventManager::getInstance()->addEventHandler(
    'sale',
    'OnSaleBasketBeforeSaved',
    'myFunction'
);

//в обработчике задается ограничение по весу для сохранения корзины:

function myFunction(Main\Event $event)
{
    /** @var Basket $basket */
    $basket = $event->getParameter("ENTITY");

    if ($basket->getWeight() > 100)
    {
        return new Main\EventResult(Main\EventResult::ERROR);
    }

    return new Main\EventResult(Main\EventResult::SUCCESS);
}


События обновления корзины

Событие Описание и параметры С версии
OnSaleBasketItemRefreshData Cобытие вызывается при обновлении корзины. Событие вызывается столько раз, сколько товаров в корзине.

Параметры
ENTITY | Объект BasketItem.
VALUES | Все данные позиции, полученные от провайдера.
 16.5.0


События отгрузки

События класса \Bitrix\Sale\Shipment.

Событие Опиание С версии
OnSaleBeforeShipmentReserve Вызывается перед фактом проставления поля RESERVED у отгрузки (резервация/разрезервация).

Параметры
ENTITY | сущность отгрузки.
VALUES | Выставляемое значение поля.
 17.5.8
OnSaleShipmentReserved Вызывается только после физической резервации/разрезервации.

Параметры
ENTITY | сущность отгрузки.
VALUES | Выставляемое значение поля.
OLD_VALUE | Значение поля до факта резервации.
 17.5.8


События платежных систем

События

Событие Описание и параметры С версии
OnSalePsServiceProcessRequestBeforePaid Событие происходит если метод processRequest обработчика платёжной системы отработал без ошибок и требуется изменить статус оплаты.

Параметры
payment | Объект оплаты.
status | Статус (Y/N).
pay_system_id | Идентификатор платёжной системы.
OnSaleGetHandlerDescription Событие происходит при получении описания платёжной системы. В обработчике события можно дополнить значения ключа CODE.

Параметры
handler Обработчик платёжной системы.
onSalePsInitiatePaySuccess Событие происходит в случае успешной инициализации платёжной системы. В обработчике доступен объект оплаты.

Параметры
payment Объект оплаты.
20.0.200
onSalePsInitiatePayError Событие происходит в случае ошибки при инициализации платёжной системы. В обработчике доступен объект оплаты и массив ошибок.

Параметры
payment | Объект оплаты.
errors | массив ошибок полученный через getErrorMessages с объекта ServiceResult.
20.0.200

Примеры

OnSalePsServiceProcessRequestBeforePaid

use Bitrix\Main;
use Bitrix\Sale\Payment;

Main\EventManager::getInstance()->addEventHandler(
   'sale',
   'OnSalePsServiceProcessRequestBeforePaid',
   'myFunction'
);

function myFunction(Main\Event $event)
{
   /** @var Payment $payment */
   $payment = $event->getParameter('payment');

   /** @var string $status */
   $status = $event->getParameter('status');

   /** @var string $paySystemId */
   $paySystemId = $event->getParameter('pay_system_id');

   /**
    * Произвольный код
    * Например, получение платёжной системы $paySystem = $payment->getPaySystem();
    */
}

OnSaleGetHandlerDescription

use Bitrix\Main;
use Bitrix\Sale\Payment;

Main\EventManager::getInstance()->addEventHandler(
   'sale',
   'OnSaleGetHandlerDescription',
   'myFunction'
);

function myFunction(Main\Event $event)
{
   /** @var string $handler */
   $handler = $event->getParameter("handler");

   if ($handler === 'my_handler')
   {
      return array(
         'USER_COLUMNS' => array(
            "NAME" => "Пользовательское поле",
            "SORT" => 6000,
            'GROUP' => 'COLUMN_SETTINGS',
         )
      );
   }

   return array();
}

onSalePsInitiatePaySuccess

use Bitrix\Main;
use Bitrix\Sale\Payment;

Main\EventManager::getInstance()->addEventHandler(
   'sale',
   'onSalePsInitiatePaySuccess',
   'myFunction'
);

function myFunction(Main\Event $event)
{
   /** @var Payment $payment */
   $payment = $event->getParameter('payment');

   /**
    * Произвольный код
    */
}

onSalePsInitiatePayError

use Bitrix\Main;
use Bitrix\Sale\Payment;

Main\EventManager::getInstance()->addEventHandler(
   'sale',
   'onSalePsInitiatePayError',
   'myFunction'
);

function myFunction(Main\Event $event)
{
   /** @var Payment $payment */
   $payment = $event->getParameter('payment');

   /** @var array $errors массив ошибок полученный через getErrorMessages с объекта ServiceResult */
   $errors = $event->getParameter('errors');

   /**
    * Произвольный код
    */
}


События при непосредственном удалении сущностей из базы

Событие Описание и параметры Полные названия событий
OnSale<сущность>Deleted Вызывается при непосредственном удалении сущности из базы.

Параметры
VALUES Значения полей удаленной сущности.
OnSalePropertyValueDeleted

OnSalePaymentDeleted

OnSaleShipmentDeleted

OnSaleOrderDeleted
где <сущность> - это:
  • свойство заказа - PropertyValue;
  • оплата - Payment;
  • отгрузка - Shipment;
  • заказ - Order.


События работы с кассами и чеками

Метод Описание С версии
OnSaleCheckPrepareData Событие позволяет поменять какие-либо данные в чеке: поменять название товара, убрать товары с 0 стоимостью и т.д. На вход передается 2 параметра:
  • массив с данными по чеку;

    Нажмите на [+], чтобы раскрыть детальное описание массива

    [
    'ORDER' => {Bitrix\Sale\Order}, 	// объект заказа, к которому привязан чек
    'PAYMENTS' => [	// массив оплат
        [
            'ENTITY' => {Bitrix\Sale\Payment}, // объект оплаты
            'IS_CASH' => "N", // тип документа оплаты: наличные/безналичные (оставлен для совместимости).
                              // Правильнее опираться на поле с ключом TYPE
            'TYPE' => "cashless", // тип документа оплаты: принимает одно из значений: cash (наличные),
                                     //cashless (безналичные), advance (аванс), credit (кредит)
            'SUM' => 1400, // сумма документа оплаты
        ]
    ],
    'PRODUCTS' => [	// список товарных позиций
        [
            'ENTITY' => {Bitrix\Sale\BasketItem}, // объект элемента корзин
            'PRODUCT_ID' => "176", // ID продукта
            'NAME' => "Футболка Женский Соблазн", // название
            'BASE_PRICE' => 849, // цена без учета скидок и наценок за единицу
            'PRICE' => 1099, // цена с учетом скидок и наценок за единицу
            'SUM' => 1099,	// общая цена с учетом количества
            'QUANTITY' => 1, // количество
            'VAT' => 0,	 // ID налоговой ставки
            'DISCOUNT' => [  // информация о скидках
                'PRICE' => -250, // величина скидки (отрицательное значение - наценка,
                                 //положительная - скидка)
                'TYPE' => "C",	 // тип скидки: С-абсолютная
            ],
            'PAYMENT_OBJECT' => \Bitrix\Sale\Cashbox\Check::PAYMENT_OBJECT_COMMODITY
                                //тип предмета расчета*
        ]
    ],
    'DELIVERY' => [	// список отгрузок
        [
            'ENTITY' => {Bitrix\Sale\Shipment}, // объект отгрузки
            'NAME' => "Доставка", // название
            'BASE_PRICE' => 301, // цена без учета скидок и наценок за единицу
            'PRICE' => 301,	// цена с учетом скидок и наценок за единицу
            'SUM' => 301, // общая цена с учетом количества
            'QUANTITY' => 1, // количество (всегда равняется 1)
            'VAT' => 1,	 // ID налоговой ставки
            'PAYMENT_OBJECT' => \Bitrix\Sale\Cashbox\Check::PAYMENT_OBJECT_SERVICE
                            //тип предмета расчета*
        ]
    ],
    'BUYER' => [	// информация о покупателе
        'EMAIL' => "admin-aladin@aladin.loc", // email
        'PHONE' => "90979648725", // телефон
    ],
    'TOTAL_SUM' => 1400  // общая сумма чека
]
    * - ключ PAYMENT_OBJECT доступен с версии 18.5.10, его возможные значения:
    • \Bitrix\Sale\Cashbox\Check::PAYMENT_OBJECT_COMMODITY - товар;
    • \Bitrix\Sale\Cashbox\Check::PAYMENT_OBJECT_EXCISE - акциз;
    • \Bitrix\Sale\Cashbox\Check::PAYMENT_OBJECT_JOB - работа;
    • \Bitrix\Sale\Cashbox\Check::PAYMENT_OBJECT_SERVICE - услуга;
    • \Bitrix\Sale\Cashbox\Check::PAYMENT_OBJECT_PAYMENT - платеж.

  • тип чека (например, credit, advancepayment и т.д.).
// удаление доставки с 0 стоимостью
AddEventHandler("sale", "OnSaleCheckPrepareData", "CheckProductPrint");
function CheckProductPrint($a, $type)
{
    if ($a['DELIVERY']['SUM'] == 0)
        unset($a['DELIVERY']);

    return $a;
}
OnGetCustomCashboxHandlers Событие срабатывает на момент формирования списка обработчиков касс. Позволяет добавить свой обработчик кассы.
// добавление своего обработчика кассы
AddEventHandler("sale", "OnGetCustomCashboxHandlers", "GetCustomCashboxHandlers");
function GetCustomCashboxHandlers()
{
    $data = array('\Bitrix\Sale\Cashbox\cashboxnew' => '/bitrix/php_interface/include/cashboxnew.php');
    $event = new Bitrix\Main\EventResult(Bitrix\Main\EventResult::SUCCESS, $data);

    return $event;
}
OnGetCustomCheckList Событие срабатывает на момент формирования списка поддерживаемых чеков. Позволяет добавить свой тип чека.
// добавление своего типа чека
AddEventHandler("sale", "OnGetCustomCheckList", "GetCustomCheckList");
function GetCustomCheckList()
{
    $data = array('\Bitrix\Sale\Cashbox\SellExCheck' => '/bitrix/php_interface/include/sellexcheck.php');
    $event = new Bitrix\Main\EventResult(Bitrix\Main\EventResult::SUCCESS, $data);

    return $event;
}
OnPrintableCheckSend Событие позволяет переопределить стандартный механизм отправки уведомления о печати чека. На вход передается 2 параметра: объект оплаты, по которой печатается чек и объект чека, который будет напечатан.
// переопределение стандартного механизма печати чека
AddEventHandler("sale", "OnPrintableCheckSend", "PrintableCheckSend");
function PrintableCheckSend()
{
    /*
        Отправка чека по СМС
    */

    $event = new Bitrix\Main\EventResult(Bitrix\Main\EventResult::SUCCESS);

    return $event;
}
onSaleCashboxRestrictionsClassNamesBuildList Событие позволяет добавлять свои ограничения в кассы.
onSaleCashboxRestrictionsClassNamesBuildList

// добавление своего типа чека
AddEventHandler("sale", "onSaleCashboxRestrictionsClassNamesBuildList",
"GetSaleCashboxRestrictionsClassNamesBuildList");
function GetSaleCashboxRestrictionsClassNamesBuildList()
{
    $data = array(
            '\Bitrix\Sale\Cashbox\Restrictions\Site' => '/bitrix/php_interface/include/site.php'
    );
    $event = new Bitrix\Main\EventResult(Bitrix\Main\EventResult::SUCCESS, $data);

    return $event;
}
OnCheckCollateDocuments Событие предназначено для реализации собственной логики генерации чеков в автоматическом режиме.

Рассмотрим на примере: при сумме заказа больше 10000 вносится предоплата. Оплата оставшейся суммы происходит после проверки заказа менеджером. У этого заказа будет несколько оплат. Итак, для первой оплаты необходимо печатать чек аванса, а для второй - полная оплата с учетом аванса. В упрощенном виде это будет выглядеть так:
AddEventHandler("sale", "OnCheckCollateDocuments", "OnCheckCollateDocuments");

function OnCheckCollateDocuments($entities)
{
    foreach ($entities as $entity)
    {
        if ($entity instanceof \Bitrix\Sale\Payment)
        {
            $order = $entity->getCollection()->getOrder();
            if ($order->isPaid())
            {
                $related = [];

                foreach ($entity->getCollection() as $payment)
                {
                    if ($payment->getId() != $entity->getId())
                    {
                        $related[\Bitrix\Sale\Cashbox\Check::PAYMENT_TYPE_ADVANCE][] = $payment;
                    }
                }

                foreach ($order->getShipmentCollection() as $shipment)
                {
                    if (!$shipment->isSystem())
                    {
                        $related[\Bitrix\Sale\Cashbox\Check::SHIPMENT_TYPE_NONE][] = $shipment;
                    }
                }

                return new \Bitrix\Main\EventResult(
                    \Bitrix\Main\EventResult::SUCCESS,
                        [['TYPE' => 'sell', 'ENTITIES' => [$entity], 'RELATED_ENTITIES' => $related]]
                );
            }
            else
            {
                if ($entity->isPaid() && !$order->isPaid())
                {
                    return new \Bitrix\Main\EventResult(
                        \Bitrix\Main\EventResult::SUCCESS,
                            [['TYPE' => 'advancepayment', 'ENTITIES' => [$entity], 'RELATED_ENTITIES' => []]]
                    );
                }
            }
        }
    }
}


События служб доставок

Событие Описание и параметры
onSaleDeliveryHandlersClassNamesBuildList Происходит при построении списка обработчиков служб доставок. Параметры не передаются.

Ответ от обработчика

В качестве результата обработчик должен вернуть объект вида \Bitrix\Main\EventResult, тип: \Bitrix\Main\EventResult::SUCCESS, параметры: массив со списком классов обработчиков служб доставок и путей к ним.

Смотрите также
  • Пример создания собственной службы доставки [image].
onSaleDeliveryExtraServicesClassNamesBuildList Происходит при построении списка обработчиков дополнительных сервисов служб доставок. Параметры не передаются.

Ответ от обработчика

В качестве результата обработчик должен вернуть объект вида \Bitrix\Main\EventResult, тип: \Bitrix\Main\EventResult::SUCCESS, параметры: массив со списком классов обработчиков и путей к ним.

Смотрите также
  • Кастомизация типов дополнительных услуг [image].
onSaleDeliveryTrackingClassNamesBuildList Происходит при построении списка обработчиков отслеживания отправлений служб доставок. Параметры не передаются.

Ответ от обработчика

В качестве результата обработчик должен вернуть объект вида \Bitrix\Main\EventResult, тип: \Bitrix\Main\EventResult::SUCCESS, параметры: массив со списком классов обработчиков и путей к ним.

Обработчик должен быть наследником \Bitrix\Sale\Delivery\Tracking\Base. Чтобы воспользоваться этим обработчиком, необходимо указать его в качестве обработчика в конкретной службе доставки. Например, с помощью метода \Bitrix\Sale\Delivery\Services\Base::setTrackingClass(). Как образец можно использовать \Bitrix\Sale\Delivery\Tracking\RusPost, \Sale\Handlers\Delivery\SpsrTracking.
onSaleShipmentsTrackingStatusesChanged Происходит после изменения статуса почтовых отправлений.

Параметры
\Bitrix\Sale\Delivery\Tracking\StatusChangeEventParam[] Массив данных по отправлениям.

Ответ от обработчика события не предполагается.

Если, например, мы хотим все изменения статусов отправлений записывать в файл, то сделать это можно таким образом:

function saleShipmentsTrackingStatusesChanged($params)
{
    file_put_contents($_SERVER["DOCUMENT_ROOT"]."/local/log/tracking.log", print_r($params, true)."\n", FILE_APPEND);
}

$eventManager->addEventHandler('sale', 'onSaleShipmentsTrackingStatusesChanged', 'saleShipmentsTrackingStatusesChanged');
onSaleDeliveryServiceCalculate Происходит после расчёта стоимости доставки.

Параметры
RESULT | Объект типа \Bitrix\Sale\Delivery\CalculationResult с результатами вычислений.
SHIPMENT | Объект типа \Bitrix\Sale\Shipment - отгрузка, для которой вычислялась стоимость.
DELIVERY_ID | Идентификатор службы доставки.

Ответ от обработчика

В качестве результата обработчик должен вернуть объект вида \Bitrix\Main\EventResult, тип: \Bitrix\Main\EventResult::SUCCESS, параметры: RESULT - объект типа \Bitrix\Sale\Delivery\CalculationResult с дополненными результатами вычислений.

Смотрите также
  • Кастомизация служб доставок [image].


Классы

В данной главе описаны классы и пространства имен модуля Интернет-магазин:

Класс, пространство имен | Описание
Archive | Класс для работы с архивацией заказов.
Basket | Класс для работы с корзиной. Наследник класса \Bitrix\Sale\BasketItemCollection.
BasketBase | Класс для работы с корзиной.
BasketItemCollection | Класс коллекции товарных позиций.
BusinessValue | Класс для работы с бизнес-смыслами.
Configuration | Класс для работы с настройками резервирования товаров, складского учета и настройками смены статусов интернет-магазина.
Delivery | Пространство имен, содержащее классы для работы со службами доставок.
Discount | Пространство имен, содержащее подпространства, классы и методы для расчета всех скидок (каталога и магазина) и округления цен для корзины или заказа.
DiscountCouponsManager | Класс для работы с купонами при расчетах.
Fuser | Класс для получения идентификатора покупателя.
Internals | Подпространство, содержащее классы для работы с таблицами модуля Интернет-магазин.
Location | Подпространство имен, содержащее классы для работы с местоположениями.
Notify | Класс для работы с уведомлениями.
Order | Класс для работы с заказами.
OrderBase | Базовый класс для работы с заказами.
OrderDiscountManager | Класс для работы с правилами корзины при расчетах.
Payment | Класс оплаты.
PaymentCollection | Класс коллекции оплат.
PropertyValueCollectionBase | Базовый класс коллекции свойств заказа.
ProviderBase | Базовый класс для работы с провайдерами магазина.
Result | Класс для работы с результатами.
SalesZone | Класс для задания зоны обслуживания магазином.
Services | Базовая общая часть служб доставок и платежных систем.
Shipment | Класс отгрузок.
ShipmentCollection | Класс коллекции отгрузок.
ShipmentItem | Класс элемента отгрузки.
ShipmentItemStore | Класс штрих-кодов элементов отгрузки.
StatusBase | Базовый класс статусов.
Tax | Класс налогов.
TradingPlatform | Класс для работы с торговыми платформами.


Archive

Archive - класс для работы с архивацией заказов

Класс | Описание | С версии
Manager | Класс работы с методами архивации. |


Manager

Manager - класс для работы с методами архивации

Класс | Описание | С версии
archiveByOptions | Метод для архивации заказов, которые были выбраны настройками модуля. |
archiveOnAgent | Метод используется агентом архивирования, управляет процессом архивации. . |
archiveOrders | Метод для архивирования заказов согласно фильтру. |
delete | Метод для удаления архивиранного заказа вместе с содержимым корзины. |
getBasketItemById | Метод для получения содержимого корзины по ID заказа из архива. |
getBasketList | Метод для получения списка корзин из архива. |
getById | Метод для получения заказа по его ID. |
returnArchivedOrder | Метод для восстановления заказа из архива. |


archiveByOptions

\Bitrix\Sale\Result public static
\Bitrix\Sale\Archive\Manager::archiveByOptions(
 integer $limit = null,
 integer $timeExecution = null
);

Метод для архивации заказов, которые выбраны настройками модуля.

Используется агентом архивирования.

Параметры

Параметр | Описание | Версия
$limit | Максимальное количество заказов, которое архивируется за раз. |
$timeExecution | Максимальное время выполнения архивирования. |

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


archiveOnAgent

string public static
\Bitrix\Sale\Archive\Manager::archiveOnAgent(
 integer $limit,
 integer $maxTime = null
);

Используется агентом архивирования. Управляет выполнением агента.

Параметры

Параметр | Описание | Версия
$limit | Максимальное количество архивируемых заказов за раз. |
$maxTime | Максимальное время выполнения скрипта. |

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


archiveOrders

\Bitrix\Sale\Result public static
\Bitrix\Sale\Archive\Manager::archiveOrders(
 array $filter = array(),
 integer $limit = null,
 integer $timeExecution = null
);

Метод для архивирования заказов согласно фильтру.

Параметры

Параметр | Описание | Версия
$filter | Фильтр, который используется для выборки заказов. |
$limit | Максимальное количество заказов, которое архивируется за раз. |
$timeExecution | Максимальное время выполнения архивирования. |

Исключения

  • \Bitrix\Main\ArgumentNullException
  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delete

\Bitrix\Main\Entity\DeleteResult public static
\Bitrix\Sale\Archive\Manager::delete(
 integer $id
);

Метод для удаления заказа из архива вместе с содержимым корзины.

Параметры

ID удаляемого заказа
Параметр | Описание | Версия
$id |  |

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBasketItemById

\Bitrix\Main\DB\Result public static
\Bitrix\Sale\Archive\Manager::getBasketItemById(
 integer $id
);

Получить содержимое корзины по ID заказа из архива.

Параметры

Параметр | Описание | Версия
$id | ID заказа из архива |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBasketList

\Bitrix\Main\DB\Result public static
\Bitrix\Sale\Archive\Manager::getBasketList(
 array $filter = array()
);

Метод для получения списка корзин из архива.

Параметры

Параметр | Описание | Версия
$filter | Фильтр для получения списка корзин |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getById

\Bitrix\Main\DB\Result public static
\Bitrix\Sale\Archive\Manager::getById(
 integer $id
);

Получить заказ по его ID.

Параметры

Параметр | Описание | Версия
$id | ID заказа |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


returnArchivedOrder

\Bitrix\Sale\Order public static
\Bitrix\Sale\Archive\Manager::returnArchivedOrder(
 integer $id
);

Метод для восстановления заказа из архива.

Параметры

Параметр | Описание | Версия
$id | ID заказа. |

Исключения

  • \Bitrix\Main\ObjectNotFoundException
  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Basket

\Bitrix\Sale\Basket - класс для работы с корзиной.

Цепочка наследования (в рамках подпространства \Bitrix\Sale)

Basket > BasketBase > BasketItemCollection > Internals\EntityCollection > Internals\CollectionBase

Методы родительского класса \Bitrix\Sale\BasketBase

Метод | Описание | С версии
create | Создает корзину для сайта $siteId. |
getBasePrice | Возвращает общую стоимость товаров без учета скидок и наценок. | 15.5.12
getExistsItemByItem | Поиск по товару такого же товара в корзине. Метод возвращает товар корзины в случае успеха. |
getFUserId | Возвращает идентификатор владельца корзины (покупателя). | 15.5.1
getItemByBasketCode | Возвращает товар корзины по коду. | 15.5.1
getOrderableItems | Возвращает актуальную для покупки корзину, отсекая от исходной товары, отложенные или недоступные для покупки. |
getPrice | Возвращает общую стоимость товаров с учетом скидок и наценок. | 15.5.1
getRegistryType | Возвращает тип реестра, которому относится объект. |
getSiteId | Возвращает идентификатор сайта, к которому привязана корзина. | 15.5.1
getVatRate | Позволяет получить максимальную ставку НДС по товарам. | 15.5.1
getVatSum | Возвращает общий размер НДС по всем товарам в корзине. | 15.5.1
getWeight | Возвращает вес корзины. | 15.5.1
loadItemsForFUser | Загружает корзину пользователя для конкретного сайта. |
refresh | Актуализирует данные по товарам. |
save | Сохраняет корзину. | 15.5.1
setFUserId | Устанавливает идентификатор владельца корзины (покупателя). | 15.5.1
setOrder | Привязывает заказ к корзине. | 15.5.1
verify | Актуализирует данные по товарам. |

Методы родительского класса \Bitrix\Sale\BasketItemCollection

Метод | Описание | С версии
createItem | Создает товарную позицию и добавляет ее в коллекцию. | 17.5.0
getBasket | Абстрактный метод. Возвращает корзину, в которой находится данная коллекция. | 17.5.0
getBasketItems | Возвращает коллекцию товаров. | 17.5.0
getExistsItem | Возвращает товарную позицию из коллекции (либо null). | 17.5.0
getItemByBasketCode | Возвращает товарную позицию из коллекции по коду товарной позиции. | 17.5.0
getItemById | Возвращает товарную позицию из коллекции по идентификатору товарной позиции. | 17.5.0
getOrder | Возвращает заказ, привязанный к корзине. | 17.5.0
getOrderId | Возвращает ID заказа, которому принадлежит коллекция. | 17.5.0
loadFromArray | Загружает товарные позиции из массива. | 17.5.0

Методы родительского класса \Bitrix\Sale\Internals\EntityCollection

Метод | Описание | С версии
clearCollection | Удаляет все элементы коллекции. | 15.5.1
doFinalAction | Выполняет финальные действия. | 15.5.1
getIndexById | Ищет элемент в коллекции по ID и возвращает его внутренний индекс. | 15.5.1
getItemById | Ищет элемент в коллекции по ID и возвращает его. | 15.5.1
getItemByIndex | Ищет элемент в коллекции по внутреннему индексу и возвращает его. | 17.5.0
isAnyItemDeleted | Проверяет, был ли удален какой-либо элемент коллекции. | 17.5.0
isChanged | Проверяет, была ли изменена коллекция. Возвращает true или false. | 15.5.2
isClone | Проверяет, является ли коллекция клонированной. Возвращает true или false. | 6.0.26
verify | Проверяет коллекцию на корректность. Возвращает объект \Bitrix\Sale\Result. | 17.5.0

Методы родительского класса \Bitrix\Sale\Internals\CollectionBase

Метод | Описание | С версии
count | Возвращает количество элементов объекта. | 15.5.3
current | Возвращает текущий элемент. | 15.5.3
getIterator | Возвращает внешний итератор. | 15.5.3
isEmpty | Проверяет коллекцию на пустоту. Если в коллекции нет элементов, возвращается true (иначе false). | 15.5.3
key | Возвращает индекс текущего элемента коллекции. | 15.5.3
next | Перемещает указатель коллекции вперед на один элемент. | 15.5.3
offsetExists | Определяет, существует или нет заданное смещение (ключ). | 15.5.3
offsetGet | Возвращает заданное смещение (ключ). | 15.5.3
offsetSet | Устанавливает значения для данного смещения. | 15.5.3
offsetUnset | Сбрасывает значение по смещению. | 15.5.3
rewind | Устанавливает указатель на первый элемент коллекции. | 15.5.3
valid | Проверяет, содержит ли коллекция еще элементы. | 15.5.3


BasketBase

\Bitrix\Sale\BasketBase - базовый класс корзины.

Цепочка наследования (в рамках подпространства \Bitrix\Sale)

BasketBase > BasketItemCollection > Internals\EntityCollection > Internals\CollectionBase

Методы класса

Метод | Описание | С версии
create | Создает корзину для сайта $siteId. |
getBasePrice | Возвращает общую стоимость товаров без учета скидок и наценок. | 15.5.12
getExistsItemByItem | Поиск по товару такого же товара в корзине. Метод возвращает товар корзины в случае успеха. |
getFUserId | Возвращает идентификатор владельца корзины (покупателя). | 15.5.1
getItemByBasketCode | Возвращает товар корзины по коду. | 15.5.1
getOrderableItems | Возвращает актуальную для покупки корзину, отсекая от исходной товары, отложенные или недоступные для покупки. |
getPrice | Возвращает общую стоимость товаров с учетом скидок и наценок. | 15.5.1
getRegistryType | Возвращает тип реестра, которому относится объект. |
getSiteId | Возвращает идентификатор сайта, к которому привязана корзина. | 15.5.1
getVatRate | Позволяет получить максимальную ставку НДС по товарам. | 15.5.1
getVatSum | Возвращает общий размер НДС по всем товарам в корзине. | 15.5.1
getWeight | Возвращает вес корзины. | 15.5.1
loadItemsForFUser | Загружает корзину пользователя для конкретного сайта. |
refresh | Актуализирует данные по товарам. |
save | Сохраняет корзину. | 15.5.1
setFUserId | Устанавливает идентификатор владельца корзины (покупателя). | 15.5.1
setOrder | Привязывает заказ к корзине. | 15.5.1
verify | Актуализирует данные по товарам. |

Методы родительского класса \Bitrix\Sale\BasketItemCollection

Метод | Описание | С версии
createItem | Создает товарную позицию и добавляет ее в коллекцию. | 17.5.0
getBasket | Абстрактный метод. Возвращает корзину, в которой находится данная коллекция. | 17.5.0
getBasketItems | Возвращает коллекцию товаров. | 17.5.0
getExistsItem | Возвращает товарную позицию из коллекции (либо null). | 17.5.0
getItemByBasketCode | Возвращает товарную позицию из коллекции по коду товарной позиции. | 17.5.0
getItemById | Возвращает товарную позицию из коллекции по идентификатору товарной позиции. | 17.5.0
getOrder | Возвращает заказ, привязанный к корзине. | 17.5.0
getOrderId | Возвращает ID заказа, которому принадлежит коллекция. | 17.5.0
loadFromArray | Загружает товарные позиции из массива. | 17.5.0

Методы родительского класса \Bitrix\Sale\Internals\EntityCollection

Метод | Описание | С версии
clearCollection | Удаляет все элементы коллекции. | 15.5.1
doFinalAction | Выполняет финальные действия. | 15.5.1
getIndexById | Ищет элемент в коллекции по ID и возвращает его внутренний индекс. | 15.5.1
getItemById | Ищет элемент в коллекции по ID и возвращает его. | 15.5.1
getItemByIndex | Ищет элемент в коллекции по внутреннему индексу и возвращает его. | 17.5.0
isAnyItemDeleted | Проверяет, был ли удален какой-либо элемент коллекции. | 17.5.0
isChanged | Проверяет, была ли изменена коллекция. Возвращает true или false. | 15.5.2
isClone | Проверяет, является ли коллекция клонированной. Возвращает true или false. | 6.0.26
verify | Проверяет коллекцию на корректность. Возвращает объект \Bitrix\Sale\Result. | 17.5.0

Методы родительского класса \Bitrix\Sale\Internals\CollectionBase

Метод | Описание | С версии
count | Возвращает количество элементов объекта. | 15.5.3
current | Возвращает текущий элемент. | 15.5.3
getIterator | Возвращает внешний итератор. | 15.5.3
isEmpty | Проверяет коллекцию на пустоту. Если в коллекции нет элементов, возвращается true (иначе false). | 15.5.3
key | Возвращает индекс текущего элемента коллекции. | 15.5.3
next | Перемещает указатель коллекции вперед на один элемент. | 15.5.3
offsetExists | Определяет, существует или нет заданное смещение (ключ). | 15.5.3
offsetGet | Возвращает заданное смещение (ключ). | 15.5.3
offsetSet | Устанавливает значения для данного смещения. | 15.5.3
offsetUnset | Сбрасывает значение по смещению. | 15.5.3
rewind | Устанавливает указатель на первый элемент коллекции. | 15.5.3
valid | Проверяет, содержит ли коллекция еще элементы. | 15.5.3


create

\Bitrix\Sale\BasketBase::create($siteId);

Метод создает корзину для сайта $siteId. Статический метод.

Параметры

Параметр | Описание | Версия
$siteId | ID сайта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBasePrice

\Bitrix\Sale\BasketBase::getBasePrice();

Метод возвращает общую стоимость товаров без учета скидок и наценок. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getExistsItemByItem

\Bitrix\Sale\BasketBase::getExistsItemByItem(
    \Bitrix\Sale\BasketItemBase $item
);

Поиск по товару такого же товара в корзине. Метод возвращает товар корзины в случае успеха. Нестатический метод.

Если товар не будет найден, вернется значение null.

Параметры

Параметр | Описание | Версия
$item | Код товара в корзине. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFUserId

\Bitrix\Sale\BasketBase::getFUserId();

Метод возвращает идентификатор владельца корзины (покупателя). Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getItemByBasketCode

\Bitrix\Sale\BasketBase::getItemByBasketCode($code);

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

Если товар не будет найден, вернется значение null.

Параметры

Параметр | Описание | Версия
$code | Код товара в корзине. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOrderableItems

\Bitrix\Sale\BasketBase::getOrderableItems();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPrice

\Bitrix\Sale\BasketBase::getPrice();

Метод возвращает общую стоимость товаров с учетом скидок и наценок. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRegistryType

\Bitrix\Sale\BasketBase::getRegistryType();

Метод возвращает тип реестра, которому относится объект. Статический метод.

Должен быть перегружен в наследнике.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSiteId

\Bitrix\Sale\BasketBase::getSiteId();

Метод возвращает идентификатор сайта, к которому привязана корзина. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getVatRate

\Bitrix\Sale\BasketBase::getVatRate();

Метод позволяет получить максимальную ставку НДС по товарам. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getVatSum

\Bitrix\Sale\BasketBase::getVatSum();

Метод возвращает общий размер НДС по всем товарам в корзине. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getWeight

\Bitrix\Sale\BasketBase::getWeight();

Метод возвращает вес корзины. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


loadItemsForFUser

\Bitrix\Sale\BasketBase::loadItemsForFUser($fUserId, $siteId);

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

Параметры

Параметр | Описание | Версия
$fUserId | ID покупателя. |
$siteId | ID сайта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


refresh

\Bitrix\Sale\BasketBase::refresh(
    \Bitrix\Sale\Basket\RefreshStrategy $strategy = null
);

Актуализирует данные по товарам (обновляются цены и учитывается доступное количество товара). Нестатический метод.

Параметры

Параметр | Описание | Версия
$strategy | Объект класса \Bitrix\Sale\Basket\RefreshStrategy. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


save

\Bitrix\Sale\BasketBase::save();

Метод сохраняет корзину. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setFUserId

\Bitrix\Sale\BasketBase::setFUserId($fUserId);

Метод устанавливает идентификатор владельца корзины (покупателя). Нестатический метод.

Параметры

Параметр | Описание | Версия
$fUserId | Идентификатор клиента магазина. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setOrder

\Bitrix\Sale\BasketBase::setOrder(
    \Bitrix\Sale\OrderBase $order
);

Метод привязывает заказ к корзине. Нестатический метод.

Параметры

Параметр | Описание | Версия
$order | Объект заказа. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


verify

\Bitrix\Sale\BasketBase::verify();

Верификация корзины на корректность. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


BasketItemCollection

Методы BasketItemCollection

\Bitrix\Sale\BasketItemCollection представляет собой коллекцию товарных позиций.

Цепочка наследования (в рамках подпространства \Bitrix\Sale)

BasketItemCollection >  Internals\EntityCollection > Internals\CollectionBase

Методы класса

Метод | Описание | С версии
createItem | Создает товарную позицию и добавляет ее в коллекцию. | 17.5.0
getBasket | Абстрактный метод. Возвращает корзину, в которой находится данная коллекция. | 17.5.0
getBasketItems | Возвращает коллекцию товаров. | 17.5.0
getExistsItem | Возвращает товарную позицию из коллекции (либо null). | 17.5.0
getItemByBasketCode | Возвращает товарную позицию из коллекции по коду товарной позиции. | 17.5.0
getItemById | Возвращает товарную позицию из коллекции по идентификатору товарной позиции. | 17.5.0
getOrder | Возвращает заказ, привязанный к корзине. | 17.5.0
getOrderId | Возвращает ID заказа, которому принадлежит коллекция. | 17.5.0
loadFromArray | Загружает товарные позиции из массива. | 17.5.0

Методы класса \Bitrix\Sale\Internals\EntityCollection

Метод | Описание | С версии
clearCollection | Удаляет все элементы коллекции. | 15.5.1
doFinalAction | Выполняет финальные действия. | 15.5.1
getIndexById | Ищет элемент в коллекции по ID и возвращает его внутренний индекс. | 15.5.1
getItemById | Ищет элемент в коллекции по ID и возвращает его. | 15.5.1
getItemByIndex | Ищет элемент в коллекции по внутреннему индексу и возвращает его. | 17.5.0
isAnyItemDeleted | Проверяет, был ли удален какой-либо элемент коллекции. | 17.5.0
isChanged | Проверяет, была ли изменена коллекция. Возвращает true или false. | 15.5.2
isClone | Проверяет, является ли коллекция клонированной. Возвращает true или false. | 6.0.26
verify | Проверяет коллекцию на корректность. Возвращает объект \Bitrix\Sale\Result. | 17.5.0

Методы класса \Bitrix\Sale\Internals\CollectionBase

Метод | Описание | С версии
count | Возвращает количество элементов объекта. | 15.5.3
current | Возвращает текущий элемент. | 15.5.3
getIterator | Возвращает внешний итератор. | 15.5.3
isEmpty | Проверяет коллекцию на пустоту. Если в коллекции нет элементов, возвращается true (иначе false). | 15.5.3
key | Возвращает индекс текущего элемента коллекции. | 15.5.3
next | Перемещает указатель коллекции вперед на один элемент. | 15.5.3
offsetExists | Определяет, существует или нет заданное смещение (ключ). | 15.5.3
offsetGet | Возвращает заданное смещение (ключ). | 15.5.3
offsetSet | Устанавливает значения для данного смещения. | 15.5.3
offsetUnset | Сбрасывает значение по смещению. | 15.5.3
rewind | Устанавливает указатель на первый элемент коллекции. | 15.5.3
valid | Проверяет, содержит ли коллекция еще элементы. | 15.5.3


createItem

\Bitrix\Sale\BasketItemCollection::createItem($moduleId, $productId, $basketCode = null);

Метод создает товарную позицию и добавляет ее в коллекцию. Нестатический метод.

Возвращает созданный элемент.

Параметры

Параметр | Описание | Версия
$moduleId | Имя модуля. |
$productId | ID товара. |
$basketCode | Код позиции в коллекции. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBasket

\Bitrix\Sale\BasketItemCollection::getBasket();

Абстрактный метод. Возвращает корзину, в которой находится данная коллекция.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBasketItems

\Bitrix\Sale\BasketItemCollection::getBasketItems();

Метод возвращает коллекцию товаров. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getExistsItem

\Bitrix\Sale\BasketItemCollection::getExistsItem($moduleId, $productId, array $properties = array());

Метод возвращает товарную позицию из коллекции (либо null). Нестатический метод.

Возвращает созданный элемент.

Параметры

Параметр | Описание | Версия
$moduleId | ID модуля. |
$productId | PRODUCT_ID товара. |
$properties | Массив свойств. По умолчанию пустой массив. Необязательный. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getItemByBasketCode

\Bitrix\Sale\BasketItemCollection::getItemByBasketCode($code);

Метод возвращает товарную позицию из коллекции по коду товарной позиции. Нестатический метод.

Параметры

Параметр | Описание | Версия
$code | Код позиции в коллекции. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getItemById

\Bitrix\Sale\BasketItemCollection::getItemById($id);

Метод возвращает товарную позицию из коллекции по идентификатору товарной позиции. Нестатический метод.

Параметры

Параметр | Описание | Версия
$id | ID позиции в коллекции. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOrder

\Bitrix\Sale\BasketItemCollection::getOrder();

Метод возвращает заказ, привязанный к корзине. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOrderId

\Bitrix\Sale\BasketItemCollection::getOrderId();

Метод возвращает ID заказа, которому принадлежит коллекция. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


loadFromArray

\Bitrix\Sale\BasketItemCollection::loadFromArray(array $itemList);

Метод загружает товарные позиции из массива. Нестатический метод.

Параметры

Параметр | Описание | Версия
$itemList | Массив с информацией по товарным позициям. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


BusinessValue

BusinessValue - класс для работы с бизнес-смыслами.

Методы класса

Метод | Описание | С версии
get | Метод возвращает значение бизнес-смысла. | 15.5.3
getConsumers | Метод возвращает все зарегистрированные сущности. | 15.5.10
getMapping | Метод возвращает карту настройки (карту) для поля сущности. | 16.0.2
getProviders | Метод возвращает список всех зарегистрированных провайдеров. | 15.5.10
isSetMapping | Метод, проверяющий задано ли для поля соответствие(карта). | 16.0.2
setMapping | Метод, устанавливающий карту для поля (кода) сущности. | 16.0.2


get

mixed public static
\Bitrix\Sale\BusinessValue::get(
 string $codeKey,
 string|null $consumerKey = null,
 \Bitrix\Sale\IBusinessValueProvider|string|integer|null $personTypeId = null,
 mixed $providerInstance = null
);

Метод возвращает значение бизнес-смысла. Метод статический.

Параметры

Параметр | Описание | Версия
$codeKey | Код параметра. |
$consumerKey | Код сущности, для которой получаем значение. | 16.0.2
$personTypeId | Тип плательщика. | 16.0.2
$providerInstance | Объект, реализующий интерфейс IBusinessValueProvider. | 16.0.2

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getConsumers

array public static
\Bitrix\Sale\BusinessValue::getConsumers(
);

Метод возвращает все зарегистрированные сущности. Метод статический.

Без параметров

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMapping

array public static
\Bitrix\Sale\BusinessValue::getMapping(
 string $codeKey,
 string|null $consumerKey = null,
 string|integer|null $personTypeId = null,
 array $options = array()
);

Метод возвращает карту настройки (карту) для поля сущности. Метод статический.

Параметры

Параметр | Описание | Версия
$codeKey | Код поля. |
$consumerKey | Код сущности, для которой получаем значение. |
$personTypeId | Тип плательщика. |
$options | Массив опций. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getProviders

array public static
\Bitrix\Sale\BusinessValue::getProviders(
);

Метод возвращает список всех зарегистрированных провайдеров. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isSetMapping

boolean public static
\Bitrix\Sale\BusinessValue::isSetMapping(
 string $codeKey,
 string|null $consumerKey = null,
 string|integer|null $personTypeId = null
);

Метод, проверяющий задано ли для поля соответствие (карта). Метод статический.

Параметры

Параметр | Описание | Версия
$codeKey | Код поля. |
$consumerKey | Код сущности, для которой получаем значение. |
$personTypeId | Тип плательщика. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setMapping

\Bitrix\Main\Entity\Result public static
\Bitrix\Sale\BusinessValue::setMapping(
 string $codeKey,
 string|null $consumerKey,
 string|integer|null $personTypeId,
 array $mapping,
 boolean $withCommon = false
);

Метод, устанавливающий карту для поля (кода) сущности. Метод статический.

Параметры

Параметр | Описание | Версия
$codeKey | Код поля. |
$consumerKey | Код сущности, для которой получаем значение. |
$personTypeId | Тип плательщика. |
$mapping | Соответствие (карта). |
$withCommon | Флаг, определяющий, использовать ли соответствие как базовое, если для этого поля оно еще не определено. Только для внутреннего использования. |

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Configuration

Configuration - класс для работы с настройками резервирования товаров, складского учета и настройками смены статусов интернет-магазина.

Методы класса

Метод | Описание | С версии
getProductReservationCondition | Возвращает текущее состояние резервирования. | 14.11.12
getProductReserveClearPeriod | Метод возвращает количество дней, через которое надо снимать резервацию у неоплаченного товара. | 14.11.12
getReservationConditionList | Метод возвращает список правил резервирования и списания товаров. | 14.11.12
isEnabledReservation | Метод возвращает флаг использования механизма резервирования товаров. | 14.11.12
isReservationDependsOnShipment | Метод проверяет резервируется ли товар при отгрузке или разрешении отгрузки. | 14.11.12
needAllowDeliveryOnPay | Метод возвращает флаг разрешения доставки при оплате заказа. | 14.11.12
needShipOnAllowDelivery | Метод возвращает true, если разрешена отгрузка при разрешении доставки. | 14.11.12
useStoreControl | Метод возвращает флаг использования складского учета. | 14.11.12


getProductReservationCondition

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Configuration>getProductReservationCondition (доступен с 14.11.12)

Configuration::getProductReservationCondition

string public static
\Bitrix\Sale\Configuration::getProductReservationCondition(
);

Возвращает текущее состояние резервирования. Метод статический.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getProductReserveClearPeriod

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Configuration>getProductReserveClearPeriod (доступен с 14.11.12)

Configuration::getProductReserveClearPeriod

integer public static
\Bitrix\Sale\Configuration::getProductReserveClearPeriod(
);

Метод возвращает количество дней, через которое надо снимать резервацию у неоплаченного товара. Метод статический.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getReservationConditionList

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Configuration>getReservationConditionList (доступен с 14.11.12)

Configuration::getReservationConditionList

array public static
\Bitrix\Sale\Configuration::getReservationConditionList(
 boolean $extendedMode = false
);

Метод возвращает список правил резервирования и списания товаров. Метод статический.

Параметры

Параметр | Описание | Версия
$extendedMode | Формат вывода списка: в кратком или расширенном режиме. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isEnabledReservation

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Configuration>isEnabledReservation (доступен с 14.11.12)

Configuration::isEnabledReservation

boolean public static
\Bitrix\Sale\Configuration::isEnabledReservation(
);

Метод возвращает флаг использования механизма резервирования товаров. Метод статический.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isReservationDependsOnShipment

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Configuration>isReservationDependsOnShipment (доступен с 14.11.12)

Configuration::isReservationDependsOnShipment

boolean public static
\Bitrix\Sale\Configuration::isReservationDependsOnShipment(
);

Метод проверяет резервируется ли товар при отгрузке или разрешении отгрузки. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


needAllowDeliveryOnPay

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Configuration>needAllowDeliveryOnPay (доступен с 14.11.12)

Configuration::needAllowDeliveryOnPay

boolean public static
\Bitrix\Sale\Configuration::needAllowDeliveryOnPay(
);

Метод возвращает флаг разрешения доставки при оплате заказа. Метод статический.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


needShipOnAllowDelivery

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Configuration>needShipOnAllowDelivery (доступен с 14.11.12)

Configuration::needShipOnAllowDelivery

boolean public static
\Bitrix\Sale\Configuration::needShipOnAllowDelivery(
);

Метод возвращает true, если разрешена отгрузка при разрешении доставки. Метод статический.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


useStoreControl

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Configuration>useStoreControl (доступен с 14.11.12)

Configuration::useStoreControl

boolean public static
\Bitrix\Sale\Configuration::useStoreControl(
);

Метод возвращает флаг использования складского учета. Метод статический.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Delivery

Пространство имен \Bitrix\Sale\Delivery содержит классы для работы со службами доставок.

Класс, пространство имен | Описание
CalculationResult | Класс результатов расчёта стоимости доставки.
ExtraServices | Подпространство содержит классы для работы с дополнительными услугами служб доставки.
Helper | Вспомогательный класс для служб доставок.
Restrictions | Пространство используется для работы с ограничениями использования служб доставок.
Services | Пространство содержит классы для работы с дополнительными услугами служб доставок.
Tracking | Пространство содержит классы для работы с номерами и статусами отправлений.


CalculationResult

Описание и константы

CalculationResult - класс результатов расчёта стоимости доставки.

Константы класса (типы сроков доставки)

Константа | Описание
PERIOD_TYPE_MIN | Минуты.
PERIOD_TYPE_HOUR | Часы.
PERIOD_TYPE_DAY | Дни.
PERIOD_TYPE_MONTH | Месяцы.

Методы

Метод | Описание | С версии
getDeliveryPrice | Метод возвращает стоимость доставки. |
getDescription | Метод возвращает пояснения к расчётам, уточнения, дополнительную информацию. |
getExtraServicesPrice | Метод возвращает стоимость дополнительных услуг доставки. |
getPacksCount | Метод возвращает количество коробок, необходимое для отправки груза. |
getPeriodDescription | Метод возвращает описание срока доставки. |
getPeriodFrom | Метод возвращает минимально возможный срок доставки. |
getPeriodTo | Метод возвращает максимально возможный срок доставки. |
getPeriodType | Метод возвращает тип срока доставки. |
getPrice | Метод возвращает стоимость доставки с учётом дополнительных услуг. |
getTmpData | Метод возвращает временную информацию. |
isNextStep | Метод возвращает признак, происходит ли расчёт за несколько шагов. |
setAsNextStep | Метод устанавливает признак того, что расчёт доставки происходит за несколько шагов. |
setDeliveryPrice | Метод устанавливает стоимость доставки. |
setDescription | Метод устанавливает пояснения к расчётам, уточнения, дополнительную информацию. |
setExtraServicesPrice | Метод устанавливает стоимость дополнительных услуг доставки. |
setPacksCount | Метод устанавливает количество коробок, необходимое для отправки груза. |
setPeriodDescription | Метод устанавливает описание срока доставки. |
setPeriodFrom | Метод устанавливает минимально возможный срок доставки. |
setPeriodTo | Метод устанавливает максимально возможный срок доставки. |
setPeriodType | Метод устанавливает тип срока доставки. |
setTmpData | Метод устанавливает временную информацию. |


getDeliveryPrice

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Delivery>CalculationResult>getDeliveryPrice (доступен с 15.0.0)

CalculationResult::getDeliveryPrice

float public static
\Bitrix\Sale\Delivery\CalculationResult::getDeliveryPrice(
 );

Метод возвращает стоимость доставки. Нестатический метод.

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDescription

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Delivery>CalculationResult>getDescription (доступен с 15.0.0)

CalculationResult::getDescription

string public
\Bitrix\Sale\Delivery\CalculationResult::getDescription(
);

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

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getExtraServicesPrice

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Delivery>CalculationResult>getExtraServicesPrice (доступен с 15.0.0)

CalculationResult::getExtraServicesPrice

float public
\Bitrix\Sale\Delivery\CalculationResult::getExtraServicesPrice(
);

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

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPacksCount

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Delivery>CalculationResult>getPacksCount (доступен с 15.0.0)

CalculationResult::getPacksCount

int public
\Bitrix\Sale\Delivery\CalculationResult::getPacksCount(
);

Метод возвращает количество коробок, необходимое для отправки груза. Нестатический метод.

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPeriodDescription

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Delivery>CalculationResult>getPeriodDescription (доступен с 15.0.0)

CalculationResult::getPeriodDescription

string public
\Bitrix\Sale\Delivery\CalculationResult::getPeriodDescription(
);

Метод возвращает описание срока доставки. Нестатический метод.

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPeriodFrom

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Delivery>CalculationResult>getPeriodFrom (доступен с 15.0.0)

CalculationResult::getPeriodFrom

int public
\Bitrix\Sale\Delivery\CalculationResult::getPeriodFrom(
);

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

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPeriodTo

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Delivery>CalculationResult>getPeriodTo (доступен с 15.0.0)

CalculationResult::getPeriodTo

int public
\Bitrix\Sale\Delivery\CalculationResult::getPeriodTo(
);

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

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPeriodType

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Delivery>CalculationResult>getPeriodType (доступен с 15.0.0)

CalculationResult::getPeriodType

int public
\Bitrix\Sale\Delivery\CalculationResult::getPeriodType(
);

Метод возвращает тип срока доставки (\Bitrix\Sale\Delivery\CalculationResult::PERIOD_TYPE_MIN или PERIOD_TYPE_HOUR, PERIOD_TYPE_DAY, PERIOD_TYPE_MONTH). Нестатический метод.

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPrice

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Delivery>CalculationResult>getPrice (доступен с 15.0.0)

CalculationResult::getPrice

float public
\Bitrix\Sale\Delivery\CalculationResult::getPrice(
);

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

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTmpData

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Delivery>CalculationResult>getTmpData (доступен с 15.0.0)

CalculationResult::getTmpData

string public
\Bitrix\Sale\Delivery\CalculationResult::getTmpData(
);

Метод возвращает временную информацию. Нестатический метод.

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isNextStep

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Delivery>CalculationResult>isNextStep (доступен с 15.0.0)

CalculationResult::isNextStep

string public
\Bitrix\Sale\Delivery\CalculationResult::isNextStep(
);

Метод возвращает признак, происходит ли расчёт за несколько шагов. Нестатический метод.

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setAsNextStep

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Delivery>CalculationResult>setAsNextStep (доступен с 15.0.0)

CalculationResult::setAsNextStep

void public
\Bitrix\Sale\Delivery\CalculationResult::setAsNextStep(
);

Метод устанавливает признак того, что расчёт доставки происходит за несколько шагов. Нестатический метод.

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDeliveryPrice

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Delivery>CalculationResult>setDeliveryPrice (доступен с 15.0.0)

CalculationResult::setDeliveryPrice

void public
\Bitrix\Sale\Delivery\CalculationResult::setDeliveryPrice(
 float $price
);

Метод устанавливает стоимость доставки. Нестатический метод.

Параметры

Параметр | Описание | Версия
$price | Стоимость доставки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDescription

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Delivery>CalculationResult>setDescription (доступен с 15.0.0)

CalculationResult::setDescription

void public
\Bitrix\Sale\Delivery\CalculationResult::setDescription(
 string $description
);

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

Параметры

Параметр | Описание | Версия
$description | Описание, пояснение к стоимости. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setExtraServicesPrice

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Delivery>CalculationResult>setExtraServicesPrice (доступен с 15.0.0)

CalculationResult::setExtraServicesPrice

void public
\Bitrix\Sale\Delivery\CalculationResult::setExtraServicesPrice(
 float $price
);

Метод устанавливает стоимость дополнительных услуг доставки. Нестатический метод.

Параметры

Параметр | Описание | Версия
$price | Стоимость дополнительных услуг доставки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setPacksCount

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Delivery>CalculationResult>setPacksCount (доступен с 15.0.0)

CalculationResult::setPacksCount

void public
\Bitrix\Sale\Delivery\CalculationResult::setPacksCount(
 int $count
);

Метод устанавливает количество коробок, необходимое для отправки груза. Нестатический метод.

Параметры

Параметр | Описание | Версия
$count | Количество коробок, необходимое для отправки груза. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setPeriodDescription

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Delivery>CalculationResult>setPeriodDescription (доступен с 15.0.0)

CalculationResult::setPeriodDescription

void public
\Bitrix\Sale\Delivery\CalculationResult::setPeriodDescription(
 string $description
);

Метод устанавливает описание срока доставки. Нестатический метод.

Параметры

Параметр | Описание | Версия
$description | Описание срока доставки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setPeriodFrom

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Delivery>CalculationResult>setPeriodFrom (доступен с 15.0.0)

CalculationResult::setPeriodFrom

void public
\Bitrix\Sale\Delivery\CalculationResult::setPeriodFrom(
 int $periodFrom
);

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

Параметры

Параметр | Описание | Версия
$periodFrom | Минимально возможный срок доставки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setPeriodTo

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Delivery>CalculationResult>setPeriodTo (доступен с 15.0.0)

CalculationResult::setPeriodTo

void public
\Bitrix\Sale\Delivery\CalculationResult::setPeriodTo(
 int $periodTo
);

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

Параметры

Параметр | Описание | Версия
$periodTo | Максимально возможный срок доставки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setPeriodType

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Delivery>CalculationResult>setPeriodType (доступен с 17.0.0)

CalculationResult::setPeriodType

void public
\Bitrix\Sale\Delivery\CalculationResult::setPeriodType(
 int $periodType
);

Метод устанавливает тип срока доставки. Нестатический метод.

Параметры

Параметр | Описание | Версия
$periodType | Тип срока доставки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setTmpData

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Delivery>CalculationResult>setTmpData (доступен с 15.0.0)

CalculationResult::setTmpData

void public
\Bitrix\Sale\Delivery\CalculationResult::setTmpData(
 string $data
);

Метод устанавливает временную информацию. Нестатический метод.

Параметры

Параметр | Описание | Версия
$data | Временная информация. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ExtraServices

Подпространство имен Bitrix\Sale\Delivery\ExtraServices содержит классы для работы с дополнительными услугами служб доставки.

Класс | Описание
Manager | Класс для управления дополнительными услугами.


Manager

Manager - класс для управления дополнительными услугами служб доставки.

Методы класса

Метод | Описание | С версии
Конструктор Manager | Конструктор класса. |
prepareParamsToSave | Метод подготавливает значения полей для сохранения. |


Конструктор Manager

 public
\Bitrix\Sale\Delivery\ExtraServices\Manager::__construct(
 array $initParam,
 string $currency = "",
 array $values = array(),
 array $additionalParams = array()
);

Конструктор класса.

Параметры

Параметр | Описание | Версия
$initParam | Идентификатор службы доставки либо массив значений, аналогичный по структуре таблице b_sale_delivery_es. |
$currency | Код валюты. |
$values | Массив вида array(идентификатор доп. услуги1 => значение1, идентификатор доп. услуги2 => значение2). |
$additionalParams | Массив дополнительных параметров. В настоящий момент не используется. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareParamsToSave

mixed public static
\Bitrix\Sale\Delivery\ExtraServices\Manager::prepareParamsToSave(
  $params
);

Метод подготавливает значения полей для сохранения. Метод статический.

Параметры

Параметр | Описание | Версия
$params | Массив с параметрами полей. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Helper

Helper - вспомогательный класс для служб доставок.

Методы класса

Метод | Описание | С версии
getCurrenciesList | Метод возвращает список валют. | 15.5.1
getGroupChooseControl | Метод возвращает HTML (элемент <select>....</select>) для выбора группы служб доставок из списка. | 15.5.1


getCurrenciesList

array public static
\Bitrix\Sale\Delivery\Helper::getCurrenciesList(
);

Метод возвращает список валют. Метод статический.

Без параметров

Исключения

  • \Bitrix\Main\SystemException
  • \Bitrix\Main\LoaderException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getGroupChooseControl

string public static
\Bitrix\Sale\Delivery\Helper::getGroupChooseControl(
 integer|string $selectedGroupId,
 string $name,
 string $addParams = "",
 boolean $anyGroup = false
);

Метод возвращает HTML (элемент <select>....</select>) для выбора группы служб доставок из списка. Метод статический.

Параметры

Параметр | Описание | Версия
$selectedGroupId | Выбранная группа. |
$name | Название группы. |
$addParams | Дополнительные параметры для выбора тега. |
$anyGroup | Позволяет выбрать только одну группу. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Requests

Подпространство имен \Bitrix\Sale\Delivery\Requests используется для работы с транспортными заявками в службы доставки.

Класс | Описание
HandlerBase | Базовый класс для работы с транспортными заявками.
RequestTable | Класс для работы с таблицей транспортных заявок.
ShipmentTable | Класс для работы с таблицей отгрузок, входящих в заявки.


HandlerBase

HandlerBase - базовый класс для работы с транспортными заявками.

Методы класса

Метод | Описание | С версии
Конструктор HandlerBase | Конструктор класса. | 17.6.0
addShipments | Метод добавляет отгрузку в транспортную заявку. | 17.6.0
create | Метод создает транспортную заявку. | 17.6.0
delete | Метод удаляет транспортную заявку. | 17.6.0
deleteShipments | Метод удаляет отгрузку(-и) из заявки. | 17.6.0
executeAction | Метод выполняет действие actionType с заявкой requestId. | 17.6.0
executeShipmentAction | Метод выполняет действие actionType с отгрузкой shipmentId из заявки requestId. | 17.6.0
getContent | Метод возвращает содержание заявки. | 17.6.0
getFormFields | Метод возвращает массив полей с дополнительной информацией, необходимой при создании или выполнении действий с заявкой. | 17.6.0
getHandlingDeliveryServiceId | Метод возвращает службу заявки, в которую переданы заявки. | 17.6.0
getShipmentContent | Метод возвращает содержание отгрузки, входящей в заявку. | 17.6.0
updateShipments | Метод обновляет информацию об отгрузке(-ах) в заявке. | 17.6.0


addShipments

\Bitrix\Sale\Delivery\Requests\Result public
\Bitrix\Sale\Delivery\Requests\HandlerBase::addShipments(
 integer $requestId,
 array $shipmentIds
);

Метод добавляет отгрузки в транспортную заявку. Нестатический метод.

Параметры

Параметр | Описание | Версия
$requestId | Идентификатор заявки. |
$shipmentIds | Массив идентификаторов или идентификатор отгрузки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


create

\Bitrix\Sale\Delivery\Requests\Result public
\Bitrix\Sale\Delivery\Requests\HandlerBase::create(
 array $shipmentIds,
 array $additional = array()
);

Метод создает транспортную заявку. Нестатический метод.

Параметры

Параметр | Описание | Версия
$shipmentIds | Массив идентификаторов или идентификатор отгрузки. |
$additional | Массив дополнительных параметров. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delete

\Bitrix\Sale\Delivery\Requests\Result public
\Bitrix\Sale\Delivery\Requests\HandlerBase::delete(
 integer $requestId
);

Метод удаляет транспортную заявку. Нестатический метод.

Параметры

Параметр | Описание | Версия
$requestId | Идентификатор удаляемой заявки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteShipments

\Bitrix\Sale\Delivery\Requests\Result public
\Bitrix\Sale\Delivery\Requests\HandlerBase::deleteShipments(
 integer $requestId,
 array $shipmentIds = array()
);

Метод удаляет отгрузку(-и) из заявки. Нестатический метод.

Параметры

Параметр | Описание | Версия
$requestId | Идентификатор заявки. |
$shipmentIds | Массив идентификаторов или идентификатор отгрузки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


executeAction

\Bitrix\Sale\Delivery\Requests\Result public
\Bitrix\Sale\Delivery\Requests\HandlerBase::executeAction(
 integer $requestId,
 string $actionType,
 array $additional
);

Метод выполняет действие actionType с заявкой requestId. Нестатический метод.

Параметры

Параметр | Описание | Версия
$requestId | Идентификатор заявки. |
$actionType | Тип действия. |
$additional | Массив дополнительных параметров. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


executeShipmentAction

\Bitrix\Sale\Delivery\Requests\Result public
\Bitrix\Sale\Delivery\Requests\HandlerBase::executeShipmentAction(
 integer $requestId,
 integer $shipmentId,
 string $actionType,
 array $additional
);

Метод выполняет действие actionType с отгрузкой shipmentId из заявки requestId. Нестатический метод.

Параметры

Параметр | Описание | Версия
$requestId | Идентификатор заявки. |
$shipmentId | Идентификатор отгрузки. |
$actionType | Тип действия. |
$additional | Массив дополнительных параметров. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getContent

\Bitrix\Sale\Delivery\Requests\Result public
\Bitrix\Sale\Delivery\Requests\HandlerBase::getContent(
 integer $requestId
);

Метод возвращает содержание заявки. Нестатический метод.

Параметры

Параметр | Описание | Версия
$requestId | Идентификатор заявки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFormFields

array public
\Bitrix\Sale\Delivery\Requests\HandlerBase::getFormFields(
 string $formFieldsType,
 array $shipmentIds,
 array $additional = array()
);

Метод возвращает массив полей с дополнительной информацией, необходимой при создании или выполнении действий с заявкой. Нестатический метод.

Параметры

Параметр | Описание | Версия
$formFieldsType | Тип полей (FORM_FIELDS_TYPE_CREATE | FORM_FIELDS_TYPE_ADD | FORM_FIELDS_TYPE_ACTION). |
$shipmentIds | Массив идентификаторов или идентификатор отгрузки. |
$additional | Массив дополнительных параметров. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getHandlingDeliveryServiceId

integer public
\Bitrix\Sale\Delivery\Requests\HandlerBase::getHandlingDeliveryServiceId(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getShipmentContent

\Bitrix\Sale\Delivery\Requests\Result. public
\Bitrix\Sale\Delivery\Requests\HandlerBase::getShipmentContent(
 integer $requestId,
 integer $shipmentId
);

Метод возвращает содержание отгрузки, входящей в заявку. Нестатический метод.

Параметры

Параметр | Описание | Версия
$requestId | Идентификатор транспортной заявки. |
$shipmentId | Идентификатор отгрузки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


updateShipments

\Bitrix\Sale\Delivery\Requests\Result public
\Bitrix\Sale\Delivery\Requests\HandlerBase::updateShipments(
 integer $requestId,
 array $shipmentIds = array()
);

Метод обновляет информацию об отгрузке(-ах) в заявке. Нестатический метод.

Параметры

Параметр | Описание | Версия
$requestId | Идентификатор заявки. |
$shipmentIds | Массив идентификаторов или идентификатор отгрузки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор HandlerBase

 public
\Bitrix\Sale\Delivery\Requests\HandlerBase::__construct(
 \Bitrix\Sale\Delivery\Services\Base $deliveryService
);

Конструктор класса. Нестатический метод.

Параметры

Параметр | Описание | Версия
$deliveryService | Объект службы доставки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


RequestTable

RequestTable - класс для работы с таблицей транспортных заявок.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы транспортных заявок. | 17.6.0
getTableName | Метод возвращает название таблицы транспортных заявок в базе данных. | 17.6.0
validateExternalId | Метод возвращает валидатор для поля EXTERNAL_ID. | 17.6.0


getMap

array public static
\Bitrix\Sale\Delivery\Requests\RequestTable::getMap(
);

Метод возвращает список полей для таблицы транспортных заявок. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Sale\Delivery\Requests\RequestTable::getTableName(
);

Метод возвращает название таблицы транспортных заявок в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateExternalId

array public static
\Bitrix\Sale\Delivery\Requests\RequestTable::validateExternalId(
);

Метод возвращает валидатор для поля EXTERNAL_ID. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ShipmentTable

ShipmentTable - класс для работы с таблицей отгрузок, входящих в заявки.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы отгрузок, входящих в заявки. | 17.6.0
getTableName | Метод возвращает название таблицы отгрузок, входящих в заявки. | 17.6.0


getMap

array public static
\Bitrix\Sale\Delivery\Requests\ShipmentTable::getMap(
);

Метод возвращает список полей для таблицы отгрузок, входящих в заявки. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Sale\Delivery\Requests\ShipmentTable::getTableName(
);

Метод возвращает название таблицы отгрузок, входящих в заявки. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Restrictions

Подпространство имен \Bitrix\Sale\Delivery\Restriction используется для работы с ограничениями использования служб доставок.

Класс | Описание
ByLocation | Класс для работы с ограничениями по местоположениям.
Manager | Класс для управления ограничениями служб доставок.


ByLocation

ByLocation - класс для работы с ограничениями по местоположениям.

Методы класса

Метод | Описание | С версии
check | Метод проверяет, подходит ли служба доставки для данного местоположения. | 15.5.1


check

 public static
\Bitrix\Sale\Delivery\Restrictions\ByLocation::check(
integer $locationCode,
array $restrictionParams,
integer $deliveryId = 0
);

Метод проверяет, подходит ли служба доставки для данного местоположения. Метод статический.

Параметры

Параметр | Описание | Версия
$locationCode | Код местоположения. |
$restrictionParams | Параметры ограничения. |
$deliveryId | Идентификатор доставки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Manager

Manager - класс для управления ограничениями служб доставок.

Методы класса

Метод | Описание | С версии
getRestrictedIds | Метод возвращает идентификаторы служб доставки, которые проходят по ограничениям. |


getRestrictedIds

array public static
\Bitrix\Sale\Delivery\Restrictions\Manager::getRestrictedIds(
 \Bitrix\Sale\Shipment|null $shipment = null,
 integer $restrictionMode
);

Метод возвращает идентификаторы служб доставки, которые проходят по ограничениям. Метод статический.

Параметры

Параметр | Описание | Версия
$shipment | Объект \Bitrix\Sale\Shipment. |
$restrictionMode | Режим ограничения. |

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Services

Подпространство имен \Bitrix\Sale\Delivery\Services содержит классы для работы с дополнительными услугами служб доставок.

Класс | Описание
Base | Базовый класс для работы со службами доставки.
Manager | Класс для управления службами доставок.


Base

\Bitrix\Sale\Delivery\Services\Base - базовый класс для работы со службами доставки.

Методы класса

Метод | Описание | С версии
calculate | Метод рассчитывает стоимость доставки. | 15.5.1
getClassDescription | Метод возвращает описание класса для административного интерфейса. | 15.5.1
execAdminAction | Метод выполняет, если необходимо, некоторый код на странице редактирования службы доставки. | 16.0.9
getAdminMessage | Метод отображает языковое сообщение на странице редактирования службы доставки. | 16.0.9
getClassTitle | Метод возвращает название класса для административного интерфейса. | 15.5.1
getSupportedServicesList | Метод возвращает список названий поддерживаемых служб доставки. | 16.0.33
getTrackingClass | Метод возвращает класс обработчика отслеживания отправлений. | 15.5.1
setTrackingClass | Метод устанавливает класс обработчика отслеживания отправлений. | 15.5.1
Конструктор Base | Конструктор класса. | 15.5.1


calculate

\Bitrix\Sale\Delivery\CalculationResult public
\Bitrix\Sale\Delivery\Services\Base::calculate(
 \Bitrix\Sale\Shipment $shipment.,
 array $extraServices.
);

Метод рассчитывает стоимость доставки. Метод статический.

Параметры

Параметр | Описание | Версия
$shipment. | Экземпляр класса \Bitrix\Sale\Shipment. |
$extraServices. | Массив дополнительных услуг вида array($service1Id => $service1Value, $service2Id => $service2Value, .....). | 16.0.0

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


execAdminAction

\Bitrix\Sale\Result public
\Bitrix\Sale\Delivery\Services\Base::execAdminAction(
);

Метод выполняет, если необходимо, некоторый код на странице редактирования службы доставки. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAdminMessage

array public
\Bitrix\Sale\Delivery\Services\Base::getAdminMessage(
);

Метод отображает языковое сообщение на странице редактирования службы доставки. Нестатический метод.

Без параметров

См. также

  • CAdminMessage

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getClassDescription

string public static
\Bitrix\Sale\Delivery\Services\Base::getClassDescription(
);

Метод возвращает описание класса для административного интерфейса. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getClassTitle

string public static
\Bitrix\Sale\Delivery\Services\Base::getClassTitle(
);

Метод возвращает название класса для административного интерфейса. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSupportedServicesList

array public static
\Bitrix\Sale\Delivery\Services\Base::getSupportedServicesList(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTrackingClass

string public
\Bitrix\Sale\Delivery\Services\Base::getTrackingClass(
);

Метод возвращает класс обработчика отслеживания отправлений \Bitrix\Sale\Delivery\Tracking\Base. Нестатический метод.

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setTrackingClass

void public
\Bitrix\Sale\Delivery\Services\Base::setTrackingClass(
string $class
);

Метод устанавливает класс обработчика отслеживания отправлений. Нестатический метод.

Параметры

Параметр | Описание | Версия
$class | Класс обработчика отслеживания отправлений. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор Base

 public
\Bitrix\Sale\Delivery\Services\Base::__construct(
 array $initParams
);

Конструктор класса.

Параметры

Параметр | Описание | Версия
$initParams | Массив параметров дополнительной услуги доставки. |

Исключения

  • \Bitrix\Main\ArgumentNullException
  • \Bitrix\Main\ArgumentTypeException
  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Manager

Manager - класс для управления службами доставок.

Методы класса

Метод | Описание | С версии
add | Метод добавляет службу доставки. | 16.0.0
calculateDeliveryPrice | Метод рассчитывает стоимость доставки. | 16.0.0
checkServiceUsage | Метод проверяет, используется или нет данная служба доставки и её потомки (например, профили) в отгрузках. | 16.0.0
delete | Метод удаляет службу доставки. | 16.0.0
getActiveList | Метод возвращает возвращает массив с активными службами доставок и их параметрами. | 16.0.0
getById | Метод возвращает массив параметров службы доставки. | 16.0.2
getGroupId | Метод возвращает идентификатор группы служб доставок по ее названию. | 15.5.1
getLocationConnectorEntityName | Метод возвращает название ссылки сущности для связи с местоположениями. | 15.5.1
setChildrenFieldsValues | Метод устанавливает значения полей для всех потомков (профилей) службы доставки. | 16.0.0
update | Метод обновляет параметры службы доставки. | 16.0.0


add

\Bitrix\Main\Entity\AddResult public static
\Bitrix\Sale\Delivery\Services\Manager::add(
 array $fields
);

Метод добавляет службу доставки. Метод статический.

Параметры

Параметр | Описание | Версия
$fields | Массив с параметрами службы. |

Исключения

  • \Bitrix\Main\SystemException
  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


calculateDeliveryPrice

\Bitrix\Sale\Delivery\CalculationResult public static
\Bitrix\Sale\Delivery\Services\Manager::calculateDeliveryPrice(
 \Bitrix\Sale\Shipment $shipment,
 integer $deliveryId,
 array $extraServices = array()
);

Метод рассчитывает стоимость доставки. Метод статический.

Параметры

Параметр | Описание | Версия
$shipment | Экземпляр класса \Bitrix\Sale\Shipment. |
$deliveryId | Идентификатор доставки. Необязательный. |
$extraServices | Массив параметров дополнительных услуг. Необязательный. |

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkServiceUsage

\Bitrix\Sale\Result public static
\Bitrix\Sale\Delivery\Services\Manager::checkServiceUsage(
  $deliveryId
);

Метод проверяет, используется или нет данная служба доставки и её потомки (например, профили) в отгрузках. Если используется, то такая служба удалена не будет. Метод статический.

Параметры

Параметр | Описание | Версия
$deliveryId | Идентификатор службы доставки. |

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delete

\Bitrix\Main\Result public static
\Bitrix\Sale\Delivery\Services\Manager::delete(
 integer $id
);

Метод удаляет службу доставки. Метод статический.

Параметры

Параметр | Описание | Версия
$id | Идентификатор службы. |

Исключения

  • \Bitrix\Main\ArgumentNullException
  • \Bitrix\Main\SystemException
  • \Bitrix\Main\ArgumentException
  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getActiveList

array public static
\Bitrix\Sale\Delivery\Services\Manager::getActiveList(
);

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

Без параметров

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getById

array public static
\Bitrix\Sale\Delivery\Services\Manager::getById(
 integer $deliveryId
);

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

Параметры

Параметр | Описание | Версия
$deliveryId | Идентификатор службы. |

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

Параметр | Описание
ID | Идентификатор службы
CODE | Символьный код службы
PARENT_ID | Идентификатор родителя
NAME | Название
ACTIVE | Активность
DESCRIPTION | Описание
SORT | Индекс сортировки
LOGOTIP | Логотип
CONFIG | Настройки службы доставки
CURRENCY | Валюта
CLASS_NAME | Класс обработчика службы доставки
TRACKING_PARAMS | Параметры необходимы для отслеживания отправок
ALLOW_EDIT_SHIPMENT | Разрешено ли Автоматическое изменение отгрузки, находящейся в первоначальном статусе, при изменении заказа
VAT_ID | Идентификатор ставки НДС

Исключения

  • \Bitrix\Main\SystemException
  • \Bitrix\Main\ArgumentException

Примеры

$deliveryAr = \Bitrix\Sale\Delivery\Services\Manager::getById($deliveryId);


getGroupId

integer public static
\Bitrix\Sale\Delivery\Services\Manager::getGroupId(
 string $name
);

Метод возвращает идентификатор группы служб доставок по ее названию. Если группы с таким названием не существует, то она будет создана. Метод статический.

Параметры

Параметр | Описание | Версия
$name | Название группы. |

Исключения

  • \Bitrix\Main\SystemException
  • \Bitrix\Main\ArgumentException
  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLocationConnectorEntityName

string public static
\Bitrix\Sale\Delivery\Services\Manager::getLocationConnectorEntityName(
);

Метод возвращает название ссылки сущности для связи с местоположениями. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setChildrenFieldsValues

integer public static
\Bitrix\Sale\Delivery\Services\Manager::setChildrenFieldsValues(
 integer $id,
 array $fields
);

Метод устанавливает значения полей для всех потомков (профилей) службы доставки. Метод статический.

Параметры

Параметр | Описание | Версия
$id | Идентификатор службы доставки. |
$fields | Массив со значениями полей. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


update

\Bitrix\Main\Entity\UpdateResult public static
\Bitrix\Sale\Delivery\Services\Manager::update(
 integer $id,
 array $fields
);

Метод обновляет параметры службы доставки. Метод статический.

Параметры

Параметр | Описание | Версия
$id | Идентификатор службы доставки. |
$fields | Массив с новыми параметрами службы. |

Исключения

  • \Bitrix\Main\SystemException
  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Tracking

Подпространство имен \Bitrix\Sale\Delivery\Tracking содержит классы для работы с номерами и статусами отправлений.

Класс | Описание
Base | Базовый класс для работы с трекингом.
Manager | Класс для управления трекингом.
StatusChangeEventParam | Класс содержит структуру данных, используемой для передачи данных об изменениях статусов прочтовых отправлений.
Statuses | Класс содержит статусы почтовых отправлений.


StatusChangeEventParam

Класс \Bitrix\Sale\Delivery\Tracking\StatusChangeEventParam содержит структуру данных, используемой для передачи данных об изменениях статусов прочтовых отправлений.

Структура данных

Параметр | Тип | Описание
$status | int | Статус отправления, одно из значений \Bitrix\Sale\Delivery\Tracking\Statuses.
$description | string | Описание статуса.
$trackingNumber | string | Номер отправления.
$orderId | int | Идентификатор заказа.
$shipmentId | int | Идентификатор отгрузки.
$deliveryId | int | Идентификатор службы доставки.


Statuses

Класс \Bitrix\Sale\Delivery\Tracking\Statuses содержит статусы почтовых отправлений.

Константы класса

Константа | Описание
NO_INFORMATION | Информация отсутствует.
WAITING_SHIPMENT | Ожидает отправления.
ON_THE_WAY | В пути.
ARRIVED | Прибыло в пункт назначения.
HANDED | Вручено адресату.
PROBLEM | Возникла проблема.
UNKNOWN | Неизвестный статус.
RETURNED | Возвращено.


Base

Base - базовый класс для работы с трекингом.

Методы класса

Метод | Описание | С версии
getClassDescription | Метод возвращает описание класса для административного интерфейса. | 15.5.1
getClassTitle | Метод возвращает название класса для административного интерфейса. | 15.5.1
getParamsStructure | Метод возвращает массив параметров. | 15.5.12


getClassDescription

string public
\Bitrix\Sale\Delivery\Tracking\Base::getClassDescription(
);

Метод возвращает описание класса для административного интерфейса. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getClassTitle

string public
\Bitrix\Sale\Delivery\Tracking\Base::getClassTitle(
);

Метод возвращает название класса для административного интерфейса. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getParamsStructure

array public
\Bitrix\Sale\Delivery\Tracking\Base::getParamsStructure(
);

Метод возвращает массив параметров. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Manager

Manager - класс для управления трекингом.

Методы класса

Метод | Описание | С версии
getClassNames | Метод возвращает список классов, которые могут быть использованы для работы с номерами и статусами отправлений. | 15.5.12
startRefreshingStatuses | Метод запускает обновление статусов отправлений. | 15.5.12


getClassNames

array public
\Bitrix\Sale\Delivery\Tracking\Manager::getClassNames(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


startRefreshingStatuses

 public static
\Bitrix\Sale\Delivery\Tracking\Manager::startRefreshingStatuses(
);

Метод запускает обновление статусов отправлений. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Discount

Пространство имен \Bitrix\Sale\Discount содержит подпространства, классы и методы для расчета всех скидок (каталога и магазина) и округления цен для корзины или заказа.

Пространство имен | Описание
Formatter | Класс предназначен для генерации описаний как самих правил корзины, так и их результатов.
Gift | Содержит классы для работы с подарками.

Методы

Метод | Описание | С версии | До версии
buildFromBasket | Метод устанавливает пользовательский контекст для вычисления скидок. | 17.0.11 |
calculate | Метод для полного расчета всех скидок. | 15.5.0 |
clearBasketItemData | Метод удаляет внутренний кеш данных по позиции корзины. Вызывается при удалении позиции из корзины. | 15.5.0 |
getApplyMode | Метод возвращает режим взаимодействия правил корзины со скидками остальных модулей для заказа. | 15.5.0 |
getApplyModeList | Метод возвращает перечень режимов взаимодействия правил корзины со скидками остальных модулей. | 15.5.0 |
getApplyResult | Метод возвращает все результаты расчета, включая итоговые и базовые (исходные) цены корзины и доставки, перечень примененных скидок, правил корзины и купонов, флаги применения (вкл/выкл). | 15.5.0 |
getOrder | Метод возвращает объект заказа. | 15.5.0 |
getShipmentsIds | Метод возвращает список идентификаторов отгрузок для существующего заказа. | 15.5.0 |
getUseMode | Метод возвращает текущий режим расчета всех скидок и правил для заказа/корзины. | 15.5.0 |
isClone | Метод возвращает true, если обращение идет к клонированному объекту скидок. | 16.0.26 |
isOrderExists | Метод возвращает флаг существования заказа (true/false), поскольку расчет может вестись для корзины без заказа. | 16.0.2 |
isOrderNew | Метод возвращает флаг того, что заказ является новым, т.е. у заказа еще нет идентификатора. | 16.0.2 |
isOrderRefresh | Метод возвращает флаг полного пересчета заказа. | 16.0.25 |
load | Метод возвращает инициализированный объект скидок для переданного объекта заказа. | 15.5.0 | 17.0.11
loadByBasket | Метод возвращает инициализированный объект скидок для переданного объекта корзины товаров, не привязанной к заказу. | 16.0.10 | 17.0.11
loadByFuser | Метод возвращает инициализированный объект скидок для комбинации $fuser и $site. | 16.0.10 |
save | Метод сохраняет результаты применения к заказу скидок и правил округлений. | 15.5.0 |
setApplyResult | Метод позволяет указать, какие из выбранных скидок и правил исключить из расчета. | 15.5.0 |
setCalculateShipments | Метод устанавливает отгрузку для проведения расчетов. | 15.5.0 |
setOrder | Метод необходим, если для объекта корзины производились вычисления скидок, после чего она была привязана к заказу. | 16.0.10 |
setOrderRefresh | Метод устанавливает флаг пересчета заказа в административной форме редактирования. | 16.0.25 |
setUseMode | Метод устанавливает режим расчета всех скидок и правил для заказа/корзины. | 15.5.0 |


buildFromBasket

mixed|null public static
\Bitrix\Sale\Discount::buildFromBasket(
 \Bitrix\Sale\Basket $basket,
 \Bitrix\Sale\Discount\Context\BaseContext $context
);

Метод возвращает объект скидок для корзины с произвольным (не текущим) контекстом пользователя. Метод статический.

Параметры

Параметр | Описание | Версия
$basket | Объект корзины товаров. |
$context | Объект пользовательского контекста. |

Исключения

  • \Bitrix\Main\InvalidOperationException


calculate

\Bitrix\Sale\Result public
\Bitrix\Sale\Discount::calculate(
);

Метод для полного расчета всех скидок. Нестатический метод.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearBasketItemData

void public
\Bitrix\Sale\Discount::clearBasketItemData(
 integer|string $code
);

Метод удаляет внутренний кеш данных по позиции корзины. Вызывается при удалении позиции из корзины. Нестатический метод.

Параметры

Параметр | Описание | Версия
$code | Код корзины. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getApplyMode

integer public static
\Bitrix\Sale\Discount::getApplyMode(
);

Метод возвращает режим взаимодействия правил корзины со скидками остальных модулей для заказа. Для нового заказа берет из настроек модуля, для существующего - из данных заказа. При использовании только скидок магазина не имеет смысла. Метод статический.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getApplyModeList

array public static
\Bitrix\Sale\Discount::getApplyModeList(
 boolean $extendedMode = false
);

Метод возвращает перечень режимов взаимодействия правил корзины со скидками остальных модулей. Метод статический.

Параметры

Параметр | Описание | Версия
$extendedMode | Если параметр принимает значение true, то перечень будет возвращен вместе с названиями режимов. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getApplyResult

array public
\Bitrix\Sale\Discount::getApplyResult(
 boolean $extMode = false
);

Метод возвращает все результаты расчета, включая итоговые и базовые (исходные) цены корзины и доставки, перечень примененных скидок, правил корзины и купонов, флаги применения (вкл/выкл). Нестатический метод.

Параметры

Параметр | Описание | Версия
$extMode | Если параметр принимает true, то результаты будут возвращены в расширенном виде. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOrder

\Bitrix\Sale\Order|null public
\Bitrix\Sale\Discount::getOrder(
);

Метод возвращает объект заказа. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getShipmentsIds

array public
\Bitrix\Sale\Discount::getShipmentsIds(
);

Метод возвращает список идентификаторов отгрузок для существующего заказа. На текущий момент в заказе всегда одна отгрузка. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUseMode

integer public
\Bitrix\Sale\Discount::getUseMode(
);

Метод возвращает текущий режим расчета всех скидок и правил для заказа/корзины. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isClone

boolean public
\Bitrix\Sale\Discount::isClone(
);

Метод возвращает true, если обращение идет к клонированному объекту скидок. Необходим, например, для массовых расчетов стоимости доставок. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isOrderExists

boolean public
\Bitrix\Sale\Discount::isOrderExists(
);

Метод возвращает флаг существования заказа (true/false), поскольку расчет может вестись для корзины без заказа. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isOrderNew

boolean public
\Bitrix\Sale\Discount::isOrderNew(
);

Метод возвращает флаг того, что заказ является новым, т.е. у заказа еще нет идентификатора. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isOrderRefresh

boolean public
\Bitrix\Sale\Discount::isOrderRefresh(
);

Метод возвращает флаг полного пересчета заказа. Используется в форме редактирования заказа и имеет смысл только для уже сохраненного (имеющего идентификатор) заказа. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


load

\Bitrix\Sale\Discount public static
\Bitrix\Sale\Discount::load(
 \Bitrix\Sale\Order $order
);

Метод возвращает инициализированный объект скидок для переданного объекта заказа. Метод статический.

Параметры

Параметр | Описание | Версия
$order | Объект заказа. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


loadByBasket

\Bitrix\Sale\Discount public static
\Bitrix\Sale\Discount::loadByBasket(
 \Bitrix\Sale\Basket $basket
);

Метод возвращает инициализированный объект скидок для переданного объекта корзины товаров, не привязанной к заказу (имеет смысл только для публичного раздела сайта). Метод статический.

Параметры

Параметр | Описание | Версия
$basket | Объект корзины товаров. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


loadByFuser

null|\Bitrix\Sale\Discount public static
\Bitrix\Sale\Discount::loadByFuser(
 string|integer $fuser,
 string $site
);

Метод возвращает инициализированный объект скидок для комбинации $fuser и $site. Метод статический.

Параметры

Параметр | Описание | Версия
$fuser | Идентификатор посетителя в магазине. |
$site | Идентификатор сайта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


save

\Bitrix\Sale\Result public
\Bitrix\Sale\Discount::save(
);

Метод сохраняет результаты применения к заказу скидок и правил округлений. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setApplyResult

void public
\Bitrix\Sale\Discount::setApplyResult(
 array $applyResult
);

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

Параметры

Параметр | Описание | Версия
$applyResult | Массив выбранных скидок. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setCalculateShipments

void public
\Bitrix\Sale\Discount::setCalculateShipments(
 \Bitrix\Sale\Shipment $shipment = null
);

Метод устанавливает отгрузку для проведения расчетов. Нестатический метод.

Параметры

Параметр | Описание | Версия
$shipment | Текущая отгрузка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setOrder

\Bitrix\Sale\Discount public static
\Bitrix\Sale\Discount::setOrder(
 \Bitrix\Sale\Basket $basket
);

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

Параметры

Параметр | Описание | Версия
$basket | Объект корзины. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setOrderRefresh

void public
\Bitrix\Sale\Discount::setOrderRefresh(
 boolean $state
);

Метод устанавливает флаг пересчета заказа в административной форме редактирования. Нестатический метод.

Параметры

Параметр | Описание | Версия
$state | Параметр определяет устанавливать флаг или нет. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setUseMode

void public
\Bitrix\Sale\Discount::setUseMode(
 integer $useMode
);

Метод устанавливает режим расчета всех скидок и правил для заказа/корзины. Метод статический.

Параметры

Параметр | Описание | Версия
$useMode | Режим расчета. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Formatter

Formatter - класс предназначен для генерации описаний как самих правил корзины, так и их результатов.

Методы класса

Метод | Описание | С версии
clearErrors | Метод сбрасывает ошибки. | 18.0.0
formatList | Метод генерирует описание списка действия для вывода. | 18.0.0
formatRow | Метод генерирует описание одного действия для вывода. | 18.0.0
getErrors | Метод возвращает список ошибок, возникших при генерации описания. | 18.0.0
prepareRow | Метод проверяет описание на соответствие формату (наличие всех полей, необходимых для описания, удаление лишних). | 18.0.0


clearErrors

void public static
\Bitrix\Sale\Discount\Formatter::clearErrors(
);

Метод сбрасывает ошибки. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


formatList

array|null public static
\Bitrix\Sale\Discount\Formatter::formatList(
 array $actionList
);

Метод генерирует описание списка действия для вывода. Метод статический.

Параметры

Параметр | Описание | Версия
$actionList | Список действий. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


formatRow

null|string public static
\Bitrix\Sale\Discount\Formatter::formatRow(
 array $action
);

Метод генерирует описание одного действия для вывода. Метод статический.

Параметры

Параметр | Описание | Версия
$action | Описание действия. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrors

array public static
\Bitrix\Sale\Discount\Formatter::getErrors(
);

Метод возвращает список ошибок, возникших при генерации описания. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareRow

null|array public static
\Bitrix\Sale\Discount\Formatter::prepareRow(
 integer $type,
 array|string $data
);

Метод проверяет описание на соответствие формату (наличие всех полей, необходимых для описания, удаление лишних). Метод статический.

Параметры

Параметр | Описание | Версия
$type | Тип описания действия. |
$data | Данные описания действия. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Gift

Подпространство имен \Bitrix\Sale\Discount\Gift содержит классы для работы с подарками.

Класс | Описание
Manager | Класс для работы с подарками к товарам при расчетах.


Manager

Manager - класс для работы с подарками к товарам при расчетах.

Методы класса

Метод | Описание | С версии
existsDiscountsWithGift | Метод возвращает true, если существуют правила работы с корзиной, по которым предоставляется подарок. | 16.0.0
getCollectionsByBasket | Метод возвращает список коллекций подарков к корзине. | 16.0.0
getCollectionsByProduct | Метод возвращает список коллекций подарков к товару в корзине. | 16.0.0
getInstance | Метод возвращает паттерн Singleton менеджера подарков. | 15.5.12
isContainGiftAction | Метод возвращает true, если правило работы с корзиной содержит действие с подарком. | 16.0.0
isGift | Метод возвращает true, если товар является подарком к корзине покупателя. | 16.0.0


existsDiscountsWithGift

boolean public
\Bitrix\Sale\Discount\Gift\Manager::existsDiscountsWithGift(
);

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

Без параметров

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCollectionsByBasket

array public
\Bitrix\Sale\Discount\Gift\Manager::getCollectionsByBasket(
 \Bitrix\Sale\Basket $basket,
 array|null $discounts = null,
 array|null $appliedDiscounts = null
);

Метод возвращает список коллекций подарков к корзине. Если правило к корзине не применяется, то на выдачу идет пустой массив. Нестатический метод.

Для повышения производительности вы можете указать аргументы $discounts и $appliedDiscounts, которые передаются корзине.

Параметры

Параметр | Описание | Версия
$basket | Корзина. |
$discounts | Список скидок, подходящих для применения к корзине. |
$appliedDiscounts | Список скидок, успешно применившихся к корзине. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCollectionsByProduct

array|null public
\Bitrix\Sale\Discount\Gift\Manager::getCollectionsByProduct(
 \Bitrix\Sale\Basket $basket,
 array $product
);

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

Если корзина пуста, то сначала вычисляются подарки без товара. Затем после добавления товара в корзину рассчитываются подарки и проводится сравнение с предыдущим набором подарков. Если в результате сравнения имеется разница, то метод возвращает массив подарков к товару, а в противном случае - пустой массив.

Параметры

Параметр | Описание | Версия
$basket | Корзина. |
$product | Массив параметров товара. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getInstance

\Bitrix\Sale\Discount\Gift\Manager public static
\Bitrix\Sale\Discount\Gift\Manager::getInstance(
);

Метод возвращает объект (Singleton) менеджера подарков. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isContainGiftAction

boolean public
\Bitrix\Sale\Discount\Gift\Manager::isContainGiftAction(
 array $discount
);

Метод возвращает true, если правило работы с корзиной содержит действие с подарком. Нестатический метод.

Параметры

Параметр | Описание | Версия
$discount | Массив параметров правила. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isGift

boolean|null public
\Bitrix\Sale\Discount\Gift\Manager::isGift(
 \Bitrix\Sale\Basket $basket,
 array $product
);

Метод возвращает true, если товар является подарком к корзине покупателя. Нестатический метод.

Параметры

Параметр | Описание | Версия
$basket | Корзина. |
$product | Массив параметров товара. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DiscountCouponsManager

DiscountCouponsManager - класс для работы с купонами при расчетах.

Методы класса

Метод | Описание | С версии
add | Метод добавляет купон, чтобы учесть его в расчетах. | 14.11.0
clear | Метод убирает введенные купоны на текущем хите. | 14.11.0
clearApply | Метод убирает примененные данные купонов. | 15.5.1
clearApplyCoupon | Метод убирает примененные данные купона. | 15.5.1
clearByOrder | Метод убирает введенные купоны в заказе. | 15.5.1
clearErrors | Метод очищает список ошибок. | 14.11.0
delete | Метод удаляет купон из проводимых расчетов. | 14.11.0
deleteApplyByProduct | Метод убирает примененную информацию для товара. | 14.11.0
finalApply | Метод изменяет статус сохраняемых купонов. | 14.11.0
get | Метод возвращает список купонов. | 14.11.0
getCheckCodeList | Метод возвращает список кодов состояния купона. | 14.11.0
getData | Метод возвращает информацию по купону. | 14.11.0
getEnteredCoupon | Если купон еще не добавлен, то метод выполнит попытку его добавления и, в случае успеха, вернет данные купона. | 14.11.9
getErrors | Метод возвращает список ошибок. | 14.11.0
getForApply | Метод возвращает с учетом фильтра список купонов для применения. | 14.11.0
getOrderId | В случае работы с купонами сохраненного заказа (сохраненного) метод вернет идентификатор этого заказа. | 14.11.0
getStatusList | Метод возвращает список статусов купона. | 14.11.0
getUseMode | Метод возвращает режим работы с купонами. | 14.11.0
getUserId | Метод возвращает идентификатор пользователя. | 14.11.0
init | Метод инициализирует менеджер купонов. | 14.11.0
initUseMode | Метод устанавливает режим работы с купонами и идентификатор пользователя. | 14.11.0
isEntered | Если купон вводили, то метод возвращает true, в противном случае - false. | 14.11.0
isExist | Если купон с кодом $coupon существует, то метод возвращает массив параметров купона. | 14.11.0
isSuccess | Метод возвращает true, если проводимая операция выполнена успешно. | 14.11.0
load | Метод загружает купоны для существующего заказа. | 14.11.0
logout | Метод очищает хранилище купонов при выходе из авторизованного сеанса в публичном разделе сайта. | 14.11.9
migrateStorage | Метод изменяет идентификатор хранилища после смены клиента в заказе в административной части. | 14.11.0
reInit | Метод реинициализирует менеджер купонов. | 14.11.9
saveApplied | Метод сохраняет примененные купоны. | 14.11.0
setApply | Метод сохраняет в памяти информацию о том, к чему применился купон на хите. | 14.11.0
setApplyByProduct | Метод сохраняет в памяти информацию о применении купонов к товару. | 14.11.0
usedByClient | Метод возвращает true, если менеджер купонов запущен из публичного раздела сайта. | 14.11.0
usedByExternal | Метод возвращает true, если заказ был оформлен во внешней торговой платформе. | 14.11.9
usedByManager | Метод возвращает true, если работа с купонами ведется из административного раздела сайта. | 14.11.0


add

boolean public static
\Bitrix\Sale\DiscountCouponsManager::add(
 string $coupon
);

Метод добавляет купон, чтобы учесть его в расчетах. Метод статический.

Параметры

Параметр | Описание | Версия
$coupon | Код добавляемого купона. |

Примеры

$coupon = "SL-QAGTG-WWLDUA0";  //код купона, который нужно учесть в заказе

$order = Sale\Order::load($orderId);
Sale\DiscountCouponsManager::init(
    Sale\DiscountCouponsManager::MODE_ORDER, [
        "userId" => $order->getUserId(),
        "orderId" => $order->getId()
    ]
);
Sale\DiscountCouponsManager::add($coupon);
$discounts = $order->getDiscount();
$discounts->calculate();
$order->save();


clear

boolean public static
\Bitrix\Sale\DiscountCouponsManager::clear(
 boolean $clearStorage = false
);

Метод убирает введенные купоны на текущем хите. Метод статический.

Параметры

Параметр | Описание | Версия
$clearStorage | Если параметр принимает значение true, то введенные купоны будут убраны из сессии. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearApply

boolean public static
\Bitrix\Sale\DiscountCouponsManager::clearApply(
 boolean $all = true
);

Метод удаляет информацию, были ли применены купоны и к чему именно, для купонов текущей сессии. При оформлении заказа речь идет о введенных пользователем купонах, при редактировании существующего - о купонах заказа. Метод статический.

Параметры

Параметр | Описание | Версия
$all | Если параметр принимает true, то убираются данные для всех купонов. В противном случае только для не сохраненных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearApplyCoupon

boolean public static
\Bitrix\Sale\DiscountCouponsManager::clearApplyCoupon(
 string $coupon
);

Метод убирает примененные данные купона. Метод статический.

Параметры

Параметр | Описание | Версия
$coupon | Код купона. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearByOrder

boolean public static
\Bitrix\Sale\DiscountCouponsManager::clearByOrder(
 integer $order
);

Метод убирает введенные купоны в заказе. Метод статический.

Параметры

Параметр | Описание | Версия
$order | Идентификатор заказа. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearErrors

void public static
\Bitrix\Sale\DiscountCouponsManager::clearErrors(
);

Метод очищает список ошибок. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delete

boolean public static
\Bitrix\Sale\DiscountCouponsManager::delete(
 string $coupon
);

Метод удаляет купон из проводимых расчетов. Метод статический.

Параметры

Параметр | Описание | Версия
$coupon | Код удаляемого купона. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteApplyByProduct

boolean public static
\Bitrix\Sale\DiscountCouponsManager::deleteApplyByProduct(
 array $product
);

Метод убирает примененную информацию для товара. Метод статический.

Параметры

Параметр | Описание | Версия
$product | Описание товара. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


finalApply

void public static
\Bitrix\Sale\DiscountCouponsManager::finalApply(
);

Метод изменяет статус сохраняемых купонов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


get

array|boolean public static
\Bitrix\Sale\DiscountCouponsManager::get(
 boolean $extMode = true,
 array $filter = array(),
 boolean $show = false,
 boolean $final = false
);

Метод возвращает список купонов. Метод статический.

Параметры

Параметр | Описание | Версия
$extMode | Если принимает значение true, то будет возвращена полная информация по купонам. В противном случае - массив только кодов купонов. |
$filter | Массив с фильтром по купонам. |
$show | Если принимает значение true, то будут выбраны все имеющиеся купоны для показа клиенту или менеджеру в корзине, форме оформления заказа и т.д. Если принимает значение false, то будут выбраны купоны для применения. Купоны, которые имеют неверный статус, не найденные, но вбитые, с закончившимся сроком, не будут возвращены. |
$final | Если принимает значение false, то изменяет статус ENTERED на NOT_APPLIED. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCheckCodeList

array public static
\Bitrix\Sale\DiscountCouponsManager::getCheckCodeList(
 boolean $extendedMode = false
);

Метод возвращает список кодов состояния купона. Метод статический.

Параметры

Параметр | Описание | Версия
$extendedMode | Параметр определяет возвращать просто список кодов или список кодов с описанием. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getData

array|false public static
\Bitrix\Sale\DiscountCouponsManager::getData(
 string $coupon,
 boolean $checkCoupon = true
);

Метод возвращает информацию по купону. Метод статический.

Параметры

Параметр | Описание | Версия
$coupon | Код купона. |
$checkCoupon | Если параметр принимает значение true, то дополнительно будет осуществляться проверка данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEnteredCoupon

boolean|array public static
\Bitrix\Sale\DiscountCouponsManager::getEnteredCoupon(
 string $coupon,
 boolean $clearData = false
);

Если купон еще не добавлен, то метод выполнит попытку его добавления и, в случае успеха, вернет данные купона. Метод статический.

Параметры

Параметр | Описание | Версия
$coupon | Код купона. |
$clearData | Если принимает значение true, то перед возвращением данных будут очищены системные поля. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrors

array public static
\Bitrix\Sale\DiscountCouponsManager::getErrors(
);

Метод возвращает список ошибок. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getForApply

array|boolean public static
\Bitrix\Sale\DiscountCouponsManager::getForApply(
 array $filter,
 array $product = array(),
 boolean $uniqueDiscount = false
);

Метод возвращает с учетом фильтра список купонов для применения. Метод статический.

Параметры

Параметр | Описание | Версия
$filter | Массив с фильтром по купонам. |
$product | Массив параметров товара. |
$uniqueDiscount | Если принимает true, то будет возвращен один купон для скидки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOrderId

null|integer public static
\Bitrix\Sale\DiscountCouponsManager::getOrderId(
);

В случае работы с купонами сохраненного заказа (сохраненного) метод вернет идентификатор этого заказа. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getStatusList

array public static
\Bitrix\Sale\DiscountCouponsManager::getStatusList(
 boolean $extendedMode = false
);

Метод возвращает список статусов купона. Метод статический.

Параметры

Параметр | Описание | Версия
$extendedMode | Параметр определяет возвращать только идентификаторы статусов или идентификаторы с описанием. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUseMode

integer public static
\Bitrix\Sale\DiscountCouponsManager::getUseMode(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUserId

null|integer public static
\Bitrix\Sale\DiscountCouponsManager::getUserId(
);

Метод возвращает идентификатор пользователя. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


init

void public static
\Bitrix\Sale\DiscountCouponsManager::init(
 integer $mode = self::MODE_CLIENT,
 array $params = array(),
 boolean $clearStorage = false
);

Метод инициализирует менеджер купонов. Метод статический.

Параметры

Параметр | Описание | Версия
$mode | Режим работы.
$params Массив первоначальных параметров. Ключи чувствительны к регистру:
  • userId - идентификатор владельца заказа (только для режимов MODE_MANAGER или MODE_ORDER);
  • orderId - идентификатор заказа, необходим только для режима работы с купонами существующего заказа (только для режима MODE_ORDER);
  • oldUserId - старый владелец заказа, если в форме редактирования сменили клиента (только для режимов MODE_MANAGER или MODE_ORDER).
$clearStorage | Если принимает true, то будут убраны введенные купоны на текущем хите.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


initUseMode

void public static
\Bitrix\Sale\DiscountCouponsManager::initUseMode(
 integer $mode = self::MODE_CLIENT,
 array $params = array()
);

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

Параметры

Параметр | Описание | Версия
$mode | Режим работы.
$params Массив первоначальных параметров. Ключи чувствительны к регистру:
  • userId - идентификатор владельца заказа (только для режимов MODE_MANAGER или MODE_ORDER);
  • orderId - идентификатор заказа, необходим только для режима работы с купонами существующего заказа (только для режима MODE_ORDER);
  • oldUserId - старый владелец заказа, если в форме редактирования сменили клиента (только для режимов MODE_MANAGER или MODE_ORDER).

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isEntered

boolean public static
\Bitrix\Sale\DiscountCouponsManager::isEntered(
);

Если купон вводили, то метод возвращает true, в противном случае - false. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isExist

array|boolean public static
\Bitrix\Sale\DiscountCouponsManager::isExist(
 string $coupon
);

Если купон с кодом $coupon существует, то метод возвращает массив параметров купона с ключами:

  • ID - идентификатор купона;
  • COUPON - код купона;
  • MODULE_ID - идентификатор модуля.

Метод статический и используется при проверке уникальности купонов среди всех модулей.

Параметры

Параметр | Описание | Версия
$coupon | Код купона для проверки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isSuccess

boolean public static
\Bitrix\Sale\DiscountCouponsManager::isSuccess(
);

Метод возвращает true, если проводимая операция выполнена успешно. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


load

void public static
\Bitrix\Sale\DiscountCouponsManager::load(
);

Метод загружает купоны для существующего заказа. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


logout

void public static
\Bitrix\Sale\DiscountCouponsManager::logout(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


migrateStorage

void public static
\Bitrix\Sale\DiscountCouponsManager::migrateStorage(
 integer $oldUser
);

Метод изменяет идентификатор хранилища после смены клиента в заказе в административной части. Метод статический.

Параметры

Параметр | Описание | Версия
$oldUser | Старый идентификатор пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


reInit

void public static
\Bitrix\Sale\DiscountCouponsManager::reInit(
 integer $mode = self::MODE_CLIENT,
 array $params = array(),
 boolean $clearStorage = false
);

Метод реинициализирует менеджер купонов. Метод статический.

Параметры

Параметр | Описание | Версия
$mode | Режим работы. |
$params | Массив первоначальных параметров. |
$clearStorage | Если принимает true, то будут убраны введенные купоны на текущем хите. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


saveApplied

void public static
\Bitrix\Sale\DiscountCouponsManager::saveApplied(
);

Метод сохраняет примененные купоны. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setApply

boolean public static
\Bitrix\Sale\DiscountCouponsManager::setApply(
 string $coupon,
 array $data
);

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

Параметры

Параметр | Описание | Версия
$coupon | Код купона. |
$data | Массив с данными для применения купона. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setApplyByProduct

boolean public static
\Bitrix\Sale\DiscountCouponsManager::setApplyByProduct(
 array $product,
 array $couponsList,
 boolean $oldMode = false
);

Метод сохраняет в памяти информацию о применении купонов к товару. Метод статический и используется в модуле Торговый каталог.

Параметры

Параметр | Описание | Версия
$product | Массив параметров товара. |
$couponsList | Массив купонов. |
$oldMode | Если параметр принимает true, то будет использоваться режим совместимости со старыми пользовательскими провайдерами. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


usedByClient

boolean public static
\Bitrix\Sale\DiscountCouponsManager::usedByClient(
);

Метод возвращает true, если менеджер купонов запущен из публичного раздела сайта. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


usedByExternal

boolean public static
\Bitrix\Sale\DiscountCouponsManager::usedByExternal(
);

Метод возвращает true, если заказ был оформлен во внешней торговой платформе. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


usedByManager

boolean public static
\Bitrix\Sale\DiscountCouponsManager::usedByManager(
);

Метод возвращает true, если работа с купонами ведется из административного раздела сайта. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Fuser

Fuser - класс для получения идентификатора покупателя.

Методы класса

Метод | Описание | С версии
getId | Метод возвращает идентификатор покупателя. | 15.5.3


getId

integer public static
\Bitrix\Sale\Fuser::getId(
 boolean $skipCreate = false
);

Метод возвращает идентификатор покупателя. Метод статический.

Параметры

Параметр | Описание | Версия
$skipCreate | Если параметр принимает false, то покупатель будет создан, если его не существует. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Internals

Подпространство Bitrix\Sale\Internals содержит классы для работы с таблицами модуля Интернет-магазин.

Важно! Прямое использование данных классов не рекомендуется и совместимость не гарантируется.

Класс | Описание
BasketPropertyTable | Класс для работы с таблицей свойств корзины.
BasketTable | Класс для работы с таблицей корзин.
CollectableEntity | Базовый класс элемента коллекции.
CollectionBase | Базовый класс коллекции элементов.
DiscountCouponTable | Класс для работы с таблицей купонов правил корзины.
DiscountEntitiesTable | Класс для работы с таблицей сущностей, необходимых для работы правил корзины.
DiscountGroupTable | Класс для работы с таблицей привязок правил корзины к группам пользователей.
DiscountModuleTable | Класс для работы с таблицей модулей, необходимых для работы правил корзины.
DiscountTable | Класс для работы с таблицей правил работы с корзиной.
Entity | Базовый класс сущностей заказа.
EntityCollection | Класс коллекции сущностей.
FuserTable | Класс для работы с таблицей пользователей-владельцев корзин в интернет-магазине.
OrderArchivePackedTable | Класс для работы с таблицей сериализованных данных архивированных заказов.
OrderArchiveTable | Класс для работы с таблицей основных полей архивированных заказов.
OrderCouponsTable | Класс для работы с таблицей купонов заказа.
OrderDiscountDataTable | Класс для работы с таблицей со служебной информацией, относящейся к заказу в разрезе примененных скидок и правил корзины.
OrderDiscountTable | Класс для работы с таблицей применившихся к заказу скидок и правил работы с корзиной.
OrderModulesTable | Класс для работы с таблицей модулей, необходимых для работы правил корзины, применившихся к заказу.
OrderRulesDescrTable | Класс для работы с таблицей описания применившихся скидок к конкретному товару или доставке.
OrderRulesTable | Класс для работы с таблицей примененных скидок и правил к сущностям заказа.
OrderTable | Класс для работы с таблицей заказов.
PaymentTable | Класс для работы с таблицей оплат.
PaySystemServiceTable | Класс для работы с таблицей платежных систем. Устарел, оставлен для совместимости. Используйте PaySystemActionTable
PaySystemActionTable | Класс для работы с таблицей платежных систем.
PersonTypeTable | Класс для работы с таблицей типов плательщиков.
ShipmentItemStoreTable | Класс для работы с таблицей штрихкодов товаров.
ShipmentItemTable | Класс для работы с таблицей, в которой хранятся составы отгрузок.
ShipmentTable | Класс для работы с таблицей документов отгрузок.
SiteCurrencyTable | Класс для работы с таблицей валют сайтов.


BasketPropertyTable

BasketPropertyTable - класс для работы с таблицей свойств корзины.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы свойств корзины. | 15.5.3
getTableName | Метод возвращает название таблицы свойств корзины в базе данных. | 15.5.3
validateCode | Метод возвращает валидатор для поля CODE (код свойства). | 15.5.3
validateName | Метод возвращает валидатор для поля NAME (название свойства). | 15.5.3
validateValue | Метод возвращает валидатор для поля VALUE (значение свойства). | 15.5.3


getMap

array public static
\Bitrix\Sale\Internals\BasketPropertyTable::getMap(
);

Метод возвращает список полей для таблицы свойств корзины. Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Sale\Internals\BasketPropertyTable::getTableName(
);

Метод возвращает название таблицы свойств корзины в базе данных. Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCode

array public static
\Bitrix\Sale\Internals\BasketPropertyTable::validateCode(
);

Метод возвращает валидатор для поля CODE (код свойства). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateName

array public static
\Bitrix\Sale\Internals\BasketPropertyTable::validateName(
);

Метод возвращает валидатор для поля NAME (название свойства). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateValue

array public static
\Bitrix\Sale\Internals\BasketPropertyTable::validateValue(
);

Метод возвращает валидатор для поля VALUE (значение свойства). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


BasketTable

BasketTable - класс для работы с таблицей корзин.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
validateCurrency | Метод возвращает валидатор для поля CURRENCY (код валюты). | 15.5.1
validateDiscountCoupon | Метод возвращает валидатор для поля DISCOUNT_COUPON (код купона). | 15.5.1
validateDiscountName | Метод возвращает валидатор для поля DISCOUNT_NAME (название скидки). | 15.5.1
validateDiscountValue | Метод возвращает валидатор для поля DISCOUNT_VALUE (величина скидки). | 15.5.1
validateLid | Метод возвращает валидатор для поля LID (идентификатор сайта). | 15.5.1


validateCurrency

array public static
\Bitrix\Sale\Internals\BasketTable::validateCurrency(
);

Метод возвращает валидатор для поля CURRENCY (код валюты). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateDiscountCoupon

array public static
\Bitrix\Sale\Internals\BasketTable::validateDiscountCoupon(
);

Метод возвращает валидатор для поля DISCOUNT_COUPON (код купона). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateDiscountName

array public static
\Bitrix\Sale\Internals\BasketTable::validateDiscountName(
);

Метод возвращает валидатор для поля DISCOUNT_NAME (название скидки). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateDiscountValue

array public static
\Bitrix\Sale\Internals\BasketTable::validateDiscountValue(
);

Метод возвращает валидатор для поля DISCOUNT_VALUE (величина скидки). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateLid

array public static
\Bitrix\Sale\Internals\BasketTable::validateLid(
);

Метод возвращает валидатор для поля LID (идентификатор сайта). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


CollectableEntity

Описание и методы

\Bitrix\Sale\Internals\CollectableEntity - базовый класс элемента коллекции.

Цепочка наследования

\Bitrix\Sale\Internals\CollectableEntity > \Bitrix\Sale\Internals\Entity

Методы класса

Метод | Описание | С версии
createClone | Клонирует данный элемент. | 17.5.0
delete | Удаляет элемент. | 15.5.1
doFinalAction | Выполняет финальные действия. | 15.5.1
getCollection | Возвращает коллекцию, к которой привязан элемент. | 15.5.1
getInternalIndex | Возвращает внутренний индекс элемента в коллекции. | 15.5.1
isClone | Проверяет, является ли данный элемент клоном. | 16.0.26
setCollection | Привязывает коллекцию к элементу. | 15.5.1

Методы родительского класса \Bitrix\Sale\Internals\Entity

Метод | Описание | С версии
doFinalAction | Абстрактный метод, предназначенный для реализации логики "конечных" расчетов. | 15.5.0
getAvailableFields | Возвращает массив полей, которые могут быть установлены через методы setField() и setFields(). | 15.5.0
getAvailableFieldsMap | Возвращает массив полей, которые могут быть установлены через методы setField() и setFields(). В качестве ключей массива выступают значения getAvailableFields. | 17.5.0
getField | Возвращает значение поля $name. | 18.0.3
getFieldValues | Возвращает массив полей со значениями. | 15.5.0
getId | Возвращает идентификатор сущности. | 15.5.0
initField | Инициализирует поле значением. При этом объект не считается измененным. | 15.5.0
initFields | Инициализирует поля значениями. При этом объект не считается измененным. | 15.5.0
isChanged | Проверяет, была ли изменена сущность. Если да, то возвращает true, иначе false. | 15.5.2
isMathActionOnly | Проверяет, идет ли расчет на текущих данных (данные из провайдера не запрашиваются). Если да, то возвращает true, иначе false. | 15.5.0
setField | Устанавливает значение поля $name. | 15.5.0
setFields | Инициализирует поля значениями. При этом объект не считается измененным. | 15.5.0
setMathActionOnly | Отключает запросы к провайдеру при выполнении расчетов. | 15.5.0
verify | Проверяет, корректен ли объект. Возвращает объект \Bitrix\Sale\Result. | 16.0.0


createClone

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Internals>CollectableEntity>createClone (доступен с 17.5.0)

CollectableEntity::createClone

\Bitrix\Sale\Internals\CollectableEntity::createClone();

Метод клонирует данный элемент. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delete

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Internals>CollectableEntity>delete (доступен с 15.5.1)

CollectableEntity::delete

\Bitrix\Sale\Internals\CollectableEntity::delete();

Метод удаляет элемент. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


doFinalAction

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Internals>CollectableEntity>doFinalAction (доступен с 15.5.1)

CollectableEntity::doFinalAction

\Bitrix\Sale\Internals\CollectableEntity::doFinalAction();

Метод выполняет финальные действия. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCollection

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Internals>CollectableEntity>getCollection (доступен с 15.5.1)

CollectableEntity::getCollection

\Bitrix\Sale\Internals\CollectableEntity::getCollection();

Метод возвращает коллекцию, к которой привязан элемент. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getInternalIndex

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Internals>CollectableEntity>getInternalIndex (доступен с 15.5.1)

CollectableEntity::getInternalIndex

\Bitrix\Sale\Internals\CollectableEntity::getInternalIndex();

Метод возвращает внутренний индекс элемента в коллекции. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isClone

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Internals>CollectableEntity>isClone (доступен с 16.0.26)

CollectableEntity::isClone

\Bitrix\Sale\Internals\CollectableEntity::isClone();

Метод проверяет, является ли данный элемент клоном. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setCollection

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Internals>CollectableEntity>setCollection (доступен с 15.5.1)

CollectableEntity::setCollection

\Bitrix\Sale\Internals\CollectableEntity::setCollection(
    \Bitrix\Sale\Internals\EntityCollection $collection
);

Метод привязывает коллекцию к элементу. Нестатический метод.

Параметры

Параметр | Описание | Версия
$collection | Коллекция. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


CollectionBase

\Bitrix\Sale\Internals\CollectionBase - базовый класс коллекции элементов. Класс реализует интерфейсы \ArrayAccess, \Countable, \IteratorAggregate.

Методы класса

Метод | Описание | С версии
count | Возвращает количество элементов объекта. | 15.5.3
current | Возвращает текущий элемент. | 15.5.3
getIterator | Возвращает внешний итератор. | 15.5.3
isEmpty | Проверяет коллекцию на пустоту. Если в коллекции нет элементов, возвращается true (иначе false). | 15.5.3
key | Возвращает индекс текущего элемента коллекции. | 15.5.3
next | Перемещает указатель коллекции вперед на один элемент. | 15.5.3
offsetExists | Определяет, существует или нет заданное смещение (ключ). | 15.5.3
offsetGet | Возвращает заданное смещение (ключ). | 15.5.3
offsetSet | Устанавливает значения для данного смещения. | 15.5.3
offsetUnset | Сбрасывает значение по смещению. | 15.5.3
rewind | Устанавливает указатель на первый элемент коллекции. | 15.5.3
valid | Проверяет, содержит ли коллекция еще элементы. | 15.5.3


count

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Internals>CollectionBase>count (доступен с 15.5.3)

CollectionBase::count

 public
\Bitrix\Sale\Internals\CollectionBase::count();

Метод возвращает количество элементов объекта. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


current

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Internals>CollectionBase>current (доступен с 15.5.3)

CollectionBase::current

 public
\Bitrix\Sale\Internals\CollectionBase::current();

Метод возвращает текущий элемент. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getIterator

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Internals>CollectionBase>getIterator (доступен с 15.5.3)

CollectionBase::getIterator

\Bitrix\Sale\Internals\CollectionBase::getIterator();

Метод возвращает внешний итератор. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isEmpty

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Internals>CollectionBase>isEmpty (доступен с 17.5.0)

CollectionBase::isEmpty

boolean public
\Bitrix\Sale\Internals\CollectionBase::isEmpty();

Метод проверяет коллекцию на пустоту. Если в коллекции нет элементов, возвращается true (иначе false). Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


key

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Internals>CollectionBase>key (доступен с 15.5.3)

CollectionBase::key

 public
\Bitrix\Sale\Internals\CollectionBase::key();

Метод возвращает индекс текущего элемента коллекции. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


next

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Internals>CollectionBase>next (доступен с 15.5.3)

CollectionBase::next

 public
\Bitrix\Sale\Internals\CollectionBase::next();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


offsetExists

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Internals>CollectionBase>offsetExists (доступен с 15.5.3)

CollectionBase::offsetExists

 public
\Bitrix\Sale\Internals\CollectionBase::offsetExists($offset);

Метод определяет, существует или нет заданное смещение (ключ). Нестатический метод.

Параметры

Параметр | Описание | Версия
$offset | Смещение. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


offsetGet

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Internals>CollectionBase>offsetGet (доступен с 15.5.3)

CollectionBase::offsetGet

 public
\Bitrix\Sale\Internals\CollectionBase::offsetGet($offset);

Метод возвращает заданное смещение (ключ). Нестатический метод.

Параметры

Параметр | Описание | Версия
$offset | Смещение. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


offsetSet

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Internals>CollectionBase>offsetSet (доступен с 15.5.3)

CollectionBase::offsetSet

 public
\Bitrix\Sale\Internals\CollectionBase::offsetSet($offset, $value);

Метод устанавливает значения для данного смещения. Нестатический метод.

Параметры

Параметр | Описание | Версия
$offset | Смещение для установки значения. |
$value | Новое значение. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


offsetUnset

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Internals>CollectionBase>offsetUnset (доступен с 15.5.3)

CollectionBase::offsetUnset

 public
\Bitrix\Sale\Internals\CollectionBase::offsetUnset($offset);

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

Параметры

Параметр | Описание | Версия
$offset | Смещение для сброса. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


rewind

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Internals>CollectionBase>rewind (доступен с 15.5.3)

CollectionBase::rewind

 public
\Bitrix\Sale\Internals\CollectionBase::rewind();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


valid

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Internals>CollectionBase>valid (доступен с 15.5.3)

CollectionBase::valid

 public
\Bitrix\Sale\Internals\CollectionBase::valid();

Метод проверяет, содержит ли коллекция еще элементы. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DiscountCouponTable

Описание и методы

DiscountCouponTable - класс для работы с таблицей купонов правил корзины.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
addPacket | Метод создает один или несколько купонов для правила корзины. | 14.11.0
checkCoupon | Метод проверяет купон на уникальность и существование. | 14.11.0
checkDiscountId | Метод проверяет поле с идентификатором правила. | 14.11.0
checkPacket | Метод проверяет данные для создания одного или нескольких купонов. | 14.11.0
checkType | Метод проверяет поле TYPE (тип купона). | 14.11.0
clearDiscountCheckList | Метод очищает список правил, чтобы обновить флаг Имеет купоны. | 14.11.0
deleteByDiscount | Метод удаляет все купоны для правила с кодом $discount. | 14.11.0
disableCheckCouponsUse | Метод запрещает пересчет флага Имеет купоны для правил после вызова методов add/update/delete. | 14.11.0
enableCheckCouponsUse | Метод разрешает пересчет флага Имеет купоны для правил после вызова методов add/update/delete. | 14.11.0
generateCoupon | Метод генерирует код купона. | 14.11.0
getCouponTypes | Метод возвращает список типов купонов. | 14.11.0
getMap | Метод возвращает список полей для таблицы купонов правил корзины. | 14.11.0
getTableName | Метод возвращает название таблицы купонов правил корзины в базе данных. | 14.11.0
isCheckedCouponsUse | Метод определяет пересчитывать ли у правил корзины, относящихся к обработанным купонам, флаг Имеет купоны. | 14.11.0
isValidCouponType | Метод проверяет валиден ли тип купона. | 14.11.0
onAfterAdd | Является обработчиком по умолчанию события onAfterAdd. | 14.11.0
onAfterDelete | Является обработчиком по умолчанию события onAfterDelete. | 14.11.0
onAfterUpdate | Является обработчиком по умолчанию события onAfterUpdate. | 14.11.0
onBeforeAdd | Является обработчиком по умолчанию события onBeforeAdd. | 14.11.0
onBeforeUpdate | Является обработчиком по умолчанию события onBeforeUpdate. | 14.11.0
onDelete | Является обработчиком по умолчанию события onDelete. | 14.11.0
onUpdate | Является обработчиком по умолчанию события onUpdate. | 14.11.0
prepareCouponData | Метод подготавливает данные по купону. | 14.11.0
saveApplied | Метод сохраняет информацию о применененных купонах. | 14.11.0
setDiscountCheckList | Метод заполняет список правил, чтобы обновить флаг Имеет купоны. | 14.11.0
updateUseCoupons | Метод обновляет флаг Имеет купоны для списка правил корзины. | 14.11.0
validateCoupon | Метод возвращает валидатор для поля COUPON (код купона). | 14.11.0
validateDiscountId | Метод возвращает валидатор для поля DISCOUNT_ID (идентификатор правила). | 14.11.0
validateType | Метод возвращает валидатор для поля TYPE (тип купона). | 14.11.0

Поля купонов правил работы с корзиной

Поле | Описание | Тип | Обяз.
ID | Идентификатор купона. | Int | Да
DISCOUNT_ID | Идентификатор правила. | Int | Да
ACTIVE | Флаг активности (Y/N). | Char(1) | Да
ACTIVE_FROM | Дата начала активности. | Datetime | Нет
ACTIVE_TO | Дата окончания активности. | Datetime | Нет
COUPON | Код купона. | Varchar(32) | Да
TYPE | Тип купона. | Int | Да
MAX_USE | Максимально возможное количество использований купона. | Int | Да
USE_COUNT | Количество раз использований купона. | Int | Да
USER_ID | Код пользователя - владельца купона. | Int | Да
DATE_APPLY | Дата и время последнего применения купона. | Datetime | Нет
TIMESTAMP_X | Дата и время последнего изменения купона. | Datetime | Нет
MODIFY_BY | Код последнего изменившего купон. | Int | Нет
DATE_CREATE | Дата и время создания купона. | Datetime | Нет
CREATED_BY | Код пользователя, создавшего купон. | Int | Нет
DESCRIPTION | Комментарий к купону. | Text | Нет


addPacket

\Bitrix\Main\Entity\Result public static
\Bitrix\Sale\Internals\DiscountCouponTable::addPacket(
 array $data,
 integer $count,
 integer $limit
);

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

Параметры

Параметр | Описание | Версия
$data | Массив параметров купона. |
$count | Количество купонов. |
$limit | Максимальное количество попыток. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkCoupon

boolean|string public static
\Bitrix\Sale\Internals\DiscountCouponTable::checkCoupon(
 integer $value,
 array|integer $primary,
 array $row,
 \Bitrix\Main\Entity\Field $field
);

Метод проверяет купон на уникальность и существование. Метод статический.

Параметры

Параметр | Описание | Версия
$value | Код купона. |
$primary | Первичный ключ записи. |
$row | Массив обновляемых значений. |
$field | Поле объекта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkDiscountId

boolean|string public static
\Bitrix\Sale\Internals\DiscountCouponTable::checkDiscountId(
 integer $value,
 array|integer $primary,
 array $row,
 \Bitrix\Main\Entity\Field $field
);

Метод проверяет поле с идентификатором правила. Метод статический.

Параметры

Параметр | Описание | Версия
$value | Текущее значение поля с идентификатором правила. |
$primary | Первичный ключ записи. |
$row | Массив обновляемых значений. |
$field | Поле объекта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkPacket

\Bitrix\Main\Entity\Result public static
\Bitrix\Sale\Internals\DiscountCouponTable::checkPacket(
 array $data,
 boolean $newDiscount = false
);

Метод проверяет данные для создания одного или нескольких купонов. Метод статический.

Параметры

Параметр | Описание | Версия
$data | Массив с данными купона. |
$newDiscount | Флаг того, что правило является новым. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkType

boolean|string public static
\Bitrix\Sale\Internals\DiscountCouponTable::checkType(
 integer $value,
 array|integer $primary,
 array $row,
 \Bitrix\Main\Entity\Field $field
);

Метод проверяет поле TYPE (тип купона). Метод статический.

Параметры

Параметр | Описание | Версия
$value | Текущее значение поля. |
$primary | Первичный ключ записи. |
$row | Массив обновляемых значений. |
$field | Поле объекта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearDiscountCheckList

void public static
\Bitrix\Sale\Internals\DiscountCouponTable::clearDiscountCheckList(
);

Метод очищает список правил, чтобы обновить флаг Имеет купоны. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteByDiscount

void public static
\Bitrix\Sale\Internals\DiscountCouponTable::deleteByDiscount(
 integer $discount
);

Метод удаляет все купоны для правила с кодом $discount. Метод статический.

Параметры

Параметр | Описание | Версия
$discount | Идентификатор правила корзины. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


disableCheckCouponsUse

void public static
\Bitrix\Sale\Internals\DiscountCouponTable::disableCheckCouponsUse(
);

Метод запрещает пересчет флага Имеет купоны для правил после вызова методов add/update/delete. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


enableCheckCouponsUse

void public static
\Bitrix\Sale\Internals\DiscountCouponTable::enableCheckCouponsUse(
);

Метод разрешает пересчет флага Имеет купоны для правил после вызова методов add/update/delete. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


generateCoupon

string public static
\Bitrix\Sale\Internals\DiscountCouponTable::generateCoupon(
 boolean $check = false
);

Метод генерирует код купона. Метод статический.

Параметры

Параметр | Описание | Версия
$check | Параметр определяет, проверять новый купон или нет. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCouponTypes

array public static
\Bitrix\Sale\Internals\DiscountCouponTable::getCouponTypes(
 boolean $extendedMode = false
);

Метод возвращает список типов купонов. Метод статический.

Параметры

Параметр | Описание | Версия
$extendedMode | Параметр определяет возвращать только идентификаторы типов или идентификаторы с названием. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Sale\Internals\DiscountCouponTable::getMap(
);

Метод возвращает список полей для таблицы купонов правил корзины. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Sale\Internals\DiscountCouponTable::getTableName(
);

Метод возвращает название таблицы купонов правил корзины в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isCheckedCouponsUse

boolean public static
\Bitrix\Sale\Internals\DiscountCouponTable::isCheckedCouponsUse(
);

Метод определяет пересчитывать ли у правил корзины, относящихся к обработанным купонам, флаг Имеет купоны. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isValidCouponType

boolean public static
\Bitrix\Sale\Internals\DiscountCouponTable::isValidCouponType(
 integer $couponType
);

Метод проверяет валиден ли тип купона. Метод статический.

Параметры

Параметр | Описание | Версия
$couponType | Тип купона. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onAfterAdd

void public static
\Bitrix\Sale\Internals\DiscountCouponTable::onAfterAdd(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onAfterAdd.

Параметры

Параметр | Описание | Версия
$event | Данные для добавления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onAfterDelete

void public static
\Bitrix\Sale\Internals\DiscountCouponTable::onAfterDelete(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onAfterDelete.

Параметры

Параметр | Описание | Версия
$event | Данные для удаления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onAfterUpdate

void public static
\Bitrix\Sale\Internals\DiscountCouponTable::onAfterUpdate(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onAfterUpdate.

Параметры

Параметр | Описание | Версия
$event | Данные для изменения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onBeforeAdd

\Bitrix\Main\Entity\EventResult public static
\Bitrix\Sale\Internals\DiscountCouponTable::onBeforeAdd(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onBeforeAdd.

Параметры

Параметр | Описание | Версия
$event | Данные для добавления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onBeforeUpdate

\Bitrix\Main\Entity\EventResult public static
\Bitrix\Sale\Internals\DiscountCouponTable::onBeforeUpdate(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onBeforeUpdate.

Параметры

Параметр | Описание | Версия
$event | Данные для изменения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onDelete

void public static
\Bitrix\Sale\Internals\DiscountCouponTable::onDelete(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onDelete.

Параметры

Параметр | Описание | Версия
$event | Данные для удаления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onUpdate

void public static
\Bitrix\Sale\Internals\DiscountCouponTable::onUpdate(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onUpdate.

Параметры

Параметр | Описание | Версия
$event | Данные для обновления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareCouponData

\Bitrix\Main\Entity\Result public static
\Bitrix\Sale\Internals\DiscountCouponTable::prepareCouponData(
 array &$fields
);

Метод подготавливает данные по купону. Метод статический и используется только для страниц административной части сайта.

Параметры

Параметр | Описание | Версия
&$fields | Массив с данными по купону. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


saveApplied

array|boolean public static
\Bitrix\Sale\Internals\DiscountCouponTable::saveApplied(
 array $coupons,
 integer $userId,
 \Bitrix\Main\Type\DateTime $currentTime
);

Метод сохраняет информацию о примененных купонах. Метод статический.

Параметры

Параметр | Описание | Версия
$coupons | Массив купонов. |
$userId | Идентификатор пользователя. |
$currentTime | Текущая дата и время. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDiscountCheckList

void public static
\Bitrix\Sale\Internals\DiscountCouponTable::setDiscountCheckList(
 array|integer $discountList
);

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

Параметры

Параметр | Описание | Версия
$discountList | Массив идентификаторов правил корзины. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


updateUseCoupons

void public static
\Bitrix\Sale\Internals\DiscountCouponTable::updateUseCoupons(
);

Метод обновляет флаг Имеет купоны для списка правил корзины. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCoupon

array public static
\Bitrix\Sale\Internals\DiscountCouponTable::validateCoupon(
);

Метод возвращает валидатор для поля COUPON (код купона). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateDiscountId

array public static
\Bitrix\Sale\Internals\DiscountCouponTable::validateDiscountId(
);

Метод возвращает валидатор для поля DISCOUNT_ID (идентификатор правила). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateType

array public static
\Bitrix\Sale\Internals\DiscountCouponTable::validateType(
);

Метод возвращает валидатор для поля TYPE (тип купона). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DiscountEntitiesTable

DiscountEntitiesTable - класс для работы с таблицей сущностей (свойства инфоблоков, данные торгового каталога, корзины и т.д.), необходимых для работы правил корзины.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
deleteByDiscount | Метод удаляет список сущностей, необходимых для правила с кодом $discount. | 14.11.0
getByDiscount | Метод возвращает массив сущностей в соответствии с массивом правил корзины $discountList. | 14.11.0
getMap | Метод возвращает список полей для таблицы сущностей, необходимых для работы правил корзины. | 14.11.0
getTableName | Метод возвращает название таблицы сущностей, необходимых для работы правил корзины. | 14.11.0
updateByDiscount | Метод обновляет параметры списка сущностей в соответствии с правилом, имеющим код $discount. | 14.11.0
validateEntity | Метод возвращает валидатор для поля ENTITY. | 14.11.0
validateFieldEntity | Метод возвращает валидатор для поля FIELD_ENTITY. | 14.11.0
validateFieldTable | Метод возвращает валидатор для поля FIELD_TABLE. | 14.11.0
validateModuleId | Метод возвращает валидатор для поля MODULE_ID. | 14.11.0


deleteByDiscount

void public static
\Bitrix\Sale\Internals\DiscountEntitiesTable::deleteByDiscount(
 integer $discount
);

Метод удаляет список сущностей, необходимых для правила с кодом $discount. Метод статический.

Параметры

Параметр | Описание | Версия
$discount | Идентификатор правила. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getByDiscount

array public static
\Bitrix\Sale\Internals\DiscountEntitiesTable::getByDiscount(
 array $discountList,
 array $filter = array(),
 boolean $groupModule = true
);

Метод возвращает массив сущностей в соответствии с массивом правил корзины $discountList. Метод статический.

Параметры

Параметр | Описание | Версия
$discountList | Массив идентификаторов правил. |
$filter | Массив дополнительной фильтрации. | 14.11.6
$groupModule | Если параметр принимает true, то будет выполнена группировка по модулям. | 14.11.6

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Sale\Internals\DiscountEntitiesTable::getMap(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Sale\Internals\DiscountEntitiesTable::getTableName(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


updateByDiscount

boolean public static
\Bitrix\Sale\Internals\DiscountEntitiesTable::updateByDiscount(
 integer $discount,
 array $entityList,
 boolean $clear
);

Метод обновляет параметры списка сущностей в соответствии с правилом, имеющим код $discount. Метод статический.

Параметры

Параметр | Описание | Версия
$discount | Идентификатор правила. |
$entityList | Массив сущностей. |
$clear | Если параметр принимает true, то будут очищены старые значения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateEntity

array public static
\Bitrix\Sale\Internals\DiscountEntitiesTable::validateEntity(
);

Метод возвращает валидатор для поля ENTITY. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateFieldEntity

array public static
\Bitrix\Sale\Internals\DiscountEntitiesTable::validateFieldEntity(
);

Метод возвращает валидатор для поля FIELD_ENTITY. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateFieldTable

array public static
\Bitrix\Sale\Internals\DiscountEntitiesTable::validateFieldTable(
);

Метод возвращает валидатор для поля FIELD_TABLE. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateModuleId

array public static
\Bitrix\Sale\Internals\DiscountEntitiesTable::validateModuleId(
);

Метод возвращает валидатор для поля MODULE_ID (идентификатор модуля). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DiscountGroupTable

DiscountGroupTable - класс для работы с таблицей привязок правил корзины к группам пользователей.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
changeActiveByDiscount | Метод изменяет флаг активности для записей в таблице, связанных с правилом с кодом $discount. | 14.11.0
deleteByDiscount | Метод удаляет список групп пользователей, привязанных к правилу с кодом $discount. | 14.11.0
getActiveDiscountByGroups | Метод возвращает массив активных правил корзины в соответствии с заданным массивом $groupList. | 14.11.0
getDiscountByGroups | Метод возвращает массив правил корзины в соответствии с заданным массивом $groupList. | 14.11.0
getMap | Метод возвращает список полей для таблицы привязок правил корзины к группам пользователей. | 14.11.0
getTableName | Метод возвращает название таблицы привязок правил корзины к группам пользователей. | 14.11.0
updateByDiscount | Метод обновляет параметры списка групп пользователей в соответствии с правилом, имеющим код $discount. | 14.11.0


changeActiveByDiscount

void public static
\Bitrix\Sale\Internals\DiscountGroupTable::changeActiveByDiscount(
 integer $discount,
 string $active
);

Метод изменяет флаг активности для записей в таблице, связанных с правилом с кодом $discount. Метод статический.

Параметры

Параметр | Описание | Версия
$discount | Идентификатор правила. |
$active | Флаг активности правила. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteByDiscount

void public static
\Bitrix\Sale\Internals\DiscountGroupTable::deleteByDiscount(
 integer $discount
);

Метод удаляет список групп пользователей, привязанных к правилу с кодом $discount. Метод статический.

Параметры

Параметр | Описание | Версия
$discount | Идентификатор правила. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getActiveDiscountByGroups

array public static
\Bitrix\Sale\Internals\DiscountGroupTable::getActiveDiscountByGroups(
 array $groupList
);

Метод возвращает массив активных правил корзины в соответствии с заданным массивом $groupList. Метод статический.

Параметры

Параметр | Описание | Версия
$groupList | Массив групп пользователей. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDiscountByGroups

array public static
\Bitrix\Sale\Internals\DiscountGroupTable::getDiscountByGroups(
 array $groupList,
 array $filter = array()
);

Метод возвращает массив правил корзины в соответствии с заданным массивом $groupList. Метод статический.

Параметры

Параметр | Описание | Версия
$groupList | Массив групп пользователей. |
$filter | Массив дополнительной фильтрации данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Sale\Internals\DiscountGroupTable::getMap(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Sale\Internals\DiscountGroupTable::getTableName(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


updateByDiscount

boolean public static
\Bitrix\Sale\Internals\DiscountGroupTable::updateByDiscount(
 integer $discount,
 array $groupList,
 string $active,
 boolean $clear
);

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

Параметры

Параметр | Описание | Версия
$discount | Идентификатор правила. |
$groupList | Массив групп пользователей. |
$active | Флаг активности правила. |
$clear | Если параметр принимает true, то будут очищены старые данные. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DiscountModuleTable

DiscountModuleTable - класс для работы с таблицей модулей, необходимых для работы правил корзины.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
deleteByDiscount | Метод удаляет модули, необходимые для работы правила с кодом $discount. | 14.11.0
getByDiscount | Метод возвращает список модулей, необходимых для работы перечисленных в массиве $discountList правил. | 14.11.0
getMap | Метод возвращает список полей для таблицы с модулями, необходимыми для работы правил корзины. | 14.11.0
getTableName | Метод возвращает название таблицы c модулями, необходимыми для работы правил корзины. | 14.11.0
updateByDiscount | Метод обновляет параметры списка модулей, необходимых для работы правила с кодом $discount. | 14.11.0
validateModuleId | Метод возвращает валидатор для поля MODULE_ID (идентификатор модуля). | 14.11.0


deleteByDiscount

void public static
\Bitrix\Sale\Internals\DiscountModuleTable::deleteByDiscount(
 integer $discount
);

Метод удаляет модули, необходимые для работы правила с кодом $discount. Метод статический.

Параметры

Параметр | Описание | Версия
$discount | Идентификатор правила. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getByDiscount

array public static
\Bitrix\Sale\Internals\DiscountModuleTable::getByDiscount(
 array $discountList,
 array $filter = array()
);

Метод возвращает список модулей, необходимых для работы перечисленных в массиве $discountList правил. Метод статический.

Параметры

Параметр | Описание | Версия
$discountList | Массив правил. |
$filter | Дополнительный фильтр. | 14.11.1

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Sale\Internals\DiscountModuleTable::getMap(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Sale\Internals\DiscountModuleTable::getTableName(
);

Метод возвращает название таблицы c модулями, необходимыми для работы правил корзины. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


updateByDiscount

boolean public static
\Bitrix\Sale\Internals\DiscountModuleTable::updateByDiscount(
 integer $discount,
 array $moduleList,
 boolean $clear
);

Метод обновляет параметры списка модулей, необходимых для работы правила с кодом $discount. Метод статический.

Параметры

Параметр | Описание | Версия
$discount | Идентификатор правила. |
$moduleList | Массив идентификаторов модулей. |
$clear | Если параметр принимает true, то будут очищены старые значения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateModuleId

array public static
\Bitrix\Sale\Internals\DiscountModuleTable::validateModuleId(
);

Метод возвращает валидатор для поля MODULE_ID (идентификатор модуля). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DiscountTable

Описание и методы

DiscountTable - класс для работы с таблицей правил работы с корзиной.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы правил работы с корзиной. | 14.11.0
getTableName | Метод возвращает название таблицы правил работы с корзиной базе данных. | 14.11.0
onAfterAdd | Является обработчиком по умолчанию события onAfterAdd. | 16.0.0
onAfterDelete | Является обработчиком по умолчанию события onAfterDelete. | 14.11.0
onAfterUpdate | Является обработчиком по умолчанию события onAfterUpdate. | 14.11.0
onBeforeAdd | Является обработчиком по умолчанию события onBeforeAdd. | 14.11.0
onBeforeUpdate | Является обработчиком по умолчанию события onBeforeUpdate. | 14.11.0
onDelete | Является обработчиком по умолчанию события onDelete. | 14.11.0
setAllUseCoupons | Метод устанавливает флаг наличия купонов для всех правил корзины. | 14.11.0
setUseCoupons | Метод устанавливает флаг наличия купонов для перечисленных в списке правил корзины. | 14.11.0
validateCurrency | Метод возвращает валидатор для поля CURRENCY. | 14.11.0
validateDiscountType | Метод возвращает валидатор для поля DISCOUNT_TYPE. | 14.11.0
validateExecuteModule | Метод возвращает валидатор для поля EXECUTE_MODULE. | 14.11.9
validateLid | Метод возвращает валидатор для поля LID. | 14.11.0
validateName | Метод возвращает валидатор для поля NAME. | 14.11.0
validatePresetId | Метод возвращает валидатор для поля PRESET_ID. | 16.6.0
validateXmlId | Метод возвращает валидатор для поля XML_ID. | 14.11.0

Поля правил работы с корзиной

Поле | Описание | Тип | Обяз.
ID | Идентификатор правила. | Int | Да
XML_ID | Внешний код. | Varchar(255) | Нет
LID | Идентификатор сайта. | Char(2) | Да
NAME | Название правила. | Varchar(255) | Нет
CURRENCY | Валюта. | Char(3) | Нет
ACTIVE | Флаг активности (Y/N). | Char(1) | Да
SORT | Порядок сортировки. | Int | Да
ACTIVE_FROM | Дата начала действия правила. | Datetime | Нет
ACTIVE_TO | Дата окончания действия правила. | Datetime | Нет
TIMESTAMP_X | Дата и время изменения правила. | Datetime | Нет
MODIFIED_BY | Идентификатор последнего изменившего правило. | Int | Нет
DATE_CREATE | Дата и время создания правила. | Datetime | Нет
CREATED_BY | Код пользователя, создавшего правило. | Int | Нет
PRIORITY | Приоритет применимости. | Int | Да
LAST_DISCOUNT | Флаг "Прекратить дальнейшее применение правил" (Y/N). | Char(1) | Да
VERSION | Версия движка правил. Поле только для чтения. | Int | Да
CONDITIONS | Дополнительные условия применения правила. | Mediumtext | Нет
UNPACK | Php-код условия применения правила. Поле только для чтения. | Mediumtext | Нет
ACTIONS | Php-код выполняемых действий правила. Поле только для чтения. | Mediumtext | Нет
APPLICATION | Описание действий правила корзины в виде сериализованного массива. | Mediumtext | Нет
USE_COUPONS | Флаг наличия купонов для правила (Y/N). | Char(1) | Да
EXECUTE_MODULE | Код модуля, где может быть выполнено правило ("sale" - результат можно увидеть только в корзине/заказе, "catalog" или "all" - в том числе и на страницах каталога). | Varchar(50) | Да


getMap

array public static
\Bitrix\Sale\Internals\DiscountTable::getMap(
);

Метод возвращает список полей для таблицы правил работы с корзиной. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Sale\Internals\DiscountTable::getTableName(
);

Метод возвращает название таблицы правил работы с корзиной базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onAfterAdd

void public static
\Bitrix\Sale\Internals\DiscountTable::onAfterAdd(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onAfterAdd.

Параметры

Параметр | Описание | Версия
$event | Данные для добавления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onAfterDelete

void public static
\Bitrix\Sale\Internals\DiscountTable::onAfterDelete(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onAfterDelete.

Параметры

Параметр | Описание | Версия
$event | Данные события. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onAfterUpdate

void public static
\Bitrix\Sale\Internals\DiscountTable::onAfterUpdate(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onAfterUpdate.

Параметры

Параметр | Описание | Версия
$event | Данные события. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onBeforeAdd

\Bitrix\Main\Entity\EventResult public static
\Bitrix\Sale\Internals\DiscountTable::onBeforeAdd(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onBeforeAdd.

Параметры

Параметр | Описание | Версия
$event | Данные для добавления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onBeforeUpdate

\Bitrix\Main\Entity\EventResult public static
\Bitrix\Sale\Internals\DiscountTable::onBeforeUpdate(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onBeforeUpdate.

Параметры

Параметр | Описание | Версия
$event | Данные для изменения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onDelete

void public static
\Bitrix\Sale\Internals\DiscountTable::onDelete(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onDelete.

Параметры

Параметр | Описание | Версия
$event | Данные события. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setAllUseCoupons

void public static
\Bitrix\Sale\Internals\DiscountTable::setAllUseCoupons(
 string $use
);

Метод устанавливает флаг наличия купонов для всех правил корзины. Метод статический.

Параметры

Параметр | Описание | Версия
$use | Значение для обновления флага использования купонов для всех правил. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setUseCoupons

void public static
\Bitrix\Sale\Internals\DiscountTable::setUseCoupons(
 array $discountList,
 string $use
);

Метод устанавливает флаг наличия купонов для перечисленных в списке правил корзины. Метод статический.

Параметры

Параметр | Описание | Версия
$discountList | Массив идентификаторов правил корзины. |
$use | Значение для обновления флага использования купонов. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCurrency

array public static
\Bitrix\Sale\Internals\DiscountTable::validateCurrency(
);

Метод возвращает валидатор для поля CURRENCY (код валюты). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateDiscountType

array public static
\Bitrix\Sale\Internals\DiscountTable::validateDiscountType(
);

Метод возвращает валидатор для поля DISCOUNT_TYPE (тип правила). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateExecuteModule

array public static
\Bitrix\Sale\Internals\DiscountTable::validateExecuteModule(
);

Метод возвращает валидатор для поля EXECUTE_MODULE. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateLid

array public static
\Bitrix\Sale\Internals\DiscountTable::validateLid(
);

Метод возвращает валидатор для поля LID (идентификатор сайта). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateName

array public static
\Bitrix\Sale\Internals\DiscountTable::validateName(
);

Метод возвращает валидатор для поля NAME (название правила). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validatePresetId

array public static
\Bitrix\Sale\Internals\DiscountTable::validatePresetId(
);

Метод возвращает валидатор для поля PRESET_ID. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateXmlId

array public static
\Bitrix\Sale\Internals\DiscountTable::validateXmlId(
);

Метод возвращает валидатор для поля XML_ID (внешний код). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Entity

\Bitrix\Sale\Internals\Entity - базовый класс сущностей заказа.

Методы класса

Метод | Описание | С версии
doFinalAction | Абстрактный метод, предназначенный для реализации логики "конечных" расчетов. | 15.5.0
getAvailableFields | Возвращает массив полей, которые могут быть установлены через методы setField() и setFields(). | 15.5.0
getAvailableFieldsMap | Возвращает массив полей, которые могут быть установлены через методы setField() и setFields(). В качестве ключей массива выступают значения getAvailableFields. | 17.5.0
getField | Возвращает значение поля $name. | 18.0.3
getFieldValues | Возвращает массив полей со значениями. | 15.5.0
getId | Возвращает идентификатор сущности. | 15.5.0
initField | Инициализирует поле значением. При этом объект не считается измененным. | 15.5.0
initFields | Инициализирует поля значениями. При этом объект не считается измененным. | 15.5.0
isChanged | Проверяет, была ли изменена сущность. Если да, то возвращает true, иначе false. | 15.5.2
isMathActionOnly | Проверяет, идет ли расчет на текущих данных (данные из провайдера не запрашиваются). Если да, то возвращает true, иначе false. | 15.5.0
setField | Устанавливает значение поля $name. | 15.5.0
setFields | Инициализирует поля значениями. При этом объект не считается измененным. | 15.5.0
setMathActionOnly | Отключает запросы к провайдеру при выполнении расчетов. | 15.5.0
verify | Проверяет, корректен ли объект. Возвращает объект \Bitrix\Sale\Result. | 16.0.0


doFinalAction

\Bitrix\Sale\Internals\Entity::doFinalAction();

Абстрактный метод, предназначенный для реализации логики "конечных" расчетов. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAvailableFields

\Bitrix\Sale\Internals\Entity::getAvailableFields();

Метод возвращает массив полей, которые могут быть установлены через методы setField() и setFields(). Статический метод.

Метод должен быть перегружен в классе-наследнике.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAvailableFieldsMap

\Bitrix\Sale\Internals\Entity::getAvailableFieldsMap();

Метод возвращает массив полей, которые могут быть установлены через методы setField() и setFields(). Статический метод.

В качестве ключей массива выступают значения getAvailableFields.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getField

\Bitrix\Sale\Internals\Entity::getField($name);

Метод возвращает значение поля $name. Нестатический метод.

Параметры

Параметр | Описание | Версия
$name | Код поля. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFieldValues

\Bitrix\Sale\Internals\Entity::getFieldValues();

Метод возвращает массив полей со значениями. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getId

\Bitrix\Sale\Internals\Entity::getId();

Метод возвращает идентификатор сущности. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


initField

\Bitrix\Sale\Internals\Entity::initField($name, $value);

Метод инициализирует поле значением. При этом объект не считается измененным. Нестатический метод.

Параметры

Параметр | Описание | Версия
$name | Код поля. |
$value | Значение поля. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


initFields

\Bitrix\Sale\Internals\Entity::initFields(array $values);

Метод инициализирует поля значениями. При этом объект не считается измененным. Нестатический метод.

Параметры

Параметр | Описание | Версия
$values | Значения полей. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isChanged

\Bitrix\Sale\Internals\Entity::isChanged();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isMathActionOnly

\Bitrix\Sale\Internals\Entity::isMathActionOnly();

Метод проверяет, идет ли расчет на текущих данных (данные из провайдера не запрашиваются). Если да, то возвращает true, иначе false. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setField

\Bitrix\Sale\Internals\Entity::setField($name, $value);

Метод устанавливает значение поля $name. Нестатический метод.

Параметры

Параметр | Описание | Версия
$name | Код поля. |
$value | Значение поля. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setFields

\Bitrix\Sale\Internals\Entity::setFields(array $values);

Метод устанавливает значения полей. Нестатический метод.

Параметры

Параметр | Описание | Версия
$values | Значения полей. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setMathActionOnly

\Bitrix\Sale\Internals\Entity::setMathActionOnly($value);

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

Параметры

Параметр | Описание | Версия
$value | Значение (по умолчанию false). Необязательный. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


verify

\Bitrix\Sale\Internals\Entity::verify();

Метод проверяет, корректен ли объект. Возвращает объект \Bitrix\Sale\Result . Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


EntityCollection

Описание и методы

\Bitrix\Sale\Internals\EntityCollection представляет собой коллекцию сущностей.

Цепочка наследования (в рамках подпространства \Bitrix\Sale)

Internals\EntityCollection > Internals\CollectionBase

Методы класса

Метод | Описание | С версии
clearCollection | Удаляет все элементы коллекции. | 15.5.1
doFinalAction | Выполняет финальные действия. | 15.5.1
getIndexById | Ищет элемент в коллекции по ID и возвращает его внутренний индекс. | 15.5.1
getItemById | Ищет элемент в коллекции по ID и возвращает его. | 15.5.1
getItemByIndex | Ищет элемент в коллекции по внутреннему индексу и возвращает его. | 17.5.0
isAnyItemDeleted | Проверяет, был ли удален какой-либо элемент коллекции. | 17.5.0
isChanged | Проверяет, была ли изменена коллекция. Возвращает true или false. | 15.5.2
isClone | Проверяет, является ли коллекция клонированной. Возвращает true или false. | 6.0.26
verify | Проверяет коллекцию на корректность. Возвращает объект \Bitrix\Sale\Result. | 17.5.0

Методы родительского класса \Bitrix\Sale\Internals\CollectionBase

Метод | Описание | С версии
count | Возвращает количество элементов объекта. | 15.5.3
current | Возвращает текущий элемент. | 15.5.3
getIterator | Возвращает внешний итератор. | 15.5.3
isEmpty | Проверяет коллекцию на пустоту. Если в коллекции нет элементов, возвращается true (иначе false). | 15.5.3
key | Возвращает индекс текущего элемента коллекции. | 15.5.3
next | Перемещает указатель коллекции вперед на один элемент. | 15.5.3
offsetExists | Определяет, существует или нет заданное смещение (ключ). | 15.5.3
offsetGet | Возвращает заданное смещение (ключ). | 15.5.3
offsetSet | Устанавливает значения для данного смещения. | 15.5.3
offsetUnset | Сбрасывает значение по смещению. | 15.5.3
rewind | Устанавливает указатель на первый элемент коллекции. | 15.5.3
valid | Проверяет, содержит ли коллекция еще элементы. | 15.5.3


clearCollection

\Bitrix\Sale\Internals\EntityCollection::clearCollection();

Метод удаляет все элементы коллекции. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


doFinalAction

\Bitrix\Sale\Internals\EntityCollection::doFinalAction();

Метод выполняет финальные действия. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getIndexById

\Bitrix\Sale\Internals\EntityCollection::getIndexById();

Метод ищет элемент в коллекции по ID и возвращает его внутренний индекс. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getItemById

\Bitrix\Sale\Internals\EntityCollection::getItemById();

Метод ищет элемент в коллекции по ID и возвращает его. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getItemByIndex

\Bitrix\Sale\Internals\EntityCollection::getItemByIndex();

Метод ищет элемент в коллекции по внутреннему индексу и возвращает его. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isAnyItemDeleted

\Bitrix\Sale\BasketItemCollection::getBasketItems();

Метод проверяет, был ли удален какой-либо элемент коллекции. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isChanged

\Bitrix\Sale\Internals\EntityCollection::isChanged();

Метод проверяет, была ли изменена коллекция. Возвращает true или false. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isClone

\Bitrix\Sale\Internals\EntityCollection::isClone();

Метод проверяет, является ли коллекция клонированной. Возвращает true или false. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


verify

\Bitrix\Sale\BasketItemCollection::getBasketItems();

Метод проверяет коллекцию на корректность. Возвращает объект \Bitrix\Sale\Result. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


FuserTable

FuserTable - класс для работы с таблицей пользователей-владельцев корзин в интернет-магазине.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы владельцев корзин. | 12.0.3
getTableName | Метод возвращает название таблицы владельцев корзин в базе данных. | 12.0.3
getUserById | Метод возвращает идентификатор пользователя по его внутреннему коду владельца корзины или false, если идентификатор не найден. | 15.5.3


getMap

array public static
\Bitrix\Sale\Internals\FuserTable::getMap(
);

Метод возвращает список полей для таблицы владельцев корзин. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Sale\Internals\FuserTable::getTableName(
);

Метод возвращает список полей для таблицы владельцев корзин. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUserById

boolean|integer public static
\Bitrix\Sale\Internals\FuserTable::getUserById(
 integer $id
);

Метод возвращает идентификатор пользователя по его внутреннему коду владельца корзины или false, если идентификатор не найден. Метод статический.

Параметры

Параметр | Описание | Версия
$id | Внутренний код владельца корзины. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


OrderArchivePackedTable

OrderArchivePackedTable - класс для работы с таблицей сериализованных данных архивированных заказов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы сериализованных данных. | 17.5.0
getTableName | Метод возвращает название таблицы сериализованных данных. | 17.5.0


getMap

array public static
\Bitrix\Sale\Internals\OrderArchivePackedTable::getMap(
);

Метод возвращает список полей для таблицы сериализованных данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Sale\Internals\OrderArchivePackedTable::getTableName(
);

Метод возвращает название таблицы сериализованных данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


OrderArchiveTable

OrderArchiveTable - класс для работы с таблицей основных полей архивированных заказов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
add | Метод добавляет запись в таблицу основных полей архивированных заказов. | 17.5.0
delete | Метод по первичному ключ удаляет запись из таблицы основных полей архивированных заказов. | 17.5.0
getMap | Метод возвращает список полей для таблицы основных полей архивированных заказов. | 17.0.0
getTableName | Метод возвращает название таблицы основных полей архивированных заказов. | 17.0.0
renew | Метод сериализованными данными обновляет записи таблицы основных полей архивированных заказов. | 17.5.0


add

\Bitrix\Main\Entity\AddResult public static
\Bitrix\Sale\Internals\OrderArchiveTable::add(
 array $data
);

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

Параметры

Параметр Описание Версия
$data Массив данных вида:

array(
    "fields" => array(
         "FIELD1" => "value1",
         "FIELD2" => "value2",
         ),
         "auth_context" => \Bitrix\Main\Authentication\Context object
    )
либо просто обычный массив с данными.

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delete

\Bitrix\Main\Entity\DeleteResult public static
\Bitrix\Sale\Internals\OrderArchiveTable::delete(
 mixed $primary
);

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

Параметры

Параметр | Описание | Версия
$primary | Первичный ключ. |

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Sale\Internals\OrderArchiveTable::getMap(
);

Метод возвращает список полей для таблицы основных полей архивированных заказов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Sale\Internals\OrderArchiveTable::getTableName(
);

Метод возвращает название таблицы основных полей архивированных заказов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


renew

\Bitrix\Main\Result public static
\Bitrix\Sale\Internals\OrderArchiveTable::renew(
 array $filter.
);

Метод сериализованными данными обновляет записи таблицы основных полей архивированных заказов. Метод статический.

Параметры

Параметр | Описание | Версия
$filter. | Фильтр для выбора записей обновления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


OrderCouponsTable

OrderCouponsTable - класс для работы с таблицей купонов заказа.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
checkType | Метод проверяет тип купона. | 15.5.1
clearByOrder | Метод удаляет записи из таблицы, относящиеся к заказу с кодом $order. | 15.5.1
clearList | Метод удаляет записи из таблицы в соответствии с массивом $coupon. | 15.5.1
getMap | Метод возвращает список полей для таблицы купонов заказа. | 15.5.1
getTableName | Метод возвращает название таблицы купонов заказа базе данных. | 15.5.1
validateCoupon | Метод возвращает валидатор для поля COUPON (код купона). | 15.5.1
validateType | Метод возвращает валидатор для поля TYPE (тип купона). | 15.5.1


checkType

boolean|string public static
\Bitrix\Sale\Internals\OrderCouponsTable::checkType(
 integer $value,
 array|integer $primary,
 array $row,
 \Bitrix\Main\Entity\Field $field
);

Метод проверяет тип купона. Метод статический.

Параметры

Параметр | Описание | Версия
$value | Тип купона. |
$primary | Первичный ключ. |
$row | Массив текущих параметров купона. |
$field | Поле объекта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearByOrder

void public static
\Bitrix\Sale\Internals\OrderCouponsTable::clearByOrder(
 integer $order
);

Метод удаляет записи из таблицы, относящиеся к заказу с кодом $order. Метод статический.

Параметры

Параметр | Описание | Версия
$order | Идентификатор заказа. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearList

void public static
\Bitrix\Sale\Internals\OrderCouponsTable::clearList(
 array|integer $coupon
);

Метод удаляет записи из таблицы в соответствии с массивом $coupon. Метод статический.

Параметры

Параметр | Описание | Версия
$coupon | Массив купонов заказа. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Sale\Internals\OrderCouponsTable::getMap(
);

Метод возвращает список полей для таблицы купонов заказа. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Sale\Internals\OrderCouponsTable::getTableName(
);

Метод возвращает название таблицы купонов заказа базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCoupon

array public static
\Bitrix\Sale\Internals\OrderCouponsTable::validateCoupon(
);

Метод возвращает валидатор для поля COUPON (код купона). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateType

array public static
\Bitrix\Sale\Internals\OrderCouponsTable::validateType(
);

Метод возвращает валидатор для поля TYPE (тип купона). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


OrderDiscountDataTable

OrderDiscountDataTable - класс для работы с таблицей со служебной информацией, относящейся к заказу в разрезе примененных скидок и правил корзины.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
clearByBasketItem | Метод удаляет записи из таблицы в соответствии с кодом элемента корзины $basket. | 15.5.1
clearByDiscount | Метод удаляет записи из таблицы в соответствии с массивом $discountList. | 15.5.1
clearByOrder | Метод удаляет записи из таблицы, относящиеся к заказу с кодом $order. | 15.5.1
getMap | Метод возвращает список полей для таблицы со служебной информацией, относящейся к заказу в разрезе примененных скидок и правил корзины. | 15.5.1
getTableName | Метод возвращает название таблицы, с которой работает класс, в базе данных. | 15.5.1
validateEntityValue | Метод возвращает валидатор для поля ENTITY_VALUE (значение сущности). | 15.5.1


clearByBasketItem

boolean public static
\Bitrix\Sale\Internals\OrderDiscountDataTable::clearByBasketItem(
 integer $basket
);

Метод удаляет записи из таблицы в соответствии с кодом элемента корзины $basket. Метод статический.

Параметры

Параметр | Описание | Версия
$basket | Идентификатор элемента корзины. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearByDiscount

boolean public static
\Bitrix\Sale\Internals\OrderDiscountDataTable::clearByDiscount(
 array|integer $discountList
);

Метод удаляет записи из таблицы в соответствии с массивом $discountList. Метод статический.

Параметры

Параметр | Описание | Версия
$discountList | Массив идентификаторов скидок/правил. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearByOrder

boolean public static
\Bitrix\Sale\Internals\OrderDiscountDataTable::clearByOrder(
 integer $order
);

Метод удаляет записи из таблицы, относящиеся к заказу с кодом $order. Метод статический.

Параметры

Параметр | Описание | Версия
$order | Идентификатор заказа. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Sale\Internals\OrderDiscountDataTable::getMap(
);

Метод возвращает список полей для таблицы со служебной информацией, относящейся к заказу в разрезе примененных скидок и правил корзины. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Sale\Internals\OrderDiscountDataTable::getTableName(
);

Метод возвращает название таблицы, с которой работает данный класс. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateEntityValue

array public static
\Bitrix\Sale\Internals\OrderDiscountDataTable::validateEntityValue(
);

Метод возвращает валидатор для поля ENTITY_VALUE (значение сущности). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


OrderDiscountTable

OrderDiscountTable - класс для работы с таблицей применившихся к заказу скидок и правил работы с корзиной.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
calculateHash | Метод вычисляет хеш-сумму для скидки/правила. | 15.5.1
calculateRuleHash | Метод вычисляет хеш-сумму для полей CONDITIONS и ACTIONS. | 15.5.10
clearList | Метод удаляет записи из таблицы применившихся к заказу скидок и правил соответствии с массивом $discount. | 15.5.1
getDiscountByHash | Метод возвращает идентификатор скидки/правила по ее/его хеш-сумме. | 15.5.1
getDiscountModules | Метод возвращает список модулей, необходимых для работы перечисленных в массиве $discount скидок и правил. | 15.5.1
getMap | Метод возвращает список полей для таблицы применившихся к заказу скидок и правил работы с корзиной. | 15.5.1
getTableName | Метод возвращает название таблицы применившихся к заказу скидок и правил работы с корзиной. | 15.5.1
prepareDiscountData | Метод подготавливает данные скидки или правила для сохранения. | 15.5.1
validateDiscountHash | Метод возвращает валидатор для поля DISCOUNT_HASH (хеш-сумма правила/скидки). | 15.5.1
validateModuleId | Метод возвращает валидатор для поля MODULE_ID (идентификатор модуля). | 15.5.1
validateName | Метод возвращает валидатор для поля NAME (название скидки или правила корзины). | 15.5.1


calculateHash

boolean|string public static
\Bitrix\Sale\Internals\OrderDiscountTable::calculateHash(
 array $discount
);

Метод вычисляет хеш-сумму для скидки/правила. Метод статический.

Параметры

Параметр | Описание | Версия
$discount | Массив параметров скидки/правила. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


calculateRuleHash

boolean|string public static
\Bitrix\Sale\Internals\OrderDiscountTable::calculateRuleHash(
 array $discount
);

Метод вычисляет хеш-сумму для полей CONDITIONS и ACTIONS. Метод статический.

Параметры

Параметр | Описание | Версия
$discount | Массив параметров скидки/правила. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearList

void public static
\Bitrix\Sale\Internals\OrderDiscountTable::clearList(
 array|integer $discount
);

Метод удаляет записи из таблицы применившихся к заказу скидок и правил соответствии с массивом $discount. Метод статический.

Параметры

Параметр | Описание | Версия
$discount | Массив идентификаторов скидок и правил. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDiscountByHash

integer|boolean public static
\Bitrix\Sale\Internals\OrderDiscountTable::getDiscountByHash(
 string $hash
);

Метод возвращает идентификатор скидки/правила по ее/его хеш-сумме. Метод статический.

Параметры

Параметр | Описание | Версия
$hash | Хеш-сумма скидки/правила. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDiscountModules

array public static
\Bitrix\Sale\Internals\OrderDiscountTable::getDiscountModules(
 array $discount
);

Метод возвращает список модулей, необходимых для работы перечисленных в массиве $discount скидок и правил. Метод статический.

Параметры

Параметр | Описание | Версия
$discount | Массив скидок и правил. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Sale\Internals\OrderDiscountTable::getMap(
);

Метод возвращает список полей для таблицы применившихся к заказу скидок и правил работы с корзиной. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Sale\Internals\OrderDiscountTable::getTableName(
);

Метод возвращает название таблицы применившихся к заказу скидок и правил работы с корзиной. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareDiscountData

array|boolean public static
\Bitrix\Sale\Internals\OrderDiscountTable::prepareDiscountData(
 array $discount
);

Метод подготавливает данные скидки или правила для сохранения. Метод статический.

Параметры

Параметр | Описание | Версия
$discount | Массив с параметрами скидки или правила. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateDiscountHash

array public static
\Bitrix\Sale\Internals\OrderDiscountTable::validateDiscountHash(
);

Метод возвращает валидатор для поля DISCOUNT_HASH (хеш-сумма правила/скидки). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateModuleId

array public static
\Bitrix\Sale\Internals\OrderDiscountTable::validateModuleId(
);

Метод возвращает валидатор для поля MODULE_ID (идентификатор модуля). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateName

array public static
\Bitrix\Sale\Internals\OrderDiscountTable::validateName(
);

Метод возвращает валидатор для поля NAME (название скидки или правила корзины). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


OrderModulesTable

OrderModulesTable - класс для работы с таблицей модулей, необходимых для работы правил корзины, применившихся к заказу.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
clearByDiscount | Метод удаляет записи из таблицы модулей в соответствии с массивом $discount. | 15.5.1
getMap | Метод возвращает список полей для таблицы модулей, необходимых для работы правил корзины, применившихся к заказу. | 15.5.1
getTableName | Метод возвращает название таблицы с модулями, необходимыми для работы правил корзины, применившихся к заказу. | 15.5.1
saveOrderDiscountModules | Метод записывает модули, требуемые для правила корзины. | 15.5.1
validateModuleId | Метод возвращает валидатор для поля MODULE_ID (идентификатор модуля). | 15.5.1


clearByDiscount

void public static
\Bitrix\Sale\Internals\OrderModulesTable::clearByDiscount(
 array|integer $discount
);

Метод удаляет записи из таблицы модулей в соответствии с массивом $discount. Метод статический.

Параметры

Параметр | Описание | Версия
$discount | Массив идентификаторов правил работы с корзиной или просто идентификатор правила. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Sale\Internals\OrderModulesTable::getMap(
);

Метод возвращает список полей для таблицы модулей, необходимых для работы правил корзины, применившихся к заказу. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Sale\Internals\OrderModulesTable::getTableName(
);

Метод возвращает название таблицы с модулями, необходимыми для работы правил корзины, применившихся к заказу. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


saveOrderDiscountModules

boolean public static
\Bitrix\Sale\Internals\OrderModulesTable::saveOrderDiscountModules(
 integer $discountId,
 array $moduleList
);

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

Параметры

Параметр | Описание | Версия
$discountId | Идентификатор правила в заказе. |
$moduleList | Список модулей. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateModuleId

array public static
\Bitrix\Sale\Internals\OrderModulesTable::validateModuleId(
);

Метод возвращает валидатор для поля MODULE_ID (идентификатор модуля). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


OrderRulesDescrTable

OrderRulesDescrTable - класс для работы с таблицей описания применившихся скидок к конкретному товару или доставке.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы с описанием применившихся скидок к конкретному товару или доставке. | 15.5.1
getTableName | Метод возвращает название таблицы с описанием применившихся скидок к конкретному товару или доставке. | 15.5.1
validateModuleId | Метод возвращает валидатор для поля MODULE_ID (идентификатор модуля). | 15.5.1


getMap

array public static
\Bitrix\Sale\Internals\OrderRulesDescrTable::getMap(
);

Метод возвращает список полей для таблицы с описанием применившихся скидок к конкретному товару или доставке. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Sale\Internals\OrderRulesDescrTable::getTableName(
);

Метод возвращает название таблицы с описанием применившихся скидок к конкретному товару или доставке. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateModuleId

array public static
\Bitrix\Sale\Internals\OrderRulesDescrTable::validateModuleId(
);

Метод возвращает валидатор для поля MODULE_ID (идентификатор модуля). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


OrderRulesTable

OrderRulesTable - класс для работы с таблицей примененных скидок и правил к сущностям заказа.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
clearBasketSaleDiscount | Метод очищает правила работы с корзиной. | 15.5.1
clearByBasketItem | Метод очищает правила и скидки, примененные к элементу корзины с кодом $basket. | 15.5.1
clearByOrder | Метод очищает правила работы с корзиной, примененные в заказе с кодом $order. | 15.5.1
getMap | Метод возвращает список полей для таблицы примененных скидок и правил к сущностям заказа. | 15.5.1
getTableName | Метод возвращает название таблицы примененных скидок и правил к сущностям заказа. | 15.5.1
validateEntityValue | Метод возвращает валидатор для поля ENTITY_VALUE (значение сущности). | 15.5.1
validateModuleId | Метод возвращает валидатор для поля MODULE_ID (идентификатор модуля). | 15.5.1


clearBasketSaleDiscount

void public static
\Bitrix\Sale\Internals\OrderRulesTable::clearBasketSaleDiscount(
 array $basketList
);

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

Параметры

Параметр | Описание | Версия
$basketList | Массив идентификаторов элементов корзины, не привязанных к заказу. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearByBasketItem

void public static
\Bitrix\Sale\Internals\OrderRulesTable::clearByBasketItem(
 integer $basket
);

Метод очищает правила и скидки, примененные к элементу корзины с кодом $basket. Метод статический.

Параметры

Параметр | Описание | Версия
$basket | Идентификатор элемента корзины. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearByOrder

void public static
\Bitrix\Sale\Internals\OrderRulesTable::clearByOrder(
 integer $order
);

Метод очищает правила работы с корзиной, примененные в заказе с кодом $order. Метод статический.

Параметры

Параметр | Описание | Версия
$order | Идентификатор заказа. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Sale\Internals\OrderRulesTable::getMap(
);

Метод возвращает список полей для таблицы примененных скидок и правил к сущностям заказа. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Sale\Internals\OrderRulesTable::getTableName(
);

Метод возвращает название таблицы примененных скидок и правил к сущностям заказа. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateEntityValue

array public static
\Bitrix\Sale\Internals\OrderRulesTable::validateEntityValue(
);

Метод возвращает валидатор для поля ENTITY_VALUE (значение сущности). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateModuleId

array public static
\Bitrix\Sale\Internals\OrderRulesTable::validateModuleId(
);

Метод возвращает валидатор для поля MODULE_ID (идентификатор модуля). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


OrderTable

OrderTable - класс для работы с таблицей заказов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы заказов. | 12.0.3
getTableName | Метод возвращает название таблицы заказов в базе данных. | 12.0.3


getMap

array public static
\Bitrix\Sale\Internals\OrderTable::getMap(
);

Метод возвращает список полей для таблицы заказов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Sale\Internals\OrderTable::getTableName(
);

Метод возвращает название таблицы заказов в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


PaymentTable

PaymentTable - класс для работы с таблицей оплат.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
validateCurrency | Метод возвращает валидатор для поля CURRENCY. | 15.5.3
validatePaid | Метод возвращает валидатор для поля PAID. | 15.5.3
validatePayReturnNum | Метод возвращает валидатор для поля PAY_RETURN_NUM. | 15.5.3
validatePaySystemName | Метод возвращает валидатор для поля PAY_SYSTEM_NAME. | 15.5.3
validatePayVoucherNum | Метод возвращает валидатор для поля PAY_VOUCHER_NUM. | 15.5.3
validatePsCurrency | Метод возвращает валидатор для поля PS_CURRENCY. | 15.5.3
validatePsStatus | Метод возвращает валидатор для поля PS_STATUS. | 15.5.3
validatePsStatusCode | Метод возвращает валидатор для поля PS_STATUS_CODE. | 15.5.3
validatePsStatusDescription | Метод возвращает валидатор для поля PS_STATUS_DESCRIPTION. | 15.5.3
validatePsStatusMessage | Метод возвращает валидатор для поля PS_STATUS_MESSAGE. | 15.5.3
validateXmlId | Метод возвращает валидатор для поля XML_ID. | 15.5.3


validateCurrency

array public static
\Bitrix\Sale\Internals\PaymentTable::validateCurrency(
);

Метод возвращает валидатор для поля CURRENCY (код валюты). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validatePaid

array public static
\Bitrix\Sale\Internals\PaymentTable::validatePaid(
);

Метод возвращает валидатор для поля PAID (флаг оплаты). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validatePayReturnNum

array public static
\Bitrix\Sale\Internals\PaymentTable::validatePayReturnNum(
);

Метод возвращает валидатор для поля PAY_RETURN_NUM (номер документа возврата). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validatePaySystemName

array public static
\Bitrix\Sale\Internals\PaymentTable::validatePaySystemName(
);

Метод возвращает валидатор для поля PAY_SYSTEM_NAME (название платежной системы). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validatePayVoucherNum

array public static
\Bitrix\Sale\Internals\PaymentTable::validatePayVoucherNum(
);

Метод возвращает валидатор для поля PAY_VOUCHER_NUM (номер документа прихода). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validatePsCurrency

array public static
\Bitrix\Sale\Internals\PaymentTable::validatePsCurrency(
);

Метод возвращает валидатор для поля PS_CURRENCY. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validatePsStatus

array public static
\Bitrix\Sale\Internals\PaymentTable::validatePsStatus(
);

Метод возвращает валидатор для поля PS_STATUS. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validatePsStatusCode

array public static
\Bitrix\Sale\Internals\PaymentTable::validatePsStatusCode(
);

Метод возвращает валидатор для поля PS_STATUS_CODE. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validatePsStatusDescription

array public static
\Bitrix\Sale\Internals\PaymentTable::validatePsStatusDescription(
);

Метод возвращает валидатор для поля PS_STATUS_DESCRIPTION. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validatePsStatusMessage

array public static
\Bitrix\Sale\Internals\PaymentTable::validatePsStatusMessage(
);

Метод возвращает валидатор для поля PS_STATUS_MESSAGE. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateXmlId

array public static
\Bitrix\Sale\Internals\PaymentTable::validateXmlId(
);

Метод возвращает валидатор для поля XML_ID (внешний код). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


PaySystemActionTable

PaySystemActionTable - класс для работы с таблицами платёжных систем.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Метод | Описание | С версии
getTableName | Метод возвращает имя таблицы |
getMap | Метод возвращает список полей таблицы. |
delete | Метод удаляет строку в таблице сущностей по ключу |


delete

\Bitrix\Main\Entity\DeleteResult public static
\Bitrix\Sale\Internals\PaySystemActionTable::delete(
 mixed $primary
);

Статический метод удаляет строку в таблице сущностей по ключу.

Параметры

Параметр | Описание | Версия
$primary | Ключ, по которому будет удалена строка. |

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

public static function
\Bitrix\Sale\Internals\PaySystemActionTable::getMap(
)

Статический метод возвращает список полей таблицы.

Параметры

Без параметров

Пример

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

public static function
\Bitrix\Sale\Internals\PaySystemActionTable::getTableName(
)

Статический метод возвращает имя таблицы.

Параметры

Без параметров.

Пример

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


PaySystemServiceTable

PaySystemServiceTable - класс для работы с таблицей платежных систем.

Класс устарел, вместо него используйте \Bitrix\Sale\Internals\PaySystemActionTable.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
validateCurrency | Метод возвращает валидатор для поля CURRENCY (код валюты). | 15.5.3
validateDescription | Метод возвращает валидатор для поля DESCRIPTION (описание платежной системы). | 15.5.3
validateLid | Метод возвращает валидатор для поля LID (идентификатор сайта). | 15.5.3
validateName | Метод возвращает валидатор для поля NAME (название платежной системы). | 15.5.3


validateCurrency

array public static
\Bitrix\Sale\Internals\PaySystemServiceTable::validateCurrency(
);

Метод возвращает валидатор для поля CURRENCY (код валюты). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateDescription

array public static
\Bitrix\Sale\Internals\PaySystemServiceTable::validateDescription(
);

Метод возвращает валидатор для поля DESCRIPTION (описание платежной системы). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateLid

array public static
\Bitrix\Sale\Internals\PaySystemServiceTable::validateLid(
);

Метод возвращает валидатор для поля LID (идентификатор сайта). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateName

array public static
\Bitrix\Sale\Internals\PaySystemServiceTable::validateName(
);

Метод возвращает валидатор для поля NAME (название платежной системы). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


PersonTypeTable

PersonTypeTable - класс для работы с таблицей типов плательщиков.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getFilePath | Метод возвращает путь к файлу, содержащему определение класса. | 12.0.3
getMap | Метод возвращает список полей для таблицы типов плательщиков. | 12.0.3
getTableName | Метод возвращает название таблицы типов плательщиков в базе данных. | 12.0.3
validateLid | Метод возвращает валидатор для поля LID (идентификатор сайта). | 15.5.3
validateName | Метод возвращает валидатор для поля NAME (название типа плательщика). | 15.5.3


getFilePath

string public static
\Bitrix\Sale\Internals\PersonTypeTable::getFilePath(
);

Метод возвращает путь к файлу, содержащему определение класса. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Sale\Internals\PersonTypeTable::getMap(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Sale\Internals\PersonTypeTable::getTableName(
);

Метод возвращает название таблицы типов плательщиков в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateLid

array public static
\Bitrix\Sale\Internals\PersonTypeTable::validateLid(
);

Метод возвращает валидатор для поля LID (идентификатор сайта). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateName

array public static
\Bitrix\Sale\Internals\PersonTypeTable::validateName(
);

Метод возвращает валидатор для поля NAME (название типа плательщика). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ShipmentItemStoreTable

ShipmentItemStoreTable - класс для работы с таблицей штрихкодов товаров.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы штрихкодов товаров. | 15.5.3
getTableName | Метод возвращает название таблицы штрихкодов товаров в базе данных. | 15.5.3
validateBarcode | Метод возвращает валидатор для поля BARCODE (штрихкод товара). | 15.5.3


getMap

array public static
\Bitrix\Sale\Internals\ShipmentItemStoreTable::getMap(
);

Метод возвращает список полей для таблицы штрихкодов товаров. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Sale\Internals\ShipmentItemStoreTable::getTableName(
);

Метод возвращает название таблицы штрихкодов товаров в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateBarcode

array public static
\Bitrix\Sale\Internals\ShipmentItemStoreTable::validateBarcode(
);

Метод возвращает валидатор для поля BARCODE (штрихкод товара). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ShipmentItemTable

ShipmentItemTable - класс для работы с таблицей, в которой хранятся составы отгрузок.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getFilePath | Метод возвращает путь к файлу, содержащему определение класса. | 15.5.1
getMap | Метод возвращает список полей для таблицы, в которой хранятся составы отгрузок. | 15.5.1
getTableName | Метод возвращает название таблицы базы данных, в которой хранятся составы отгрузок. | 15.5.1


getFilePath

string public static
\Bitrix\Sale\Internals\ShipmentItemTable::getFilePath(
);

Метод возвращает путь к файлу, содержащему определение класса. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Sale\Internals\ShipmentItemTable::getMap(
);

Метод возвращает список полей для таблицы, в которой хранятся составы отгрузок. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Sale\Internals\ShipmentItemTable::getTableName(
);

Метод возвращает название таблицы базы данных, в которой хранятся составы отгрузок. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ShipmentTable

ShipmentTable - класс для работы с таблицей документов отгрузок.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getFilePath | Метод возвращает путь к файлу, содержащему определение класса. | 15.5.3
getMap | Метод возвращает список полей для таблицы документов отгрузок. | 15.5.3
getTableName | Метод возвращает название таблицы документов отгрузок в базе данных. | 15.5.3
validateAllowDelivery | Метод возвращает валидатор для поля ALLOW_DELIVERY. | 15.5.3
validateCanceled | Метод возвращает валидатор для поля CANCELED. | 15.5.3
validateDeducted | Метод возвращает валидатор для поля DEDUCTED. | 15.5.3
validateDeliveryDocNum | Метод возвращает валидатор для поля DELIVERY_DOC_NUM. | 15.5.3
validateDeliveryName | Метод возвращает валидатор для поля DELIVERY_NAME. | 15.5.3
validateMarked | Метод возвращает валидатор для поля MARKED. | 15.5.3
validateReasonCanceled | Метод возвращает валидатор для поля REASON_CANCELED. | 15.5.3
validateReasonMarked | Метод возвращает валидатор для поля REASON_MARKED. | 15.5.3
validateReasonUndoDeducted | Метод возвращает валидатор для поля REASON_UNDO_DEDUCTED. | 15.5.3
validateReserved | Метод возвращает валидатор для поля RESERVED. | 15.5.3
validateSystem | Метод возвращает валидатор для поля SYSTEM. | 15.5.3
validateTrackingDescription | Метод возвращает валидатор для поля TRACKING_DESCRIPTION. | 15.5.12
validateTrackingNumber | Метод возвращает валидатор для поля TRACKING_NUMBER. | 15.5.3
validateXmlId | Метод возвращает валидатор для поля XML_ID. | 15.5.3


getFilePath

string public static
\Bitrix\Sale\Internals\ShipmentTable::getFilePath(
);

Метод возвращает путь к файлу, содержащему определение класса. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Sale\Internals\ShipmentTable::getMap(
);

Метод возвращает список полей для таблицы документов отгрузок. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Sale\Internals\ShipmentTable::getTableName(
);

Метод возвращает название таблицы документов отгрузок в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateAllowDelivery

array public static
\Bitrix\Sale\Internals\ShipmentTable::validateAllowDelivery(
);

Метод возвращает валидатор для поля ALLOW_DELIVERY (флаг разрешения доставки). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCanceled

array public static
\Bitrix\Sale\Internals\ShipmentTable::validateCanceled(
);

Метод возвращает валидатор для поля CANCELED (флаг отмены). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateDeducted

array public static
\Bitrix\Sale\Internals\ShipmentTable::validateDeducted(
);

Метод возвращает валидатор для поля DEDUCTED (флаг отгрузки). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateDeliveryDocNum

array public static
\Bitrix\Sale\Internals\ShipmentTable::validateDeliveryDocNum(
);

Метод возвращает валидатор для поля DELIVERY_DOC_NUM (номер документа отгрузки). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateDeliveryName

array public static
\Bitrix\Sale\Internals\ShipmentTable::validateDeliveryName(
);

Метод возвращает валидатор для поля DELIVERY_NAME (название службы доставки). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateMarked

array public static
\Bitrix\Sale\Internals\ShipmentTable::validateMarked(
);

Метод возвращает валидатор для поля MARKED (флаг проблемы с отгрузкой). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateReasonCanceled

array public static
\Bitrix\Sale\Internals\ShipmentTable::validateReasonCanceled(
);

Метод возвращает валидатор для поля REASON_CANCELED (причина отмены отгрузки). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateReasonMarked

array public static
\Bitrix\Sale\Internals\ShipmentTable::validateReasonMarked(
);

Метод возвращает валидатор для поля REASON_MARKED (причина проблемы с отгрузкой). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateReasonUndoDeducted

array public static
\Bitrix\Sale\Internals\ShipmentTable::validateReasonUndoDeducted(
);

Метод возвращает валидатор для поля REASON_UNDO_DEDUCTED (причина снятия флага отгрузки). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateReserved

array public static
\Bitrix\Sale\Internals\ShipmentTable::validateReserved(
);

Метод возвращает валидатор для поля RESERVED (товары зарезервированы). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateSystem

array public static
\Bitrix\Sale\Internals\ShipmentTable::validateSystem(
);

Метод возвращает валидатор для поля SYSTEM (флаг, определяющий отгрузка системная (т.е. внутренняя) или обычная). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateTrackingDescription

array public static
\Bitrix\Sale\Internals\ShipmentTable::validateTrackingDescription(
);

Метод возвращает валидатор для поля TRACKING_DESCRIPTION (описание отслеживания). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateTrackingNumber

array public static
\Bitrix\Sale\Internals\ShipmentTable::validateTrackingNumber(
);

Метод возвращает валидатор для поля TRACKING_NUMBER (номер для отслеживания). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateXmlId

array public static
\Bitrix\Sale\Internals\ShipmentTable::validateXmlId(
);

Метод возвращает валидатор для поля XML_ID (внешний код). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SiteCurrencyTable

SiteCurrencyTable - класс для работы с таблицей валют сайтов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getCurrency | Метод возвращает параметры валюты сайта. | 15.5.3
getSiteCurrency | Метод возвращает код валюты сайта. | 15.5.3


getCurrency

boolean|array public static
\Bitrix\Sale\Internals\SiteCurrencyTable::getCurrency(
 string $siteId
);

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

Параметры

Параметр | Описание | Версия
$siteId | Идентификатор сайта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSiteCurrency

boolean|string public static
\Bitrix\Sale\Internals\SiteCurrencyTable::getSiteCurrency(
 string $siteId
);

Метод возвращает код валюты сайта. Метод статический.

Параметры

Параметр | Описание | Версия
$siteId | Идентификатор сайта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Location

Подпространство имен Bitrix\Sale\Location содержит классы для работы с местоположениями.

Класс, подпространство | Описание
Connector | Класс для связи местоположений с другими сущностями, такими как доставки, группы, налоги.
LocationTable | Класс для работы с таблицей местоположений.
Search | Подпространство для поиска местоположений.


Connector

Connector - класс для связи местоположений с другими сущностями, такими как доставки, группы, налоги.

Методы класса

Метод | Описание | С версии
add | Метод добавляет новую связь между местоположением и сущностью. |
checkConnectionExists | Метод проверяет связано ли указанное местоположение с заданной сущностью. |
delete | Метод удаляет связь между местоположением и сущностью. |
getConnectedGroups | Метод возвращает набор групп местоположений, которые связаны с заданной сущностью. |
getConnectType | Метод возвращает тип связи для текущей сущности (строковая константа L или G). |
getLinkField | Метод возвращает имя столбца таблицы, содержащей связи таблиц местоположений и сущностей. Например, для доставки она должна вернуть DELIVERY_ID. Ограничение: механизм не поддерживает составные первичные ключи. |
getLocationLinkField | Метод возвращает название поля, которое содержит идентификатор или код местоположения. По умолчанию для большинства сущностей используется LOCATION_ID. Для вновь созданных сущностей - должно быть LOCATION_CODE (строка). |
update | Метод обновляет параметры связи между местоположением и сущностью. |


add

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Location>Connector>add (доступен с 14.10.1)

Connector::add

\Bitrix\Sale\Location\Bitrix\Main\Entity\AddResult public static
\Bitrix\Sale\Location\Connector::add(
 array $data
);

Метод добавляет новую связь между местоположением и сущностью. Метод статический.

Параметры

Параметр | Описание | Версия
$data | Массив с данными для добавления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkConnectionExists

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Location>Connector>checkConnectionExists (доступен с 14.10.1)

Connector::checkConnectionExists

boolean public static
\Bitrix\Sale\Location\Connector::checkConnectionExists(
 mixed $entityPrimary,
 mixed $locationPrimary,
 mixed $behaviour = array('LOCATION_LINK_TYPE' => 'ID')
);

Метод проверяет связано ли указанное местоположение с заданной сущностью. Метод статический.

Параметры

Параметр | Описание | Версия
$entityPrimary | Сущность, которая проверяется. |
$locationPrimary | Идентификатор или код местоположения, которое проверяется. |
$behaviour | Набор флагов, которые изменяют поведение метода. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delete

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Location>Connector>delete (доступен с 14.10.1)

Connector::delete

\Bitrix\Sale\Location\Bitrix\Main\Entity\DeleteResult public static
\Bitrix\Sale\Location\Connector::delete(
 mixed $primary
);

Метод удаляет связь между местоположением и сущностью. Метод статический.

Параметры

Параметр | Описание | Версия
$primary | Первичный ключ. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getConnectedGroups

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Location>Connector>getConnectedGroups (доступен с 14.10.1)

Connector::getConnectedGroups

\Bitrix\Sale\Location\Bitrix\Main\DB\Result public static
\Bitrix\Sale\Location\Connector::getConnectedGroups(
 mixed $entityPrimary,
 array $parameters = array()
);

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

Параметры

Параметр | Описание | Версия
$entityPrimary | Первичный ключ сущности. |
$parameters | Массив параметров выборки. |

Исключения

  • \Bitrix\Sale\Location\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getConnectType

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Location>Connector>getConnectType (доступен с 14.10.1)

Connector::getConnectType

integer public static
\Bitrix\Sale\Location\Connector::getConnectType(
);

Метод возвращает тип связи для текущей сущности (строковая константа L или G). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLinkField

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Location>Connector>getLinkField (доступен с 14.10.1)

Connector::getLinkField

string public
\Bitrix\Sale\Location\Connector::getLinkField(
);

Метод возвращает имя столбца таблицы, содержащей связи таблиц местоположений и сущностей. Например, для доставки она должна вернуть DELIVERY_ID. Ограничение: механизм не поддерживает составные первичные ключи. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLocationLinkField

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Location>Connector>getLocationLinkField (доступен с 14.10.1)

Connector::getLocationLinkField

string public static
\Bitrix\Sale\Location\Connector::getLocationLinkField(
);

Метод возвращает название поля, которое содержит идентификатор или код местоположения. По умолчанию для большинства сущностей используется LOCATION_ID. Для вновь созданных сущностей - должно быть LOCATION_CODE (строка). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


update

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>Location>Connector>update (доступен с 14.10.1)

Connector::update

\Bitrix\Sale\Location\Bitrix\Main\Entity\UpdateResult public static
\Bitrix\Sale\Location\Connector::update(
 mixed $primary,
 array $data = array()
);

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

Параметры

Параметр | Описание | Версия
$primary | Первичный ключ. |
$data | Массив с обновляемыми данными. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LocationTable

LocationTable - класс для работы с таблицей местоположений.

Методы класса

Метод | Описание | С версии
add | Метод добавляет новое местоположение. | 14.10.1
delete | Метод удаляет местоположение из дерева местоположений. | 14.10.1
getByCode | Метод возвращает параметры местоположения с кодом $code. | 14.10.1
getPathToNodeByCode | Метод выдает родительскую цепь указанного местоположения по его коду. | 14.10.1
update | Метод обновляет параметры существующего местоположения. | 14.10.1


add

\Bitrix\Main\Entity\AddResult public static
\Bitrix\Sale\Location\LocationTable::add(
    array $data = array(),
);

Метод добавляет новое местоположение. Метод статический.

Параметры

Параметр Описание Версия
$data Массив параметров местоположения с ключами:
  • NAME - название нового местоположения;
  • EXTERNAL - внешние сервисы.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delete

 public static
\Bitrix\Sale\Location\LocationTable::delete(
  integer $primary,
  array $behaviour = array('REBALANCE' => true, 'DELETE_SUBTREE' => true, 'RESET_LEGACY' => true)
);

Метод удаляет местоположение из дерева местоположений. Метод статический.

Параметры

Параметр | Описание | Версия
$primary | Идентификатор местоположения. |
$behaviour | Массив дополнительных флагов поведения. | 14.10.2

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getByCode

\Bitrix\Main\DB\Result public static
\Bitrix\Sale\Location\LocationTable::getByCode(
 string $code = '',
 array $parameters = array()
);

Метод возвращает параметры местоположения с кодом $code. Метод статический.

Параметры

Параметр | Описание | Версия
$code | Код местоположения. |
$parameters | Массив дополнительных параметров выборки. |

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPathToNodeByCode

 public static
\Bitrix\Sale\Location\LocationTable::getPathToNodeByCode(
 string $code,
 array $parameters,
 array $behaviour = array('SHOW_LEAF' => true)
);

Метод выдает родительскую цепь указанного местоположения по его коду. Метод статический.

Параметры

Параметр | Описание | Версия
$code | Код местоположения. |
$parameters | Массив дополнительных параметров выборки. |
$behaviour | Массив дополнительных флагов поведения. Системный параметр. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


update

\Bitrix\Main\Entity\UpdateResult public static
\Bitrix\Sale\Location\LocationTable::update(
 integer $primary,
 array $data = array(),
 array $behaviour = array('REBALANCE' => true, 'RESET_LEGACY' => true)
);

Метод обновляет параметры существующего местоположения. Метод статический.

Параметры

Параметр | Описание | Версия
$primary | Идентификатор местоположения.
$data Массив параметров местоположения с ключами:
  • NAME - название нового местоположения;
  • EXTERNAL - внешние сервисы.
$behaviour | Массив дополнительных флагов поведения. Системный параметр. | 14.10.2

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Search

Подпространство имен Bitrix\Sale\Location\Search содержит классы для поиска местоположений.

Класс | Описание
Finder | Класс для поиска местоположений.


Finder

Finder - класс для поиска местоположений.

Методы класса

Метод | Описание | С версии
find | Метод выполняет поиск местоположений. |


find

 public static
\Bitrix\Sale\Location\Search\Finder::find(
 array $parameters,
 array $behaviour = array('FALLBACK_TO_NOINDEX_ON_NOTFOUND' => true, 'USE_INDEX' => true, 'USE_ORM' => true)
);

Метод выполняет поиск местоположений. Метод статический.

Параметры

Параметр | Описание | Версия
$parameters | Параметры поиска, аналогичные параметрам LocationTable::getList(). Дополнительно используется ключ PHRASE - поисковая фраза. |
$behaviour | Дополнительные настройки поиска. Важный ключ USE_INDEX - использовать поисковый индекс. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Notify

Notify - класс для работы с уведомлениями.

Методы класса

Метод | Описание | С версии
convertDateFieldsToOldFormat | Метод преобразует массив дат из объекта в строку. | 16.0.13


convertDateFieldsToOldFormat

array public static
\Bitrix\Sale\Notify::convertDateFieldsToOldFormat(
 array $fields
);

Метод преобразует массив дат из объекта в строку. Метод статический.

Параметры

Параметр | Описание | Версия
$fields | Массив дат. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Order

Описание и методы

\Bitrix\Sale\Order - класс для работы с заказами. Он расширяет базовый класс, добавляя работу с оплатами, отгрузками и источниками заказа.

Цепочка наследования

\Bitrix\Sale\Order > \Bitrix\Sale\OrderBase > \Bitrix\Sale\Internals\Entity

Методы класса

Метод | Описание | С версии
addPrintedCheck | Привязывает к объекту заказа чек. | 17.0.1
getDeliveryIdList | Возвращает список ID служб доставок, которые используются в заказе. | 18.0.0
getPaySystemIdList | Возвращает список ID платежных систем, которые используются в заказе. | 18.0.0
getPaymentCollection | Возвращает коллекцию оплат, привязанных к заказу. | 15.5.0
getPrintedChecks | Возвращает список чеков (массив объектов класса \Bitrix\Sale\Cashbox\Check), которые были созданы для заказа. | 17.0.1
getShipmentCollection | Возвращает коллекцию отгрузок, привязанных к заказу. | 15.5.0
getTradeBindingCollection | Возвращает коллекцию различным источникам, которые привязаны к заказу. | 18.5.0
loadPaymentCollection | Возвращает коллекцию оплат, привязанных к заказу, из базы данных. | 15.5.0
loadShipmentCollection | Загружает коллекцию отгрузок, привязанных к заказу, из базы данных. | 15.5.0

Методы родительского класса \Bitrix\Sale\OrderBase

Метод | Описание | С версии
appendBasket | Прикрепляет корзину к новому заказу. | 17.5.0
applyDiscount | Применяет рассчитанные скидки к заказу. | 18.0.0
create | Создает объект заказа. | 15.5.0
delete | Удаляет заказ, предварительно отменяя заказ. | 18.0.0
deleteNoDemand | Удаляет заказ напрямую из базы. | 18.0.0
doFinalAction | Выполняет расчет скидок, налогов и применяет их к заказу. | 18.0.0
getAvailableFields | Возвращает массив полей, которые могут быть установлены через методы setField() и setFields(). | 15.5.5
getBasket | Возвращает объект корзины, прикрепленной к заказу. | 15.5.0
getCurrency | Возвращает валюту заказа. | 15.5.0
getDateInsert | Возвращает дату создания заказа. | 15.5.0
[link=8812525]getDeliveryLocation[/link] | Возвращает стоимость доставок для всех заказов. | 15.5.0
getDeliveryPrice | Возвращает стоимость доставок для всех заказов. | 15.5.0
getDiscount | Возвращает объект класса \Bitrix\Sale\DiscountBase. | 18.0.0
getDiscountPrice | Возвращает величину скидки/наценки на заказ. | 15.5.0
getHash | Возвращает хеш заказа. | 18.0.0
getId | Возвращает ID заказа. | 15.5.0
getPersonTypeId | Возвращает ID типа плательщика заказа, к которому привязан заказ. | 15.5.0
getPrice | Возвращает стоимость заказа с учетом скидок/наценок. | 15.5.0
getPropertyCollection | Возвращает коллекцию значений свойств, привязанных к заказу | 15.5.0
getRegistryType | Возвращает тип реестра, которому относится объект. | 18.0.0
getSiteId | Возвращает ID сайта, на котором оформлялся заказ. | 15.5.0
getSumPaid | Возвращает стоимость заказа, которую уже оплатили. | 15.5.0
getTax | Возвращает объект класса \Bitrix\Sale\Tax. | 17.5.0
getTaxLocation | Возвращает ID местоположения которое используется для расчета налогов. | 18.0.0
getTaxPrice | Возвращает величину налога на заказ. | 15.5.0
getTaxValue | Возвращает ставку налога на заказ. | 15.5.0
getUfId | Возвращает ID пользовательских полей. По умолчанию null. | 18.0.0
getUserId | Возвращает ID покупателя. | 15.5.0
getVatRate | Возвращает ставку НДС, которая была применена. | 15.5.0
getVatSum | Возвращает общую величину НДС. | 15.5.0
isAllowDelivery | Возвращает значение true, если для заказа разрешена доставка (иначе возвращает false). | 18.0.0
isCanceled | Возвращает значение true, если заказ отменен (иначе возвращает false). | 18.0.0
isChanged | Возвращает значение true, если заказ изменен (иначе возвращает false). | 18.0.0
isExternal | Возвращает true, если заказ пришел извне (например, из 1С). Иначе возвращает false. | 15.5.2
isMarked | Возвращает true, если заказ промаркирован (иначе возвращается false). Заказы маркируются только в случае каких-либо ошибок. | 16.0.22
isNotEmptyBasket | Возвращает true, если корзина не пуста. В противном случае - false. | 15.5.0
isPaid | Возвращает значение true, если заказ оплачен (иначе возвращает false). | 18.0.0
isShipped | Возвращает true, если заказ отгружен (иначе возвращает false). | 15.5.0
isUsedVat | Возвращает true, если используется НДС (иначе возвращает false). | 15.5.0
load | Загружает заказ по ID и возвращает объект (либо null). | 15.5.0
loadByAccountNumber | Загружает заказ по его номеру и возвращает объект (либо null). | 18.0.0
loadByFilter | Возвращает массив объектов заказа (либо null). | 18.0.0
loadPropertyCollection | Загружает коллекцию значений свойств, привязанных к заказу из базы данных. | 15.5.0
refreshData | Выполняет пересчет заказа. | 17.5.0
refreshVat | Выполняет пересчет налогов. | 15.5.0
resetData | Сбрасывает информацию по заказу. | 18.5.3
resetTax | Сбрасывает информацию по налогам. | 18.0.0
save | Сохраняет заказ. | 15.5.0
setBasket | Прикрепляет корзину к новому заказу и актуализирует ее. При попытке прикрепить корзину к существующему заказу будет выброшено исключение: \Bitrix\Main\NotSupportedException. | 18.0.0
setPersonTypeId | Устанавливает ID типа плательщика для заказа. | 15.5.0
verify | Проверяет заказ и связанные с ним сущности на корректность. | 18.0.0

Методы родительского класса \Bitrix\Sale\Internals\Entity

Метод | Описание | С версии
doFinalAction | Абстрактный метод, предназначенный для реализации логики "конечных" расчетов. | 15.5.0
getAvailableFields | Возвращает массив полей, которые могут быть установлены через методы setField() и setFields(). | 15.5.0
getAvailableFieldsMap | Возвращает массив полей, которые могут быть установлены через методы setField() и setFields(). В качестве ключей массива выступают значения getAvailableFields. | 17.5.0
getField | Возвращает значение поля $name. | 18.0.3
getFieldValues | Возвращает массив полей со значениями. | 15.5.0
getId | Возвращает идентификатор сущности. | 15.5.0
initField | Инициализирует поле значением. При этом объект не считается измененным. | 15.5.0
initFields | Инициализирует поля значениями. При этом объект не считается измененным. | 15.5.0
isChanged | Проверяет, была ли изменена сущность. Если да, то возвращает true, иначе false. | 15.5.2
isMathActionOnly | Проверяет, идет ли расчет на текущих данных (данные из провайдера не запрашиваются). Если да, то возвращает true, иначе false. | 15.5.0
setField | Устанавливает значение поля $name. | 15.5.0
setFields | Инициализирует поля значениями. При этом объект не считается измененным. | 15.5.0
setMathActionOnly | Отключает запросы к провайдеру при выполнении расчетов. | 15.5.0
verify | Проверяет, корректен ли объект. Возвращает объект \Bitrix\Sale\Result. | 16.0.0


addPrintedCheck

 public
\Bitrix\Sale\Order::addPrintedCheck($check);

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

Параметры

Параметр | Описание | Версия
$check | Объект класса \Bitrix\Sale\Cashbox\Check. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDeliveryIdList

\Bitrix\Sale\Order::getDeliveryIdList();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPaymentCollection

public
\Bitrix\Sale\Order::getPaymentCollection();

Метод возвращает коллекцию оплат, привязанных к заказу. Нестатический метод.

Без параметров.

Примеры

{
        if (empty($this->paymentCollection))
        {
            $this->paymentCollection = $this->loadPaymentCollection();
        }
        return $this->paymentCollection;
}


getPaySystemIdList

\Bitrix\Sale\Order::getPaySystemIdList();

Метод возвращает список ID платежных систем, которые используются в заказе. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPrintedChecks

array public
\Bitrix\Sale\Order::getPrintedChecks();

Метод возвращает список чеков (массив объектов класса \Bitrix\Sale\Cashbox\Check), которые были созданы для заказа. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getShipmentCollection

public
\Bitrix\Sale\Order::getShipmentCollection();

Метод возвращает коллекцию отгрузок, привязанных к заказу. Нестатический метод.

Без параметров.

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\ArgumentNullException

Примеры

{
        if (empty($this->shipmentCollection))
        {
            $this->shipmentCollection = $this->loadShipmentCollection();
        }

        return $this->shipmentCollection;
}


getTradeBindingCollection

\Bitrix\Sale\TradeBindingCollection public
\Bitrix\Sale\Order::getTradeBindingCollection();

Метод возвращает коллекцию различным источникам, которые привязаны к заказу. Нестатический метод.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\ArgumentTypeException
  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


loadPaymentCollection

\Bitrix\Sale\PaymentCollection public
\Bitrix\Sale\Order::loadPaymentCollection();

Метод возвращает коллекцию оплат, привязанных к заказу, из базы данных.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


loadShipmentCollection

\Bitrix\Sale\ShipmentCollection public
\Bitrix\Sale\Order::loadShipmentCollection();

Метод загружает коллекцию отгрузок, привязанных к заказу, из базы данных. Нестатический метод.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


OrderBase

Описание и методы

\Bitrix\Sale\OrderBase - базовый класс заказа. Работает только с корзиной, свойствами, скидками и налогами.

Цепочка наследования

\Bitrix\Sale\OrderBase > \Bitrix\Sale\Internals\Entity

Методы класса

Метод | Описание | С версии
appendBasket | Прикрепляет корзину к новому заказу. | 17.5.0
applyDiscount | Применяет рассчитанные скидки к заказу. | 18.0.0
create | Создает объект заказа. | 15.5.0
delete | Удаляет заказ, предварительно отменяя заказ. | 18.0.0
deleteNoDemand | Удаляет заказ напрямую из базы. | 18.0.0
doFinalAction | Выполняет расчет скидок, налогов и применяет их к заказу. | 18.0.0
getAvailableFields | Возвращает массив полей, которые могут быть установлены через методы setField() и setFields(). | 15.5.5
getBasket | Возвращает объект корзины, прикрепленной к заказу. | 15.5.0
getCurrency | Возвращает валюту заказа. | 15.5.0
getDateInsert | Возвращает дату создания заказа. | 15.5.0
getDeliveryPrice | Возвращает стоимость доставок для всех заказов. | 15.5.0
getDiscount | Возвращает объект класса \Bitrix\Sale\DiscountBase. | 18.0.0
getDiscountPrice | Возвращает величину скидки/наценки на заказ. | 15.5.0
getHash | Возвращает хеш заказа. | 18.0.0
getId | Возвращает ID заказа. | 15.5.0
getPersonTypeId | Возвращает ID типа плательщика заказа, к которому привязан заказ. | 15.5.0
getPrice | Возвращает стоимость заказа с учетом скидок/наценок. | 15.5.0
getPropertyCollection | Возвращает коллекцию значений свойств, привязанных к заказу | 15.5.0
getRegistryType | Возвращает тип реестра, которому относится объект. | 18.0.0
getSiteId | Возвращает ID сайта, на котором оформлялся заказ. | 15.5.0
getSumPaid | Возвращает стоимость заказа, которую уже оплатили. | 15.5.0
getTax | Возвращает объект класса \Bitrix\Sale\Tax. | 17.5.0
getTaxLocation | Возвращает ID местоположения которое используется для расчета налогов. | 18.0.0
getTaxPrice | Возвращает величину налога на заказ. | 15.5.0
getTaxValue | Возвращает ставку налога на заказ. | 15.5.0
getUfId | Возвращает ID пользовательских полей. По умолчанию null. | 18.0.0
getUserId | Возвращает ID покупателя. | 15.5.0
getVatRate | Возвращает ставку НДС, которая была применена. | 15.5.0
getVatSum | Возвращает общую величину НДС. | 15.5.0
isAllowDelivery | Возвращает значение true, если для заказа разрешена доставка (иначе возвращает false). | 18.0.0
isCanceled | Возвращает значение true, если заказ отменен (иначе возвращает false). | 18.0.0
isChanged | Возвращает значение true, если заказ изменен (иначе возвращает false). | 18.0.0
isExternal | Возвращает true, если заказ пришел извне (например, из 1С). Иначе возвращает false. | 15.5.2
isMarked | Возвращает true, если заказ промаркирован (иначе возвращается false). Заказы маркируются только в случае каких-либо ошибок. | 16.0.22
isNotEmptyBasket | Возвращает true, если корзина не пуста. В противном случае - false. | 15.5.0
isPaid | Возвращает значение true, если заказ оплачен (иначе возвращает false). | 18.0.0
isShipped | Возвращает true, если заказ отгружен (иначе возвращает false). | 15.5.0
isUsedVat | Возвращает true, если используется НДС (иначе возвращает false). | 15.5.0
load | Загружает заказ по ID и возвращает объект (либо null). | 15.5.0
loadByAccountNumber | Загружает заказ по его номеру и возвращает объект (либо null). | 18.0.0
loadByFilter | Возвращает массив объектов заказа (либо null). | 18.0.0
loadPropertyCollection | Загружает коллекцию значений свойств, привязанных к заказу из базы данных. | 15.5.0
refreshData | Выполняет пересчет заказа. | 17.5.0
refreshVat | Выполняет пересчет налогов. | 15.5.0
resetData | Сбрасывает информацию по заказу. | 18.5.3
resetTax | Сбрасывает информацию по налогам. | 18.0.0
save | Сохраняет заказ. | 15.5.0
setBasket | Прикрепляет корзину к новому заказу и актуализирует ее. При попытке прикрепить корзину к существующему заказу будет выброшено исключение: \Bitrix\Main\NotSupportedException. | 18.0.0
setPersonTypeId | Устанавливает ID типа плательщика для заказа. | 15.5.0
verify | Проверяет заказ и связанные с ним сущности на корректность. | 18.0.0

Методы родительского класса \Bitrix\Sale\Internals\Entity

Метод | Описание | С версии
doFinalAction | Абстрактный метод, предназначенный для реализации логики "конечных" расчетов. | 15.5.0
getAvailableFields | Возвращает массив полей, которые могут быть установлены через методы setField() и setFields(). | 15.5.0
getAvailableFieldsMap | Возвращает массив полей, которые могут быть установлены через методы setField() и setFields(). В качестве ключей массива выступают значения getAvailableFields. | 17.5.0
getField | Возвращает значение поля $name. | 18.0.3
getFieldValues | Возвращает массив полей со значениями. | 15.5.0
getId | Возвращает идентификатор сущности. | 15.5.0
initField | Инициализирует поле значением. При этом объект не считается измененным. | 15.5.0
initFields | Инициализирует поля значениями. При этом объект не считается измененным. | 15.5.0
isChanged | Проверяет, была ли изменена сущность. Если да, то возвращает true, иначе false. | 15.5.2
isMathActionOnly | Проверяет, идет ли расчет на текущих данных (данные из провайдера не запрашиваются). Если да, то возвращает true, иначе false. | 15.5.0
setField | Устанавливает значение поля $name. | 15.5.0
setFields | Инициализирует поля значениями. При этом объект не считается измененным. | 15.5.0
setMathActionOnly | Отключает запросы к провайдеру при выполнении расчетов. | 15.5.0
verify | Проверяет, корректен ли объект. Возвращает объект \Bitrix\Sale\Result. | 16.0.0


appendBasket

\Bitrix\Sale\Result public
\Bitrix\Sale\OrderBase::appendBasket(
    \Bitrix\Sale\BasketBase $basket
);

Метод прикрепляет корзину к новому заказу. При попытке прикрепить корзину к существующему заказу будет выброшено исключение: \Bitrix\Main\NotSupportedException . Нестатический метод.

Параметры

Параметр | Описание | Версия
$basket | Объект корзины. |

Исключения

  • \Bitrix\Main\NotSupportedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


applyDiscount

\Bitrix\Sale\OrderBase::applyDiscount();

Метод применяет рассчитанные скидки к заказу. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


create

\Bitrix\Sale\Order public static
\Bitrix\Sale\OrderBase::create(
    $siteId,
    null $userId = null,
    null $currency = null
);

Метод создает объект заказа. Статический метод.

Параметры

Параметр | Описание | Версия
$siteId | ID сайта. |
$userId | ID пользователя. По умолчанию значение null. Необязательный. |
$currency | Валюта. По умолчанию значение null. Необязательный. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delete

\Bitrix\Sale\Result public static
\Bitrix\Sale\OrderBase::delete(integer $id);

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

Параметры

Параметр | Описание | Версия
$id | ID заказа. |

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteNoDemand

\Bitrix\Sale\OrderBase::deleteNoDemand(
   id
);

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

Параметр | Описание | С версии
id | Идентификатор заказа |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


doFinalAction

\Bitrix\Sale\OrderBase::doFinalAction();

Метод выполняет расчет скидок, налогов и применяет их к заказу. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAvailableFields

array public static
\Bitrix\Sale\OrderBase::getAvailableFields();

Метод возвращает массив полей, которые могут быть установлены через методы setField() и setFields(). Статический метод.

Должен быть перегружен в наследнике.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBasket

\Bitrix\Sale\Basket public
\Bitrix\Sale\OrderBase::getBasket();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrency

string public
\Bitrix\Sale\OrderBase::getCurrency();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDateInsert

mixed public
\Bitrix\Sale\OrderBase::getDateInsert();

Метод возвращает дату создания заказа. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDeliveryPrice

 \Bitrix\Sale\OrderBase::getDeliveryPrice()

Метод возвращает стоимость доставок для всех заказов. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDiscount

\Bitrix\Sale\Discount public
\Bitrix\Sale\OrderBase::getDiscount();

Метод возвращает объект класса \Bitrix\Sale\DiscountBase. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDiscountPrice

float public
\Bitrix\Sale\OrderBase::getDiscountPrice();

Метод возвращает величину скидки/наценки на заказ. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getHash

mixed public
\Bitrix\Sale\OrderBase::getHash();

Метод возвращает хеш заказа. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getId

integer public
\Bitrix\Sale\OrderBase::getId();

Метод возвращает ID заказа. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPersonTypeId

integer public
\Bitrix\Sale\OrderBase::getPersonTypeId();

Метод возвращает ID типа плательщика заказа, к которому привязан заказ. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPrice

float public
\Bitrix\Sale\OrderBase::getPrice();

Метод возвращает стоимость заказа с учетом скидок/наценок. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPropertyCollection

\Bitrix\Sale\PropertyValueCollectionBase public
\Bitrix\Sale\OrderBase::getPropertyCollection();

Метод возвращает коллекцию значений свойств, привязанных к заказу. Нестатический метод.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\NotImplementedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRegistryType

 public static
\Bitrix\Sale\OrderBase::getRegistryType();

Метод возвращает тип реестра, которому относится объект. Статический метод.

Без параметров

Исключения

  • \Bitrix\Main\NotImplementedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSiteId

null|string public
\Bitrix\Sale\OrderBase::getSiteId();

Метод возвращает ID сайта, на котором оформлялся заказ. Нестатический метод

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSumPaid

float public
\Bitrix\Sale\OrderBase::getSumPaid();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTax

\Bitrix\Sale\Tax public
\Bitrix\Sale\OrderBase::getTax();

Метод возвращает объект класса \Bitrix\Sale\Tax. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTaxLocation

null|string public
\Bitrix\Sale\OrderBase::getTaxLocation();

Метод возвращает ID местоположения которое используется для расчета налогов. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTaxPrice

\Bitrix\Sale\OrderBase::getTaxPrice();

Метод возвращает величину налога на заказ. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTaxValue

\Bitrix\Sale\OrderBase::getTaxValue();

Метод возвращает ставку налога на заказ. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUfId

null public static
\Bitrix\Sale\OrderBase::getUfId();

Метод возвращает ID пользовательских полей. По умолчанию null. Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUserId

integer public
\Bitrix\Sale\OrderBase::getUserId();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getVatRate

mixed|null public
\Bitrix\Sale\OrderBase::getVatRate();

Метод возвращает ставку НДС, которая была применена. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getVatSum

float public
\Bitrix\Sale\OrderBase::getVatSum();

Метод возвращает общую величину НДС. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isAllowDelivery

boolean public
\Bitrix\Sale\OrderBase::isAllowDelivery();

Метод возвращает значение true, если для заказа разрешена доставка (иначе возвращает false). Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isCanceled

boolean public
\Bitrix\Sale\OrderBase::isCanceled();

Метод возвращает значение true, если заказ отменен (иначе возвращает false). Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isChanged

boolean public
\Bitrix\Sale\OrderBase::isChanged();

Метод возвращает значение true, если заказ изменен (иначе возвращает false). Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isExternal

boolean public
\Bitrix\Sale\OrderBase::isExternal();

Метод возвращает true, если заказ пришел извне (например, из 1С). Иначе возвращает false. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isMarked

null|string public
\Bitrix\Sale\OrderBase::isMarked();

Метод возвращает true, если заказ промаркирован (иначе возвращается false). Заказы маркируются только в случае каких-либо ошибок. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isNotEmptyBasket

boolean public
\Bitrix\Sale\OrderBase::isNotEmptyBasket();

Метод возвращает true, если корзина не пуста. В противном случае - false. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isPaid

boolean public
\Bitrix\Sale\OrderBase::isPaid();

Возвращает значение true, если заказ оплачен (иначе возвращает false). Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isShipped

string public
\Bitrix\Sale\OrderBase::isShipped();

Метод возвращает true, если заказ отгружен (иначе возвращает false). Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isUsedVat

boolean public
\Bitrix\Sale\OrderBase::isUsedVat();

Метод возвращает true, если используется НДС (иначе возвращает false). Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


load

null|static public static
\Bitrix\Sale\OrderBase::load($id);

Метод загружает заказ по ID и возвращает объект (либо null). Статический метод.

Параметры

Параметр | Описание | Версия
$id | ID заказа. |

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


loadByAccountNumber

mixed|null public static
\Bitrix\Sale\OrderBase::loadByAccountNumber($value);

Метод загружает заказ по его номеру и возвращает объект (либо null). Статический метод.

Параметры

Параметр | Описание | Версия
$value | Номер счета. |

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\ArgumentNullException
  • \Bitrix\Main\NotImplementedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


loadByFilter

array|null public static
\Bitrix\Sale\OrderBase::loadByFilter(array $parameters);

Метод возвращает массив объектов заказа (либо null). Статический метод.

Параметры

Параметр | Описание | Версия
$parameters | Массив, структура которого полностью соответствует структуре ORM'ного getList [image] . |

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\NotImplementedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


loadPropertyCollection

\Bitrix\Sale\OrderBase::loadPropertyCollection();

Метод загружает коллекцию значений свойств, привязанных к заказу из базы данных. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


refreshData

\Bitrix\Sale\Result public
\Bitrix\Sale\OrderBase::refreshData();

Метод выполняет пересчет заказа. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


refreshVat

\Bitrix\Sale\OrderBase::refreshVat();

Метод выполняет пересчет налогов. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


resetData

\Bitrix\Sale\OrderBase::resetData();

Метод сбрасывает информацию по заказу. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


resetTax

\Bitrix\Sale\OrderBase::resetTax();

Метод сбрасывает информацию по налогам. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


save

\Bitrix\Sale\Result public
\Bitrix\Sale\OrderBase::save();

Метод сохранения заказа. Нестатический метод.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\ArgumentOutOfRangeException
  • \Bitrix\Main\NotImplementedException
  • \Bitrix\Main\ObjectException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setBasket

\Bitrix\Sale\Result public
\Bitrix\Sale\OrderBase::setBasket(
    \Bitrix\Sale\BasketBase $basket
);

Метод прикрепляет корзину к новому заказу и актуализирует ее. При попытке прикрепить корзину к существующему заказу будет выброшено исключение: \Bitrix\Main\NotSupportedException . Нестатический метод.

Параметры

Параметр | Описание | Версия
$basket | Объект корзины. |

Исключения

  • \Bitrix\Main\NotSupportedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setPersonTypeId

public
\Bitrix\Sale\OrderBase::setPersonTypeId($personTypeId);

Метод устанавливает ID типа плательщика для заказа. Нестатический метод.

Параметры

Параметр | Описание | Версия
$personTypeId | Тип плательщика. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


verify

\Bitrix\Sale\Result public
\Bitrix\Sale\OrderBase::verify();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


OrderDiscountManager

OrderDiscountManager - класс для работы с правилами корзины при расчетах.

Методы класса

Метод | Описание | С версии
calculateApplyCoupons | Метод используется для применения скидок с купонами модулей (кроме купонов модуля Интернет-магазин) на товары сохраненного заказа. Скидки считаются от цены, сохраненной в заказе. | 16.0.10
checkDiscountProvider | Метод проверяет существование провайдера скидок для модуля. |
createSimpleDescription | Метод создает простое описание для неизвестного правила корзины. |
deleteByOrder | Метод удаляет информацию о примененных скидках заказа. |
formatArrayDescription | Метод возвращает описание правила корзины (величины и действия) по переданным данным. Используется для генерации описания правила на странице заказа. |
formatDescription | Метод является вспомогательным. Вызывает метод [link=1777815]formatDiscountDescription[/link] и в зависимости от его возвращаемого значения возвращает строку (в случае успеха) или false (в случае неудачи). |
formatDiscountDescription | Метод форматирует описание правила корзины, возвращая объект. |
getEditUrl | Метод возвращает адрес страницы редактирования скидки в административном разделе сайта. |
getManagerConfig | Метод возвращает текущие параметры менеджера правил корзины. |
init | Метод инициализирует менеджер правил корзины. |
loadResultFromDatabase | Метод загружает всю информацию по применению скидок, округлению цен товаров и настроек заказа, необходимых для расчетов скидок. |
prepareDiscountDescription | Метод возвращает информацию правила корзины. |
saveCoupon | Метод сохраняет купон. |
saveDiscount | Метод конвертирует и сохраняет правило корзины. |
setManagerConfig | Метод устанавливает параметры менеджера правил корзины. |


calculateApplyCoupons

boolean|array public static
\Bitrix\Sale\OrderDiscountManager::calculateApplyCoupons(
 string $module,
 array $discount,
 array $basket,
 array $params
);

Метод используется для применения скидок с купонами модулей (кроме купонов модуля Интернет-магазин) на товары сохраненного заказа. Скидки считаются от цены, сохраненной в заказе. Метод статический.

Параметры

Параметр | Описание | Версия
$module | Модуль скидки. |
$discount | Массив параметров скидки. |
$basket | Массив параметров корзины. |
$params | Массив параметров расчета. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkDiscountProvider

boolean public static
\Bitrix\Sale\OrderDiscountManager::checkDiscountProvider(
 string $module
);

Метод проверяет существование провайдера скидок для модуля. Метод статический.

Параметры

Параметр | Описание | Версия
$module | Идентификатор модуля. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createSimpleDescription

array|boolean public static
\Bitrix\Sale\OrderDiscountManager::createSimpleDescription(
 float $newPrice,
 float $oldPrice,
 string $currency
);

Метод создает простое описание для неизвестного правила корзины. Метод статический.

Параметры

Параметр | Описание | Версия
$newPrice | Новая цена. |
$oldPrice | Старая цена. |
$currency | Валюта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteByOrder

void public static
\Bitrix\Sale\OrderDiscountManager::deleteByOrder(
 integer $order
);

Метод удаляет информацию о примененных скидках заказа. Метод статический.

Параметры

Параметр | Описание | Версия
$order | Идентификатор заказа. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


formatArrayDescription

array|boolean public static
\Bitrix\Sale\OrderDiscountManager::formatArrayDescription(
 array $descr
);

Метод возвращает описание правила корзины (величины и действия) по переданным данным. Используется для генерации описания правила на странице заказа. Метод статический.

Метод является вспомогательным. Получает массив и по элементу передает их методу [link=1777819]formatDescription[/link]. Возвращает массив строк либо false.

Параметры

Параметр | Описание | Версия
$descr | Массив данных для описания. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


formatDescription

boolean|string public static
\Bitrix\Sale\OrderDiscountManager::formatDescription(
 array $data
);

Метод является вспомогательным. Вызывает метод [link=1777815]formatDiscountDescription[/link] и в зависимости от его возвращаемого значения возвращает строку (в случае успеха) или false (в случае неудачи). Метод статический.

Параметры

Параметр | Описание | Версия
$data | Массив данных описания. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


formatDiscountDescription

\Bitrix\Sale\Result public static
\Bitrix\Sale\OrderDiscountManager::formatDiscountDescription(
 array $data
);

Метод форматирует описание правила корзины, возвращая объект. Метод статический.

Параметры

Параметр | Описание | Версия
$data | Массив с описанием правила. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEditUrl

string public static
\Bitrix\Sale\OrderDiscountManager::getEditUrl(
 array $discount
);

Метод возвращает адрес страницы редактирования скидки в административном разделе сайта. Метод статический.

Параметры

Параметр | Описание | Версия
$discount | Массив параметров скидки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getManagerConfig

array public static
\Bitrix\Sale\OrderDiscountManager::getManagerConfig(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


init

void public static
\Bitrix\Sale\OrderDiscountManager::init(
);

Метод инициализирует менеджер правил корзины. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


loadResultFromDatabase

\Bitrix\Sale\Result public static
\Bitrix\Sale\OrderDiscountManager::loadResultFromDatabase(
 integer $order,
 boolean $extendedMode = false,
 array $basketList = false,
 array $basketData = array()
);

Метод загружает всю информацию по применению скидок, округлению цен товаров и настроек заказа, необходимых для расчетов скидок. Метод статический.

Параметры

Параметр | Описание | Версия
$order | Идентификатор заказа. |
$extendedMode | Если параметр принимает значение true, то будет получена полная информация по скидкам. |
$basketList | Массив соответствий между идентификаторами и кодами корзины. |
$basketData | Массив параметров корзины. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareDiscountDescription

\Bitrix\Sale\Result public static
\Bitrix\Sale\OrderDiscountManager::prepareDiscountDescription(
 integer $type,
 array|string $data
);

Метод возвращает информацию правила корзины. Метод статический.

Параметры

Параметр | Описание | Версия
$type | Тип информации. |
$data | Данные для информации. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


saveCoupon

\Bitrix\Sale\Result public static
\Bitrix\Sale\OrderDiscountManager::saveCoupon(
 array $coupon
);

Метод сохраняет купон. Метод статический.

Параметры

Параметр | Описание | Версия
$coupon | Массив параметров купона. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


saveDiscount

\Bitrix\Sale\Result public static
\Bitrix\Sale\OrderDiscountManager::saveDiscount(
 array $discount,
 boolean $extResult = false
);

Метод конвертирует и сохраняет правило корзины. Метод статический.

Параметры

Параметр | Описание | Версия
$discount | Массив параметров правила корзины. |
$extResult | Если параметр принимает true, то результат будет представлен в расширенном виде. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setManagerConfig

boolean public static
\Bitrix\Sale\OrderDiscountManager::setManagerConfig(
 array $config
);

Метод устанавливает параметры менеджера правил корзины. Метод статический.

Параметры

Параметр | Описание | Версия
$config | Массив параметров менеджера (сайт, валюта и т.д.). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Payment

Описание и методы

\Bitrix\Sale\Payment - класс оплаты. Класс также реализует интерфейсы: \Bitrix\Sale\IBusinessValueProvider и \IEntityMarker.

Цепочка наследования

\Bitrix\Sale\Payment > \Bitrix\Sale\Internals\CollectableEntity > \Bitrix\Sale\Internals\Entity

Методы класса

Метод | Описание | С версии
create | Создает объект оплаты и привязывает к нему коллекцию. | 16.0.2
delete | Удаляет оплату из заказа (удалить можно только неоплаченную оплату). | 15.5.0
getHash | Возвращает хэш частичной оплаты. | 16.0.30
getPaySystem | Возвращает объект платежной системы. | 16.0.0
getPaymentSystemId | Возвращает ID платежной системы. | 15.5.0
getPaymentSystemName | Возвращает название платежной системы. | 15.5.0
getRegistryType | Возвращает возвращает тип реестра, к которому относится объект. | 18.0.0
getUfId | Возвращает ID пользовательских полей. | 17.0.0
isInner | Проверяет, является ли частичная оплата оплатой с внутреннего счета. | 15.5.0
isMarked | Проверяет, имеет ли оплата маркировку об ошибках. | 17.0.0
loadForOrder | Возвращает массив объектов оплаты для заказа. | 15.5.0
setPaid | Оплата частичной оплаты. | 15.5.0
setPaySystemService | Устанавливает платежную систему для оплаты. |
setReturn | Возврат частичной оплаты. | 15.5.0

Методы родительского класса \Bitrix\Sale\Internals\CollectableEntity

Метод | Описание | С версии
createClone | Клонирует данный элемент. | 17.5.0
delete | Удаляет элемент. | 15.5.1
doFinalAction | Выполняет финальные действия. | 15.5.1
getCollection | Возвращает коллекцию, к которой привязан элемент. | 15.5.1
getInternalIndex | Возвращает внутренний индекс элемента в коллекции. | 15.5.1
isClone | Проверяет, является ли данный элемент клоном. | 16.0.26
setCollection | Привязывает коллекцию к элементу. | 15.5.1

Методы родительского класса \Bitrix\Sale\Internals\Entity

Метод | Описание | С версии
doFinalAction | Абстрактный метод, предназначенный для реализации логики "конечных" расчетов. | 15.5.0
getAvailableFields | Возвращает массив полей, которые могут быть установлены через методы setField() и setFields(). | 15.5.0
getAvailableFieldsMap | Возвращает массив полей, которые могут быть установлены через методы setField() и setFields(). В качестве ключей массива выступают значения getAvailableFields. | 17.5.0
getField | Возвращает значение поля $name. | 18.0.3
getFieldValues | Возвращает массив полей со значениями. | 15.5.0
getId | Возвращает идентификатор сущности. | 15.5.0
initField | Инициализирует поле значением. При этом объект не считается измененным. | 15.5.0
initFields | Инициализирует поля значениями. При этом объект не считается измененным. | 15.5.0
isChanged | Проверяет, была ли изменена сущность. Если да, то возвращает true, иначе false. | 15.5.2
isMathActionOnly | Проверяет, идет ли расчет на текущих данных (данные из провайдера не запрашиваются). Если да, то возвращает true, иначе false. | 15.5.0
setField | Устанавливает значение поля $name. | 15.5.0
setFields | Инициализирует поля значениями. При этом объект не считается измененным. | 15.5.0
setMathActionOnly | Отключает запросы к провайдеру при выполнении расчетов. | 15.5.0
verify | Проверяет, корректен ли объект. Возвращает объект \Bitrix\Sale\Result. | 16.0.0


create

\Bitrix\Sale\Payment::create(
    \Bitrix\Sale\PaymentCollection $collection,
    \Bitrix\Sale\PaySystem\Service $paySystem = null
);

Метод создает объект оплаты и привязывает к нему коллекцию. Статический метод.

Параметры

Параметр | Описание | Версия
$collection | Коллекция оплат, которая будет привязана к частичной оплате. |
$paySystem | Объект платежной системы (по умолчанию null). Необязательный. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delete

\Bitrix\Sale\Payment::delete();

Метод удаляет оплату из заказа (удалить можно только неоплаченную оплату). Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getHash

\Bitrix\Sale\Payment::getHash();

Метод возвращает хэш частичной оплаты. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPaymentSystemId

\Bitrix\Sale\Payment::getPaymentSystemId();

Метод возвращает ID платежной системы. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPaymentSystemName

\Bitrix\Sale\Payment::getPaymentSystemName();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPaySystem

\Bitrix\Sale\Payment::getPaySystem();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRegistryType

\Bitrix\Sale\Payment::getRegistryTypee();

Метод возвращает возвращает тип реестра, к которому относится объект. Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUfId

\Bitrix\Sale\Payment::getUfId();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isInner

\Bitrix\Sale\Payment::isInner();

Метод проверяет, является ли частичная оплата оплатой с внутреннего счета. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isMarked

\Bitrix\Sale\Payment::isMarked();

Метод проверяет, имеет ли оплата маркировку об ошибках. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


loadForOrder

\Bitrix\Sale\Payment::loadForOrder($id);

Метод возвращает массив объектов оплаты для заказа. Статический метод.

Параметры

Параметр | Описание | Версия
$id | ID заказа. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setPaid

\Bitrix\Sale\Payment::setPaid($value);

Метод оплаты частичной оплаты. Нестатический метод.

Параметры

Параметр | Описание | Версия
$value | Устанавливается флаг 'Y' или 'N'. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setPaySystemService

\Bitrix\Sale\Payment::setPaySystemService(
    \Bitrix\Sale\PaySystem\Service $service
);

Метод устанавливает платежную систему для оплаты. Нестатический метод.

Параметры

Параметр | Описание | Версия
$paySystem | Объект платежной системы. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setReturn

\Bitrix\Sale\Payment::setReturn($value);

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

Параметры

Параметр Описание Версия
$value Устанавливается флаг:
  • 'Y' - при возврате на внутренний счет;
  • 'P' - при возврате через платежную систему (если она поддерживает данный функционал);
  • 'N' - при отмене возврата.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


PaymentCollection

Описание и методы

\Bitrix\Sale\PaymentCollection - класс коллекции оплат.

Цепочка наследования

\Bitrix\Sale\PaymentCollection > \Bitrix\Sale\Internals\CollectableEntity > \Bitrix\Sale\Internals\Entity

Методы класса

Метод | Описание | С версии
createInnerPayment | Создает оплату с платежной системой внутренний счет. | 17.8.20
createItem | Создает оплату. | 15.5.0
getInnerPayment | Ищет в коллекции оплату с внутренним счетом и возвращает ее. Если такой оплаты нет, то возвращается значение false. | 15.5.1
getOrder | Возвращает заказ, к которому привязана коллекция. | 15.5.0
getPaidSum | Возвращает сумму, которая была оплачена. | 15.5.1
getRegistryType | Возвращает тип реестра, к которому относится объект. | 18.0.0
getSum | Возвращает сумму всех оплат. | 15.5.1
hasPaidPayment | Проверяет, если ли у заказа оплаченные оплаты. | 15.5.1
isExistsInnerPayment | Проверяет, есть ли в коллекции оплата с платежной системой внутренний счет. | 15.5.1
isMarked | Проверяет, имеются ли отгрузки, которые отмечены как проблемные. | 17.0.0
isPaid | Проверят, оплачены ли все оплаты, входящие в заказ. | 15.5.1
load | Возвращает заказ, к которому привязана коллекция. | 18.0.0
loadForOrder | Возвращает массив объектов оплаты для заказа. | 15.5.0
setOrder | Привязывает заказ к коллекции. | 15.5.0

Методы родительского класса \Bitrix\Sale\Internals\CollectableEntity

Метод | Описание | С версии
createClone | Клонирует данный элемент. | 17.5.0
delete | Удаляет элемент. | 15.5.1
doFinalAction | Выполняет финальные действия. | 15.5.1
getCollection | Возвращает коллекцию, к которой привязан элемент. | 15.5.1
getInternalIndex | Возвращает внутренний индекс элемента в коллекции. | 15.5.1
isClone | Проверяет, является ли данный элемент клоном. | 16.0.26
setCollection | Привязывает коллекцию к элементу. | 15.5.1

Методы родительского класса \Bitrix\Sale\Internals\Entity

Метод | Описание | С версии
doFinalAction | Абстрактный метод, предназначенный для реализации логики "конечных" расчетов. | 15.5.0
getAvailableFields | Возвращает массив полей, которые могут быть установлены через методы setField() и setFields(). | 15.5.0
getAvailableFieldsMap | Возвращает массив полей, которые могут быть установлены через методы setField() и setFields(). В качестве ключей массива выступают значения getAvailableFields. | 17.5.0
getField | Возвращает значение поля $name. | 18.0.3
getFieldValues | Возвращает массив полей со значениями. | 15.5.0
getId | Возвращает идентификатор сущности. | 15.5.0
initField | Инициализирует поле значением. При этом объект не считается измененным. | 15.5.0
initFields | Инициализирует поля значениями. При этом объект не считается измененным. | 15.5.0
isChanged | Проверяет, была ли изменена сущность. Если да, то возвращает true, иначе false. | 15.5.2
isMathActionOnly | Проверяет, идет ли расчет на текущих данных (данные из провайдера не запрашиваются). Если да, то возвращает true, иначе false. | 15.5.0
setField | Устанавливает значение поля $name. | 15.5.0
setFields | Инициализирует поля значениями. При этом объект не считается измененным. | 15.5.0
setMathActionOnly | Отключает запросы к провайдеру при выполнении расчетов. | 15.5.0
verify | Проверяет, корректен ли объект. Возвращает объект \Bitrix\Sale\Result. | 16.0.0


createInnerPayment

\Bitrix\Sale\PaymentCollection::createInnerPayment();

Метод создает оплату с платежной системой "Внутренний счет". Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createItem

\Bitrix\Sale\ShipmentCollection::createItem(
    \Bitrix\Sale\PaySystem\Service $service = null
);

Метод создает оплату. Нестатический метод.

Параметры

Параметр | Описание | Версия
$service | Платежная система (по умолчанию null). Необязательный. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getInnerPayment

\Bitrix\Sale\PaymentCollection::getInnerPayment();

Метод ищет в коллекции оплату с внутренним счетом и возвращает ее. Если такой оплаты нет, то возвращается значение false. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOrder

\Bitrix\Sale\ShipmentCollection::getOrder();

Метод возвращает заказ, к которому привязана коллекция. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPaidSum

\Bitrix\Sale\PaymentCollection::getPaidSum();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRegistryType

\Bitrix\Sale\Payment::getRegistryType();

Метод возвращает тип реестра, к которому относится объект. Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSum

\Bitrix\Sale\PaymentCollection::getSum();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


hasPaidPayment

\Bitrix\Sale\PaymentCollection::hasPaidPayment();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isExistsInnerPayment

\Bitrix\Sale\PaymentCollection::isExistsInnerPayment();

Метод проверяет, есть ли в коллекции оплата с платежной системой внутренний счет. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isMarked

boolean public
\Bitrix\Sale\PaymentCollection::isMarked();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isPaid

\Bitrix\Sale\PaymentCollection::isPaid();

Метод проверят, оплачены ли все оплаты, входящие в заказ. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


load

\Bitrix\Sale\ShipmentCollection::load(
    \Bitrix\Sale\Order $order
);

Метод возвращает заказ, к которому привязана коллекция. Нестатический метод.

Параметры

Параметр | Описание | Версия
$order | Заказ. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setOrder

\Bitrix\Sale\ShipmentCollection::setOrder();

Метод привязывает заказ к коллекции. Нестатический метод.

Параметры

Параметр | Описание | Версия
$order | Привязываемый заказ. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


PropertyValueCollectionBase

Описание и методы

\Bitrix\Sale\PropertyValueCollectionBase - базовый класс коллекции свойств заказа.

Цепочка наследования

\Bitrix\Sale\PropertyValueCollectionBase > \Bitrix\Sale\Internals\CollectableEntity > \Bitrix\Sale\Internals\Entity

Методы класса

Метод | Описание | С версии
checkErrors | Проверяет, корректны ли переданные значения. | 18.0.0
checkRequired | Проверяет, переданы ли все значения обязательных свойств. | 18.0.0
createItem | Создает свойство заказа. | 18.0.0
getAddress | Возвращает свойство, которое используется в качестве адреса. | 18.0.0
getArray | Возвращает массив с двумя ключами: groups и properties. В первом хранится информация о группах, во втором - о свойствах. | 18.0.0
getAttribute | Возвращает свойство по его атрибуту. | 18.0.0
getDeliveryLocation | Возвращает свойство, которое используется в качестве местоположения для расчета стоимости доставки. | 18.0.0
getDeliveryLocationZip | Возвращает свойство, которое используется в качестве индекса. | 18.0.0
getGroups | Возвращает список групп, к которым принадлежат свойства. | 18.0.0
getItemByOrderPropertyId | Возвращает свойство по его ID. | 18.0.0
getOrder | Возвращает заказ, к которому привязана коллекция. | 18.0.0
getPayerName | Возвращает свойство, которое используется в качестве имени плательщика. | 18.0.0
getPhone | Возвращает свойство, которое используется в качестве телефона. | 18.0.0
getProfileName | Возвращает свойство, которое используется в качестве названия профиля пользователя. | 18.0.0
getPropertiesByGroupId | Возвращает список свойств, принадлежащих группе. | 18.5.0
getRegistryType | Возвращает тип реестра, к которому относится объект. | 18.0.0
getTaxLocation | Возвращает свойство, которое используется для расчета налогов. | 18.0.0
getUserEmail | Возвращает свойство, которое используется в качестве почты покупателя. | 18.0.0
load | Возвращает заказ, к которому привязана коллекция. | 18.0.0
setOrder | Привязывает заказ к коллекции. | 18.0.0
setValuesFromPost | Устанавливает значения свойств. | 18.0.0

Методы родительского класса \Bitrix\Sale\Internals\CollectableEntity

Метод | Описание | С версии
createClone | Клонирует данный элемент. | 17.5.0
delete | Удаляет элемент. | 15.5.1
doFinalAction | Выполняет финальные действия. | 15.5.1
getCollection | Возвращает коллекцию, к которой привязан элемент. | 15.5.1
getInternalIndex | Возвращает внутренний индекс элемента в коллекции. | 15.5.1
isClone | Проверяет, является ли данный элемент клоном. | 16.0.26
setCollection | Привязывает коллекцию к элементу. | 15.5.1

Методы родительского класса \Bitrix\Sale\Internals\Entity

Метод | Описание | С версии
doFinalAction | Абстрактный метод, предназначенный для реализации логики "конечных" расчетов. | 15.5.0
getAvailableFields | Возвращает массив полей, которые могут быть установлены через методы setField() и setFields(). | 15.5.0
getAvailableFieldsMap | Возвращает массив полей, которые могут быть установлены через методы setField() и setFields(). В качестве ключей массива выступают значения getAvailableFields. | 17.5.0
getField | Возвращает значение поля $name. | 18.0.3
getFieldValues | Возвращает массив полей со значениями. | 15.5.0
getId | Возвращает идентификатор сущности. | 15.5.0
initField | Инициализирует поле значением. При этом объект не считается измененным. | 15.5.0
initFields | Инициализирует поля значениями. При этом объект не считается измененным. | 15.5.0
isChanged | Проверяет, была ли изменена сущность. Если да, то возвращает true, иначе false. | 15.5.2
isMathActionOnly | Проверяет, идет ли расчет на текущих данных (данные из провайдера не запрашиваются). Если да, то возвращает true, иначе false. | 15.5.0
setField | Устанавливает значение поля $name. | 15.5.0
setFields | Инициализирует поля значениями. При этом объект не считается измененным. | 15.5.0
setMathActionOnly | Отключает запросы к провайдеру при выполнении расчетов. | 15.5.0
verify | Проверяет, корректен ли объект. Возвращает объект \Bitrix\Sale\Result. | 16.0.0


checkErrors

\Bitrix\Sale\PropertyValueCollectionBase::checkErrors(
    $fields,
    $files,
    $skipUtils = false
);

Метод проверяет, корректны ли переданные значения. Нестатический метод.

Параметры

Параметр | Описание | Версия
$fields | Массив значений. |
$files | Массив $_FILES. |
$skipUtils | Флаг, указывающий, проверять ли служебные свойства (по умолчанию значение false). Необязательный. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkRequired

\Bitrix\Sale\PropertyValueCollectionBase::checkRequired(
    array $rules,
    array $fields
);

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

Параметры

Параметр | Описание | Версия
$fields | Массив значений. |
$files | Массив $_FILES. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createItem

\Bitrix\Sale\PropertyValueCollectionBase::createItem(array $prop);

Метод создает свойство заказа. Нестатический метод.

Параметры

Параметр | Описание | Версия
$prop | Массив с информацией о свойстве. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAddress

\Bitrix\Sale\PropertyValueCollectionBase::getAddress();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getArray

\Bitrix\Sale\PropertyValueCollectionBase::getArray();

Метод возвращает массив с двумя ключами: groups и properties. В первом хранится информация о группах, во втором - о свойствах. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAttribute

\Bitrix\Sale\PropertyValueCollectionBase::getAttribute($name);

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

Параметры

Параметр | Описание | Версия
$name | Название атрибута. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDeliveryLocation

\Bitrix\Sale\PropertyValueCollectionBase::getDeliveryLocation();

Метод возвращает свойство, которое используется в качестве местоположения для расчета стоимости доставки. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDeliveryLocationZip

\Bitrix\Sale\PropertyValueCollectionBase::getDeliveryLocationZip();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getGroups

\Bitrix\Sale\PropertyValueCollectionBase::getGroups();

Метод возвращает список групп, к которым принадлежат свойства. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getItemByOrderPropertyId

\Bitrix\Sale\PropertyValueCollectionBase::getItemByOrderPropertyId($orderPropertyId);

Метод возвращает свойство по его ID. Нестатический метод.

Параметры

Параметр | Описание | Версия
$orderPropertyId | ID свойства. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOrder

\Bitrix\Sale\PropertyValueCollectionBase::getOrder();

Метод возвращает заказ, к которому привязана коллекция. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPayerName

\Bitrix\Sale\PropertyValueCollectionBase::getPayerName();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPhone

\Bitrix\Sale\PropertyValueCollectionBase::getPhone();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getProfileName

\Bitrix\Sale\PropertyValueCollectionBase::getProfileName();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPropertiesByGroupId

\Bitrix\Sale\PropertyValueCollectionBase::getPropertiesByGroupId($groupId);

Метод возвращает список свойств, принадлежащих группе. Нестатический метод.

Параметры

Параметр | Описание | Версия
$groupId | ID группы. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRegistryType

\Bitrix\Sale\PropertyValueCollectionBase::getRegistryType();

Метод возвращает тип реестра, к которому относится объект. Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTaxLocation

\Bitrix\Sale\PropertyValueCollectionBase::getTaxLocation();

Метод возвращает свойство, которое используется для расчета налогов. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUserEmail

\Bitrix\Sale\PropertyValueCollectionBase::getUserEmail();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


load

\Bitrix\Sale\PropertyValueCollectionBase::load(
    \Bitrix\Sale\Order $order
);

Метод возвращает заказ, к которому привязана коллекция. Нестатический метод.

Параметры

Параметр | Описание | Версия
$order | Заказ. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setOrder

\Bitrix\Sale\PropertyValueCollectionBase::setOrder($order);

Метод привязывает заказ к коллекции. Нестатический метод.

Параметры

Параметр | Описание | Версия
$order | Привязываемый заказ. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setValuesFromPost

\Bitrix\Sale\PropertyValueCollectionBase::setValuesFromPost(
    $post,
    $files
);

Метод устанавливает значения свойств. Нестатический метод.

Параметры

Параметр | Описание | Версия
$post | Массив значений. |
$files | Массив $_FILES. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ProviderBase

ProviderBase - базовый класс для работы с провайдерами магазина.

Методы класса

Метод | Описание | С версии
increaseProductQuantity | Метод увеличивает доступное количество товара, если резервирование отключено. | 15.5.0
reduceProductQuantity | Метод уменьшает доступное количество товара, если резервирование отключено. | 15.5.0


increaseProductQuantity

 public static
\Bitrix\Sale\ProviderBase::increaseProductQuantity(
 \Bitrix\Sale\ShipmentCollection $shipmentCollection,
 array $shipmentReserveList = array()
);

Метод увеличивает доступное количество товара, если резервирование отключено. Метод статический.

Параметры

Параметр | Описание | Версия
$shipmentCollection | Объект класса \Bitrix\Sale\ShipmentCollection. |
$shipmentReserveList | Массив зарезервированных товаров. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


reduceProductQuantity

 public static
\Bitrix\Sale\ProviderBase::reduceProductQuantity(
 \Bitrix\Sale\ShipmentCollection $shipmentCollection,
 array $shipmentReserveList = array()
);

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

Параметры

Параметр | Описание | Версия
$shipmentCollection | Объект класса \Bitrix\Sale\ShipmentCollection. |
$shipmentReserveList | Массив зарезервированных товаров. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Result

Result - класс для работы с результатами.

Метод | Описание | С версии
getID | Возвращает идентификатор созданной записи. |
addWarning | Метод добавляет одну некритическую ошибку. |
addWarnings | Метод добавляет несколько некритических ошибок |
getWarnings | Метод позволяет получить все некритические ошибки. |
getWarningMessages | Метод позволяет получить тексты все некритических ошибок |
hasWarnings | Метод проверяет наличие некритических ошибок |
addError | Добавляет критическую ошибку |
addErrors | Добавляет несколько критических ошибок |
getErrors/td> | Получает все критические ошибки |
getErrorMessages | Получает тексты всех критических ошибок |
getErrorCollection | Получает коллекцию всех критических ошибок |
isSuccess | Метод устанавливает флаг успешности выполнения |
addNotices | Добавление примечания |
setId | Метод устанавливает идентификатор |
getId | Метод получает идентификатор |
addData | Добавление информации о «результате» |
setData | Метод позволяет становить информацию о «результате» |
getData | Метод позволяет получить информацию о «результате» |


getId

integer public
\Bitrix\Sale\Result::getId(
);

Возвращает идентификатор созданной записи. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SalesZone

SalesZone - класс для задания зоны обслуживания магазином.

Методы класса

Метод | Описание | С версии
checkCityId | Метод проверяет, входит ли идентификатор города cityId в перечень идентификаторов городов из зоны обслуживания магазина. | 14.0.7
checkCountryId | Метод проверяет, входит ли идентификатор страны countryId в перечень идентификаторов стран из зоны обслуживания магазина. | 14.0.7
checkLocationId | Метод проверяет, входит ли идентификатор местоположения locationId в зону обслуживания магазина. | 14.0.7
checkRegionId | Метод проверяет, входит ли идентификатор региона regionId в перечень идентификаторов регионов из зоны обслуживания магазина. | 14.0.7
makeSearchFilter | Возвращает фильтр для использования в запросах, подобных AJAX-местоположениям. | 14.0.7
saveSelectedTypes | Метод используется для миграции от старых местоположений к новым. | 14.10.1


checkCityId

boolean public static
\Bitrix\Sale\SalesZone::checkCityId(
 integer $cityId,
 string $siteId
);

Метод проверяет, входит ли идентификатор города cityId в перечень идентификаторов городов из зоны обслуживания магазина. Метод статический.

Параметры

Параметр | Описание | Версия
$cityId | Идентификатор города. |
$siteId | Идентификатор сайта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkCountryId

boolean public static
\Bitrix\Sale\SalesZone::checkCountryId(
 integer $countryId,
 string $siteId
);

Метод проверяет, входит ли идентификатор страны countryId в перечень идентификаторов стран из зоны обслуживания магазина. Метод статический.

Параметры

Параметр | Описание | Версия
$countryId | Идентификатор страны. |
$siteId | Идентификатор сайта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkLocationId

boolean public static
\Bitrix\Sale\SalesZone::checkLocationId(
 integer $locationId,
 string $siteId
);

Метод проверяет, входит ли идентификатор местоположения locationId в зону обслуживания магазина. Метод статический.

Параметры

Параметр | Описание | Версия
$locationId | Идентификатор местоположения. |
$siteId | Идентификатор сайта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkRegionId

boolean public static
\Bitrix\Sale\SalesZone::checkRegionId(
 integer $regionId,
 string $siteId
);

Метод проверяет, входит ли идентификатор региона regionId в перечень идентификаторов регионов из зоны обслуживания магазина. Метод статический.

Параметры

Параметр | Описание | Версия
$regionId | Идентификатор региона. |
$siteId | Идентификатор сайта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


makeSearchFilter

array public static
\Bitrix\Sale\SalesZone::makeSearchFilter(
 string $object,
 string $siteId
);

Возвращает фильтр для использования в запросах, подобных AJAX-местоположениям. Метод статический.

Параметры

Параметр | Описание | Версия
$object | Объект (город/регион/страна). |
$siteId | Идентификатор сайта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


saveSelectedTypes

 public static
\Bitrix\Sale\SalesZone::saveSelectedTypes(
);

Метод используется для миграции от старых местоположений к новым. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Services

Services - базовая общая часть служб доставок и платежных систем.

Класс | Описание
Base | Базовые сущности, от которых наследуются некоторые сущности служб доставок и платежных систем.
Company | Подпространство классов для работы с компаниями.


Base

Base - базовые сущности, от которых наследуются некоторые сущности служб доставок и платежных систем.

Класс | Описание | С версии
Restriction | Базовая сущность для ограничений. |


Restriction

Restriction - базовая сущность для ограничений.

Метод | Описание | С версии
getParamsStructure | Возвращает структуру параметров для отображения пользователю. | 15.5.12
prepareParamsValues | Подготавливает параметры ограничения для отображения данных , например, в административной части для редактирования или просмотра. |


getParamsStructure

array public static
\Bitrix\Sale\Services\Base\Restriction::getParamsStructure(
);

Возвращает структуру параметров для отображения пользователю. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareParamsValues

 public static
\Bitrix\Sale\Services\Base\Restriction::prepareParamsValues(
);

Подготавливает параметры ограничения для отображения данных , например, в административной части для редактирования или просмотра. Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Company

Подпространство \Bitrix\Sale\Services\Company содержит классы для работы с компаниями.

Класс | Описание
Manager | Класс для управления компаниями.


Manager

Manager - класс для управления компаниями.

Методы класса

Метод | Описание | С версии
getLocationConnectorEntityName | Метод возвращает название ссылки сущности для соединения с местоположениями. |


getLocationConnectorEntityName

string public static
\Bitrix\Sale\Services\Company\Manager::getLocationConnectorEntityName(
);

Метод возвращает название ссылки сущности для соединения с местоположениями. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Shipment

Описание и методы

\Bitrix\Sale\Shipment - класс отгрузок. Класс реализует интерфейсы \Bitrix\Sale\IBusinessValueProvider и \IEntityMarker.

Цепочка наследования

\Bitrix\Sale\Shipment > \Bitrix\Sale\Internals\CollectableEntity > \Bitrix\Sale\Internals\Entity

Методы класса

Метод | Описание | С версии
allowDelivery | Разрешает доставку отгрузки. | 15.5.0
calculateDelivery | Рассчитывает стоимость доставки | 15.5.0
create | Создает объект отгрузки и привязывает к нему коллекцию. | 15.5.0
delete | Удаляет отгрузку из заказа (удалить можно только неотгруженную оплату). | 15.5.0
disallowDelivery | Отменяет разрешение доставки отгрузки. | 15.5.0
getAllowDeliveryDate | Возвращает дату разрешения доставки. | 15.5.0
getAllowDeliveryUserId | Возвращает ID пользователя, разрешившего доставку. | 15.5.0
getBasketItemQuantity | Возвращает количество товара в отгрузке. | 15.5.0
getCompanyId | Возвращает ID компании, привязанной к отгрузке. | 15.5.0
getCurrency | Возвращает валюту отгрузки. | 15.5.0
getDelivery | Возвращает объект службы доставки. | 15.5.0
getDeliveryId | Возвращает ID службы доставки. | 15.5.0
getDeliveryName | Возвращает название службы доставки. | 15.5.0
getExtraServices | Возвращает дополнительные сервисы для отгрузки. | 15.5.0
getId | Возвращает ID отгрузки. | 15.5.0
getPrice | Возвращает стоимость доставки с учетом скидок и наценок. | 15.5.0
getRegistryType | Возвращает тип реестра, к которому относится объект. | 18.0.0
getShipmentCode | Возвращает код отгрузки. | 15.5.0
getShipmentItemCollection | Возвращает состав отгрузки. | 15.5.0
getShippedDate | Возвращает дату отгрузки частичной отгрузки. | 15.5.0
getShippedUserId | Возвращает Id пользователя, который отгрузил частичную отгрузку. | 15.5.0
getStoreId | Возвращает склад самовывоза. | 15.5.0
getUfId | Возвращает ID пользовательских полей. | 18.0.0
getUnshipReason | Возвращает причину отмены отгрузки частичной отгрузки. | 15.5.0
getVatRate | Возвращает ставку НДС для доставки. | 17.5.0
getVatSum | Возвращает размер НДС для доставки. | 17.5.0
getWeight | Возвращает вес отгрузки. | 15.5.0
isAllowDelivery | Проверяет, разрешена ли доставка отгрузки. | 15.5.0
isCanceled | Проверяет, является ли отгрузка отмененной. | 15.5.0
isCustomPrice | Проверяет, является ли стоимость доставки кастомной. | 15.5.0
isEmpty | Проверяет, пустая ли отгрузка. | 15.5.12
isExistBasketItem | Проверяет, есть ли данный товар в отгрузке. | 16.0.0
isMarked | Проверяет, имеет ли отгрузка маркировку об ошибках. | 15.5.0
isReserved | Проверяет, зарезервированы ли товары, входящие в отгрузку. | 15.5.0
isShipped | Проверяет, является ли отгрузка отгруженной. | 15.5.0
isSystem | Проверяет, является ли отгрузка системной. | 15.5.0
loadForOrder | Возвращает массив отгрузок для заказа. | 15.5.0
setBasePriceDelivery | Устанавливает стоимость отгрузки без учет скидок и наценок. | 17.8.11
setDeliveryService | Устанавливает службу доставки для отгрузки. | 15.5.0
setExtraServices | Устанавливает дополнительные сервисы для отгрузки. | 15.5.0
setOrderId | Устанавливает ID заказа. | 15.5.0
setStoreId | Устанавливает склад самовывоза. | 15.5.0
verify | Проверяет отгрузку на корректность. | 16.0.0

Методы родительского класса \Bitrix\Sale\Internals\CollectableEntity

Метод | Описание | С версии
createClone | Клонирует данный элемент. | 17.5.0
delete | Удаляет элемент. | 15.5.1
doFinalAction | Выполняет финальные действия. | 15.5.1
getCollection | Возвращает коллекцию, к которой привязан элемент. | 15.5.1
getInternalIndex | Возвращает внутренний индекс элемента в коллекции. | 15.5.1
isClone | Проверяет, является ли данный элемент клоном. | 16.0.26
setCollection | Привязывает коллекцию к элементу. | 15.5.1

Методы родительского класса \Bitrix\Sale\Internals\Entity

Метод | Описание | С версии
doFinalAction | Абстрактный метод, предназначенный для реализации логики "конечных" расчетов. | 15.5.0
getAvailableFields | Возвращает массив полей, которые могут быть установлены через методы setField() и setFields(). | 15.5.0
getAvailableFieldsMap | Возвращает массив полей, которые могут быть установлены через методы setField() и setFields(). В качестве ключей массива выступают значения getAvailableFields. | 17.5.0
getField | Возвращает значение поля $name. | 18.0.3
getFieldValues | Возвращает массив полей со значениями. | 15.5.0
getId | Возвращает идентификатор сущности. | 15.5.0
initField | Инициализирует поле значением. При этом объект не считается измененным. | 15.5.0
initFields | Инициализирует поля значениями. При этом объект не считается измененным. | 15.5.0
isChanged | Проверяет, была ли изменена сущность. Если да, то возвращает true, иначе false. | 15.5.2
isMathActionOnly | Проверяет, идет ли расчет на текущих данных (данные из провайдера не запрашиваются). Если да, то возвращает true, иначе false. | 15.5.0
setField | Устанавливает значение поля $name. | 15.5.0
setFields | Инициализирует поля значениями. При этом объект не считается измененным. | 15.5.0
setMathActionOnly | Отключает запросы к провайдеру при выполнении расчетов. | 15.5.0
verify | Проверяет, корректен ли объект. Возвращает объект \Bitrix\Sale\Result. | 16.0.0


allowDelivery

\Bitrix\Sale\Shipment::allowDelivery();

Метод разрешает доставку отгрузки. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


calculateDelivery

\Bitrix\Sale\Shipment::calculateDelivery();

Метод рассчитывает стоимость доставки. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


create

static public static
\Bitrix\Sale\Shipment::create(
    \Bitrix\Sale\ShipmentCollection $collection,
    \Bitrix\Sale\Delivery\Services\Base $deliveryService = null
);

Метод создает объект отгрузки и привязывает к нему коллекцию. Статический метод.

Параметры

Параметр | Описание | Версия
$collection | Коллекция отгрузок, которая будет привязана к отгрузке. |
$deliveryService | Объект службы доставки (по умолчанию null). Необязательный |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delete

\Bitrix\Sale\Result public
\Bitrix\Sale\Shipment::delete();

Метод удаляет отгрузку из заказа (удалить можно только неотгруженную оплату). Нестатический метод.

Без параметров

Исключения

  • \Bitrix\Main\NotSupportedException
  • \Bitrix\Main\ObjectNotFoundException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


disallowDelivery

\Bitrix\Sale\Shipment::disallowDelivery();

Метод отменяет разрешение доставки отгрузки. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAllowDeliveryDate

\Bitrix\Sale\Shipment::getAllowDeliveryDate();

Метод возвращает дату разрешения доставки. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAllowDeliveryUserId

\Bitrix\Sale\Shipment::getAllowDeliveryUserId();

Метод возвращает ID пользователя, разрешившего доставку. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBasketItemQuantity

\Bitrix\Sale\Shipment::getBasketItemQuantity(
    \Bitrix\Sale\BasketItem $basketItem
);

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

Параметры

Параметр | Описание | Версия
$basketItem | Товар. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCompanyId

\Bitrix\Sale\Shipment::getCompanyId();

Метод возвращает ID компании, привязанной к отгрузке. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrency

\Bitrix\Sale\Shipment::getCurrency();

Метод возвращает валюту отгрузки. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDelivery

\Bitrix\Sale\Shipment::getDelivery();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDeliveryId

\Bitrix\Sale\Shipment::getDeliveryId();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDeliveryName

\Bitrix\Sale\Shipment::getDeliveryName();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getExtraServices

\Bitrix\Sale\Shipment::getExtraServices();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getId

\Bitrix\Sale\Shipment::getId();

Метод возвращает ID отгрузки. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPrice

\Bitrix\Sale\Shipment::getPrice();

Метод возвращает стоимость доставки с учетом скидок и наценок. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRegistryType

\Bitrix\Sale\Shipment::getRegistryType();

Метод возвращает тип реестра, к которому относится объект. Cтатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getShipmentCode

\Bitrix\Sale\Shipment::getShipmentCode();

Метод возвращает код отгрузки. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getShipmentItemCollection

\Bitrix\Sale\Shipment::getShipmentItemCollection();

Метод возвращает состав отгрузки. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getShippedDate

\Bitrix\Sale\Shipment::getShippedDate();

Метод возвращает дату отгрузки частичной отгрузки. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getShippedUserId

\Bitrix\Sale\Shipment::getShippedUserId();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getStoreId

\Bitrix\Sale\Shipment::getStoreId();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUfId

\Bitrix\Sale\Shipment::getUfId();

Метод возвращает ID пользовательских полей. Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUnshipReason

\Bitrix\Sale\Shipment::getUnshipReason();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getVatRate

\Bitrix\Sale\Shipment::getVatRate();

Метод возвращает ставку НДС для доставки. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getVatSum

\Bitrix\Sale\Shipment::getVatSum();

Метод возвращает размер НДС для доставки. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getWeight

\Bitrix\Sale\Shipment::getWeight();

Метод возвращает вес отгрузки. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isAllowDelivery

\Bitrix\Sale\Shipment::isAllowDelivery();

Метод проверяет, разрешена ли доставка отгрузки. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isCanceled

\Bitrix\Sale\Shipment::isCanceled();

Метод проверяет, является ли отгрузка отмененной. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isCustomPrice

\Bitrix\Sale\Shipment::isCustomPrice();

Метод проверяет, является ли стоимость доставки кастомной. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isEmpty

\Bitrix\Sale\Shipment::isEmpty();

Метод проверяет, пустая ли отгрузка. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isExistBasketItem

\Bitrix\Sale\Shipment::isExistBasketItem();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isMarked

\Bitrix\Sale\Shipment::isMarked();

Метод проверяет, имеет ли отгрузка маркировку об ошибках. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isReserved

\Bitrix\Sale\Shipment::isReserved();

Метод проверяет, зарезервированы ли товары, входящие в отгрузку. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isShipped

\Bitrix\Sale\Shipment::isShipped();

Метод проверяет, является ли отгрузка отгруженной. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isSystem

\Bitrix\Sale\Shipment::isSystem();

Метод проверяет, является ли отгрузка системной. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


loadForOrder

\Bitrix\Sale\Shipment::loadForOrder($id);

Метод возвращает массив отгрузок для заказа. Статический метод.

Параметры

Параметр | Описание | Версия
$id | ID заказа. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setBasePriceDelivery

\Bitrix\Sale\Shipment::setBasePriceDelivery($value, $custom = false);

Метод устанавливает стоимость отгрузки без учет скидок и наценок. Нестатический метод.

Параметры

Параметр | Описание | Версия
$value | Стоимость. |
$custom | Флаг, устанавливающий, является ли стоимость кастомной (по умолчанию false). Необязательный. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDeliveryService

\Bitrix\Sale\Shipment::setDeliveryService(
    \Bitrix\Sale\Delivery\Services\Base $deliveryService
);

Метод устанавливает службу доставки для отгрузки. Нестатический метод.

Параметры

Параметр | Описание | Версия
$deliveryService | Служба доставки. |

Примеры

$order = \Bitrix\Sale\Order::load($orderId);
$shipmentCollection = $order->getShipmentCollection();
foreach ($shipmentCollection as $shipment) {
   if ($shipment->isSystem())
   continue;

   if($shipment->getDeliveryId() != $valueProps["Значение"]){
     //получаем обьект службы доставки по id
     $service = \Bitrix\Sale\Delivery\Services\Manager::getObjectById($valueProps["Значение"]);
     //изменяем службу доставки в заказе
     $shipment->setDeliveryService($service);
   }
}


setExtraServices

\Bitrix\Sale\Shipment::setExtraServices(array $extraServices);

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

Параметры

Параметр | Описание | Версия
$extraServices | Массив дополнительных сервисов. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setOrderId

\Bitrix\Sale\Shipment::setOrderId($id);

Метод устанавливает ID заказа. Нестатический метод.

Параметры

Параметр | Описание | Версия
$id | ID заказа, к которому будет привязан товар. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setStoreId

\Bitrix\Sale\Shipment::setStoreId($storeId);

Метод устанавливает склад самовывоза. Нестатический метод.

Параметры

Параметр | Описание | Версия
$storeId | ID склада самовывоза. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


verify

\Bitrix\Sale\Shipment::verify();

Метод проверяет отгрузку на корректность. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ShipmentCollection

Описание и методы

\Bitrix\Sale\ShipmentCollection - класс коллекции отгрузок.

Цепочка наследования

\Bitrix\Sale\ShipmentCollection > \Bitrix\Sale\Internals\EntityCollection > \Bitrix\Sale\Internals\CollectionBase

Метод | Описание | С версии
allowDelivery | Разрешает доставку заказа. | 15.5.0
calculateDelivery | Рассчитывает стоимость доставки для каждой отгрузки. | 15.5.0
createItem | Создает новую отгрузку. | 15.5.0
disallowDelivery | Отменяет разрешение доставки заказа. | 15.5.0
getBasePriceDelivery | Возвращает стоимость доставки всех отгрузок без учета скидок и наценок. | 15.5.0
getBasketItemDistributedQuantity | Сбрасывает расчетную стоимость доставок. |
getItemByShipmentCode | Возвращает отгрузку по ее коду. | 15.5.0
getOrder | Возвращает заказ, к которому привязана коллекция. | 15.5.0
getPriceDelivery | Возвращает стоимость доставки всех отгрузок с учетом скидок и наценок. | 15.5.0
getRegistryType | Возвращает тип реестра, к которому относится объект. | 18.0.0
getSystemShipment | Возвращает системную отгрузку. | 15.5.0
hasAllowDelivery | Проверяет, есть ли у заказа отгрузки, у которых разрешена доставка. | 16.5.0
hasShipped | Проверяет, есть ли у заказа отгруженные отгрузки. | 16.5.0
isAllowDelivery | Проверяет, разрешена ли доставка заказа. | 15.5.1
isExistBasketItem | Проверяет, распределен ли товар по отгрузкам. | 16.0.0
isMarked | Проверяет, имеются ли отгрузки, которые отмечены как проблемные. | 15.5.0
isReserved | Проверяет, является ли заказ зарезервированным. | 15.5.0
isShipped | Проверяет, является ли заказ отгруженным. | 15.5.0
load | Возвращает заказ, к которому привязана коллекция. | 18.0.0
refreshData | Пересчитывает доставки для все отгрузок. | 15.5.0
resetCollection | Очищает коллекцию отгрузок. | 15.5.1
resetData | Сбрасывает расчетную стоимость доставок. | 15.5.0
setOrder | Привязывает заказ к коллекции. | 15.5.0
verify | Проверяет отгрузки на корректность. | 16.0.0

Методы родительского класса \Bitrix\Sale\Internals\EntityCollection

Метод | Описание | С версии
clearCollection | Удаляет все элементы коллекции. | 15.5.1
doFinalAction | Выполняет финальные действия. | 15.5.1
getIndexById | Ищет элемент в коллекции по ID и возвращает его внутренний индекс. | 15.5.1
getItemById | Ищет элемент в коллекции по ID и возвращает его. | 15.5.1
getItemByIndex | Ищет элемент в коллекции по внутреннему индексу и возвращает его. | 17.5.0
isAnyItemDeleted | Проверяет, был ли удален какой-либо элемент коллекции. | 17.5.0
isChanged | Проверяет, была ли изменена коллекция. Возвращает true или false. | 15.5.2
isClone | Проверяет, является ли коллекция клонированной. Возвращает true или false. | 6.0.26
verify | Проверяет коллекцию на корректность. Возвращает объект \Bitrix\Sale\Result. | 17.5.0

Методы родительского класса \Bitrix\Sale\Internals\CollectionBase

Метод | Описание | С версии
count | Возвращает количество элементов объекта. | 15.5.3
current | Возвращает текущий элемент. | 15.5.3
getIterator | Возвращает внешний итератор. | 15.5.3
isEmpty | Проверяет коллекцию на пустоту. Если в коллекции нет элементов, возвращается true (иначе false). | 15.5.3
key | Возвращает индекс текущего элемента коллекции. | 15.5.3
next | Перемещает указатель коллекции вперед на один элемент. | 15.5.3
offsetExists | Определяет, существует или нет заданное смещение (ключ). | 15.5.3
offsetGet | Возвращает заданное смещение (ключ). | 15.5.3
offsetSet | Устанавливает значения для данного смещения. | 15.5.3
offsetUnset | Сбрасывает значение по смещению. | 15.5.3
rewind | Устанавливает указатель на первый элемент коллекции. | 15.5.3
valid | Проверяет, содержит ли коллекция еще элементы. | 15.5.3


allowDelivery

\Bitrix\Sale\Result public
\Bitrix\Sale\ShipmentCollection::allowDelivery();

Метод разрешает доставку заказа. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


calculateDelivery

\Bitrix\Sale\ShipmentCollection::calculateDelivery();

Метод рассчитывает стоимость доставки для каждой отгрузки. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createItem

\Bitrix\Sale\Shipment public
\Bitrix\Sale\ShipmentCollection::createItem(
    \Bitrix\Sale\Delivery\Services\Base $delivery = null
);

Метод создает новую отгрузку. Нестатический метод.

Параметры

Параметр | Описание | Версия
$delivery | Сущность службы доставки (по умолчанию null). Необязательный. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


disallowDelivery

\Bitrix\Sale\Result public
\Bitrix\Sale\ShipmentCollection::disallowDelivery(
);

Метод отменяет разрешение доставки заказа. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBasePriceDelivery

\Bitrix\Sale\ShipmentCollection::getBasePriceDelivery();

Метод возвращает стоимость доставки всех отгрузок без учета скидок и наценок. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBasketItemDistributedQuantity

\Bitrix\Sale\ShipmentCollection::getBasketItemDistributedQuantity(
\Bitrix\Sale\BasketItem $basketItem
);

Метод сбрасывает расчетную стоимость доставок. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getItemByShipmentCode

\Bitrix\Sale\ShipmentCollection::getItemByShipmentCode($itemCode);

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

Параметры

Параметр | Описание | Версия
$itemCode | Код. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOrder

\Bitrix\Sale\Order public
\Bitrix\Sale\ShipmentCollection::getOrder();

Метод возвращает заказ, к которому привязана коллекция. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPriceDelivery

\Bitrix\Sale\ShipmentCollection::getPriceDelivery();

Метод возвращает стоимость доставки всех отгрузок с учетом скидок и наценок. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRegistryType

\Bitrix\Sale\Shipment::getRegistryType();

Метод возвращает тип реестра, к которому относится объект. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSystemShipment

\Bitrix\Sale\Shipment public
\Bitrix\Sale\ShipmentCollection::getSystemShipment();

Метод возвращает системную отгрузку. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


hasAllowDelivery

\Bitrix\Sale\ShipmentCollection::hasAllowDelivery();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


hasShipped

boolean public
\Bitrix\Sale\ShipmentCollection::hasShipped();

Метод проверяет, есть ли у заказа отгруженные отгрузки. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isAllowDelivery

boolean public
\Bitrix\Sale\ShipmentCollection::isAllowDelivery();

Метод проверяет, разрешена ли доставка заказа. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isExistBasketItem

\Bitrix\Sale\ShipmentCollection::isExistBasketItem(
    \Bitrix\Sale\BasketItem $basketItem, $includeSystemShipment = false
);

Метод проверяет, распределен ли товар по отгрузкам. Нестатический метод.

Параметры

Параметр | Описание | Версия
$basketItem | Товар. |
$includeSystemShipment | Флаг, отвечающий за проведение проверки в системной отгрузке. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isMarked

boolean public
\Bitrix\Sale\ShipmentCollection::isMarked();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isReserved

boolean public
\Bitrix\Sale\ShipmentCollection::isReserved();

Метод проверяет, является ли заказ зарезервированным. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isShipped

boolean public
\Bitrix\Sale\ShipmentCollection::isShipped();

Метод проверяет, является ли заказ отгруженным. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


load

\Bitrix\Sale\ShipmentCollection public static
\Bitrix\Sale\ShipmentCollection::load(
    \Bitrix\Sale\Order $order
);

Метод возвращает заказ, к которому привязана коллекция. Нестатический метод.

Параметры

Параметр | Описание | Версия
$order | Объект заказа. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


refreshData

\Bitrix\Sale\ShipmentCollection::refreshData();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


resetCollection

\Bitrix\Sale\ShipmentCollection::resetCollection();

Метод очищает коллекцию отгрузок. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


resetData

\Bitrix\Sale\ShipmentCollection::resetData();

Метод сбрасывает расчетную стоимость доставок. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setOrder

 public
\Bitrix\Sale\ShipmentCollection::setOrder(
    Bitrix\Sale\Order $order
);

Метод привязывает заказ к коллекции. Нестатический метод.

Параметры

Параметр | Описание | Версия
$order | Объект заказа. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


tryReserve

\Bitrix\Sale\Result public
\Bitrix\Sale\ShipmentCollection::tryReserve(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


tryUnreserve

\Bitrix\Sale\Result public
\Bitrix\Sale\ShipmentCollection::tryUnreserve(
);

Метод пытается разрезервировать товар из коллекции отгрузок. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


verify

\Bitrix\Sale\ShipmentCollection::verify();

Метод проверяет отгрузки на корректность. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ShipmentItem

Описание и методы

\Bitrix\Sale\ShipmentItem - класс элемента отгрузки. Класс также реализует интерфейс \IEntityMarker.

Цепочка наследования

\Bitrix\Sale\ShipmentItem > \Bitrix\Sale\Internals\CollectableEntity > \Bitrix\Sale\Internals\Entity

Методы класса

Метод | Описание | С версии
create | Создает объект элемента отгрузки и привязывает к нему коллекцию. | 15.5.0
getBasketCode | Возвращает код товара. | 15.5.0
getBasketId | Возвращает ID товара. | 15.5.0
getBasketItem | Возвращает объект товара. | 15.5.0
getProductId | Возвращает PRODUCT_ID товара. | 17.5.1
getQuantity | Возвращает количество товара в отгрузке. | 15.5.0
getRegistryType | Возвращает тип реестра, к которому относится объект. | 18.0.0
getReservedQuantity | Возвращает зарезервированное количество товара в отгрузке. | 15.5.0
getShipmentItemStoreCollection | Возвращает склады, по которым распределен товар для отгрузки. | 15.5.0
isChanged | Проверяет, был ли изменен объект. | 15.5.2
loadForShipment | Возвращает товары в отгрузке по ее ID. | 15.5.0
setQuantity | Устанавливает товара количество в отгрузке. | 15.5.0
verify | Проверяет товар в отгрузке на корректность. | 16.0.22

Методы родительского класса \Bitrix\Sale\Internals\CollectableEntity

Метод | Описание | С версии
createClone | Клонирует данный элемент. | 17.5.0
delete | Удаляет элемент. | 15.5.1
doFinalAction | Выполняет финальные действия. | 15.5.1
getCollection | Возвращает коллекцию, к которой привязан элемент. | 15.5.1
getInternalIndex | Возвращает внутренний индекс элемента в коллекции. | 15.5.1
isClone | Проверяет, является ли данный элемент клоном. | 16.0.26
setCollection | Привязывает коллекцию к элементу. | 15.5.1

Методы родительского класса \Bitrix\Sale\Internals\Entity

Метод | Описание | С версии
doFinalAction | Абстрактный метод, предназначенный для реализации логики "конечных" расчетов. | 15.5.0
getAvailableFields | Возвращает массив полей, которые могут быть установлены через методы setField() и setFields(). | 15.5.0
getAvailableFieldsMap | Возвращает массив полей, которые могут быть установлены через методы setField() и setFields(). В качестве ключей массива выступают значения getAvailableFields. | 17.5.0
getField | Возвращает значение поля $name. | 18.0.3
getFieldValues | Возвращает массив полей со значениями. | 15.5.0
getId | Возвращает идентификатор сущности. | 15.5.0
initField | Инициализирует поле значением. При этом объект не считается измененным. | 15.5.0
initFields | Инициализирует поля значениями. При этом объект не считается измененным. | 15.5.0
isChanged | Проверяет, была ли изменена сущность. Если да, то возвращает true, иначе false. | 15.5.2
isMathActionOnly | Проверяет, идет ли расчет на текущих данных (данные из провайдера не запрашиваются). Если да, то возвращает true, иначе false. | 15.5.0
setField | Устанавливает значение поля $name. | 15.5.0
setFields | Инициализирует поля значениями. При этом объект не считается измененным. | 15.5.0
setMathActionOnly | Отключает запросы к провайдеру при выполнении расчетов. | 15.5.0
verify | Проверяет, корректен ли объект. Возвращает объект \Bitrix\Sale\Result. | 16.0.0


create

\Bitrix\Sale\ShipmentItem::create(
    \Bitrix\Sale\ShipmentItemCollection $collection,
    \Bitrix\Sale\BasketItem $basketItem = null
);

Метод создает объект элемента отгрузки и привязывает к нему коллекцию. Статический метод.

Параметры

Параметр | Описание | Версия
$collection | Коллекция отгрузок. |
$basketItem | Товар (по умолчанию null). Необязательный. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBasketCode

\Bitrix\Sale\ShipmentItem::getBasketCode();

Метод возвращает код товара. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBasketId

\Bitrix\Sale\ShipmentItem::getBasketId();

Метод возвращает ID товара. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBasketItem

\Bitrix\Sale\ShipmentItem::getBasketItem();

Метод возвращает объект товара. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getProductId

\Bitrix\Sale\ShipmentItem::getProductId();

Метод возвращает PRODUCT_ID товара. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getQuantity

\Bitrix\Sale\ShipmentItem::getQuantity();

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRegistryType

\Bitrix\Sale\Shipment::getRegistryType();

Метод возвращает тип реестра, к которому относится объект. Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getReservedQuantity

\Bitrix\Sale\ShipmentItem::getReservedQuantity();

Метод возвращает зарезервированное количество товара в отгрузке. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getShipmentItemStoreCollection

\Bitrix\Sale\ShipmentItem::getShipmentItemStoreCollection();

Метод возвращает склады, по которым распределен товар для отгрузки. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isChanged

\Bitrix\Sale\ShipmentItem::isChanged();

Метод проверяет, был ли изменен объект. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


loadForShipment

\Bitrix\Sale\ShipmentItem::loadForShipment($id);

Метод возвращает товары в отгрузке по ее ID. Статический метод.

Параметры

Параметр | Описание | Версия
$id | ID отгрузки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setQuantity

\Bitrix\Sale\ShipmentItem::setQuantity($quantity);

Метод устанавливает товара количество в отгрузке. Статический метод.

Параметры

Параметр | Описание | Версия
$quantity | Количество товара. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


verify

\Bitrix\Sale\ShipmentItem::verify();

Метод проверяет товар в отгрузке на корректность. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ShipmentItemStore

ShipmentItemStore - класс штрих-кодов элементов отгрузки.

Метод | Описание | С версии
delete | Удаляет объект штрих-кода элемента отгрузки. |


delete

 public
\Bitrix\Sale\ShipmentItemStore::delete(
);

Удаляет объект штрих-кода элемента отгрузки. Метод нестатический.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentOutOfRangeException
  • \Bitrix\Main\NotSupportedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


StatusBase

StatusBase - базовый класс статусов.

Метод | Описание | С версии
canUserDoOperations | Проверяет, может ли пользователь выполнять определенные операции. |
getAllowedUserStatuses | Возвращает статусы, на которые пользователь может изменить свой текущий статус. |
getAllStatuses | Возвращает список всех статусов. |
getAllStatusesNames | Возвращает список названий всех статусов в зависимости от класса-наследника. | 16.0.25
getStatusesUserCanDoOperations | Метод возвращает список операций, которые может выполнять пользователь. |


canUserDoOperations

boolean public static
\Bitrix\Sale\StatusBase::canUserDoOperations(
 string|integer $userId,
 string $fromStatus,
 array $operations
);

Проверяет, может ли пользователь выполнять определенные операции. Метод статический.

Параметры

Параметр | Описание | Версия
$userId | Идентификатор пользователя. |
$fromStatus | Текущий статус. |
$operations | Список операций. Массив вида: array('update', 'cancel'). |

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAllowedUserStatuses

array public static
\Bitrix\Sale\StatusBase::getAllowedUserStatuses(
 integer|string $userId,
 string $fromStatus
);

Возвращает статусы, на которые пользователь может изменить свой текущий статус. Метод статический.

Параметры

Параметр | Описание | Версия
$userId | Идентификатор пользователя. |
$fromStatus | Текущий статус пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAllStatuses

mixed public static
\Bitrix\Sale\StatusBase::getAllStatuses(
 boolean $withName = false
);

Базовый метод для доставок и заказов. Возвращает список статусов, в зависимости от класса-наследника. Метод статический.

Параметры

Параметр | Описание | Версия
$withName | Если параметр принимает значение true, то список статусов будет возвращен с названиями. | 16.0.25

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAllStatusesNames

mixed public static
\Bitrix\Sale\StatusBase::getAllStatusesNames(
);

Возвращает список названий всех статусов в зависимости от класса-наследника. Метод статический.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getStatusesUserCanDoOperations

array public static
\Bitrix\Sale\StatusBase::getStatusesUserCanDoOperations(
 integer $userId,
 array $operations
);

Метод возвращает список операций, которые может выполнять пользователь. Метод статический.

Параметры

Параметр | Описание | Версия
$userId | Идентификатор пользователя. |
$operations | Массив названий операций. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Tax

Tax - класс налогов.

Метод | Описание | С версии
calculate | Метод расчитывает налоги. |


calculate

\Bitrix\Sale\Result public
\Bitrix\Sale\Tax::calculate(
);

Метод расчитывает налоги. Метод нестатический.

Без параметров

Исключения

  • \Bitrix\Main\ObjectNotFoundException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


TradingPlatform

TradingPlatform - класс для работы с торговыми платформами.

Класс | Описание | С версии
Vk | Класс для экспорта товаров Вконтакте. | 17.0.0
Helper | Вспомогательные методы для работы с торговыми платформами. |
Logger | Класс для работы с журналированием информации. |
MapTable | Класс для работы с таблицей отображения сущностей торговой площадки и интернет-магазина. |
Platform | Базовый класс, от которого наследуются классы для работы с торговыми платформами. |
Sftp | Класс для работы через SFTP. |
TimeIsOverException | Служебный класс-исключение для работы с торговой платформой в пошаговом режиме. |
Timer | Служебный класс для пошагового режима на больших объемах данных при обмене. |


Helper

Helper - вспомогательные методы для работы с торговыми платформами.

Метод | Описание | С версии
getProductById | Метод возвращает информацию о товаре из каталога. |


getProductById

\Bitrix\Sale\TradingPlatform\array. public static
\Bitrix\Sale\TradingPlatform\Helper::getProductById(
 integer $productId,
 integer $quantity,
 string $siteId
);

Метод возвращает информацию о товаре из каталога. Метод статический.

Параметры

Параметр | Описание | Версия
$productId | Идентификатор товара. |
$quantity | Количество товара. |
$siteId | Идентификатор сайта. |

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Logger

Logger - класс для работы с журналированием информации.

Метод | Описание | С версии
setLevel | Устанавливает степень детализации записей в лог. |
Конструктор Logger | Создает объект данного типа. |


setLevel

 public
\Bitrix\Sale\TradingPlatform\Logger::setLevel(
 integer $logLevel
);

Устанавливает степень детализации записей в лог. Метод нестатический.

Параметры

Параметр Описание Версия
$logLevel Степень детализации записей в лог. Доступные значения:
  1. const LOG_LEVEL_DISABLE = 0; - журнал не ведется;
  2. const LOG_LEVEL_ERROR = 10; - логируются только ошибки;
  3. const LOG_LEVEL_INFO = 20; - минимум записей в лог;
  4. const LOG_LEVEL_DEBUG = 30; - логируется максимум информации.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор Logger

 public
\Bitrix\Sale\TradingPlatform\Logger::__construct(
 integer $logLevel = self::LOG_LEVEL_ERROR
);

Создает объект данного типа. Метод нестатический.

Параметры

Параметр Описание Версия
$logLevel Степень детализации записей в лог. Доступные значения:
  1. const LOG_LEVEL_DISABLE = 0; - журнал не ведется;
  2. const LOG_LEVEL_ERROR = 10; - логируются только ошибки;
  3. const LOG_LEVEL_INFO = 20; - минимум записей в лог;
  4. const LOG_LEVEL_DEBUG = 30; - логируется максимум информации.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


MapTable

MapTable - класс для работы с таблицей отображения сущностей торговой площадки и интернет-магазина.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
deleteByMapEntityId | Удаляет все записи с соответствующим идентификатором таблицы соответствий. |


deleteByMapEntityId

 public static
\Bitrix\Sale\TradingPlatform\MapTable::deleteByMapEntityId(
 string $mapEntityId
);

Удаляет все записи с соответствующим идентификатором таблицы соответствий. Метод статический.

Параметры

Параметр | Описание | Версия
$mapEntityId | Идентификатор таблицы соответствий. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Platform

Platform - базовый класс, от которого наследуются классы для работы с торговыми платформами.

Метод | Описание | С версии
install | Устанавливает торговую платформу. |
setActive | Устанавливает активной торговую платформу. |
unsetActive | Устанавливает неактивной торговую платформу. |


install

integer public
\Bitrix\Sale\TradingPlatform\Platform::install(
);

Устанавливает торговую платформу. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setActive

boolean public
\Bitrix\Sale\TradingPlatform\Platform::setActive(
);

Устанавливает активной торговую платформу. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unsetActive

boolean public
\Bitrix\Sale\TradingPlatform\Platform::unsetActive(
);

Устанавливает неактивной торговую платформу. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Sftp

Sftp - класс для работы через SFTP.

Метод | Описание | С версии
connect | Устанавливает соединение с помощью SFTP. |
Конструктор Sftp | Создает объект данного типа. |


connect

\Bitrix\Sale\TradingPlatform\bool. public
\Bitrix\Sale\TradingPlatform\Sftp::connect(
);

Устанавливает соединение с помощью SFTP. Метод нестатический.

Без параметров

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор Sftp

 public
\Bitrix\Sale\TradingPlatform\Sftp::__construct(
 string $login,
 string $pass,
 string $host = "mip.ebay.com",
 integer $port = 22,
 string $fingerprint = "A9429730355B91EC642AE6E6186DA3DC"
);

Создает объект данного типа. Метод нестатический.

Параметры

Параметр | Описание | Версия
$login | Логин SFTP. |
$pass | Пароль SFTP. |
$host | Хост SFTP. |
$port | Порт SFTP. |
$fingerprint | Хэш, по которому можно удостовериться, что подключен нужный хост. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


TimeIsOverException

TimeIsOverException - служебный класс-исключение для работы с торговой платформой в пошаговом режиме (например, при загрузке/выгрузке очень больших объемов информации).

Метод | Описание | С версии
getEndPosition | Возвращает позицию, с которой должен начинаться следующий шаг. |


getEndPosition

string public
\Bitrix\Sale\TradingPlatform\TimeIsOverException::getEndPosition(
);

Возвращает позицию, с которой должен начинаться следующий шаг. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Timer

Timer - служебный класс для пошагового режима на больших объемах данных при обмене.

Метод | Описание | С версии
check | Метод проверяет, истекло ли время. |
Конструктор Timer | Создает объект данного типа. |


check

boolean public
\Bitrix\Sale\TradingPlatform\Timer::check(
 integer $reserveTime
);

Метод проверяет, истекло ли время. Метод нестатический.

Параметры

Параметр | Описание | Версия
$reserveTime | Время проверки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор Timer

 public
\Bitrix\Sale\TradingPlatform\Timer::__construct(
 integer $newTimeLimit
);

Создает объект данного типа. Метод нестатический.

Параметры

Параметр | Описание | Версия
$newTimeLimit | Временной лимит (в секундах). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Vk

Vk - класс для экспорта товаров Вконтакте.

Список классов

Метод | Описание
ExecuteException | Класс исключений экспорта.
PhotoResizer | Класс для обработки изображений перед экспортом.
Api | Класс для работы с API Вконтакте.
Map | Класс для обработки соответствий между структурой товаров в магазина и на стороне Вконтакте.
CatalogSectionTabHandler | Класс для работы со вкладкой в настройках раздела каталога.
SectionsList | Класс для работы с разделами, выбранными для экспорта.
Vk | Основной класс объекта экспорта Вконтакте.
Logger | Класс для записи ошибок в лог и расширенный лог экспорта.
VkCategories | Класс для работы со списком категорий товаров Вконтакте.
Feed | Класс для создания объекта, управляющего экспортом.
Journal | Класс для работы с журналом.
VkExportedData | Класс для работы со списком ранее экспортированных товаров и разделов.


Api

Api - класс для работы с API Вконтакте.

Список классов

Класс | Описание
Executer | Класс для вызова API методов Вконтакте.
Api | Основной классс для работы с API.
ApiHelper | Вспомогательный класс для работы с API.


Api

Api - основной классс для работы с API.

Методы класса

Метод | Описание
[link=5153361]Конструктор Api[/link] | Конструктор объекта класса Api.
[link=5153365]run[/link] | Метод отправляет запрос с параметрами к одиночному API методу Вконтакте.


__construct

 public
\Bitrix\Sale\TradingPlatform\Vk\Api\Api::__construct(
  $accessToken,
  $exportId
);

Конструктор объекта класса Api.

Параметры

Параметр Описание Версия
$accessToken
  • токен доступа Вконтакте
$exportId
  • ID экспорта

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


run

string public
\Bitrix\Sale\TradingPlatform\Vk\Api\Api::run(
  $method,
 array $params = array()
);

Метод отправляет запрос с параметрами к одиночному API методу Вконтакте.

Параметры

Параметр Описание Версия
$method
  • Имя метода API Вконтакте
$params
  • Массив параметров метода

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ApiHelper

ApiHelper - вспомогательный класс для работы с API.

Методы класса

Метод | Описание
[link=5153353]getVkCategories[/link] | Метод возвращает массив категорий товаров Вконтакте.
[link=5153341]getProductsFromVk[/link] | Метод возвращаем массив продуктов группы Вконтакте.
[link=5153345]prepareProductsDataToVk[/link] | Метод проверяет данные о товарах (изображения, описания, категории) перед экспортом.
[link=5153337]getALbumsFromVk[/link] | Метод возвращает список всех альбомов группы Вконтакте.
[link=5153325]uploadPhotos[/link] | Метод проверяет размер изображений и загружает их на сервер.
[link=5153317]addResultToData[/link] | Метод включает данные из одного массива в другой по определенному ключу.
[link=5153321]changeArrayMainKey[/link] | Метод изменяет основной ключ массива.
[link=5153309]Конструктор ApiHelper[/link] | Конструктор объекта класса ApiHelper.
[link=5153313]extractItemsFromArray[/link] | Метод извлекает определенные элементы из массива.


__construct

 public
\Bitrix\Sale\TradingPlatform\Vk\Api\ApiHelper::__construct(
  $exportId
);

Конструктор объекта класса ApiHelper.

Параметры

Параметр Описание Версия
$exportId
  • ID профиля экспорта

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addResultToData

array public static
\Bitrix\Sale\TradingPlatform\Vk\Api\ApiHelper::addResultToData(
 array $data = array(),
 array $result = array(),
  $referenceKey
);

Статический метод включает данные из одного массива в другой по определенному ключу.

Параметры

Параметр | Описание | Версия
$data | Изначальный массив
$result | Массив для добавления
$referenceKey
  • Основной ключ в обоих массивах

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


changeArrayMainKey

array public static
\Bitrix\Sale\TradingPlatform\Vk\Api\ApiHelper::changeArrayMainKey(
 array $data = array(),
  $mainKey,
 string $keyRename = ''
);

Статический метод изменяет основной ключ массива.

Параметры

Параметр | Описание | Версия
$data | Целевой массив
$mainKey | Основной ключ
$keyRename
  • Ключ для изменения

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


extractItemsFromArray

array public static
\Bitrix\Sale\TradingPlatform\Vk\Api\ApiHelper::extractItemsFromArray(
 array $data = array(),
 array $keys = array()
);

Статический метод извлекает определенные элементы из массива и возвращает их в отдельном массиве.

Параметры

Параметр Описание Версия
$data
  • Целевой массив
$keys
  • Массив ключей элементов для извлечения.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getALbumsFromVk

array public
\Bitrix\Sale\TradingPlatform\Vk\Api\ApiHelper::getALbumsFromVk(
  $vkGroupId,
 boolean $flip = true
);

Метод возвращает список всех альбомов группы Вконтакте.

Параметры

Параметр | Описание | Версия
$vkGroupId | ID группы Вконтакте |
$flip | Менять ли местами ключи и их значения в итоговом массиве. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getProductsFromVk

array public
\Bitrix\Sale\TradingPlatform\Vk\Api\ApiHelper::getProductsFromVk(
  $vkGroupId
);

Метод возвращаем массив продуктов группы Вконтакте.

Параметры

Параметр | Описание | Версия
$vkGroupId | ID группы Вконтакте |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getVkCategories

array public
\Bitrix\Sale\TradingPlatform\Vk\Api\ApiHelper::getVkCategories(
 integer $count = \Bitrix\Sale\TradingPlatform\Vk\Vk::MAX_VK_CATEGORIES,
 integer $offset
);

Метод возвращает массив категорий товаров Вконтакте.

Параметры

Параметр | Описание | Версия
$count | Количество возвращаемых категорий |
$offset | Номер первой возвращаемой категории |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareProductsDataToVk

array public static
\Bitrix\Sale\TradingPlatform\Vk\Api\ApiHelper::prepareProductsDataToVk(
  $data
);

Статический метод проверяет данные о товарах (изображения, описания, категории) перед экспортом.

Параметры

Параметр | Описание | Версия
$data | Информация для проверки |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


uploadPhotos

array public
\Bitrix\Sale\TradingPlatform\Vk\Api\ApiHelper::uploadPhotos(
  $data,
  $vkGroupId,
  $uploadType,
 null $timer = NULL
);

Метод проверяет размер изображений и загружает их на сервер.

Параметры

Параметр | Описание | Версия
$data | Набор изображений
$vkGroupId | ID группы Вконтакте
$uploadType
  • Тип изображения. Для разных типов используются свои методы и параметры.
$timer
  • Таймер ограничения времени загрузки.

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Executer

Executer - класс для вызова API методов Вконтакте.

Методы класса

Метод | Описание
[link=5153381]__call[/link] | Основной метод для вызова скриптом из .vks файлов.


__call

mixed public
\Bitrix\Sale\TradingPlatform\Vk\Api\Executer::__call(
  $methodName,
  $arguments
);

Основной метод для вызова скриптом из .vks файлов.

Параметры

Параметр Описание Версия
$methodName
  • Имя метода в формате "execute" + имя файла скрипта.
$arguments
  • Массив аргументов для скрипта.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


CatalogSectionTabHandler

CatalogSectionTabHandler - класс для работы со вкладкой в настройках раздела каталога.

Методы класса

Метод | Описание
[link=5153249]check[/link] | Метод проверяет значения массива $_POST.
[link=5153253]showTabSection[/link] | Метод формирует HTML-код для отображения вкладки в настройках раздела.
[link=5153241]Конструктор CatalogSectionTabHandler[/link] | Конструктор объекта класса CatalogSectionTabHandler.
[link=5153245]action[/link] | Метод сохраняет данные $_POST массива.


__construct

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>TradingPlatform>Vk>CatalogSectionTabHandler>__construct (с версии 17.0.0)

CatalogSectionTabHandler::__construct

 public
\Bitrix\Sale\TradingPlatform\Vk\CatalogSectionTabHandler::__construct(
);

Конструктор объекта класса CatalogSectionTabHandler.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


action

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>TradingPlatform>Vk>CatalogSectionTabHandler>action (с версии 17.0.0)

CatalogSectionTabHandler::action

boolean public
\Bitrix\Sale\TradingPlatform\Vk\CatalogSectionTabHandler::action(
  $arArgs
);

Метод сохраняет данные $_POST массива.

Параметры

Параметр | Описание | Версия
$arArgs | Параметры |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


check

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>TradingPlatform>Vk>CatalogSectionTabHandler>check (с версии 17.0.0)

CatalogSectionTabHandler::check

boolean public
\Bitrix\Sale\TradingPlatform\Vk\CatalogSectionTabHandler::check(
  $arArgs
);

Метод проверяет значения массива $_POST.

Check POST values

Параметры

Параметр | Описание | Версия
$arArgs | Дополнительные аргументы |

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


showTabSection

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интернет-магазин>Классы>TradingPlatform>Vk>CatalogSectionTabHandler>showTabSection (с версии 17.0.0)

CatalogSectionTabHandler::showTabSection

string public
\Bitrix\Sale\TradingPlatform\Vk\CatalogSectionTabHandler::showTabSection(
  $divName,
  $arArgs,
  $bVarsFromForm
);

Метод формирует HTML-код для отображения вкладки в настройках раздела.

Параметры

Параметр | Описание | Версия
$divName | Имя контейнера |
$arArgs | Параметры |
$bVarsFromForm | Переменные из формы |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ExecuteException

ExecuteException - класс исключений экспорта.

Методы класса

Метод | Описание
[link=5153427]getFullMessage[/link] | Метод возвращает отформатированное сообщение об ошибке.


getFullMessage

string public
\Bitrix\Sale\TradingPlatform\Vk\ExecuteException::getFullMessage(
);

Метод возвращает отформатированное сообщение об ошибке.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Feed

Feed - класс для создания объекта, управляющего экспортом.

Список классов

Класс | Описание
Feed | Класс для непосредственного запуска экспорта.
Manager | Класс для подготовки и настройки экспорта.
Data | Класс для работы с данными экспорта.


Data

Data - класс для работы с данными экспорта.

Список классов

Класс | Описание
Processors | Класс для добавления и удаления данных на стороне Вконтакте..
Converters | Класс для конвертации данных.


Converters

Converters - класс для конвертации данных.

Список классов

Класс | Описание
Album | Класс для конвертации альбомов.
Product | Класс для конвертации товаров.


Album

Album - класс для конвертации альбомов.

Методы класса

Метод | Описание
[link=5152859]convert[/link] | Основной метод для конвертации альбомов.
[link=5152855]Конструктор Album[/link] | Конструктор класса Album.


__construct

 public
\Bitrix\Sale\TradingPlatform\Vk\Feed\Data\Converters\Album::__construct(
  $exportId
);

Конструктор класса Album.

Параметры

Параметр Описание Версия
$exportId
  • ID профиля экспорта

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


convert

array public
\Bitrix\Sale\TradingPlatform\Vk\Feed\Data\Converters\Album::convert(
  $data
);

Основной метод для конвертации альбомов. Возвращает массив преобразованных данных.

Параметры

Параметр | Описание | Версия
$data | Данные альбома |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Product

Product - класс для конвертации товаров.

Методы класса

Метод | Описание
[link=5152823]convert[/link] | Основной метод для конвертации товаров. Возвращает массив преобразованных данных.
[link=5152819]Конструктор Product[/link] | Конструктор класса Product.


__construct

 public
\Bitrix\Sale\TradingPlatform\Vk\Feed\Data\Converters\Product::__construct(
  $exportId
);

Конструктор класса Product.

Параметры

Параметр Описание Версия
$exportId
  • ID профиля экспорта

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


convert

array public
\Bitrix\Sale\TradingPlatform\Vk\Feed\Data\Converters\Product::convert(
  $data
);

Основной метод для конвертации товаров. Возвращает массив преобразованных данных.

Параметры

Параметр | Описание | Версия
$data | Данные о товарах |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Processors

Processors - класс для добавления и удаления данных на стороне Вконтакте.

Список классов

Класс | Описание
ProductsDelete | Класс для удаления товаров.
AlbumAdd | Класс для добавления альбомов.
ProductAdd | Класс для добавления товаров.
AlbumsDeleteAll | Класс для удаления всех альбомов.
AlbumsDelete | Класс для удаления альбомов.
ProductsDeleteAll | Класс для удаления всех товаров.
DataProcessor | Класс для создания объекта для добавления и удаления данных.


AlbumAdd

AlbumAdd - класс для добавления альбомов.

Методы класса

Метод | Описание
[link=5152917]process[/link] | Основной метод процесса экспорта. Добавляет альбомы на стороне Вконтакте.


process

boolean public
\Bitrix\Sale\TradingPlatform\Vk\Feed\Data\Processors\AlbumAdd::process(
  $data = NULL,
 null $timer = NULL
);

Основной метод процесса экспорта. Добавляет альбомы на стороне Вконтакте.

Параметры

Параметр Описание Версия
$data
  • Массив альбомов для добавления, не больше 25 элементов.
$timer
  • Объект класса Tradingplatform\Timer для контроля времени выполнения.

Исключения

  • \Bitrix\Main\SystemException
  • \Bitrix\Sale\TradingPlatform\TimeIsOverException
  • \Bitrix\Sale\TradingPlatform\Vk\ExecuteException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


AlbumsDelete

AlbumsDelete - класс для удаления альбомов.

Методы класса

Метод | Описание
[link=5152893]process[/link] | Основной метод процесса экспорта. Удаляет на стороне Вконтакте альбомы, которые будут добавлены в процессе экспорта.


process

boolean public
\Bitrix\Sale\TradingPlatform\Vk\Feed\Data\Processors\AlbumsDelete::process(
);

Основной метод процесса экспорта. Удаляет на стороне Вконтакте альбомы, которые будут добавлены в процессе экспорта. Метод не имеет входных параметров - получает значения со стороны Вконтакте и сайта и сравнивает их.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


AlbumsDeleteAll

AlbumsDeleteAll - класс для удаления всех альбомов.

Методы класса

Метод | Описание
[link=5152901]process[/link] | Основной метод процесса экспорта. Удаляет все альбомы из группы Вконтакте.


process

boolean public
\Bitrix\Sale\TradingPlatform\Vk\Feed\Data\Processors\AlbumsDeleteAll::process(
);

Основной метод процесса экспорта. Удаляет все альбомы из группы Вконтакте. Метод не имеет входных параметров - получает значения со стороны Вконтакте и сайта и использует их.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DataProcessor

DataProcessor - класс для создания объекта для добавления и удаления данных.

Методы класса

Метод | Описание
[link=5152877]Конструктор DataProcessor[/link] | Конструктор класса DataProcessor.


__construct

 public
\Bitrix\Sale\TradingPlatform\Vk\Feed\Data\Processors\DataProcessor::__construct(
  $exportId
);

Конструктор класса DataProcessor.

Параметры

Параметр Описание Версия
$exportId
  • ID профиля экспорта

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ProductAdd

ProductAdd - класс для добавления товаров.

Методы класса

Метод | Описание
[link=5152909]process[/link] | Основной метод процесса экспорта. Добавляет товары на стороне Вконтакте.


process

boolean public
\Bitrix\Sale\TradingPlatform\Vk\Feed\Data\Processors\ProductAdd::process(
  $data,
 \Bitrix\Sale\TradingPlatform\Timer $timer = NULL
);

Основной метод процесса экспорта. Добавляет товары на стороне Вконтакте.

Параметры

Параметр | Описание | Версия
$data | Массив товаров для добавления
$timer
  • Объект класса Tradingplatform\Timer для контроля времени выполнения.

Исключения

  • \Bitrix\Main\SystemException
  • \Bitrix\Sale\TradingPlatform\TimeIsOverException
  • \Bitrix\Sale\TradingPlatform\Vk\ExecuteException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ProductsDelete

ProductsDelete - класс для удаление товаров.

Методы класса

Метод | Описание
[link=5152925]process[/link] | Основной метод процесса экспорта. Удаляет из Вконтакте товары, которые будут добавлены через экспорт.


process

boolean public
\Bitrix\Sale\TradingPlatform\Vk\Feed\Data\Processors\ProductsDelete::process(
);

Основной метод процесса экспорта. Удаляет из Вконтакте товары, которые будут добавлены через экспорт. Не имеет входных параметров - получает значения из Вконтакте и сайта и сравнивает их

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ProductsDeleteAll

ProductsDeleteAll - класс для удаления всех товаров.

Методы класса

Метод | Описание
[link=5152885]process[/link] | Основной метод процесса экспорта. Удаляет все товары на стороне Вконтакте.


process

boolean public
\Bitrix\Sale\TradingPlatform\Vk\Feed\Data\Processors\ProductsDeleteAll::process(
);

Основной метод процесса экспорта. Удаляет все товары на стороне Вконтакте. Метод не имеет входных параметров - получает значения со стороны Вконтакте и сайта и использует их.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Feed

Feed - класс для непосредственного запуска экспорта.

Методы класса

Метод | Описание
[link=5152953]processData[/link] | Метод последовательно получает данные из источника, преобразует их и производит экспорт.
[link=5152945]Конструктор Feed[/link] | Конструктор класса Feed.


__construct

 public
\Bitrix\Sale\TradingPlatform\Vk\Feed\Feed::__construct(
  $params,
  $startPosition
);

Конструктор класса Feed.

Параметры

Параметр | Описание | Версия
$params | Параметры экспорта |
$startPosition | ID первого элемента для экспорта |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


processData

 public
\Bitrix\Sale\TradingPlatform\Vk\Feed\Feed::processData(
 null $exportId = NULL
);

Метод последовательно получает данные из источника, преобразует их и производит экспорт. Экспорт производится по шагам и ограничен по времени таймером. При превышении заданного времени срабатывает исключение.

Параметры

Параметр | Описание | Версия
$exportId | ID профиля экспорта |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Manager

Manager - класс для подготовки и настройки экспорта.

Методы класса

Метод | Описание
[link=5152937]prepareType[/link] | Статический метод проверяет тип экспорта.
[link=5152933]createFeed[/link] | Метод создает параметры для экспорта.


createFeed

\Bitrix\Sale\TradingPlatform\Vk\Feed\Feed public static
\Bitrix\Sale\TradingPlatform\Vk\Feed\Manager::createFeed(
  $feedType,
  $exportId,
 integer $timeLimit,
  $startPosition = ''
);

Статический метод создает параметры для экспорта. Возвращает объект класса FEED .

Параметры

Параметр | Описание | Версия
$feedType | Тип экспорта
$exportId | ID профиля экспорта
$timeLimit | Временное ограничение на экспорт
$startPosition
  • Расположение первого элемента для экспорта

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareType

string public static
\Bitrix\Sale\TradingPlatform\Vk\Feed\Manager::prepareType(
  $type
);

Статический метод проверяет тип экспорта. В случае, если тип равен ALL, метод возвращает ALBUMS.

Параметры

Параметр | Описание | Версия
$type | Тип экспорта |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Journal

Journal - класс для работы с журналом.

Методы класса

Метод | Описание
[link=5152691]end[/link] | Метод закрывает журнал для текущего типа экспорта путем установки времени окончания.
[link=5152695]getStatisticText[/link] | Метод возвращает статистику по указанному типу экспорта и ID профиля экспорта..
[link=5152683]addItemsCount[/link] | Метод увеличивает количество элементов для экспорта для текущего типа на заданную величину.
[link=5152687]start[/link] | Метод инициализирует журнал для текущего типа экспорта и устанавливает время запуска.
[link=5152671]clearStopProcessParams[/link] | Метод снимает STOP флаг с процесса.
[link=5152675]stopProcessParams[/link] | Метод устанавливает флаг STOP, предотвращая повторный запуск процесса.
[link=5152667]Конструктор Journal[/link] | Конструктор класса Journal.


__construct

 public
\Bitrix\Sale\TradingPlatform\Vk\Journal::__construct(
  $exportId,
  $type
);

Конструктор класса Journal.

Параметры

Параметр Описание Версия
$exportId
  • ID профиля экспорта
$type
  • Тип журнала. ALBUMS или PRODUCTS.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addItemsCount

boolean public
\Bitrix\Sale\TradingPlatform\Vk\Journal::addItemsCount(
  $count
);

Метод увеличивает количество элементов для экспорта для текущего типа на заданную величину.

Параметры

Параметр | Описание | Версия
$count | Значение для увеличения |

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearStopProcessParams

boolean public static
\Bitrix\Sale\TradingPlatform\Vk\Journal::clearStopProcessParams(
  $exportId
);

Статический метод снимает STOP флаг с процесса.

Параметры

Параметр | Описание | Версия
$exportId | ID профиля экспорта |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


end

boolean public
\Bitrix\Sale\TradingPlatform\Vk\Journal::end(
);

Метод закрывает журнал для текущего типа экспорта путем установки времени окончания.

Без параметров

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getStatisticText

boolean|string public static
\Bitrix\Sale\TradingPlatform\Vk\Journal::getStatisticText(
  $type,
  $exportId
);

Статический метод возвращает статистику по указанному типу экспорта и ID профиля экспорта.

Параметры

Параметр | Описание | Версия
$type | Тип экспорта |
$exportId | ID профиля экспорта |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


start

boolean public
\Bitrix\Sale\TradingPlatform\Vk\Journal::start(
);

Метод инициализирует журнал для текущего типа экспорта и устанавливает время запуска.

Без параметров

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


stopProcessParams

boolean public static
\Bitrix\Sale\TradingPlatform\Vk\Journal::stopProcessParams(
  $exportId
);

Статический метод устанавливает флаг STOP, предотвращая повторный запуск процесса.

Параметры

Параметр | Описание | Версия
$exportId | ID профиля экспорта |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Logger

Logger - класс для записи ошибок в лог и расширенный лог экспорта.

Методы класса

Метод | Описание
[link=5676293]addLog[/link] | Метод добавляет новый лог.
[link=5153025]getErrorExpandScript[/link] | Метод возвращает строку с Javascript-кодом для отображения ошибок.
[link=5153017]clearLog[/link] | Метод удаляет все записи из лога для текущего профиля экспорта.
[link=5153021]getErrorsList[/link] | Метод возвращает список существующих ошибок для отображения на странице.
[link=5153009]addError[/link] | Метод добавляет новую ошибку в лог.
[link=5153001]Конструктор Logger[/link] | Конструктор класса Logger.


__construct

 public
\Bitrix\Sale\TradingPlatform\Vk\Logger::__construct(
  $exportId
);

Конструктор класса Logger.

Параметры

Параметр Описание Версия
$exportId
  • ID профиля экспорта

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addError

boolean public
\Bitrix\Sale\TradingPlatform\Vk\Logger::addError(
  $errCode,
 null $itemId = NULL
);

Метод добавляет новую ошибку в лог. Если ошибка с заданным кодом уже существует - сравнивается время и используется более новая ошибка.

Параметры

Параметр | Описание | Версия
$errCode
  • Код ошибки из предопределенного списка.
$itemId | ID элемента.

Исключения

  • \Bitrix\Sale\TradingPlatform\Vk\ExecuteException
  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addLog

 public
\Bitrix\Sale\TradingPlatform\Vk\Logger::addLog(
);

Метод добавляет новый лог.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearLog

boolean public
\Bitrix\Sale\TradingPlatform\Vk\Logger::clearLog(
);

Метод удаляет все записи из лога для текущего профиля экспорта.

Без параметров

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrorExpandScript

 public
\Bitrix\Sale\TradingPlatform\Vk\Logger::getErrorExpandScript(
);

Метод возвращает строку с Javascript-кодом для отображения ошибок.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrorsList

array|string public
\Bitrix\Sale\TradingPlatform\Vk\Logger::getErrorsList(
);

Метод возвращает список существующих ошибок для отображения на странице.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Map

Map - класс для обработки соответствий между структурой товаров в магазина и на стороне Вконтакте.

Методы класса

Метод | Описание
[link=5153297]deleteAllMapping[/link] | Метод удаляет связи всех типов и всех профилей экспорта.
[link=5153289]getMappedSections[/link] | Метод возвращает список связанных разделов по ID профиля экспорта.
[link=5153293]checkMappingMatches[/link] | Метод проверяет структуру экспорта и текущую структуру Вконтакте.
[link=5153281]getMappedAlbums[/link] | Метод возвращает список альбомов, сохраненных в схеме экспорта, по ID профиля экспорта.
[link=5153285]getMappedProducts[/link] | Метод возвращает список товаров, сохраненных в схеме, по ID профиля экспорта.


checkMappingMatches

array public static
\Bitrix\Sale\TradingPlatform\Vk\Map::checkMappingMatches(
  $data,
  $dataFromVk,
  $exportId,
  $type,
  $isAgressive
);

Статический метод проверяет структуру экспорта и текущую структуру Вконтакте. К примеру, ставит флаг на изменение, если товар был изменен. Или удаляет элемент из схемы, если он был удален на стороне Вконтакте.

Параметры

Параметр | Описание | Версия
$data | Информация для анализа |
$dataFromVk | Информация со стороны Вконтакте |
$exportId | ID профиля экспорта |
$type | Тип данных (ALBUMS или PRODUCTS) |
$isAgressive | "Агрессивная" ли проверка. В случае true элементы будут удалены из схемы, если они отсутствуют на стороне Вконтакте. |

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteAllMapping

 public static
\Bitrix\Sale\TradingPlatform\Vk\Map::deleteAllMapping(
);

Статический метод удаляет связи всех типов и всех профилей экспорта.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentException
  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMappedAlbums

array public static
\Bitrix\Sale\TradingPlatform\Vk\Map::getMappedAlbums(
  $exportId
);

Статический метод возвращает список альбомов, сохраненных в схеме экспорта, по ID профиля экспорта.

Параметры

Параметр | Описание | Версия
$exportId | ID профиля экспорта |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMappedProducts

array public static
\Bitrix\Sale\TradingPlatform\Vk\Map::getMappedProducts(
  $exportId
);

Статический метод возвращает список товаров, сохраненных в схеме, по ID профиля экспорта.

Параметры

Параметр | Описание | Версия
$exportId | ID профиля экспорта |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMappedSections

array public static
\Bitrix\Sale\TradingPlatform\Vk\Map::getMappedSections(
  $exportId,
 null $sectionId = NULL
);

Статический метод возвращает список связанных разделов по ID профиля экспорта.

Параметры

Параметр | Описание | Версия
$exportId | ID профиля экспорта |
$sectionId | ID раздела |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


PhotoResizer

PhotoResizer - класс для обработки изображений перед экспортом.

Методы класса

Метод | Описание
[link=5153401]checkPhotos[/link] | Метод проверяет размер изображений по типу конвертора.


checkPhotos

array public static
\Bitrix\Sale\TradingPlatform\Vk\PhotoResizer::checkPhotos(
  $photos,
  $type
);

Статический метод проверяет размер изображений по типу конвертора (PRODUCT или ALBUM). Возвращает массив изображений с флагами о необходимости конвертации.

Параметры

Параметр | Описание | Версия
$photos
  • массив изображений
$type | тип конвертора (PRODUCT или ALBUM)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SectionsList

SectionsList - Класс для работы с разделами, выбранными для экспорта.

Методы класса

Метод | Описание
[link=5153229]prepareSectionToSave[/link] | Метод проверяет настройки раздела перед сохранением.
[link=5153233]prepareChildsToSave[/link] | Метод подготавливает настройки подразделов раздела к сохранению.
[link=5153213]prepareSectionToShow[/link] | Метод подготавливает настройки раздела и возвращает значения для выбранного раздела.
[link=5153217]prepareSettingsVisibility[/link] | Метод устанавливает значения видимости для элементов управления согласно настройкам.
[link=5153205]getParentSection[/link] | Метод перебирает список разделов и находит ближайшего родителя, у которого заданы настройки экспорта.
[link=5153209]getVkCategory[/link] | Метод возвращает категорию товаров по умолчанию из настроек.
[link=5153197]getToAlbumBySection[/link] | Метод возвращает параметр TO_ALBUM по ID раздела.
[link=5153201]getSectionsSelector[/link] | Метод возвращает HTML-код выбора раздела, включающий в себя теги option.
[link=5153189]getSectionsToProductExport[/link] | Метод возвращает массив разделов, выбранных для экспорта продуктов.
[link=5153193]getSectionsToAlbumsExport[/link] | Метод возвращает массив разделов, выбранных для экспорта альбомов.
[link=5153181]getSections[/link] | Метод возвращает список разделов инфоблока.
[link=5153185]getMappedIblocks[/link] | Метод возвращает массив ID инфоблоков для всех выбранных для экспорта разделов.
[link=5153177]Конструктор SectionsList[/link] | Конструктор объекта класса SectionsList.


__construct

 public
\Bitrix\Sale\TradingPlatform\Vk\SectionsList::__construct(
  $exportId
);

Конструктор объекта класса SectionsList

Параметры

Параметр | Описание | Версия
$exportId | ID профиля экспорта |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMappedIblocks

array public
\Bitrix\Sale\TradingPlatform\Vk\SectionsList::getMappedIblocks(
);

Метод возвращает массив ID инфоблоков для всех выбранных для экспорта разделов.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getParentSection

boolean public
\Bitrix\Sale\TradingPlatform\Vk\SectionsList::getParentSection(
  $sectionId
);

Метод перебирает список разделов и находит ближайшего родителя, у которого заданы настройки экспорта. Если такой родитель не найден - метод возвращает false.

Параметры

Параметр | Описание | Версия
$sectionId | ID раздела. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSections

array public static
\Bitrix\Sale\TradingPlatform\Vk\SectionsList::getSections(
 boolean $tree = false
);

Статический метод возвращает список разделов инфоблока.

Параметры

Параметр Описание Версия
$tree
  • если true - список будет преобразован в дерево.

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSectionsSelector

string public static
\Bitrix\Sale\TradingPlatform\Vk\SectionsList::getSectionsSelector(
 null $checkedSection = NULL
);

Статический метод возвращает HTML-код выбора раздела, включающий в себя теги option.

Параметры

Параметр Описание Версия
$checkedSection
  • ID раздела, который будет выбран по умолчанию.

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSectionsToAlbumsExport

array public
\Bitrix\Sale\TradingPlatform\Vk\SectionsList::getSectionsToAlbumsExport(
);

Метод возвращает массив разделов, выбранных для экспорта альбомов.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSectionsToProductExport

array public
\Bitrix\Sale\TradingPlatform\Vk\SectionsList::getSectionsToProductExport(
);

Метод возвращает массив разделов, выбранных для экспорта.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getToAlbumBySection

integer public
\Bitrix\Sale\TradingPlatform\Vk\SectionsList::getToAlbumBySection(
  $sectionId
);

Метод возвращает параметр TO_ALBUM по ID раздела.

Параметры

Параметр | Описание | Версия
$sectionId | ID раздела |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getVkCategory

integer public
\Bitrix\Sale\TradingPlatform\Vk\SectionsList::getVkCategory(
  $sectionId
);

Метод возвращает категорию товаров по умолчанию из настроек.

Параметры

Параметр | Описание | Версия
$sectionId | ID раздела. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareChildsToSave

array public
\Bitrix\Sale\TradingPlatform\Vk\SectionsList::prepareChildsToSave(
  $sectionId
);

Метод подготавливает настройки подразделов раздела к сохранению.

Параметры

Параметр | Описание | Версия
$sectionId | ID раздела |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareSectionToSave

array public
\Bitrix\Sale\TradingPlatform\Vk\SectionsList::prepareSectionToSave(
  $sectionId
);

Метод проверяет настройки раздела перед сохранением. Изменяет настройки при необходимости или возвращает к значениям по умолчанию.

Параметры

Параметр | Описание | Версия
$sectionId | ID раздела |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareSectionToShow

array public
\Bitrix\Sale\TradingPlatform\Vk\SectionsList::prepareSectionToShow(
  $sectionId
);

Метод подготавливает настройки раздела и возвращает значения для выбранного раздела

Параметры

Параметр | Описание | Версия
$sectionId | ID раздела |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareSettingsVisibility

mixed public
\Bitrix\Sale\TradingPlatform\Vk\SectionsList::prepareSettingsVisibility(
  $params,
  $section
);

Метод устанавливает значения видимости для элементов управления согласно настройкам. Возвращает массив настроек.

Параметры

Параметр | Описание | Версия
$params | Массив параметров |
$section | Раздел |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Vk

Vk - основной класс объекта экспорта Вконтакте.

Методы класса

Метод | Описание
[link=5676195]getRichLog[/link] | Метод возвращает true, если установлена опция Использовать расширенное логирование.
[link=5153165]getExportProfilesList[/link] | Метод возвращает массив ID всех профилей экспорта.
[link=5153169]OnEventLogGetAuditTypes[/link] | Метод возвращает список типов ошибок лога событий.
[link=5153157]getTimelimit[/link] | Метод возвращает значение ограничения по времени из настроек.
[link=5153161]getExecutionItemsLimit[/link] | Метод возвращает значение максимального количества элементов для экспорта.
[link=5153153]getScope[/link] | Метод возвращает массив значений необходимых разрешений для авторизации Вконтакте.
[link=5153145]getTokenUrl[/link] | Метод создает и возвращает ссылку для получения токена доступа.
[link=5153137]isActiveById[/link] | Метод возвращает значение или false флага активности по ID профиля экспорта.
[link=5153141]getAuthUrl[/link] | Метод создает и возвращает ссылку для авторизации на Oauth сервере Вконтакте.
[link=5153133]unsetActiveById[/link] | Метод снимает флаг активности с профиля экспорта по его ID.
[link=5153121]log[/link] | Метод записывает события в системный лог.
[link=5153125]changeActiveById[/link] | Метод ставит флаг активности на профиле экспорта по его ID.
[link=5153117]getExportTypes[/link] | Метод возвращает список всех возможных типов экспорта.
[link=5153105]getApi[/link] | Метод возвращает или создаёт новый объект класса API.
[link=5153109]getExecuter[/link] | Метод возвращает или создаёт новый объект класса Executer.
[link=5153097]getGroupId[/link] | Метод возвращает ID группы Вконтакте из настроек.
[link=5153101]isAgressiveExport[/link] | Метод возвращает true или false значение параметра Agressive_export.
[link=5153069]uninstall[/link] | Метод очищает все текущие связи с Вконтакте - удаляет настройки, агентов и схемы связей.
[link=5153073]removeProfile[/link] | Метод удаляет данные о профиле экспорта по его ID.
[link=5153061]unsetActive[/link] | Метод отключает активность всей платформы для работы с Вконтакте.
[link=5153065]install[/link] | Метод устанавливает все необходимые элементы для работы с Вконтакте.
[link=5153049]getSettings[/link] | Метод возвращает настройки из таблицы профилей.
[link=5153053]saveSettings[/link] | Метод форматирует настройки профиля экспорта и сохраняет их в таблицу.
[link=5153057]setActive[/link] | Метод активирует платформу для работы с Вконтакте.
[link=5153045]getInstance[/link] | Метод возвращает объект класса Vk.


changeActiveById

 public
\Bitrix\Sale\TradingPlatform\Vk\Vk::changeActiveById(
  $exportId
);

Метод ставит флаг активности на профиле экспорта по его ID.

Change params and set ACTIVE flag to one export profile

Параметры

Параметр | Описание | Версия
$exportId | ID профиля экспорта |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getApi

\Bitrix\Sale\TradingPlatform\Vk\Api\Api public
\Bitrix\Sale\TradingPlatform\Vk\Vk::getApi(
  $exportId
);

Метод возвращает или создаёт новый объект класса API.

Return ore create new API object

Параметры

Параметр | Описание | Версия
$exportId | ID профиля экспорта |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAuthUrl

boolean|string public
\Bitrix\Sale\TradingPlatform\Vk\Vk::getAuthUrl(
  $exportId,
  $redirectUrl
);

Метод создает и возвращает ссылку для авторизации на Oauth сервере Вконтакте. Возвращает false в случае неудачи.

Create URL for link to authorize in VK Oauth server

Параметры

Параметр | Описание | Версия
$exportId | ID профиля экспорта |
$redirectUrl | URL перенаправления |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getExecuter

\Bitrix\Sale\TradingPlatform\Vk\Api\Executer public
\Bitrix\Sale\TradingPlatform\Vk\Vk::getExecuter(
  $exportId
);

Метод возвращает или создаёт новый объект класса Executer.

Return ore create new executer object

Параметры

Параметр | Описание | Версия
$exportId | ID профиля экспорта |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getExecutionItemsLimit

mixed public
\Bitrix\Sale\TradingPlatform\Vk\Vk::getExecutionItemsLimit(
  $exportId
);

Метод возвращает значение максимального количества элементов для экспорта.

Параметры

Параметр | Описание | Версия
$exportId | ID профиля экспорта |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getExportProfilesList

array public
\Bitrix\Sale\TradingPlatform\Vk\Vk::getExportProfilesList(
);

Метод возвращает массив ID всех профилей экспорта.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getExportTypes

array public static
\Bitrix\Sale\TradingPlatform\Vk\Vk::getExportTypes(
);

Статический метод возвращает список всех возможных типов экспорта.

Возможные типы:

  • PRODUCTS
  • PRODUCTS_DELETE
  • PRODUCTS_DELETE_ALL
  • ALBUMS
  • ALBUMS_DELETE
  • ALBUMS_DELETE_ALL
  • ALL

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getGroupId

integer public
\Bitrix\Sale\TradingPlatform\Vk\Vk::getGroupId(
  $exportId
);

Метод возвращает ID группы Вконтакте из настроек.

Параметры

Параметр | Описание | Версия
$exportId | ID профиля экспорта |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getInstance

\Bitrix\Sale\TradingPlatform\Vk\Vk public static
\Bitrix\Sale\TradingPlatform\Vk\Vk::getInstance(
);

Статический метод возвращает объект класса Vk.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRichLog

boolean public
\Bitrix\Sale\TradingPlatform\Vk\Vk::getRichLog(
  $exportId
);

Метод возвращает true, если установлена опция Использовать расширенное логирование. В обратном случае возвращает false.

Расширенный лог содержит в себе больше информации об экспорте и используется для дебагинга.

Параметры

Параметр | Описание | Версия
$exportId | ID профиля экспорта |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getScope

integer|mixed public static
\Bitrix\Sale\TradingPlatform\Vk\Vk::getScope(
  $params
);

Статический метод возвращает массив значений необходимых разрешений для авторизации Вконтакте.

Параметры

Параметр Описание Версия
$params
  • Массив имен необходимых разрешений

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSettings

mixed public
\Bitrix\Sale\TradingPlatform\Vk\Vk::getSettings(
 null $exportId = NULL
);

Метод возвращает настройки из таблицы профилей. Если указан ID профиля экспорта - возвращает настройки этого профиля.

Параметры

Параметр | Описание | Версия
$exportId | ID профиля |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTimelimit

mixed public
\Bitrix\Sale\TradingPlatform\Vk\Vk::getTimelimit(
  $exportId
);

Метод возвращает значение ограничения по времени из настроек.

Параметры

Параметр | Описание | Версия
$exportId | ID профиля экспорта |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTokenUrl

boolean|string public
\Bitrix\Sale\TradingPlatform\Vk\Vk::getTokenUrl(
  $exportId,
  $redirectUrl,
  $code
);

Метод создает и возвращает ссылку для получения токена доступа. В случае неудачи возвращает false

Параметры

Параметр | Описание | Версия
$exportId | ID профиля экспорта |
$redirectUrl | URL перенаправления |
$code | Код |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


install

boolean public
\Bitrix\Sale\TradingPlatform\Vk\Vk::install(
);

Метод устанавливает все необходимые элементы для работы с Вконтакте.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isActiveById

boolean public
\Bitrix\Sale\TradingPlatform\Vk\Vk::isActiveById(
  $exportId
);

Метод возвращает значение или false флага активности по ID профиля экспорта.

Параметры

Параметр | Описание | Версия
$exportId | ID профиля экспорта |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isAgressiveExport

boolean public
\Bitrix\Sale\TradingPlatform\Vk\Vk::isAgressiveExport(
  $exportId
);

Метод возвращает true или false значение параметра Agressive_export.

Параметры

Параметр | Описание | Версия
$exportId | ID профиля экспорта |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


log

boolean public
\Bitrix\Sale\TradingPlatform\Vk\Vk::log(
 integer $level,
 string $type,
 string $itemId,
 string $description
);

Метод записывает событие в системный лог.

Параметры

Параметр | Описание | Версия
$level | Уровень логирования. |
$type | Тип события. |
$itemId | ID элемента. |
$description | Описание события. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


OnEventLogGetAuditTypes

array public static
\Bitrix\Sale\TradingPlatform\Vk\Vk::OnEventLogGetAuditTypes(
);

Статический метод возвращает список типов ошибок лога событий.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


removeProfile

\Bitrix\Main\Entity\DeleteResult public
\Bitrix\Sale\TradingPlatform\Vk\Vk::removeProfile(
  $exportId
);

Метод удаляет данные о профиле экспорта по его ID. Если это последний профиль - то удаляет все данные, связанные с платформой Вконтакте. Возвращает объект класса DeleteResult .

Параметры

Параметр | Описание | Версия
$exportId | ID профиля экспорта |

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


saveSettings

boolean|integer public
\Bitrix\Sale\TradingPlatform\Vk\Vk::saveSettings(
 array $settings,
 null $exportId
);

Метод форматирует настройки профиля экспорта и сохраняет их в таблицу.

Параметры

Параметр | Описание | Версия
$settings | Массив настроек |
$exportId | ID профиля |

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setActive

boolean public
\Bitrix\Sale\TradingPlatform\Vk\Vk::setActive(
);

Метод активирует платформу для работы с Вконтакте.

Без параметров

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


uninstall

 public
\Bitrix\Sale\TradingPlatform\Vk\Vk::uninstall(
);

Метод очищает все текущие связи с Вконтакте - удаляет настройки, агентов и схемы связей.

Без параметров

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unsetActive

boolean public
\Bitrix\Sale\TradingPlatform\Vk\Vk::unsetActive(
);

Метод отключает активность всей платформы для работы с Вконтакте.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unsetActiveById

boolean|integer public
\Bitrix\Sale\TradingPlatform\Vk\Vk::unsetActiveById(
  $exportId
);

Метод снимает флаг активности с профиля экспорта по его ID.

Параметры

Параметр | Описание | Версия
$exportId | ID профиля экспорта |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


VkCategories

VkCategories - класс для работы со списком категорий товаров Вконтакте.

Методы класса

Метод | Описание
[link=5676293]getVkCategorySelector[/link] | Метод возвращает HTML-код для создания списка категорий в виде тегов option.
[link=5152993]updateVkCategoriesAgent [/link] | Метод обновляет кэш агента.
[link=5152965]createAgent[/link] | Метод создает агента для периодического обновления значений категорий Вконтакте.
[link=5152969]deleteAllAgents[/link] | Метод удаляет агентов для всех профилей экспорта.
[link=5152961]Конструктор VkCategories[/link] | Конструктор класса VkCategories.


__construct

 public
\Bitrix\Sale\TradingPlatform\Vk\VkCategories::__construct(
  $exportId
);

Конструктор класса VkCategories.

Параметры

Параметр Описание Версия
$exportId
  • ID профиля экспорта

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createAgent

array|boolean|false|mixed|null public
\Bitrix\Sale\TradingPlatform\Vk\VkCategories::createAgent(
);

Метод создает агента для периодического обновления значений категорий Вконтакте.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteAllAgents

 public static
\Bitrix\Sale\TradingPlatform\Vk\VkCategories::deleteAllAgents(
);

Статический метод удаляет агентов для всех профилей экспорта.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getVkCategorySelector

string public
\Bitrix\Sale\TradingPlatform\Vk\VkCategories::getVkCategorySelector(
 null $catVkSelected = NULL,
 string $defaultItemText = ''
);

Метод возвращает HTML-код для создания списка категорий в виде тегов option.

Параметры

Параметр Описание Версия
$catVkSelected
  • ID элемента, который будет отмечен по умолчанию
$defaultItemText
  • Значение для первого элемента. Если не задано - "Выберите категорию"

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


updateVkCategoriesAgent

string public
\Bitrix\Sale\TradingPlatform\Vk\VkCategories::updateVkCategoriesAgent(
  $exportId
);

Метод обновляет кэш агента.

Параметры

Параметр | Описание | Версия
$exportId | ID профиля экспорта |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


VkExportedData

VkExportedData - класс для работы со списком ранее экспортированных товаров и разделов.

Методы класса

Метод | Описание
[link=5152647]addData[/link] | Метод добавляет данные в список экспортированных элементов..
[link=5152639]getData[/link] | Метод получает данные о экспортированных элементах из кэша или со стороны Вконтакте.
[link=5152643]removeData[/link] | Метод очищает данные о экспортированных элементах.
[link=5152635]Конструктор VkExportedData[/link] | Конструктор класса VkExportedData.


__construct

 public
\Bitrix\Sale\TradingPlatform\Vk\VkExportedData::__construct(
  $exportId,
  $type
);

Конструктор класса VkExportedData.

Параметры

Параметр Описание Версия
$exportId
  • ID профиля экспорта
$type
  • Тип экспорта

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addData

void public
\Bitrix\Sale\TradingPlatform\Vk\VkExportedData::addData(
  $newData
);

Метод добавляет данные в список экспортированных элементов.

Параметры

Параметр Описание Версия
$newData
  • Массив данных в специальном формате.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getData

array|boolean|mixed|null public
\Bitrix\Sale\TradingPlatform\Vk\VkExportedData::getData(
);

Метод получает данные о экспортированных элементах из кэша или со стороны Вконтакте.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


removeData

void public
\Bitrix\Sale\TradingPlatform\Vk\VkExportedData::removeData(
);

Метод очищает данные о экспортированных элементах.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Отправить отзыв по этому разделу

Касса для печати чеков через платёжную систему

  • Подготовка платёжной системы
  • Методы реализации кассы


Отправить отзыв по этому разделу
Пространство имён Bitrix>Интернет-магазин>Касса для печати чеков через платёжную систему>Подготовка платёжной системы

Касса для печати чеков через платёжную систему::Подготовка платёжной системы

Подготовка платёжной системы

Интерфейс \Bitrix\Sale\PaySystem\Cashbox\ISupportPrintCheck

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

Для этого нужно реализовать интерфейс ISupportPrintCheck, который имеет 1 метод getCashboxClass:

public static function getCashboxClass(): string;

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

Пример:

class RoboxchangeHandler extends PaySystem\ServiceHandler implements PaySystem\Cashbox\ISupportPrintCheck
{
    //...

    public static function getCashboxClass(): string
    {
        return '\\'.Cashbox\CashboxRobokassa::class;
    }
}

Трейт \Bitrix\Sale\PaySystem\Cashbox\CheckTrait

Для удобства работы с товарами, которые должны быть переданы в запросе при создании платежа во внешней системе, существует трейт CheckTrait.

Трейт имеет метод buildCheckQuery:

private function buildCheckQuery(Sale\Payment $payment): Sale\PaySystem\ServiceResult

Использование данного метода делегирует сборку товаров кассе. Это гарантирует, что переданные в платёжную систему товары и товары, по которым будет напечатан закрывающий чек, будут одними и теми же.

Пример

class RoboxchangeHandler extends PaySystem\ServiceHandler implements PaySystem\Cashbox\ISupportPrintCheck
{
    // Используем трейт
    use PaySystem\Cashbox\CheckTrait;

    public function initiatePay(Payment $payment, Request $request = null)
    {
        $receipt = null;

        // Проверяем можно/нужно ли получать данные для чека
        if ($this->service->canPrintCheckSelf($payment))
        {
            $receiptResult = $this->getReceipt($payment);
            if (!$receiptResult->isSuccess())
            {
                $result = new PaySystem\ServiceResult();
                $result->addErrors($receiptResult->getErrors());
                return $result;
            }

            $receipt = self::encode($receiptResult->getData());

            PaySystem\Logger::addDebugInfo(__CLASS__.": receipt = {$receipt}");
        }

        // $receipt будет содержать данные для чека, которые нужно отправить в платёжный шлюз
    }

    private function getReceipt(Payment $payment): PaySystem\ServiceResult
    {
        $result = new PaySystem\ServiceResult();

        // Используем метод buildCheckQuery из трейта
        $checkQueryResult = $this->buildCheckQuery($payment);
        if ($checkQueryResult->isSuccess())
        {
            // $receiptData будет содержать данные по чеку, которые были получены от кассы
            $receiptData = $checkQueryResult->getData();
            if (!empty($receiptData['items']) && !empty($receiptData['sno']))
            {
                $result->setData([
                    'sno' => $receiptData['sno'],
                    'items' => $receiptData['items'],
                ]);
            }
            else
            {
                $result->addError(PaySystem\Error::create('Ошибка при формировании чека'));
            }
        }
        else
        {
            $result->addErrors($checkQueryResult->getErrors());
        }

        return $result;
    }

    //...

    // Возвращаем название кассы
    public static function getCashboxClass(): string
    {
        return '\\'.Cashbox\CashboxRobokassa::class;
    }
}


Методы реализации кассы

Отправить отзыв по этому разделу
Пространство имён Bitrix>Интернет-магазин>Касса для печати чеков через платёжную систему>Методы реализации кассы

Касса для печати чеков через платёжную систему::Методы реализации кассы

Внимание! Перед началом реализации кассы для печати чеков через платёжную систему рекомендуем ознакомиться с написанием собственного обработчика онлайн-кассы [image].

Класс \Bitrix\Sale\Cashbox\CashboxPaySystem

Ваша касса должна наследовать класс CashboxPaySystem. Это абстрактный класс, содержащий абстрактные методы, которые требуется реализовать в классе-наследнике.

abstract class CashboxPaySystem extends Cashbox implements IPrintImmediately, ICheckable
{
    abstract protected function getPrintUrl(): string;

    abstract protected function getCheckUrl(): string;

    abstract protected function send(string $url, Sale\Payment $payment, array $fields): Sale\Result;

    abstract protected function processPrintResult(Sale\Result $result): Sale\Result;

    abstract protected function getDataForCheck(Sale\Payment $payment): array;

    abstract protected function processCheckResult(Sale\Result $result): Sale\Result;

    abstract protected function onAfterProcessCheck(Sale\Result $result, Sale\Payment $payment): Sale\Result;

    abstract public static function getPaySystemCodeForKkm(): string;
}

Класс CashboxPaySystem реализует интерфейсы IPrintImmediately и ICheckable. Это позволяет печатать чеки сразу же при получении оплаты и проверять их статус.

Помимо методов класса CashboxPaySystem, есть ещё следующий метод:

abstract public function buildCheckQuery(Check $check);

Данный метод находится в классе Cashbox и его также необходимо реализовать.

Рассмотрим подробнее методы:

  • getPrintUrl

    abstract protected function getPrintUrl(): string;

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

    Этот метод используется в методе \Bitrix\Sale\Cashbox\CashboxPaySystem::printImmediately.

  • getCheckUrl

    abstract protected function getCheckUrl(): string;

    Метод должен вернуть строку с URL-адресом, при обращении на который можно получить данные о статусе чека.

    Этот метод используется в методе \Bitrix\Sale\Cashbox\CashboxPaySystem::check.

  • send

    abstract protected function send(string $url, Sale\Payment $payment, array $fields): Sale\Result;

    Метод получает URL-адрес, на который нужно отправить запрос, объект оплаты и массив данных.

    Этот метод используется в методах \Bitrix\Sale\Cashbox\CashboxPaySystem::printImmediately и \Bitrix\Sale\Cashbox\CashboxPaySystem::check.

    Метод должен только отправить данные на указанный URL и вернуть результат или ошибку, если что-то пошло не так.

    Рассмотрим пример, когда метод вызывается при печати чека. В этом случае метод получает URL для печати чеков и данные по чеку, которые ранее были подготовлены методом buildCheckQuery. При необходимости метод должен подготовить данные для отправки, например, подписать данные перед отправкой. Затем данные передаются в платёжный шлюз и полученный результат возвращается. Далее этот результат будет обработан в методе processPrintResult.

  • processPrintResult

    abstract protected function processPrintResult(Sale\Result $result): Sale\Result;

    Данный метод обрабатывает результат печати чека, полученный ранее в метод send. Как правило, в процессе обработки нужно вернуть UUID - внешний идентификатор чека, либо ошибку, если что-то пошло не так.

  • getDataForCheck

    abstract protected function getDataForCheck(Sale\Payment $payment): array;

    Метод должен вернуть данные, которые нужны для проверки чека. Например, идентификатор чека, который был получен ранее при отправке чека на печать.

    Данные будут отправлены на URL, полученный методом getCheckUrl.

    Этот метод используется в методе \Bitrix\Sale\Cashbox\CashboxPaySystem::check.

  • processCheckResult

    abstract protected function processCheckResult(Sale\Result $result): Sale\Result;

    Этот метод обрабатывает результат проверки статуса чека. Как правило, в процессе обработки проверяется статус чека, например, в печати (напечатан или ошибка). В качестве аргумента метод получает результат, возвращенный ранее методом send.

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

  • onAfterProcessCheck

    abstract protected function onAfterProcessCheck(Sale\Result $result, Sale\Payment $payment): Sale\Result;

    В качестве первого аргумента метод получает результат, возвращенный ранее методом processCheckResult.

    В случае успешной проверки статуса в методе нужно вызвать \Bitrix\Sale\Cashbox\Cashbox::applyCheckResult, чтобы сохранить результат проверки. Либо нужно вернуть ошибку, если, например, чек ещё не напечатан и запрос нужно выполнить позже.

    Внимание! При вызове метода \Bitrix\Sale\Cashbox\Cashbox::applyCheckResult нужно убедиться, что в вашей кассе реализован метод \Bitrix\Sale\Cashbox\Cashbox::extractCheckData, иначе будет выброшено исключение \Bitrix\Main\NotImplementedException.

  • getPaySystemCodeForKkm

    abstract public static function getPaySystemCodeForKkm(): string;

    Метод должен вернуть код бизнес-смысла платёжной системы, для которого будет создаваться касса. Обычно это код поля логин.

    При включении печати чеков через платёжную систему автоматически добавляется касса. Касса "привязывается" не к конкретной платёжной системе, а аккаунту, с которым работает платёжная система.

    Например, если есть 2 платёжных системы, использующих 1 обработчик и настроенные с одним и тем же логином, то будет создана 1 касса и она будет использоваться для печати чеков для обеих платёжных систем. Если же 2 платёжных системы используют 1 обработчик, но настроены с разными логинами, то будут добавлены 2 кассы (если для обеих платёжных систем включена печать чеков).


Intranet

\Bitrix\Intranet - пространство имен модуля Intranet.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('intranet');

Класс, пространство имен | Описание
Composite | Пространство имён содержит классы для работы по композитным технологиям.
Integration | Пространство имён содержит классы интегрирования интранета с Б24.
Internals | Пространство имён, содержащее классы для работы с таблицами модуля. Отключён с версии 20.5.400
OutlookApplication | Класс для работы с приложением Outlook.
UserAbsence | Класс методов для получения данных о текущем графике отсутствий.
UserTable | Класс для работы с таблицей пользователей.
UStat | Пространство имён содержит классы для работы со статистикой по пользователям.
Util | Класс вспомогательных методов.

Смотрите также:

  • Модуль Интранет в старом ядре [image].


Настраиваемые разделы в левом меню

Обзор

Внимание! Данный материал носит информационный характер. Описанный функционал является нестабильным, и в будущем API может быть изменен без сохранения обратной совместимости. В связи с этим использовать приведенный API не рекомендуется.

Настраиваемые разделы позволяют динамически создавать дополнительные разделы левого меню со своими публичными страницами и управлять ими:

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

С помощью настраиваемых разделов можно:

  • создавать раздел с произвольным названием;
  • добавлять в него страницы из произвольных модулей;
  • настраивать название и счётчики конкретной страницы в разделе;
  • настраивать доступность каждой отдельной страницы в разделе для любого пользователя.

Начало работы

Чтобы создать свой раздел, необходимо добавить новую запись в таблицу b_intranet_custom_section (\Bitrix\Intranet\CustomSection\Entity\CustomSectionTable).

Значения полей в таблице:

  • CODE - символьный код раздела, который будет использован для построения URL;
  • TITLE - отображаемое название раздела;
  • MODULE_ID - ID модуля, который создал раздел. Необходимо для фильтрации, проверки прав и т.п.

Для добавления страницы в созданный раздел нужно выполнить два действия:

  1. Добавить запись в таблицу b_intranet_custom_section_page (\Bitrix\Intranet\CustomSection\Entity\CustomSectionPageTable).
  2. Удостовериться, что описан провайдер.

Значения полей в таблице:

  • CUSTOM_SECTION_ID - ID раздела, к которому относится эта страница.
  • CODE - символьный код страницы, который будет использован для построения URL.
  • TITLE - отображаемое название раздела.
  • MODULE_ID - ID модуля, которому принадлежит эта страница. Используется при работе провайдера.
  • SETTINGS - произвольная строка, которая будет использоваться при работе провайдера. Ограничивается по длине (255 символов).
  • SORT - сортировка страницы. Учитывается при построении верхнего меню раздела и роутинге.

Провайдер

В настраиваемый раздел можно добавлять страницы из произвольного модуля. Главное условие — этот модуль должен иметь провайдера, класс-наследник \Bitrix\Intranet\CustomSection\Provider. Через него будет происходить общение интранета с целевым модулем.

Провайдер описывается в файле .settings.php модуля:

return [
    'intranet.customSection' => [
        'value' => [
            'provider' => '\\Bitrix\\Crm\\Integration\\Intranet\\CustomSectionProvider',
        ],
    ],
];

После добавления настраиваемых разделов в левое меню при открытии этого раздела в браузере Интранет будет обращаться к провайдеру и уточнять у него информацию.

Модуль, к провайдеру которого нужно обращаться, определяется через MODULE_ID страницы (b_intranet_custom_section_page.MODULE_ID). Если провайдер не найден, то страница отображаться не будет.

Основные методы провайдера:

  • isAvailable(string $pageSettings, int $userId): bool - может ли пользователь с таким $userId открыть страницу;
  • resolveComponent(string $pageSettings, Uri $url): ?\Bitrix\Intranet\CustomSection\Provider\Component - возвращает параметры для подключения компонента, который должен быть отображен на странице;
  • getCounterId(string $pageSettings): ?string - возвращает ID счетчика для страницы, если счетчик есть;
  • getCounterValue(string $pageSettings): ?int - возвращает текущее значение счетчика для страницы, если счетчик есть.

Во всех сигнатурах выше фигурирует параметр string $pageSettings. Данное значение берётся из b_intranet_custom_section_page.SETTINGS. Это строка, которую провайдер будет парсить и вычленять параметры. Именно по ней провайдер будет определять, что это за страница, кому её нужно показывать и какой компонент нужно подключить.

Так как по данному полю производится фильтрация, писать сюда сериализованные массивы/объекты/JSON не рекомендуется.

Пример обработки $pageSettings внутри провайдера:

// $pageSettings = '128~other_params';
public function isAvailable(string $pageSettings, int $userId): bool
{
    $params = explode('~', $pageSettings);
    $entityTypeId = (int)$params[0];

    return Container::getInstance()->getUserPermissions($userId)->checkReadPermissions($entityTypeId);
}

Алгоритм работы

Построение левого меню

При построении левого меню в него добавляются созданные настраиваемые разделы. Происходит это по следующему алгоритму:

  1. Получение списка разделов.
  2. Опрос провайдеров страниц, которые принадлежат разделу. Если хотя бы одна страница из него доступна для текущего пользователя, то этот раздел будет выведен в левое меню. Если страниц нет или они все недоступны, то не раздел не будет выведен.

Переход по ссылке на раздел

При открытии настраиваемого раздела выполняется следующий алгоритм:

  1. Определение раздела, к которому происходит обращение.
  2. Получение списка доступных для текущего пользователя страниц этого раздела (фильтрация по Provider::isAvailable).
  3. Определение страницы раздела, к которой происходит обращение. Если такая страница не найдена или недоступна, то будет выбрана последняя открытая страница или страница с наименьшей сортировкой.
  4. Сбор данных о счетчиках для доступных страниц через провайдеров.
  5. Получение компонента, который должен быть подключен на странице (Provider::resolveComponent). В метод передается $pageSettings открытой страницы и URL, по которому произошел переход (может использоваться, например, для получения нужных GET-параметров).
  6. Отрисовка интерфейса и подключение компонента.

Полезное API

  • \Bitrix\Intranet\CustomSection\Manager - сервис, получаемый через ServiceLocator [image].
    • \Bitrix\Intranet\CustomSection\Manager::getUrlForPage - сгенерирует ссылку на настраиваемый раздел.

Примеры реализации

  • Модуль CRM использует механизм настраиваемых страниц для показа смарт-процессов вне основного раздела CRM;
  • Можно позволить пользователю делать "алиасы" (чтобы конкретная страница была доступна как в основном разделе целевого модуля, так и через настраиваемый раздел).


Composite

Пространство имён \Bitrix\intranet\Composite содержит классы для работы по композитным технологиям.

Класс | Описание | С версии
[link= 2048391]CacheProvider[/link] | Класс для работы с композитным кэшем. |


CacheProvider

CacheProvider - класс для работы с композитным кэшем.

Методы класса

Метод | Описание | С версии
deleteAllCache | Метод удаляет весь композитный кэш. |


deleteAllCache

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Интранет>Composite>CacheProvider>deleteAllCache

CacheProvider::deleteAllCache

void public static
\Bitrix\Intranet\Composite\CacheProvider::deleteAllCache(
);

Статический метод удаляет весь композитный кэш.

Метод требует осторожности!

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Integration

Пространство имён Integration содержит классы интегрирования интранета с Б24.

Класс, пространство имён | Описание | С версии
Templates | Подпространство имён шаблонов. |


Templates

Templates - подпространство имён шаблонов.

Класс, пространство имён | Описание | С версии
Bitrix24 | Подпространство имён для интеграции с Б24. |


Bitrix24

Bitrix24 - подпространство имён для интеграции с Б24.

Класс | Описание | С версии
ThemePicker | Класс для выбора темы. |


ThemePicker

ThemePicker - класс для выбора темы.

Bitrix24 - подпространство имён для интеграции с Б24.

Класс | Описание | С версии
[link=7114915]__construct[/link] | Конструктор класса ThemePicker. |


__construct

 public
\Bitrix\Intranet\Integration\Templates\Bitrix24\ThemePicker::__construct(
 string $templateId,
 boolean $siteId = false
);

Конструктор класса ThemePicker.

Параметры

Параметр | Описание | Версия
$templateId | Массив ID шаблонов. |
$siteId | Массив ID сайтов. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Internals

Internals - пространство имён, содержащее классы для работы с таблицами модуля Интранет.

Класс | Описание
UserSubordinationTable | Класс для работы с таблицей субординации пользователей.
UserToDepartmentTable | Класс для работы с таблицей распределения пользователей по отделам.


UserSubordinationTable

UserSubordinationTable - класс для работы с таблицей субординации пользователей.

Методы класса

Метод | Описание | С версии
getTableName | Метод возвращает название таблицы субординации пользователей в базе данных. |
getMap | Метод возвращает список полей для таблицы субординации пользователей. |


getMap

array public static
\Bitrix\Intranet\Internals\UserSubordinationTable::getMap(
);

Статический метод возвращает список полей для таблицы субординации пользователей. .

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Intranet\Internals\UserSubordinationTable::getTableName(
);

Статический метод возвращает название таблицы субординации пользователей в базе данных..

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


UserToDepartmentTable

UserToDepartmentTable - класс для работы с таблицей распределения пользователей по отделам.

Методы класса

Метод | Описание | С версии
getTableName | Метод возвращает название таблицы распределения пользователей по отделам в базе данных. |
getMap | Метод возвращает список полей для таблицы распределения пользователей по отделам. |


getMap

array public static
\Bitrix\Intranet\Internals\UserToDepartmentTable::getMap(
);

Статический метод возвращает список полей для таблицы распределения пользователей по отделам.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Intranet\Internals\UserToDepartmentTable::getTableName(
);

Метод возвращает название таблицы распределения пользователей по отделам в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


OutlookApplication

OutlookApplication - класс для работы с приложением Outlook.

Метод | Описание
generateAppPassword | Метод создаёт пароль приложения.


generateAppPassword

boolean|string public static
\Bitrix\Intranet\OutlookApplication::generateAppPassword(
 string $siteTitle
);

Статический метод создаёт пароль приложения в вызове Rest. Возвращает пароль либо false.

Параметры

Параметр | Описание | Версия
$siteTitle | Название сайта для описания AP. |

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


UserAbsence

Класс методов для получения данных о текущем графике отсутствий.

Метод | Описание | С версии
getCurrentMonth | Возвращает массив отсутствующих пользователей в текущем месяце | 17.2.12
isAbsentOnVacation | Проверяет в отпуске ли пользователь | 17.2.12


getCurrentMonth

public static
\Bitrix\Intranet\UserAbsence::getCurrentMonth(
)

Метод вернет массив отсутствующих пользователей в текущем месяце.

Параметры

Без параметров


isAbsentOnVacation

public static
\Bitrix\Intranet\UserAbsence::isAbsentOnVacation(
   $userId,
   $returnToDate = false
);

Метод проверяет находится ли в отпуске конкретный сотрудник. Вернёт true - если в отпуске.

Параметры

Метод | Описание | С версии
userId | Идентификатор пользователя |
returnToDate | По умолчанию false. Если указать true будет возвращена дата по какое он в отпуске. |


UserTable

UserTable - наследник базового класса [link=9473029] \Bitrix\Main\UserTable[/link], реализует вычисляемое поле USER_TYPE для получения типа пользователя и фильтрации по нему.


UStat

Пространство имён \Bitrix\intranet\UStat содержит классы для работы со статистикой по пользователям.

Класс | Описание | С версии
[link= 2048371]UStat[/link] | Класс для работы со статистикой по пользователям. |


UStat

UStat - класс для работы со статистикой по пользователям.

Метод | Описание
recount | Метод пересчитывает ежедневную статистику пользователя.
recountHourlyCompanyActivity | Метод пересчитывает почасовую активность компании..


recount

 public static
\Bitrix\Intranet\UStat\UStat::recount(
);

Метод пересчитывает ежедневную статистику: активные пользователи, активность и участие на сегодняшний день и предыдущий активный день. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


recountHourlyCompanyActivity

 public static
\Bitrix\Intranet\UStat\UStat::recountHourlyCompanyActivity(
);

Статический метод пересчитывает почасовую активность компании.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Util

Util - класс вспомогательных методов, служащих различным целям в рамках реализации логики интранета.

Метод | Описание | С версии
getemployeeslist | Метод возвращает идентификаторы пользователей, которые находятся в отделах и подотделах, связанных с сайтом (при многосайтовости). |


getEmployeesList

array public static
\Bitrix\Intranet\Util::getEmployeesList(
 array $params = array()
);

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

Параметры

Параметр | Описание | Версия
$params |  |

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\ArgumentNullException
  • \Bitrix\Main\LoaderException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


События

Событие | Описание | С версии
OnStartAbsence | Событие начала отсутствия | 18.3.0
OnEndAbsence | Событие окончания отсутствия | 18.3.0


OnEndAbsence

OnStartAbsence - событие окончания отсутствия.

Данный функционал уже используется в открытых линиях, начиная с версии imopenlines 18.7.0.

Учитывайте, что функционал работает на агентах и в некоторых случаях возможно наступление события несколько позже.

В событие приходят следующие параметры:

Параметр | Описание
USER_ID | ID пользователя, отсутствие которого началось/закончилось.
ABSENCE_TYPE тип отсутствия. Доступны следующие значения:
  • VACATION - отпуск ежегодный
  • ASSIGNMENT - командировка
  • LEAVESICK - больничный
  • LEAVEMATERINITY - отпуск декретный
  • LEAVEUNPAYED - отгул за свой счет
  • UNKNOWN - прогул
  • OTHER - другое
  • PERSONAL - персональные календари
START | дата начала отсутствия. Объект \Bitrix\Main\Type\DateTime.
END | дата завершения отсутствия. Объект \Bitrix\Main\Type\DateTime.
DURATION | продолжительность (в секундах).


OnStartAbsence

OnStartAbsence - событие начала отсутствия.

Данный функционал уже используется в открытых линиях, начиная с версии imopenlines 18.7.0.

Учитывайте, что функционал работает на агентах и в некоторых случаях возможно наступление события несколько позже.

В событие приходят следующие параметры:

Параметр | Описание
USER_ID | ID пользователя, отсутствие которого началось/закончилось.
ABSENCE_TYPE тип отсутствия. Доступны следующие значения:
  • VACATION - отпуск ежегодный
  • ASSIGNMENT - командировка
  • LEAVESICK - больничный
  • LEAVEMATERINITY - отпуск декретный
  • LEAVEUNPAYED - отгул за свой счет
  • UNKNOWN - прогул
  • OTHER - другое
  • PERSONAL - персональные календари
START | дата начала отсутствия. Объект \Bitrix\Main\Type\DateTime.
END | дата завершения отсутствия. Объект \Bitrix\Main\Type\DateTime.
DURATION | продолжительность (в секундах).


Информационные блоки

\Bitrix\Iblock - пространство имен модуля Информационные блоки.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('iblock');

Класс, пространство имен | Описание
BizprocType | Пространство содержит классы для работы со значениями полей инфоблоков пользовательских типов в бизнес-процессах.
Component | Пространство содержит классы поддержки компонентов.
ElementTable | Класс для работы с таблицей элементов инфоблоков.
Model | Пространство имен содержит классы для механизма единого управления свойствами.
Helpers | Пространство содержит вспомогательные классы.
IblockFieldTable | Класс для работы с таблицей полей инфоблоков.
IblockGroupTable | Класс для работы с таблицей прав доступа к инфоблокам.
IblockMessageTable | Класс для работы с таблицей подписей и заголовков объектов инфоблоков.
IblockRssTable | Класс для работы с таблицей привязок полей для выгрузки в RSS.
IblockSiteTable | Класс для работы с таблицей привязки инфоблоков к сайтам.
IblockTable | Класс для работы с таблицей информационных блоков.
InheritedProperty | Пространство содержит классы для работы с наследуемыми вычисляемыми свойствами.
InheritedPropertyTable | Класс для работы с таблицей шаблонов вычисляемых наследуемых свойств.
PropertyEnumerationTable | Класс для работы с таблицей вариантов значений свойств типа Список.
PropertyIndex | Пространство содержит классы для работы с индексами инфоблоков.
PropertyTable | Класс для работы с таблицей свойств инфоблоков.
SectionElementTable | Класс для работы с таблицей элементов разделов.
SectionPropertyTable | Класс для работы с таблицей свойств разделов.
SectionTable | класс для работы с таблицей разделов инфоблоков.
SenderEventHandler | Технический класс для сообщения с модулем Email-маркетинг.
SequenceTable | Класс для работы с таблицей счетчиков.
Template | Пространство содержит классы для работы с шаблонами SEO свойств.
TypeLanguageTable | Класс для работы с таблицей языковых параметров типов инфоблоков.
TypeTable | Класс для работы с таблицей типов информационных блоков.


Информационные блоки в старом ядре

Классы

Класс | Описание | С версии
CIBlock | Класс для работы с информационными блоками. | 3.0.3
CIBlockElement | Класс для работы с элементами информационных блоков. | 3.0.5
CIBlockFormatProperties | Конвертирует дату в нужный формат. | 5.9.0
CIBlockPriceTools | Класс для работы с ценами. | 5.9.0
CIBlockProperty | класс для работы со свойствами информационных блоков. | 3.0.3
CIBlockPropertyEnum | Класс для работы с вариантами значений для свойств типа "список". | 3.1.3
CIBlockResult | Вспомогательный класс для работы с объектами результатов выборок. | 3.0.5
CIBlockRSS | Класс для работы с RSS лентами. | 3.0.14
CIBlockSection | Класс для работы с группами информационных блоков. | 3.0.4
CIBlockType | Класс для работы с типами информационных блоков. | 3.1.3
CIBlockXMLFile | Класс для работы с файлами XML. | 6.5.0
Пользовательские свойства | Позволяют изменять представление (формы ввода и т.п.) стандартных свойств расширяя их возможности. | 5.1.0
_CIBElement | Вспомогательный класс для работы с объектом выборки элемента. | 3.1.3

Примечание: при использовании методов учтите, что время в полях используется в формате сайта, время в свойствах используется в формате: YYYY-MM-DD HH:MI:SS.

События

Событие | Вызывается | Метод | С версии
OnBeforeIBlockAdd | перед добавлением информационного блока. | CIBlock::CheckFields | 4.0.6
OnAfterIBlockAdd | после добавления информационного блока. | Add | 4.0.6
OnBeforeIBlockUpdate | перед изменением информационного блока. | CIBlock::CheckFields | 4.0.6
OnAfterIBlockUpdate | после изменения информационного блока. | Update | 4.0.6
OnBeforeIBlockDelete | перед удалением информационного блока. | Delete | 3.3.8
OnIBlockDelete | при удалении информационного блока. | Delete | 3.2.1
OnBeforeIBlockPropertyAdd | перед добавлением свойства. | CIBlockProperty::CheckFields | 4.0.6
OnAfterIBlockPropertyAdd | после добавления свойства. | Add | 4.0.6
OnBeforeIBlockPropertyUpdate | перед изменением свойства. | CIBlockProperty::CheckFields | 4.0.6
OnIBlockPropertyDelete | при удалении свойства. | Delete | 4.0.6
OnAfterIBlockPropertyUpdate | после изменения свойства. | Update | 4.0.6
OnBeforeIBlockPropertyDelete | перед удалением свойства. | Delete | 4.0.6
OnIBlockPropertyBuildList | при построении списка свойств. | GetUserType | 5.1.0
OnBeforeIBlockSectionAdd | перед добавлением раздела. | CIBlockSection::CheckFields | 4.0.6
OnAfterIBlockSectionAdd | после добавления раздела. | Add | 4.0.6
OnBeforeIBlockSectionUpdate | перед изменением раздела. | CIBlockSection::CheckFields | 4.0.6
OnAfterIBlockSectionUpdate | после изменения раздела. | Update | 4.0.6
OnBeforeIBlockSectionDelete | перед удалением раздела. | Delete | 4.0.6
OnAfterIBlockSectionDelete | после удаления раздела. | Delete | 7.0.3
OnBeforeIBlockElementAdd | перед добавлением элемента. | CIBlockElement::CheckFields | 4.0.6
OnStartIBlockElementAdd | в момент начала добавления элемента. | CIBlockElement::CheckFields | 7.1.8
OnAfterIBlockElementAdd | после добавления элемента. | Add | 4.0.6
OnBeforeIBlockElementUpdate | перед изменением элемента. | CIBlockElement::CheckFields | 4.0.6
OnStartIBlockElementUpdate | в момент начала изменения элемента. | CIBlockElement::CheckFields | 7.1.8
OnAfterIBlockElementUpdate | после изменения элемента. | Update | 4.0.6
OnBeforeIBlockElementDelete | перед удалением элемента. | Delete | 4.0.6
OnAfterIBlockElementDelete | после удаления элемента. | Delete | 5.0.0
OnIBlockElementDelete | при удалении элемента информационного блока. | Delete | 3.1.3
OnBeforeEventLog | перед внесением записи в лог. | Update | 11.0.8
OnSearchGetFileContent | при поиске файла. | CIBlockElement::__GetFileContent | 7.1.1
GetAuditTypesIblock | при возвращении описания журналу событий | CEventIBlock::GetAuditTypes | 11.0.0
OnAdminSubContextMenuShow | аналог OnAdminContextMenuShow [image] для списка SKU | CAdminSubContextMenu::Show | 11.0.12
OnAdminSubListDisplay | аналог OnAdminListDisplay [image] для списка SKU | CAdminSubList::Display | 10.0.3
OnAfterIBlockElementSetPropertyValues | после сохранения значений всех свойств элемента методом CIBlockElement::SetPropertyValues [image] [image] [image] . | CIBlockElement::SetPropertyValues | 14.5.1
OnAfterIBlockElementSetPropertyValuesEx | после сохранения значений свойств элемента методом CIBlockElement::SetPropertyValuesEx [image] [image] . | CIBlockElement::SetPropertyValuesEx | 14.5.1
OnIBlockElementAdd | в момент добавления элемента информационного блока. | CIBlockElement::Add | 15.5.12
OnIBlockElementUpdate | в момент изменения элемента информационного блока. | CIBlockElement::Update | 15.5.12
OnIBlockElementSetPropertyValues | в момент сохранения значений свойств элемента инфоблока. | CIBlockElement::SetPropertyValues | 15.5.12

Функции

Метод | Описание | С версии
GetIBlockList | Возвращает список информационных блоков по фильтру. | 3.0.5
GetIBlock | Возвращает информационный блок по заданному коду. | 3.0.5
GetIBlockElementListEx | Возвращает список элементов по фильтру. | 3.0.5
GetIBlockElementList | Возвращает список элементов из определённого информационного блока. | 3.0.5
GetIBlockElement | Возвращает элемент по заданному коду. | 3.0.5
GetIBlockSectionList | Возвращает список папок из определённого информационного блока. | 3.0.5
GetIBlockSection | Возвращает раздел по заданному коду. | 3.0.5
ImportXMLFile | Выполняет импорт xml-файла в инфоблок. | 6.5.0

Дополнительно

  • Фильтры
  • Структура таблиц
  • RSS


Компоненты отрисовки пользовательских полей

Описание

С версии 20.0.800 модуля main доступно новое API для отрисовки контролов пользовательских полей.

Вызов компонента и его параметры одинаковы для всех компонентов, меняется только название компонента.

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

Компоненты являются системными и в визуальном редакторе не отображаются. В физической структуре сайта их можно найти в папке /bitrix/components/bitrix/[название_компонента].

Список компонентов

Компонент | Описание
iblock.field.section | Предназначен для отрисовки пользовательских полей типа iblock_section (ссылка на раздел инфоблока) через новое API.
iblock.field.element | Предназначен для отрисовки пользовательских полей типа iblock_element (ссылка на элемент инфоблока) через новое API.

Дополнительно

Также можно использовать универсальное API:

$renderer = new \Bitrix\Iblock\UserField\Renderer($userField, $additionalParameters);
return $renderer->render();

Параметры

Параметр | Описание
$userField | Массив метаинформации пользовательского поля. Может быть получен методом GetUserFields класса CUserTypeManager.
$additionalParameters Массив, содержащий необходимые настройки в зависимости от шаблона, которым выводится контрол. В частности в этом массиве передаются следующие элементы:
  • mode - имя шаблона компонента;
  • mediaType - имя страницы шаблона, на текущий момент или .default, или mobile. Пустое значение эквивалентно .default.

Пример вызова компонента iblock.field.section

<?
$APPLICATION->IncludeComponent(
            'bitrix:iblock.field.section',
            '',
            [
                'userField' => $userField,
                'additionalParameters' => $additionalParameters,
            ]
        );
?>


BizprocType

Пространство имен \Bitrix\Iblock\BizprocType содержит классы для работы со значениями полей инфоблоков пользовательских типов в бизнес-процессах.

Класс | Описание
UserTypeProperty | Общий класс для работы с пользовательскими полями инфоблоков.
UserTypePropertyDiskFile | Класс для обработки, отображения и работы со значением полей инфоблока типа Диск (Файл) в бизнес-процессах.
UserTypePropertyEmployee | Класс для обработки, отображения и работы со значением полей инфоблока типа Привязка к сотруднику в бизнес-процессах.
UserTypePropertyHtml | Класс для обработки, отображения и работы со значением полей инфоблока типа HTML/текст в бизнес-процессах.


UserTypeProperty

UserTypeProperty - общий класс для работы с пользовательскими полями инфоблоков.

Методы класса

Метод | Описание | С версии
getConversionMap | Метод возвращает карту конвертации для текущего типа свойств. | 16.0.2


getConversionMap

array public static
\Bitrix\Iblock\BizprocType\UserTypeProperty::getConversionMap(
);

Метод возвращает карту конвертации для текущего типа. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


UserTypePropertyDiskFile

UserTypePropertyDiskFile - класс для обработки, отображения и работы со значением полей инфоблока типа Диск (Файл) в бизнес-процессах.

Методы класса

Метод | Описание | С версии
getConversionMap | Метод возвращает карту конвертации для полей типа Диск (Файл). | 16.0.2


getConversionMap

array public static
\Bitrix\Iblock\BizprocType\UserTypePropertyDiskFile::getConversionMap(
);

Метод возвращает карту конвертации для полей типа Диск (Файл). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


UserTypePropertyEmployee

UserTypePropertyEmployee - класс для обработки, отображения и работы со значением полей инфоблока типа Привязка к сотруднику в бизнес-процессах.

Методы класса

Метод | Описание | С версии
getConversionMap | Метод возвращает карту конвертации для полей типа Привязка к сотруднику. | 16.0.2


getConversionMap

array public static
\Bitrix\Iblock\BizprocType\UserTypePropertyEmployee::getConversionMap(
);

Метод возвращает карту конвертации для полей типа Привязка к сотруднику. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


UserTypePropertyHtml

UserTypePropertyHtml - класс для обработки, отображения и работы со значением полей инфоблока типа HTML/текст в бизнес-процессах.

Методы класса

Метод | Описание | С версии
getConversionMap | Метод возвращает карту конвертации для полей типа HTML/текст. | 16.0.2


getConversionMap

array public static
\Bitrix\Iblock\BizprocType\UserTypePropertyHtml::getConversionMap(
);

Метод возвращает карту конвертации для полей типа HTML/текст. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Component

Пространство имен \Bitrix\Iblock\Component содержит классы поддержки компонентов.

Класс | Описание
Base | Базовый класс поддержки компонентов.
Filters | Класс для реализации фильтрации данных.
Tools | Класс вспомогательных методов.


Base

Base - базовый класс поддержки компонентов.

Методы класса

Метод | Описание | С версии
getAction | Метод возвращает название текущего действия. | 17.0.0
getProductsMap | Метод возвращает массив, где ключами служат данные из массива, а значениями - либо id товара (если ключ - id торгового предложения), либо сам ключ. | 17.0.0
getSettingsScript | Метод возвращает путь к скрипту настроек с измененным постфиксным временем. | 17.0.0
isCacheDisabled | Метод проверяет, отключен ли кеш. | 17.0.0
isEnableCompatible | Метод проверяет, включен ли режим совместимости, т.е. возвращает статус заполнения результирующего массива устаревшими ключами. | 17.0.0
isExtendedMode | Метод проверяет, включен ли расширенный режим. | 17.0.0
onPrepareComponentParams | Метод обрабатывает параметры компонента. | 17.0.0
sendJsonAnswer | Метод отправляет ответ на AJAX-запрос. | 17.0.0
Конструктор Base | Конструктор класса Base. | 14.0.0


getAction

string public
\Bitrix\Iblock\Component\Base::getAction(
);

Метод возвращает название текущего действия. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getProductsMap

array public static
\Bitrix\Iblock\Component\Base::getProductsMap(
 array $originalIds = array()
);

Метод возвращает массив, где ключами служат данные из массива, а значениями - либо id товара (если ключ - id торгового предложения), либо сам ключ (SKU_PRODUCT_ID => PRODUCT_ID). Метод статический.

Параметры

Параметр | Описание | Версия
$originalIds | Входящий массив ID элементов инфоблоков. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSettingsScript

string public static
\Bitrix\Iblock\Component\Base::getSettingsScript(
 string $componentPath,
 string $settingsName
);

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

Параметры

Параметр | Описание | Версия
$componentPath | Путь до компонента. |
$settingsName | Название настройки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isCacheDisabled

boolean public
\Bitrix\Iblock\Component\Base::isCacheDisabled(
);

Метод проверяет, отключен ли кеш. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isEnableCompatible

boolean public
\Bitrix\Iblock\Component\Base::isEnableCompatible(
);

Метод проверяет включен ли режим совместимости, т.е. возвращает статус заполнения результирующего массива устаревшими ключами. Нестатический метод, для новых компонентов смысла не имеет.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isExtendedMode

boolean public
\Bitrix\Iblock\Component\Base::isExtendedMode(
);

Метод проверяет включен ли расширенный режим. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onPrepareComponentParams

mixed public
\Bitrix\Iblock\Component\Base::onPrepareComponentParams(
 array $params
);

Метод обрабатывает параметры компонента. Нестатический метод.

Параметры

Параметр | Описание | Версия
$params | Массив со значениями необработанных параметров компонента. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


sendJsonAnswer

 public static
\Bitrix\Iblock\Component\Base::sendJsonAnswer(
 array $result = array()
);

Метод отправляет ответ на AJAX-запрос. Метод статический.

Параметры

Параметр | Описание | Версия
$result | Массив результирующих данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор Base

 public
\Bitrix\Iblock\Component\Base::__construct(
 \CBitrixComponent|null $component = null
);

Конструктор класса Base.

Параметры

Параметр | Описание | Версия
$component | Объект компонента (если имеется). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Filters

Filters - класс для реализации фильтрации данных.

Методы класса

Метод | Описание | С версии
getFilteredOffersByProduct | Возвращает массив идентификаторов торговых предложений в соответствии с заданным фильтром $filter и сгруппированных по коду товара. | 16.0.1
getFilteredOffersId | Метод возвращает массив идентификаторов торговых предложений в соответствии с указанным фильтром $filter. | 16.0.1


getFilteredOffersByProduct

array public static
\Bitrix\Iblock\Component\Filters::getFilteredOffersByProduct(
 integer $iblockId,
 integer $propertyId,
 array $filter
);

Возвращает массив идентификаторов торговых предложений в соответствии с заданным фильтром $filter и сгруппированных по коду товара. Метод статический.

Параметры

Параметр | Описание | Версия
$iblockId | Идентификатор инфоблока торговых предложений. |
$propertyId | Идентификатор свойства предложения. |
$filter | Фильтр метода CIBlockElement::getList [image] . |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFilteredOffersId

array public static
\Bitrix\Iblock\Component\Filters::getFilteredOffersId(
 array $filter
);

Метод возвращает массив идентификаторов торговых предложений в соответствии с указанным фильтром $filter. Метод статический.

Параметры

Параметр | Описание | Версия
$filter | Фильтр метода CIBlockElement::getList [image] . |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Tools

Tools - класс содержит вспомогательные методы.

Методы класса

Метод | Описание | С версии
process404 | Метод выполняет действия согласно передаваемым в него параметрам. | 15.5.1


process404

void public static
\Bitrix\Iblock\Component\Tools::process404(
 string $message = "",
 boolean $defineConstant = true,
 boolean $setStatus = true,
 boolean $showPage = false,
 string $pageFile = ""
);

Метод выполняет действия согласно передаваемым в него параметрам. Метод статический.

Параметры

Параметр | Описание | Версия
$message | Сообщение, которое будет отображено компонентом bitrix:system.show_message. |
$defineConstant | Если параметр принимает значение true, то константа ERROR_404 примет значение Y. |
$setStatus | Если параметр принимает значение true, то будет установлен статус 404 Not Found. |
$showPage | Если параметр принимает значение true, то рабочая область будет очищена и будет показано содержимое файла /404.php. |
$pageFile | Файл, который должен быть показан вместо /404.php. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ElementTable

ElementTable - класс для работы с таблицей элементов инфоблоков.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
add | Метод заблокирован. | 15.0.7
delete | Метод заблокирован. | 15.0.7
getMap | Метод возвращает список полей для таблицы элементов инфоблоков. | 12.0.4
getTableName | Метод возвращает название таблицы элементов инфоблоков в базе данных. | 12.0.4
update | Метод заблокирован. | 15.0.7
validateCode | Метод возвращает валидатор для поля CODE. | 15.0.7
validateName | Метод возвращает валидатор для поля NAME. | 15.0.7
validateTags | Метод возвращает валидатор для поля TAGS. | 15.0.7
validateTmpId | Метод возвращает валидатор для поля TMP_ID. | 15.0.7
validateXmlId | Метод возвращает валидатор для поля XML_ID. | 15.0.7


add

\Bitrix\Main\Entity\AddResult public static
\Bitrix\Iblock\ElementTable::add(
 array $data
);

Метод заблокирован. Используйте метод CIBlockElement::Add

(Метод добавляет новый элемент информационного блока. Метод статический.)

Параметры

Параметр | Описание | Версия
$data | Массив, содержащий значения полей элемента инфоблока. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delete

\Bitrix\Main\Entity\DeleteResult public static
\Bitrix\Iblock\ElementTable::delete(
 mixed $primary
);

Метод заблокирован.

(Метод удаляет элемент информационного блока с ключом $primary)

Параметры

Параметр | Описание | Версия
$primary | Первичный ключ. Идентификатор элемента. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Iblock\ElementTable::getMap(
);

Метод возвращает список полей для таблицы элементов инфоблоков. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Iblock\ElementTable::getTableName(
);

Метод возвращает название таблицы элементов инфоблоков в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


update

\Bitrix\Main\Entity\UpdateResult public static
\Bitrix\Iblock\ElementTable::update(
 mixed $primary,
 array $data
);

Метод заблокирован. Используйте метод CIBlockElement::Update

(Метод изменяет параметры элемента с ключом $primary)

Параметры

Параметр | Описание | Версия
$primary | Первичный ключ. Идентификатор элемента. |
$data | Массив, содержащий значения полей элемента инфоблока. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCode

array public static
\Bitrix\Iblock\ElementTable::validateCode(
);

Метод возвращает валидатор для поля CODE (символьный идентификатор элемента). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateName

array public static
\Bitrix\Iblock\ElementTable::validateName(
);

Метод возвращает валидатор для поля NAME (название элемента). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateTags

array public static
\Bitrix\Iblock\ElementTable::validateTags(
);

Метод возвращает валидатор для поля TAGS (теги элемента). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateTmpId

array public static
\Bitrix\Iblock\ElementTable::validateTmpId(
);

Метод возвращает валидатор для поля TMP_ID (временный символьный идентификатор, используемый для служебных целей). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateXmlId

array public static
\Bitrix\Iblock\ElementTable::validateXmlId(
);

Метод возвращает валидатор для поля XML_ID (внешний код элемента). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Model

Пространство имен \Bitrix\Iblock\Model содержит классы для механизма единого управления свойствами.

Пространство имен | Описание
PropertyFeature | Класс содержит методы для работы с параметрами свойств при включенном механизме единого управления свойствами.
Section | Класс содержит методы для работы с секциями инфоблоков.


PropertyFeature

PropertyFeature - класс содержит методы для работы с параметрами свойств при включенном механизме единого управления свойствами.

Методы класса

Метод | Описание | С версии
addFeatures | Метод добавляет параметры к новому свойству. Проверку параметров в базе данных не выполняет. | 18.5.4
isPropertyFeaturesExist | Метод возвращает true, если параметр свойства существует. В противном случае - false. | 18.5.4
setFeatures | Метод устанавливает параметры свойства. | 18.5.4


addFeatures

\Bitrix\Main\Entity\Result public static
\Bitrix\Iblock\Model\PropertyFeature::addFeatures(
 integer $propertyId,
 array $features
);

Метод добавляет параметры к новому свойству. Проверку параметров в базе данных не выполняет. Метод статический.

Параметры

Параметр | Описание | Версия
$propertyId | Идентификатор свойства. |
$features | Список параметров. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isPropertyFeaturesExist

boolean public static
\Bitrix\Iblock\Model\PropertyFeature::isPropertyFeaturesExist(
);

Метод возвращает true, если параметр свойства существует. В противном случае - false. Метод статический.

Без параметров

Исключения

  • \Bitrix\Main\ObjectPropertyException
  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setFeatures

\Bitrix\Main\Entity\Result public static
\Bitrix\Iblock\Model\PropertyFeature::setFeatures(
 integer $propertyId,
 array $features
);

Метод устанавливает параметры свойства. Метод статический.

Параметры

Параметр | Описание | Версия
$propertyId | Идентификатор свойства. |
$features | Список параметров. |

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\Db\SqlQueryException
  • \Bitrix\Main\ObjectPropertyException
  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Section

Section - класс содержит методы для работы с секциями инфоблоков.

Методы класса

Метод | Описание | С версии
compileEntityByIblock | Метод создает ORM сущность секций для конкретного инфоблока, возвращает имя Table класса для этой сущности. |


compileEntityByIblock

public static
Bitrix\Iblock\Model\Section::compileEntityByIblock(
   $iblockId
);

Метод создает [ds]ORM[/ds][di] ORM (англ. Object-relational mapping, рус. Объектно-реляционное отображение) - технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную объектную базу данных».

С версии 19.0.0 модуля iblock добавлена поддержка ORM при работе с элементами инфоблоков.

Подробнее [image]...[/di] сущность секций для конкретного инфоблока, возвращает имя Table класса для этой сущности. Метод статический.

Параметры

Параметр | Описание | Версия
$iblock | ID инфоблока, или API_CODE инфоблока, или объект Bitrix\Iblock\Iblock. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Helpers

Пространство имен \Bitrix\Iblock\Helpers содержит вспомогательные классы.

Подпространства и классы

Пространство имен | Описание
Admin | Пространство содержит классы для выполнения операций в административной части.


Admin

Пространство имен \Bitrix\Iblock\Helpers\Admin содержит классы для выполнения операций в административной части.

Класс

Класс | Описание
Property | Класс для работы со свойствами инфоблока..


Property

Property - вспомогательный класс для работы со свойствами инфоблока.

Методы класса

Метод | Описание | С версии
getBaseTypeList | Метод возвращает список базовых типов свойств инфоблока. |


getBaseTypeList

array public static
\Bitrix\Iblock\Helpers\Admin\Property::getBaseTypeList(
 boolean $descr = false
);

Метод возвращает список базовых типов свойств инфоблока. Метод статический.

Параметры

Параметр | Описание | Версия
$descr | Если параметр принимает true, то типы будут возвращены вместе с описанием. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


IblockFieldTable

IblockFieldTable - класс для работы с таблицей полей инфоблоков.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getFilePath | Метод возвращает путь к файлу, содержащему определение класса. | 14.0.1
getMap | Метод возвращает список полей для таблицы полей инфоблоков. | 14.0.1
getTableName | Метод возвращает название таблицы полей инфоблоков в базе данных. | 14.0.1
validateFieldId | Метод возвращает валидатор для поля FIELD_ID. | 14.0.3


getFilePath

string public static
\Bitrix\Iblock\IblockFieldTable::getFilePath(
);

Метод возвращает путь к файлу, содержащему определение класса. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Iblock\IblockFieldTable::getMap(
);

Метод возвращает список полей для таблицы полей инфоблоков. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Iblock\IblockFieldTable::getTableName(
);

Метод возвращает название таблицы полей инфоблоков в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateFieldId

array public static
\Bitrix\Iblock\IblockFieldTable::validateFieldId(
);

Метод возвращает валидатор для поля FIELD_ID (код поля). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


IblockGroupTable

IblockGroupTable - класс для работы с таблицей прав доступа к инфоблокам.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getFilePath | Метод возвращает путь к файлу, содержащему определение класса. | 14.0.6
getMap | Метод возвращает список полей для таблицы прав доступа к инфоблокам. | 14.0.6
getTableName | Метод возвращает название таблицы прав доступа к инфоблокам в базе данных. | 14.0.6
validatePermission | Метод возвращает валидатор для поля PERMISSION. | 14.0.6


getFilePath

string public static
\Bitrix\Iblock\IblockGroupTable::getFilePath(
);

Метод возвращает путь к файлу, содержащему определение класса. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Iblock\IblockGroupTable::getMap(
);

Метод возвращает список полей для таблицы прав доступа к инфоблокам. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Iblock\IblockGroupTable::getTableName(
);

Метод возвращает название таблицы прав доступа к инфоблокам в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validatePermission

array public static
\Bitrix\Iblock\IblockGroupTable::validatePermission(
);

Метод возвращает валидатор для поля PERMISSION (право доступа). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


IblockMessageTable

IblockMessageTable - класс для работы с таблицей подписей и заголовков объектов инфоблоков.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getFilePath | Метод возвращает путь к файлу, содержащему определение класса. | 14.0.1
getMap | Метод возвращает список полей для таблицы подписей и заголовков объектов инфоблоков. | 14.0.1
getTableName | Метод возвращает название таблицы подписей и заголовков объектов инфоблоков в базе данных. | 14.0.1
validateMessageId | Метод возвращает валидатор для поля MESSAGE_ID. | 14.0.3
validateMessageText | Метод возвращает валидатор для поля MESSAGE_TEXT. | 14.0.3


getFilePath

string public static
\Bitrix\Iblock\IblockMessageTable::getFilePath(
);

Метод возвращает путь к файлу, содержащему определение класса. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Iblock\IblockMessageTable::getMap(
);

Метод возвращает список полей для таблицы подписей и заголовков объектов инфоблоков. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Iblock\IblockMessageTable::getTableName(
);

Метод возвращает название таблицы подписей и заголовков объектов инфоблоков в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateMessageId

array public static
\Bitrix\Iblock\IblockMessageTable::validateMessageId(
);

Метод возвращает валидатор для поля MESSAGE_ID (идентификатор подписи). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateMessageText

array public static
\Bitrix\Iblock\IblockMessageTable::validateMessageText(
);

Метод возвращает валидатор для поля MESSAGE_TEXT (текст подписи). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


IblockRssTable

IblockRssTable - класс для работы с таблицей привязок полей для выгрузки в RSS.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getFilePath | Метод возвращает путь к файлу, содержащему определение класса. | 14.0.6
getMap | Метод возвращает список полей для таблицы привязок полей для выгрузки в RSS. | 14.0.6
getTableName | Метод возвращает название таблицы привязок полей для выгрузки в RSS. | 14.0.6
validateNode | Метод возвращает валидатор для поля NODE. | 14.0.6
validateNodeValue | Метод возвращает валидатор для поля NODE_VALUE. | 14.0.6


getFilePath

string public static
\Bitrix\Iblock\IblockRssTable::getFilePath(
);

Метод возвращает путь к файлу, содержащему определение класса. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Iblock\IblockRssTable::getMap(
);

Метод возвращает список полей для таблицы привязок полей для выгрузки в RSS. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Iblock\IblockRssTable::getTableName(
);

Метод возвращает название таблицы привязок полей для выгрузки в RSS. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateNode

array public static
\Bitrix\Iblock\IblockRssTable::validateNode(
);

Метод возвращает валидатор для поля NODE (поле RSS). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateNodeValue

array public static
\Bitrix\Iblock\IblockRssTable::validateNodeValue(
);

Метод возвращает валидатор для поля NODE_VALUE (шаблон поля). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


IblockSiteTable

IblockSiteTable - класс для работы с таблицей привязки инфоблоков к сайтам.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getFilePath | Метод возвращает путь к файлу, содержащему определение класса. | 14.0.1
getMap | Метод возвращает список полей для таблицы привязки инфоблоков к сайтам. | 14.0.1
getTableName | Метод возвращает название таблицы привязки инфоблоков к сайтам в базе данных. | 14.0.1
validateSiteId | Метод возвращает валидатор для поля SITE_ID. | 14.0.3


getFilePath

string public static
\Bitrix\Iblock\IblockSiteTable::getFilePath(
);

Метод возвращает путь к файлу, содержащему определение класса. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Iblock\IblockSiteTable::getMap(
);

Метод возвращает список полей для таблицы привязки инфоблоков к сайтам. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Iblock\IblockSiteTable::getTableName(
);

Метод возвращает название таблицы привязки инфоблоков к сайтам в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateSiteId

array public static
\Bitrix\Iblock\IblockSiteTable::validateSiteId(
);

Метод возвращает валидатор для поля SITE_ID (идентификатор сайта). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


IblockTable

IblockTable - класс для работы с таблицей информационных блоков.

Методы класса

Метод | Описание | С версии
getFilePath | Метод возвращает путь к файлу, содержащему определение класса. | 12.0.4
getMap | Метод возвращает список полей для таблицы информационных блоков. | 12.0.4
getTableName | Метод возвращает название таблицы информационных блоков в базе данных. | 12.0.4
validateCanonicalPageUrl | Метод возвращает валидатор для поля CANONICAL_PAGE_URL. | 15.0.7
validateCode | Метод возвращает валидатор для поля CODE. | 14.0.3
validateDetailPageUrl | Метод возвращает валидатор для поля DETAIL_PAGE_URL. | 14.0.3
validateEditFileAfter | Метод возвращает валидатор для поля EDIT_FILE_AFTER. | 14.0.3
validateEditFileBefore | Метод возвращает валидатор для поля EDIT_FILE_BEFORE. | 14.0.3
validateIblockTypeId | Метод возвращает валидатор для поля IBLOCK_TYPE_ID. | 14.0.3
validateListPageUrl | Метод возвращает валидатор для поля LIST_PAGE_URL. | 14.0.3
validateName | Метод возвращает валидатор для поля NAME. | 14.0.3
validateSectionPageUrl | Метод возвращает валидатор для поля SECTION_PAGE_URL. | 14.0.3
validateTmpId | Метод возвращает валидатор для поля TMP_ID. | 14.0.3
validateXmlId | Метод возвращает валидатор для поля XML_ID. | 14.0.3


getFilePath

string public static
\Bitrix\Iblock\IblockTable::getFilePath(
);

Метод возвращает путь к файлу, содержащему определение класса. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Iblock\IblockTable::getMap(
);

Метод возвращает список полей для таблицы информационных блоков. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Iblock\IblockTable::getTableName(
);

Метод возвращает название таблицы информационных блоков в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCanonicalPageUrl

array public static
\Bitrix\Iblock\IblockTable::validateCanonicalPageUrl(
);

Метод возвращает валидатор для поля CANONICAL_PAGE_URL (канонический URL элемента). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCode

array public static
\Bitrix\Iblock\IblockTable::validateCode(
);

Метод возвращает валидатор для поля CODE (символьный идентификатор инфоблока). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateDetailPageUrl

array public static
\Bitrix\Iblock\IblockTable::validateDetailPageUrl(
);

Метод возвращает валидатор для поля DETAIL_PAGE_URL (шаблон URL-а странице для детального просмотра элемента). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateEditFileAfter

array public static
\Bitrix\Iblock\IblockTable::validateEditFileAfter(
);

Метод возвращает валидатор для поля EDIT_FILE_AFTER (полный путь к файлу-обработчику вывода интерфейса редактирования элемента). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateEditFileBefore

array public static
\Bitrix\Iblock\IblockTable::validateEditFileBefore(
);

Метод возвращает валидатор для поля EDIT_FILE_BEFORE (полный путь к файлу-обработчику массива полей элемента перед сохранением на странице редактирования элемента). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateIblockTypeId

array public static
\Bitrix\Iblock\IblockTable::validateIblockTypeId(
);

Метод возвращает валидатор для поля IBLOCK_TYPE_ID (код типа информационных блоков). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateListPageUrl

array public static
\Bitrix\Iblock\IblockTable::validateListPageUrl(
);

Метод возвращает валидатор для поля LIST_PAGE_URL (шаблон URL-а к странице для публичного просмотра списка элементов информационного блока). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateName

array public static
\Bitrix\Iblock\IblockTable::validateName(
);

Метод возвращает валидатор для поля NAME (название инфоблока). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateSectionPageUrl

array public static
\Bitrix\Iblock\IblockTable::validateSectionPageUrl(
);

Метод возвращает валидатор для поля SECTION_PAGE_URL (шаблон URL-а к странице для просмотра раздела). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateTmpId

array public static
\Bitrix\Iblock\IblockTable::validateTmpId(
);

Метод возвращает валидатор для поля TMP_ID (временный символьный идентификатор, используемый для служебных целей).

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateXmlId

array public static
\Bitrix\Iblock\IblockTable::validateXmlId(
);

Метод возвращает валидатор для поля XML_ID (внешний код инфоблока). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


InheritedProperty

Пространство имен \Bitrix\Iblock\InheritedProperty содержит классы для работы с наследуемыми вычисляемыми свойствами.

Класс | Описание
BaseTemplate | Базовый класс для работы с шаблонами вычисляемых наследуемых свойств.
BaseValues | Базовый класс для работы со значениями вычисляемых наследуемых свойств.
ElementValues | Класс для работы со значениями вычисляемых наследуемых свойств для элементов.
IblockValues | Класс для работы со значениями вычисляемых наследуемых свойств инфоблока.
SectionValues | Класс для работы со значениями вычисляемых наследуемых свойств раздела.


BaseTemplate

BaseTemplate - базовый класс для работы с шаблонами вычисляемых наследуемых свойств.

Методы класса

Метод | Описание | С версии
delete | Метод удаляет шаблоны вычисляемых свойств для сущности из базы данных. | 14.0.0
findTemplates | Метод возвращает шаблоны вычисляемых свойств для заданной сущности и всех ее родителей. | 14.0.0
get | Метод возвращает массив шаблонов вычисляемых свойств, хранящихся в базе данных для заданной сущности. | 14.0.0
getValuesEntity | Метод возвращает сущность, для которой применяется шаблон вычисляемых свойств. | 14.0.0
hasTemplates | Метод проверяет, имеются ли в базе данных шаблоны вычисляемых свойств для заданной сущности. | 14.0.0
set | Метод сохраняет шаблоны вычисляемых свойств для сущности в базе данных. | 14.0.0


delete

void public
\Bitrix\Iblock\InheritedProperty\BaseTemplate::delete(
);

Метод удаляет шаблоны вычисляемых свойств для сущности из базы данных. Нестатический метод.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


findTemplates

array public
\Bitrix\Iblock\InheritedProperty\BaseTemplate::findTemplates(
);

Метод возвращает шаблоны вычисляемых свойств для заданной сущности и всех ее родителей. Кроме того, устанавливает флаг INHERITED для каждого найденного шаблона. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


get

array public
\Bitrix\Iblock\InheritedProperty\BaseTemplate::get(
 \Bitrix\Iblock\InheritedProperty\BaseValues $entity = null
);

Метод возвращает массив шаблонов вычисляемых свойств, хранящихся в базе данных для заданной сущности. Нестатический метод.

Параметры

Параметр | Описание | Версия
$entity | Сущность модуля. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getValuesEntity

\Bitrix\Iblock\InheritedProperty\BaseValues|null public
\Bitrix\Iblock\InheritedProperty\BaseTemplate::getValuesEntity(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


hasTemplates

boolean public
\Bitrix\Iblock\InheritedProperty\BaseTemplate::hasTemplates(
 \Bitrix\Iblock\InheritedProperty\BaseValues $entity
);

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

Результат кешируется в статической переменной.

Параметры

Параметр | Описание | Версия
$entity | Сущность модуля. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


set

void public
\Bitrix\Iblock\InheritedProperty\BaseTemplate::set(
 array $templates
);

Метод сохраняет шаблоны вычисляемых свойств для сущности в базе данных. Нестатический метод.

Параметры

Параметр | Описание | Версия
$templates | Массив шаблонов вычисляемых наследуемых свойств. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


BaseValues

BaseValues - базовый класс для работы со значениями вычисляемых наследуемых свойств.

Методы класса

Метод | Описание | С версии
clearValues | Метод очищает значения сущности из кеша базы данных. | 14.0.0
createTemplateEntity | Метод создает сущность, которая будет использоваться для обработки шаблонов. | 14.0.0
deleteValues | Метод удаляет значения наследуемого свойства. Должен вызываться при удалении шаблона наследуемого свойства. | 14.0.0
getIblockId | Метод возвращает идентификатор инфоблока для сущности. | 14.0.0
getId | Метод возвращает уникальный идентификатор сущности. | 14.0.0
getParent | Метод возвращает первого родителя сущности, если таковой существует. В противном случае - пустое значение. | 14.0.0
getParents | Метод возвращает всех родителей для сущности. | 14.0.0
getType | Метод возвращает тип сущности, который будет храниться в базе данных. | 14.0.0
getValue | Метод возвращает значение наследуемого свойства с кодом $propertyCode. Результат - закодированная html-строка. | 14.0.0
getValues | Метод возвращает все вычисленные значения наследуемых свойств для сущности. | 14.0.0
getValueTableName | Метод возвращает название таблицы, в которой будут сохранены значения наследуемых вычисляемых свойств. | 14.5.2
hasTemplates | Метод проверяет, имеются ли шаблоны вычисляемых свойств для набора значений. | 14.0.0
queryValues | Метод запрашивает шаблоны наследуемых свойств для сущности и затем обрабатывает их, чтобы получить вычисленные значения. | 14.0.0
queue | Метод ставит метку для элемента или раздела для запроса из базы данных. | 18.0.2


clearValues

void public
\Bitrix\Iblock\InheritedProperty\BaseValues::clearValues(
);

Метод очищает значения сущности из кеша базы данных. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createTemplateEntity

\Bitrix\Iblock\Template\Entity\Base public
\Bitrix\Iblock\InheritedProperty\BaseValues::createTemplateEntity(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteValues

void public
\Bitrix\Iblock\InheritedProperty\BaseValues::deleteValues(
 integer $ipropertyId
);

Метод удаляет значения наследуемого свойства. Должен вызываться при удалении шаблона наследуемого свойства. Нестатический метод.

Параметры

Параметр | Описание | Версия
$ipropertyId | Идентификатор наследуемого свойства. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getIblockId

integer public
\Bitrix\Iblock\InheritedProperty\BaseValues::getIblockId(
);

Метод возвращает идентификатор инфоблока для сущности. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getId

integer public
\Bitrix\Iblock\InheritedProperty\BaseValues::getId(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getParent

\Bitrix\Iblock\InheritedProperty\BaseValues|null public
\Bitrix\Iblock\InheritedProperty\BaseValues::getParent(
);

Метод возвращает первого родителя сущности, если таковой существует. В противном случае - пустое значение. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getParents

\Bitrix\Iblock\InheritedProperty\array[]\Bitrix\Iblock\InheritedProperty\BaseValues public
\Bitrix\Iblock\InheritedProperty\BaseValues::getParents(
);

Метод возвращает всех родителей для сущности. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getType

string public
\Bitrix\Iblock\InheritedProperty\BaseValues::getType(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getValue

string public
\Bitrix\Iblock\InheritedProperty\BaseValues::getValue(
 string $propertyCode
);

Метод возвращает значение наследуемого свойства с кодом $propertyCode. Результат - закодированная html-строка. Нестатический метод.

Параметры

Параметр | Описание | Версия
$propertyCode | Символьный код свойства. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getValues

\Bitrix\Iblock\InheritedProperty\array[string]string public
\Bitrix\Iblock\InheritedProperty\BaseValues::getValues(
);

Метод возвращает все вычисленные значения наследуемых свойств для сущности. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getValueTableName

string public
\Bitrix\Iblock\InheritedProperty\BaseValues::getValueTableName(
);

Метод возвращает название таблицы, в которой будут сохранены значения шаблонов. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


hasTemplates

boolean public
\Bitrix\Iblock\InheritedProperty\BaseValues::hasTemplates(
);

Метод проверяет, имеются ли шаблоны вычисляемых свойств для набора значений. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


queryValues

\Bitrix\Iblock\InheritedProperty\array[string][string]string public
\Bitrix\Iblock\InheritedProperty\BaseValues::queryValues(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


queue

void public static
\Bitrix\Iblock\InheritedProperty\BaseValues::queue(
 integer $iblockId,
 integer $id
);

Метод ставит метку для элемента или раздела для запроса из базы данных. Метод статический.

Параметры

Параметр | Описание | Версия
$iblockId | Идентификатор инфоблока. |
$id | Идентификатор раздела или элемента. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ElementValues

ElementValues - класс для работы со значениями вычисляемых наследуемых свойств для элементов.

Методы класса

Метод | Описание | С версии
clearValues | Метод очищает значения сущности из кеша базы данных. | 14.0.0
createTemplateEntity | Метод создает сущность, которая будет использоваться для обработки шаблонов. | 14.0.0
getId | Метод возвращает уникальный идентификатор элемента. | 14.0.0
getParents | Метод возвращает массив всех родителей элемента, где в качестве значений массива выступает родительская секция с минимальным идентификатором или инфоблок. | 14.0.0
getType | Метод возвращает тип сущности, который будет храниться в базе данных. | 14.0.0
getValueTableName | Метод возвращает название таблицы, в которой будут сохранены значения наследуемых вычисляемых свойств. | 14.0.0
queryValues | Метод возвращает все вычисленные значения наследуемых свойств для элемента. | 14.0.0
setParents | Если на вход передается массив идентификаторов секций, то метод в качестве родителя устанавливает секцию с минимальным идентификатором. Если на вход передается число, то в качестве родителя будет установлена секция с кодом sectionId. | 14.0.0


clearValues

void public
\Bitrix\Iblock\InheritedProperty\ElementValues::clearValues(
);

Метод очищает значения сущности из кеша базы данных. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createTemplateEntity

\Bitrix\Iblock\Template\Entity\Base public
\Bitrix\Iblock\InheritedProperty\ElementValues::createTemplateEntity(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getId

integer public
\Bitrix\Iblock\InheritedProperty\ElementValues::getId(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getParents

\Bitrix\Iblock\InheritedProperty\array[]\Bitrix\Iblock\InheritedProperty\BaseValues public
\Bitrix\Iblock\InheritedProperty\ElementValues::getParents(
);

Метод возвращает массив всех родителей элемента, где в качестве значений массива выступает родительская секция с минимальным идентификатором или инфоблок. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getType

string public
\Bitrix\Iblock\InheritedProperty\ElementValues::getType(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getValueTableName

string public
\Bitrix\Iblock\InheritedProperty\ElementValues::getValueTableName(
);

Метод возвращает название таблицы, в которой будут сохранены значения наследуемых вычисляемых свойств. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


queryValues

\Bitrix\Iblock\InheritedProperty\array[string]string public
\Bitrix\Iblock\InheritedProperty\ElementValues::queryValues(
);

Метод возвращает все вычисленные значения наследуемых свойств для элемента. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setParents

void public
\Bitrix\Iblock\InheritedProperty\ElementValues::setParents(
 \Bitrix\Iblock\InheritedProperty\array[]integer|integer $sectionId
);

Если на вход передается массив идентификаторов секций, то метод в качестве родителя устанавливает секцию с минимальным идентификатором. Если на вход передается число, то в качестве родителя будет установлена секция с кодом sectionId. Нестатический метод.

Параметры

Параметр | Описание | Версия
$sectionId | Идентификатор секции или массив идентификаторов. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


IblockValues

IblockValues - класс для работы со значениями вычисляемых наследуемых свойств инфоблока.

Методы класса

Метод | Описание | С версии
clearValues | Метод очищает значения свойств для инфоблока из кеша базы данных. | 14.0.0
createTemplateEntity | Метод создает сущность, которая будет использоваться для обработки шаблонов. | 14.0.0
getId | Метод возвращает уникальный идентификатор инфоблока. | 14.0.0
getParents | Метод возвращает пустой массив родителей инфоблока. | 14.0.0
getType | Метод возвращает тип сущности, который будет храниться в базе данных. | 14.0.0
getValueTableName | Метод возвращает название таблицы, в которой будут сохранены значения наследуемых вычисляемых свойств. | 14.0.0
queryValues | Метод возвращает все вычисленные значения наследуемых свойств для инфоблока. | 14.0.0


clearValues

void public
\Bitrix\Iblock\InheritedProperty\IblockValues::clearValues(
);

Метод очищает значения свойств для инфоблока из кеша базы данных. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createTemplateEntity

\Bitrix\Iblock\Template\Entity\Base public
\Bitrix\Iblock\InheritedProperty\IblockValues::createTemplateEntity(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getId

integer public
\Bitrix\Iblock\InheritedProperty\IblockValues::getId(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getParents

\Bitrix\Iblock\InheritedProperty\array[]\Bitrix\Iblock\InheritedProperty\BaseValues public
\Bitrix\Iblock\InheritedProperty\IblockValues::getParents(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getType

string public
\Bitrix\Iblock\InheritedProperty\IblockValues::getType(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getValueTableName

string public
\Bitrix\Iblock\InheritedProperty\IblockValues::getValueTableName(
);

Метод возвращает название таблицы, в которой будут сохранены значения наследуемых вычисляемых свойств. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


queryValues

\Bitrix\Iblock\InheritedProperty\array[string]string public
\Bitrix\Iblock\InheritedProperty\IblockValues::queryValues(
);

Метод возвращает все вычисленные значения наследуемых свойств для инфоблока. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SectionValues

SectionValues - класс для работы со значениями вычисляемых наследуемых свойств раздела.

Методы класса

Метод | Описание | С версии
clearValues | Метод очищает значения свойств для разделов из кеша базы данных. | 14.0.0
createTemplateEntity | Метод создает сущность, которая будет использоваться для обработки шаблонов. | 14.0.0
getId | Метод возвращает уникальный идентификатор раздела. | 14.0.0
getParents | Метод возвращает массив всех родителей секции, где в качестве значений массива выступает родительская секция или инфоблок. | 14.0.0
getType | Метод возвращает тип сущности, который будет храниться в базе данных. | 14.0.0
getValueTableName | Метод возвращает название таблицы, в которой будут сохранены значения наследуемых вычисляемых свойств. | 14.0.0
queryValues | Метод возвращает все вычисленные значения наследуемых свойств для секции. | 14.0.0


clearValues

void public
\Bitrix\Iblock\InheritedProperty\SectionValues::clearValues(
);

Метод очищает значения свойств для разделов из кеша базы данных. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createTemplateEntity

\Bitrix\Iblock\Template\Entity\Base public
\Bitrix\Iblock\InheritedProperty\SectionValues::createTemplateEntity(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getId

integer public
\Bitrix\Iblock\InheritedProperty\SectionValues::getId(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getParents

\Bitrix\Iblock\InheritedProperty\array[]\Bitrix\Iblock\InheritedProperty\BaseValues public
\Bitrix\Iblock\InheritedProperty\SectionValues::getParents(
);

Метод возвращает массив всех родителей секции, где в качестве значений массива выступает родительская секция или инфоблок. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getType

string public
\Bitrix\Iblock\InheritedProperty\SectionValues::getType(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getValueTableName

string public
\Bitrix\Iblock\InheritedProperty\SectionValues::getValueTableName(
);

Метод возвращает название таблицы, в которой будут сохранены значения наследуемых вычисляемых свойств. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


queryValues

\Bitrix\Iblock\InheritedProperty\array[string]string public
\Bitrix\Iblock\InheritedProperty\SectionValues::queryValues(
);

Метод возвращает все вычисленные значения наследуемых свойств для секции. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


InheritedPropertyTable

InheritedPropertyTable - класс для работы с таблицей шаблонов вычисляемых наследуемых свойств.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getFilePath | Метод возвращает путь к файлу, содержащему определение класса. | 14.0.0
getMap | Метод возвращает список полей для таблицы шаблонов вычисляемых наследуемых свойств. | 14.0.0
getTableName | Метод возвращает название таблицы шаблонов вычисляемых наследуемых свойств. | 14.0.0


getFilePath

string public static
\Bitrix\Iblock\InheritedPropertyTable::getFilePath(
);

Метод возвращает путь к файлу, содержащему определение класса. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Iblock\InheritedPropertyTable::getMap(
);

Метод возвращает список полей для таблицы шаблонов вычисляемых наследуемых свойств. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Iblock\InheritedPropertyTable::getTableName(
);

Метод возвращает название таблицы шаблонов вычисляемых наследуемых свойств. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


PropertyEnumerationTable

PropertyEnumerationTable - класс для работы с таблицей вариантов значений свойств типа Список.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getFilePath | Метод возвращает путь к файлу, содержащему определение класса. | 14.0.0
getMap | Метод возвращает список полей для таблицы вариантов значений свойств типа Список. | 14.0.0
getTableName | Метод возвращает название таблицы вариантов значений свойств типа Список. | 14.0.0
validateTmpId | Метод возвращает валидатор для поля TMP_ID (временный символьный идентификатор, используемый для служебных целей). | 14.0.6
validateValue | Метод возвращает валидатор для поля VALUE (значение варианта свойства). | 14.0.6
validateXmlId | Метод возвращает валидатор для поля XML_ID (внешний код варианта свойства). | 14.0.6


getFilePath

string public static
\Bitrix\Iblock\PropertyEnumerationTable::getFilePath(
);

Метод возвращает путь к файлу, содержащему определение класса. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Iblock\PropertyEnumerationTable::getMap(
);

Метод возвращает список полей для таблицы вариантов значений свойств типа Список. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Iblock\PropertyEnumerationTable::getTableName(
);

Метод возвращает название таблицы вариантов значений свойств типа Список. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateTmpId

array public static
\Bitrix\Iblock\PropertyEnumerationTable::validateTmpId(
);

Метод возвращает валидатор для поля TMP_ID (временный символьный идентификатор, используемый для служебных целей). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateValue

array public static
\Bitrix\Iblock\PropertyEnumerationTable::validateValue(
);

Метод возвращает валидатор для поля VALUE (значение варианта свойства). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateXmlId

array public static
\Bitrix\Iblock\PropertyEnumerationTable::validateXmlId(
);

Метод возвращает валидатор для поля XML_ID (внешний код варианта свойства). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


PropertyIndex

Пространство имен \Bitrix\Iblock\PropertyIndex содержит классы для работы с индексами инфоблоков.

Класс | Описание
Dictionary | Класс для работы со словарем строковых значений свойств.
Element | Абстрактный класс для работы с наследуемыми свойствами в элементах инфоблоков.
Facet | Класс для построения запросов с использованием фасетных индексов.
Indexer | Класс отвечает за процесс индексации.
Manager | Класс для управления индексами.
QueryBuilder | Класс для работы с запросами.
Storage | Класс для работы с таблицей индексов инфоблока.


Dictionary

Dictionary - класс для работы со словарем строковых значений свойств.

Методы класса

Метод | Описание | С версии
create | Метод создает новый словарь для информационного блока. Перед использованием метода следует убедиться, что словаря для данного инфоблока не существует. | 15.0.1
drop | Метод удаляет существующий в базе данных словарь. Перед вызовом метода необходимо проверить, что словарь существует. | 15.0.1
getIblockId | Метод возвращает идентификатор информационного блока. | 15.0.1
getStringById | Метод возвращает строковое значение свойства по его идентификатору в словаре. | 15.0.1
getStringByIds | Метод возвращает массив строковых значений свойств по их идентификаторам в словаре. | 17.6.5
getStringId | Возвращает уникальный номер представления строки. | 15.0.1
getTableName | Метод возвращает название таблицы базы данных для хранения значений свойств. Внутренний метод. | 15.0.1
isExists | Метод проверяет наличие словаря в базе данных и возвращает true в случае успеха. | 15.0.1
validateValue | Метод возвращает валидатор для поля VALUE (значение свойства). Внутренний метод. | 15.0.1


create

void public
\Bitrix\Iblock\PropertyIndex\Dictionary::create(
);

Метод создает новый словарь для информационного блока. Перед использованием метода следует убедиться, что словаря для данного инфоблока не существует. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


drop

void public
\Bitrix\Iblock\PropertyIndex\Dictionary::drop(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getIblockId

integer public
\Bitrix\Iblock\PropertyIndex\Dictionary::getIblockId(
);

Метод возвращает идентификатор информационного блока. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getStringById

string public
\Bitrix\Iblock\PropertyIndex\Dictionary::getStringById(
 integer $valueId
);

Метод возвращает строковое значение свойства по его идентификатору в словаре. Нестатический метод.

Параметры

Параметр | Описание | Версия
$valueId | Идентификатор значения в словаре. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getStringByIds

array public
\Bitrix\Iblock\PropertyIndex\Dictionary::getStringByIds(
 array $valueIDs
);

Метод возвращает массив строковых значений свойств по их идентификаторам в словаре. Нестатический метод.

Параметры

Параметр | Описание | Версия
$valueIDs | Массив идентификаторов в словаре. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getStringId

integer public
\Bitrix\Iblock\PropertyIndex\Dictionary::getStringId(
 string $value,
 boolean $addWhenNotFound = true
);

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

Параметры

Параметр | Описание | Версия
$value | Значение для поиска в словаре. |
$addWhenNotFound | Если параметр принимает значение true и ничего не найдено, то будет добавлено новое значение в словарь. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public
\Bitrix\Iblock\PropertyIndex\Dictionary::getTableName(
);

Метод возвращает название таблицы базы данных для хранения значений свойств. Нестатический внутренний метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isExists

boolean public
\Bitrix\Iblock\PropertyIndex\Dictionary::isExists(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateValue

\Bitrix\Iblock\PropertyIndex\array[]\Bitrix\Main\Entity\Validator\Base public static
\Bitrix\Iblock\PropertyIndex\Dictionary::validateValue(
);

Метод возвращает валидатор для поля VALUE (значение свойства). Является внутренним статическим методом для совместимости с eAccelerator.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Element

Element - абстрактный класс для работы с наследуемыми свойствами в элементах инфоблоков.

Методы класса

Метод | Описание | С версии
getId | Метод возвращает идентификатор элемента. | 15.0.1
getParentSections | Метод возвращает уникальный массив секций элемента со всеми их родителями. | 15.0.1
getPriceValues | Метод возвращает полученные значения цены. | 15.0.1
getPropertyValues | Метод возвращает полученные значения свойства. | 15.0.1
getSectionParents | Метод возвращает все родительские разделы для секции. | 15.0.1
getSections | Метод возвращает уникальный массив секций элемента. | 15.0.1
isElementSection | Метод возвращает true, если элемент привязан к заданной секции. | 15.0.1
loadFromDatabase | Метод заполняет параметры элемента данными из базы данных. | 15.0.1


getId

integer public
\Bitrix\Iblock\PropertyIndex\Element::getId(
);

Метод возвращает идентификатор элемента. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getParentSections

array public
\Bitrix\Iblock\PropertyIndex\Element::getParentSections(
);

Метод возвращает уникальный массив секций элемента со всеми их родителями. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPriceValues

mixed public
\Bitrix\Iblock\PropertyIndex\Element::getPriceValues(
 integer $priceId
);

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

Параметры

Параметр | Описание | Версия
$priceId | Идентификатор цены. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPropertyValues

\Bitrix\Iblock\PropertyIndex\array[]mixed public
\Bitrix\Iblock\PropertyIndex\Element::getPropertyValues(
 integer $propertyId
);

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

Параметры

Параметр | Описание | Версия
$propertyId | Идентификатор свойства. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSectionParents

mixed public
\Bitrix\Iblock\PropertyIndex\Element::getSectionParents(
 integer $sectionId
);

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

Параметры

Параметр | Описание | Версия
$sectionId | Идентификатор секции. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSections

array public
\Bitrix\Iblock\PropertyIndex\Element::getSections(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isElementSection

boolean public
\Bitrix\Iblock\PropertyIndex\Element::isElementSection(
 integer $sectionId
);

Метод возвращает true, если элемент привязан к заданной секции. Нестатический элемент.

Параметры

Параметр | Описание | Версия
$sectionId | Идентификатор секции. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


loadFromDatabase

void public
\Bitrix\Iblock\PropertyIndex\Element::loadFromDatabase(
);

Метод заполняет параметры элемента данными из базы данных. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Facet

Facet - класс для построения запросов с использованием фасетных индексов.

Методы класса

Метод | Описание | С версии
addDatetimePropertyFilter | Метод добавляет условие по свойству типа Дата/Время для дальнейшей фильтрации. | 15.0.7
addDictionaryPropertyFilter | Метод добавляет условие по строковому свойству для дальнейшей фильтрации. | 15.0.1
addNumericPropertyFilter | Метод добавляет условие по числовому свойству для дальнейшей фильтрации. | 15.0.1
addPriceFilter | Метод добавляет условие по цене для дальнейшей фильтрации. | 15.0.1
enableCurrencyConversion | После вызова данного метода все последующие запросы будут использовать сконвертированную валюту для фильтрации. | 15.0.7
getDictionary | Возвращает объект словаря фасетных индексов. | 15.0.7
getIblockId | Метод возвращает идентификатор инфоблока. | 15.0.7
getSkuIblockId | Метод возвращает идентификатор инфоблока торговых предложений. | 15.0.7
getSkuPropertyId | Метод возвращает идентификатор свойства торгового предложения. | 15.0.7
getStorage | Возвращает объект хранилища фасетных индексов. | 15.0.7
isEmptyWhere | Метод возвращает true, если фильтры не были применены. | 15.0.7
isValid | Метод возвращает true, если доступна перезапись фильтра. | 15.0.1
lookupDictionaryValue | Метод возвращает строку по ее идентификатору в словаре. | 15.0.1
query | Метод возвращает соединение с таблицами индекса для фильтрации. | 15.0.1
setPrices | Метод устанавливает цены для дальнейшей фильтрации. Возвращает экземпляр этого объекта для цепочки вызовов. | 15.0.1
setSectionId | Метод устанавливает параметры секции для дальнейшей фильтрации. Возвращает экземпляр этого объекта для цепочки вызовов. | 15.0.1
whereToSql | Преобразует структурированный массив $where в условие для SQL-запроса или в пустую строку. | 15.0.1


addDatetimePropertyFilter

void public
\Bitrix\Iblock\PropertyIndex\Facet::addDatetimePropertyFilter(
 integer $propertyId,
 string $operator,
 float $value
);

Метод добавляет условие по свойству типа Дата/Время для дальнейшей фильтрации. Нестатический метод.

Параметры

Параметр | Описание | Версия
$propertyId | Идентификатор свойства инфоблока. |
$operator | Оператор сравнения. |
$value | Время в unix-формате. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addDictionaryPropertyFilter

void public
\Bitrix\Iblock\PropertyIndex\Facet::addDictionaryPropertyFilter(
 integer $propertyId,
 string $operator,
 float $value
);

Метод добавляет условие по строковому свойству для дальнейшей фильтрации. Нестатический метод.

Параметры

Параметр | Описание | Версия
$propertyId | Идентификатор свойства инфоблока. |
$operator | Оператор сравнения. |
$value | Значение свойства для сравнения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addNumericPropertyFilter

void public
\Bitrix\Iblock\PropertyIndex\Facet::addNumericPropertyFilter(
 integer $propertyId,
 string $operator,
 float $value
);

Метод добавляет условие по числовому свойству для дальнейшей фильтрации. Нестатический метод.

Параметры

Параметр | Описание | Версия
$propertyId | Идентификатор свойства инфоблока. |
$operator | Оператор сравнения. |
$value | Значение для сравнения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addPriceFilter

void public
\Bitrix\Iblock\PropertyIndex\Facet::addPriceFilter(
 integer $priceId,
 string $operator,
 float $value
);

Метод добавляет условие по цене для дальнейшей фильтрации. Нестатический метод.

Параметры

Параметр | Описание | Версия
$priceId | Идентификатор свойства инфоблока. |
$operator | Оператор сравнения. |
$value | Значение для сравнения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


enableCurrencyConversion

void public
\Bitrix\Iblock\PropertyIndex\Facet::enableCurrencyConversion(
 string $toCurrencyId,
 array $convertCurrencyId
);

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

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

Параметры

Параметр | Описание | Версия
$toCurrencyId | Идентификатор валюты для значений цен, передаваемых в метод addPriceFilter. |
$convertCurrencyId | Массив идентификаторов допустимых валют. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDictionary

\Bitrix\Iblock\PropertyIndex\Dictionary public
\Bitrix\Iblock\PropertyIndex\Facet::getDictionary(
);

Возвращает объект словаря фасетных индексов. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getIblockId

integer public
\Bitrix\Iblock\PropertyIndex\Facet::getIblockId(
);

Метод возвращает идентификатор инфоблока. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSkuIblockId

integer public
\Bitrix\Iblock\PropertyIndex\Facet::getSkuIblockId(
);

Метод возвращает идентификатор инфоблока торговых предложений. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSkuPropertyId

integer public
\Bitrix\Iblock\PropertyIndex\Facet::getSkuPropertyId(
);

Метод возвращает идентификатор свойства торгового предложения. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getStorage

\Bitrix\Iblock\PropertyIndex\Storage public
\Bitrix\Iblock\PropertyIndex\Facet::getStorage(
);

Возвращает объект хранилища фасетных индексов. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isEmptyWhere

boolean public
\Bitrix\Iblock\PropertyIndex\Facet::isEmptyWhere(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isValid

boolean public
\Bitrix\Iblock\PropertyIndex\Facet::isValid(
);

Метод возвращает true, если доступна перезапись фильтра. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


lookupDictionaryValue

string public
\Bitrix\Iblock\PropertyIndex\Facet::lookupDictionaryValue(
 integer $valueId
);

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

Параметры

Параметр | Описание | Версия
$valueId | Идентификатор значения строкового свойства. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


query

\Bitrix\Main\DB\Result public
\Bitrix\Iblock\PropertyIndex\Facet::query(
 array $filter,
 array $facetTypes = array(),
 integer $facetId
);

Метод возвращает соединение с таблицами индекса для фильтрации. Нестатический метод.

Параметры

Параметр | Описание | Версия
$filter | Массив для фильтрации записей. Фильтруемые поля такие же, как и в методе CIBlockElement::GetList [image] . |
$facetTypes | Массив типов фасеты, которые будут использоваться. Позволяет получить только "галочки", "цены" и тому подобное. |
$facetId | Указывается какая фасетная категория не должна применяться. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setPrices

\Bitrix\Iblock\PropertyIndex\Facet public
\Bitrix\Iblock\PropertyIndex\Facet::setPrices(
 array $prices
);

Метод устанавливает цены для дальнейшей фильтрации. Возвращает экземпляр этого объекта для цепочки вызовов. Нестатический метод.

Параметры

Параметр | Описание | Версия
$prices | Массив идентификаторов цен. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setSectionId

\Bitrix\Iblock\PropertyIndex\Facet public
\Bitrix\Iblock\PropertyIndex\Facet::setSectionId(
 integer $sectionId
);

Метод устанавливает параметры секции для дальнейшей фильтрации. Возвращает экземпляр этого объекта для цепочки вызовов. Нестатический метод.

Параметры

Параметр | Описание | Версия
$sectionId | Идентификатор секции. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


whereToSql

string public
\Bitrix\Iblock\PropertyIndex\Facet::whereToSql(
 array $where,
 string $tableAlias,
 string $subsectionsCondition = ""
);

Преобразует структурированный массив $where в условие для SQL-запроса или в пустую строку. Нестатический метод.

Параметры

Параметр | Описание | Версия
$where | Структурированный массив условия. |
$tableAlias | Таблица псевдонимов для использования в SQL-запросе. |
$subsectionsCondition | Если строка не пуста, то она будет добавлена. | 15.0.7

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Indexer

Indexer - класс отвечает за процесс индексации.

Методы класса

Метод | Описание | С версии
continueIndex | Метод выполняет один шаг индексации. Возвращает количество проиндексированных элементов. | 15.0.1
deleteElement | Метод удаляет элемент из индекса. | 15.0.1
endIndex | Метод заканчивает создание индексов и помечает инфоблок как проиндексированный. | 15.0.1
estimateElementCount | Метод возвращает количество элементов, которые будут индексироваться. | 15.0.1
getLastElementId | Возвращает индексный указатель/курсор. Последний индексированный элемент или null, если его не было. | 17.6.0
indexElement | Метод индексирует один элемент. | 15.0.1
init | Метод инициализирует внутреннее состояние объекта. Должен быть вызван перед началом использования объекта. | 15.0.1
isExists | Метод проверяет существуют ли в базе данных таблица индексов и словарь. Возвращает true в случае успеха. | 15.0.1
setLastElementId | Метод устанавливает индексный указатель/курсор. | 17.6.0
startIndex | Метод сбрасывает и пересоздает индекс. Таким образом, запускает процесс индексации. | 15.0.1


continueIndex

integer public
\Bitrix\Iblock\PropertyIndex\Indexer::continueIndex(
 integer $interval
);

Метод выполняет один шаг индексации. Возвращает количество проиндексированных элементов. Нестатический метод.

Параметры

Параметр | Описание | Версия
$interval | Время выполнения одного шага. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteElement

void public
\Bitrix\Iblock\PropertyIndex\Indexer::deleteElement(
 integer $elementId
);

Метод удаляет элемент из индекса. Нестатический метод.

Параметры

Параметр | Описание | Версия
$elementId | Идентификатор элемента. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


endIndex

boolean public
\Bitrix\Iblock\PropertyIndex\Indexer::endIndex(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


estimateElementCount

integer public
\Bitrix\Iblock\PropertyIndex\Indexer::estimateElementCount(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLastElementId

integer|null public
\Bitrix\Iblock\PropertyIndex\Indexer::getLastElementId(
);

Возвращает индексный указатель/курсор. Последний индексированный элемент или null, если его не было. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


indexElement

void public
\Bitrix\Iblock\PropertyIndex\Indexer::indexElement(
 integer $elementId
);

Метод индексирует один элемент. Нестатический метод.

Параметры

Параметр | Описание | Версия
$elementId | Идентификатор элемента. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


init

void public
\Bitrix\Iblock\PropertyIndex\Indexer::init(
);

Метод инициализирует внутреннее состояние объекта. Должен быть вызван перед началом использования объекта. Нестатический метод.

Без параметров

Исключения

  • \Bitrix\Main\LoaderException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isExists

boolean public
\Bitrix\Iblock\PropertyIndex\Indexer::isExists(
);

Метод проверяет существуют ли в базе данных таблица индексов и словарь. Возвращает true в случае успеха. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setLastElementId

void public
\Bitrix\Iblock\PropertyIndex\Indexer::setLastElementId(
 integer $lastElementId
);

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

Параметры

Параметр | Описание | Версия
$lastElementId | Идентификатор элемента. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


startIndex

boolean public
\Bitrix\Iblock\PropertyIndex\Indexer::startIndex(
);

Метод сбрасывает и пересоздает индекс. Таким образом, запускает процесс индексации. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Manager

Manager - класс для управления индексами.

Методы класса

Метод | Описание | С версии
checkAdminNotification | Метод добавляет уведомление пользователям группы Администраторы о необходимости пересоздания индекса. | 15.0.1
createIndexer | Метод создает и инициализирует новый экземпляр класса PropertyIndex\Indexer. | 15.0.1
deleteElementIndex | Метод удаляет всю связанную с элементом информацию, если индекс существует. | 15.0.1
disableDeferredIndexing | Метод отключает отложенную индексацию. | 17.6.0
deleteIndex | Метод удаляет индекс и проставляет отметку для инфоблока, что у него нет индекса. | 15.0.1
dropIfExists | Метод удаляет из базы данных все таблицы, связанные с индексом заданного инфоблока. | 15.0.1
enableDeferredIndexing | Метод включает отложенную индексацию. | 17.6.0
markAsInvalid | Метод проставляет отметку для инфоблока, что ему необходима переиндексация. | 15.0.1
resolveElement | Если передается идентификатор торгового предложения, то метод вернет идентификатор соответствующего ему товара. В противном случае метод вернет искомый идентификатор $elementId. | 15.0.4
resolveIblock | Если передается идентификатор инфоблока торговых предложений, то метод вернет идентификатор соответствующего ему инфоблока товаров. В противном случае метод вернет искомый идентификатор $iblockId. | 15.0.4
runDeferredIndexing | Метод обновляет индекс инфоблока, если существуют данные для отложенной индексации. | 17.6.0
updateElementIndex | Метод обновляет всю связанную с элементом информацию, если индекс существует. | 15.0.1
usedDeferredIndexing | Метод возвращает true, если отложенное индексирование разрешено. В противном случае - false. | 17.6.0


checkAdminNotification

void public static
\Bitrix\Iblock\PropertyIndex\Manager::checkAdminNotification(
 boolean $force = false
);

Метод добавляет уведомление пользователям группы Администраторы о необходимости пересоздания индекса. Метод статический.

Параметры

Параметр | Описание | Версия
$force | Параметр принимает значение false, если проверка на необходимость переиндексации не выполнялась. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createIndexer

\Bitrix\Iblock\PropertyIndex\Indexer public static
\Bitrix\Iblock\PropertyIndex\Manager::createIndexer(
 integer $iblockId
);

Метод создает и инициализирует новый экземпляр класса PropertyIndex\Indexer. Метод статический.

Параметры

Параметр | Описание | Версия
$iblockId | Идентификатор инфоблока. |

Исключения

  • \Bitrix\Main\Db\SqlQueryException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteElementIndex

void public static
\Bitrix\Iblock\PropertyIndex\Manager::deleteElementIndex(
 integer $iblockId,
 integer $elementId
);

Метод удаляет всю связанную с элементом информацию, если индекс существует. Метод статический.

Параметры

Параметр | Описание | Версия
$iblockId | Идентификатор инфоблока. |
$elementId | Идентификатор элемента. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteIndex

void public static
\Bitrix\Iblock\PropertyIndex\Manager::deleteIndex(
 integer $iblockId
);

Метод удаляет индекс и проставляет отметку для инфоблока, что у него нет индекса. Метод статический.

Параметры

Параметр | Описание | Версия
$iblockId | Идентификатор инфоблока. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


disableDeferredIndexing

void public static
\Bitrix\Iblock\PropertyIndex\Manager::disableDeferredIndexing(
);

Метод отключает отложенную индексацию. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


dropIfExists

void public static
\Bitrix\Iblock\PropertyIndex\Manager::dropIfExists(
 integer $iblockId
);

Метод удаляет из базы данных все таблицы, связанные с индексом заданного инфоблока. Метод статический.

Параметры

Параметр | Описание | Версия
$iblockId | Идентификатор инфоблока. |

Исключения

  • \Bitrix\Main\Db\SqlQueryException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


enableDeferredIndexing

void public static
\Bitrix\Iblock\PropertyIndex\Manager::enableDeferredIndexing(
);

Метод включает отложенную индексацию. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


markAsInvalid

void public static
\Bitrix\Iblock\PropertyIndex\Manager::markAsInvalid(
 integer $iblockId
);

Метод проставляет отметку для инфоблока, что ему необходима переиндексация. Метод статический.

Параметры

Параметр | Описание | Версия
$iblockId | Идентификатор инфоблока. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


resolveElement

integer public static
\Bitrix\Iblock\PropertyIndex\Manager::resolveElement(
 integer $iblockId,
 integer $elementId
);

Если передается идентификатор торгового предложения, то метод вернет идентификатор соответствующего ему товара. В противном случае метод вернет искомый идентификатор $elementId. Метод статический.

Параметры

Параметр | Описание | Версия
$iblockId | Идентификатор инфоблока. |
$elementId | Идентификатор элемента. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


resolveIblock

integer public static
\Bitrix\Iblock\PropertyIndex\Manager::resolveIblock(
 integer $iblockId
);

Если передается идентификатор инфоблока торговых предложений, то метод вернет идентификатор соответствующего ему инфоблока товаров. В противном случае метод вернет искомый идентификатор $iblockId. Метод статический.

Параметры

Параметр | Описание | Версия
$iblockId | Идентификатор инфоблока. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


runDeferredIndexing

void public static
\Bitrix\Iblock\PropertyIndex\Manager::runDeferredIndexing(
 integer $iblockId
);

Метод обновляет индекс инфоблока, если существуют данные для отложенной индексации. Метод статический.

Параметры

Параметр | Описание | Версия
$iblockId | Идентификатор инфоблока. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


updateElementIndex

void public static
\Bitrix\Iblock\PropertyIndex\Manager::updateElementIndex(
 integer $iblockId,
 integer $elementId
);

Метод обновляет всю связанную с элементом информацию, если индекс существует. Метод статический.

Параметры

Параметр | Описание | Версия
$iblockId | Идентификатор инфоблока. |
$elementId | Идентификатор элемента. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


usedDeferredIndexing

boolean public static
\Bitrix\Iblock\PropertyIndex\Manager::usedDeferredIndexing(
);

Метод возвращает true, если отложенное индексирование разрешено. В противном случае - false. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


QueryBuilder

QueryBuilder - класс для работы с запросами.

Методы класса

Метод | Описание | С версии
getDistinct | Метод возвращает true, если запрос нуждается в дополнительной обработке записей с целью удаления дубликатов. | 15.0.6
getFilterSql | Возвращает соединение с таблицами индекса для фильтрации. | 15.0.1
isValid | Метод возвращает true, если изменение фильтра возможно. | 15.0.1


getDistinct

boolean public
\Bitrix\Iblock\PropertyIndex\QueryBuilder::getDistinct(
);

Метод возвращает true, если запрос нуждается в дополнительной обработке записей с целью удаления дубликатов. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFilterSql

string public
\Bitrix\Iblock\PropertyIndex\QueryBuilder::getFilterSql(
 array &$filter,
 array &$sqlSearch
);

Возвращает соединение с таблицами индекса для фильтрации. Нестатический метод.

Параметры

Параметр | Описание | Версия
&$filter | Фильтр, который может быть изменен. |
&$sqlSearch | Дополнительный результат изменения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isValid

boolean public
\Bitrix\Iblock\PropertyIndex\QueryBuilder::isValid(
);

Метод возвращает true, если изменение фильтра возможно. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Storage

Storage - класс для работы с таблицей индексов инфоблока.

Методы класса

Метод | Описание | С версии
addIndexEntry | Метод добавляет новую запись индекса. | 15.0.1
create | Метод создает новый индекс значений свойства информационного блока. Перед вызовом метода необходимо убедиться, что такой индекс еще не существует. | 15.0.1
deleteIndexElement | Метод удаляет все записи для элемента из индекса. | 15.0.1
drop | Метод удаляет существующий индекс из базы данных. Перед вызовом метода необходимо убедиться в том, что индекс существует. | 15.0.1
facetIdToPriceId | Метод преобразует внутренний идентификатор фасеты в идентификатор цены каталога. | 15.0.1
facetIdToPropertyId | Метод преобразует внутренний идентификатор фасеты в идентификатор свойства инфоблока. | 15.0.1
getIblockId | Метод возвращает идентификатор инфоблока. | 15.0.1
getLastStoredElementId | Метод возвращает максимальный идентификатор хранящегося элемента. | 15.0.1
getTableName | Метод возвращает название таблицы базы данных для хранения индекса свойств. Внутренний метод. | 15.0.1
isExists | Метод проверяет существование в базе данных индекса для свойства. | 15.0.1
isPriceId | Метод возвращает true, если заданный идентификатор является идентификатором цены каталога. | 15.0.1
isPropertyId | Метод возвращает true, если заданный идентификатор является идентификатором свойства инфоблока. | 15.0.1
priceIdToFacetId | Метод преобразует идентификатор цены во внутренний идентификатор фасеты. | 15.0.1
propertyIdToFacetId | Метод преобразует идентификатор свойства инфоблока во внутренний идентификатор фасеты. | 15.0.1


addIndexEntry

boolean public
\Bitrix\Iblock\PropertyIndex\Storage::addIndexEntry(
 integer $sectionId,
 integer $elementId,
 integer $facetId,
 integer $value,
 float $valueNum,
 boolean $includeSubsections
);

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

Параметры

Параметр | Описание | Версия
$sectionId | Идентификатор секции элемента. |
$elementId | Идентификатор элемента. |
$facetId | Идентификатор свойства/цены. |
$value | Значение словаря или 0. |
$valueNum | Значение числового свойства или цены. |
$includeSubsections | Параметр принимает true, если секция имеет родителя, в противном случае указывается false. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


create

void public
\Bitrix\Iblock\PropertyIndex\Storage::create(
);

Метод создает новый индекс значений свойства информационного блока. Перед вызовом метода необходимо убедиться, что такой индекс еще не существует. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteIndexElement

boolean public
\Bitrix\Iblock\PropertyIndex\Storage::deleteIndexElement(
 integer $elementId
);

Метод удаляет все записи для элемента из индекса. Нестатический метод.

Параметры

Параметр | Описание | Версия
$elementId | Идентификатор элемента, записи которого необходимо удалить. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


drop

void public
\Bitrix\Iblock\PropertyIndex\Storage::drop(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


facetIdToPriceId

integer public static
\Bitrix\Iblock\PropertyIndex\Storage::facetIdToPriceId(
 integer $facetId
);

Метод преобразует внутренний идентификатор фасеты в идентификатор цены каталога. Метод статический.

Параметры

Параметр | Описание | Версия
$facetId | Внутренний идентификатор фасеты. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


facetIdToPropertyId

integer public static
\Bitrix\Iblock\PropertyIndex\Storage::facetIdToPropertyId(
 integer $facetId
);

Метод преобразует внутренний идентификатор фасеты в идентификатор свойства инфоблока. Метод статический.

Параметры

Параметр | Описание | Версия
$facetId | Внутренний идентификатор фасеты. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getIblockId

integer public
\Bitrix\Iblock\PropertyIndex\Storage::getIblockId(
);

Метод возвращает идентификатор инфоблока. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLastStoredElementId

integer public
\Bitrix\Iblock\PropertyIndex\Storage::getLastStoredElementId(
);

Метод возвращает максимальный идентификатор хранящегося элемента. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public
\Bitrix\Iblock\PropertyIndex\Storage::getTableName(
);

Метод возвращает название таблицы базы данных для хранения индекса свойств. Нестатический внутренний метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isExists

boolean public
\Bitrix\Iblock\PropertyIndex\Storage::isExists(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isPriceId

boolean public static
\Bitrix\Iblock\PropertyIndex\Storage::isPriceId(
 integer $facetId
);

Метод возвращает true, если заданный идентификатор является идентификатором цены каталога. Метод статический.

Параметры

Параметр | Описание | Версия
$facetId | Внутренний идентификатор фасеты. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isPropertyId

boolean public static
\Bitrix\Iblock\PropertyIndex\Storage::isPropertyId(
 integer $facetId
);

Метод возвращает true, если заданный идентификатор является идентификатором свойства инфоблока. Метод статический.

Параметры

Параметр | Описание | Версия
$facetId | Внутренний идентификатор фасеты. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


priceIdToFacetId

integer public static
\Bitrix\Iblock\PropertyIndex\Storage::priceIdToFacetId(
 integer $priceId
);

Метод преобразует идентификатор цены во внутренний идентификатор фасеты. Метод статический.

Параметры

Параметр | Описание | Версия
$priceId | Идентификатор цены. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


propertyIdToFacetId

integer public static
\Bitrix\Iblock\PropertyIndex\Storage::propertyIdToFacetId(
 integer $propertyId
);

Метод преобразует идентификатор свойства инфоблока во внутренний идентификатор фасеты. Метод статический.

Параметры

Параметр | Описание | Версия
$propertyId | Идентификатор свойства инфоблока. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


PropertyTable

PropertyTable - класс для работы с таблицей свойств инфоблоков.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getFilePath | Метод возвращает путь к файлу, содержащему определение класса. | 14.0.0
getMap | Метод возвращает список полей для таблицы свойств инфоблоков. | 14.0.0
getTableName | Метод возвращает название таблицы свойств инфоблоков в базе данных. | 14.0.0
validateCode | Метод возвращает валидатор для поля CODE. | 14.0.3
validateFileType | Метод возвращает валидатор для поля FILE_TYPE. | 14.0.3
validateHint | Метод возвращает валидатор для поля HINT. | 14.0.3
validateName | Метод возвращает валидатор для поля NAME. | 14.0.3
validateTmpId | Метод возвращает валидатор для поля TMP_ID. | 14.0.3
validateUserType | Метод возвращает валидатор для поля USER_TYPE. | 14.0.3
validateXmlId | Метод возвращает валидатор для поля XML_ID . | 14.0.3


getFilePath

string public static
\Bitrix\Iblock\PropertyTable::getFilePath(
);

Метод возвращает путь к файлу, содержащему определение класса. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Iblock\PropertyTable::getMap(
);

Метод возвращает список полей для таблицы свойств инфоблоков. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Iblock\PropertyTable::getTableName(
);

Метод возвращает название таблицы свойств инфоблоков в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCode

array public static
\Bitrix\Iblock\PropertyTable::validateCode(
);

Метод возвращает валидатор для поля CODE (символьный код свойства). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateFileType

array public static
\Bitrix\Iblock\PropertyTable::validateFileType(
);

Метод возвращает валидатор для поля FILE_TYPE (список допустимых расширений для свойств Файл). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateHint

array public static
\Bitrix\Iblock\PropertyTable::validateHint(
);

Метод возвращает валидатор для поля HINT (подсказка). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateName

array public static
\Bitrix\Iblock\PropertyTable::validateName(
);

Метод возвращает валидатор для поля NAME (название свойства). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateTmpId

array public static
\Bitrix\Iblock\PropertyTable::validateTmpId(
);

Метод возвращает валидатор для поля TMP_ID (временный символьный идентификатор, используемый для служебных целей). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateUserType

array public static
\Bitrix\Iblock\PropertyTable::validateUserType(
);

Метод возвращает валидатор для поля USER_TYPE (идентификатор пользовательского типа свойства). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateXmlId

array public static
\Bitrix\Iblock\PropertyTable::validateXmlId(
);

Метод возвращает валидатор для поля XML_ID (внешний код свойства). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SectionElementTable

SectionElementTable - класс для работы с таблицей элементов разделов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getFilePath | Метод возвращает путь к файлу, содержащему определение класса. | 12.0.4
getMap | Метод возвращает список полей для таблицы элементов разделов. | 12.0.4
getTableName | Метод возвращает название таблицы элементов разделов в базе данных. | 12.0.4


getFilePath

string public static
\Bitrix\Iblock\SectionElementTable::getFilePath(
);

Метод возвращает путь к файлу, содержащему определение класса. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Iblock\SectionElementTable::getMap(
);

Метод возвращает список полей для таблицы элементов разделов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Iblock\SectionElementTable::getTableName(
);

Метод возвращает название таблицы элементов разделов в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SectionPropertyTable

SectionPropertyTable - класс для работы с таблицей свойств разделов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getFilePath | Метод возвращает путь к файлу, содержащему определение класса. | 14.0.6
getMap | Метод возвращает список полей для таблицы свойств разделов. | 14.0.6
getTableName | Метод возвращает название таблицы свойств разделов в базе данных. | 14.0.6
validateFilterHint | Метод возвращает валидатор для поля FILTER_HINT. | 15.0.7


getFilePath

string public static
\Bitrix\Iblock\SectionPropertyTable::getFilePath(
);

Метод возвращает путь к файлу, содержащему определение класса. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Iblock\SectionPropertyTable::getMap(
);

Метод возвращает список полей для таблицы свойств разделов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Iblock\SectionPropertyTable::getTableName(
);

Метод возвращает название таблицы свойств разделов в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateFilterHint

array public static
\Bitrix\Iblock\SectionPropertyTable::validateFilterHint(
);

Метод возвращает валидатор для поля FILTER_HINT (подсказка в фильтре для посетителей). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SectionTable

SectionTable - класс для работы с таблицей разделов инфоблоков.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getFilePath | Метод возвращает путь к файлу, содержащему определение класса. | 12.0.4
getMap | Метод возвращает список полей для таблицы разделов инфоблоков. | 12.0.4
getTableName | Метод возвращает название таблицы разделов инфоблоков в базе данных. | 12.0.4
validateCode | Метод возвращает валидатор для поля CODE. | 14.0.3
validateName | Метод возвращает валидатор для поля NAME. | 14.0.3
validateTmpId | Метод возвращает валидатор для поля TMP_ID. | 14.0.3
validateXmlId | Метод возвращает валидатор для поля XML_ID. | 14.0.3

Примечание: Методы add, delete и update (наследуемые от класса DataManager) в классе SectionTable заблокированы (см. ограничения [image] нового объектного ORM).


getFilePath

string public static
\Bitrix\Iblock\SectionTable::getFilePath(
);

Метод возвращает путь к файлу, содержащему определение класса. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Iblock\SectionTable::getMap(
);

Метод возвращает список полей для таблицы разделов инфоблоков. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Iblock\SectionTable::getTableName(
);

Метод возвращает название таблицы разделов инфоблоков в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCode

array public static
\Bitrix\Iblock\SectionTable::validateCode(
);

Метод возвращает валидатор для поля CODE (символьный идентификатор раздела). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateName

array public static
\Bitrix\Iblock\SectionTable::validateName(
);

Метод возвращает валидатор для поля NAME (название раздела). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateTmpId

array public static
\Bitrix\Iblock\SectionTable::validateTmpId(
);

Метод возвращает валидатор для поля TMP_ID (временный символьный идентификатор, используемый для служебных целей). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateXmlId

array public static
\Bitrix\Iblock\SectionTable::validateXmlId(
);

Метод возвращает валидатор для поля XML_ID (внешний код). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SenderEventHandler

SenderEventHandler - технический класс для сообщения с модулем Email-маркетинг.

Методы класса

Метод | Описание | С версии
onConnectorListIblock | Метод для сообщения модулю Email-маркетинг списка коннекторов. | 15.0.3


onConnectorListIblock

array public static
\Bitrix\Iblock\SenderEventHandler::onConnectorListIblock(
 array $data
);

Метод для сообщения модулю Email-маркетинг списка коннекторов. Метод статический.

Параметры

Параметр | Описание | Версия
$data | Данные коннекторов. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SequenceTable

SequenceTable - класс для работы с таблицей счетчиков.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getFilePath | Метод возвращает путь к файлу, содержащему определение класса. | 14.0.6
getMap | Метод возвращает список полей для таблицы счетчиков. | 14.0.6
getTableName | Метод возвращает название таблицы счетчиков в базе данных. | 14.0.6
validateCode | Метод возвращает валидатор для поля CODE. | 14.0.6


getFilePath

string public static
\Bitrix\Iblock\SequenceTable::getFilePath(
);

Метод возвращает путь к файлу, содержащему определение класса. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Iblock\SequenceTable::getMap(
);

Метод возвращает список полей для таблицы счетчиков. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Iblock\SequenceTable::getTableName(
);

Метод возвращает название таблицы счетчиков в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCode

array public static
\Bitrix\Iblock\SequenceTable::validateCode(
);

Метод возвращает валидатор для поля CODE (символьный идентификатор). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Template

Пространство имен \Bitrix\Iblock\Template содержит классы для работы с шаблонами SEO свойств.

Класс, пространство имен | Описание
Engine | Класс для запуска обработки шаблонов SEO свойств.
Entity | Пространство содержит классы для работы с сущностями в шаблонах SEO свойств.
Functions | Пространство содержит классы для работы с функциями шаблонов SEO свойств.
Helper | Вспомогательный класс для работы с шаблонами SEO свойств.
NodeBase | Базовый класс, отвечающий за логику преобразования данных в значения наследуемых свойств.
NodeEntityField | Класс отвечает за логику преобразования данных полей сущности в значения наследуемых свойств.
NodeFunction | Класс отвечает за логику работы функций наследуемых свойств.
NodeRoot | Класс отвечает за логику преобразования данных дочерних сущностей.
NodeText | Класс отвечает за логику работы с текстом в наследуемых свойствах.


Engine

Engine - класс для запуска обработки шаблонов SEO свойств.

Методы класса

Метод | Описание | С версии
process | Метод принимает сущность и обрабатывает для нее шаблон. | 14.0.0


process

string public static
\Bitrix\Iblock\Template\Engine::process(
 \Bitrix\Iblock\Template\Entity\Base $entity,
 string $template
);

Метод принимает сущность ('элемент, секцию или инфоблок) и обрабатывает для нее шаблон. Метод статический.

Параметры

Параметр | Описание | Версия
$entity | Сущность для обработки шаблона. |
$template | Шаблон, по которому выполняется замена. |

Примеры

if (\Bitrix\Main\Loader::includeModule('iblock'))
{
    $e = new \Bitrix\Iblock\Template\Entity\Element(6369);
    echo "<pre>", print_r(\Bitrix\Iblock\Template\Engine::process($e, "Name: {=this.Name}. Code:{=this.code}"), 1), "</pre>";
}


Entity

Пространство имен \Bitrix\Iblock\Template\Entity содержит классы для работы с сущностями в шаблонах SEO свойств.

Класс | Описание
Base | Базовый класс для работы с сущностями.
CatalogStore | Класс для работы со складами в шаблонах SEO свойств.
Element | Класс для работы с полями элемента в шаблонах SEO свойств.
ElementCatalog | Класс для работы с полями каталога в шаблонах SEO свойств.
ElementPrice | Класс для работы с ценами в шаблонах SEO свойств.
ElementProperty | Класс для работы со свойствами элементов в шаблонах SEO свойств.
ElementSku | Класс для работы с торговыми предложениями в шаблонах SEO свойств.
ElementSkuPrice | Класс для работы с ценами торговых предложений в шаблонах SEO свойств.
ElementSkuProperty | Класс для работы со свойствами предложений в шаблонах SEO свойств.
Iblock | Класс для работы с полями инфоблока в шаблонах SEO свойств.
LazyValueLoader | Класс для для отложенной загрузки значений из базы данных.
Section | Класс для работы с секциями в шаблонах SEO свойств.
SectionPath | Класс для работы с путями из разделов до элемента в шаблонах SEO свойств.
SectionProperty | Класс для работы со свойствами секций в шаблонах SEO свойств.


Base

Base - базовый класс для работы с сущностями.

Методы класса

Метод | Описание | С версии
getField | Метод возвращает значение поля. | 14.0.0
getId | Метод возвращает идентификатор сущности. | 15.0.7
resolve | Метод используется для поиска сущности для обработки шаблона. | 14.0.0
setFields | Используется для инициализации полей сущности из некоторого внешнего источника. | 14.0.0


getField

string public
\Bitrix\Iblock\Template\Entity\Base::getField(
 string $fieldName
);

Метод возвращает значение поля. Нестатический метод.

Параметры

Параметр | Описание | Версия
$fieldName | Название поля, значение которого необходимо получить. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getId

integer public
\Bitrix\Iblock\Template\Entity\Base::getId(
);

Метод возвращает идентификатор сущности. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


resolve

\Bitrix\Iblock\Template\Entity\Base public
\Bitrix\Iblock\Template\Entity\Base::resolve(
 string $entity
);

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

Параметры

Параметр | Описание | Версия
$entity | Сущность, которую необходимо найти. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setFields

void public
\Bitrix\Iblock\Template\Entity\Base::setFields(
 array $fields
);

Используется для инициализации полей сущности из некоторого внешнего источника. Нестатический метод.

Параметры

Параметр | Описание | Версия
$fields | Массив, содержащий поля сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


CatalogStore

CatalogStore - класс для работы со складами в шаблонах SEO свойств.

Методы класса

Метод | Описание | С версии
resolve | Метод используется для поиска склада для обработки шаблона. | 14.0.0
setFields | Используется для инициализации полей сущности из некоторого внешнего источника. | 14.0.0


resolve

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Информационные блоки>Template>Entity>CatalogStore>resolve (доступен с 14.0.0)

CatalogStore::resolve

\Bitrix\Iblock\Template\Entity\Base public
\Bitrix\Iblock\Template\Entity\CatalogStore::resolve(
 string $entity
);

Метод используется для поиска склада для обработки шаблона. Нестатический метод.

Параметры

Параметр | Описание | Версия
$entity | Склад для поиска. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setFields

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Информационные блоки>Template>Entity>CatalogStore>setFields (доступен с 14.0.0)

CatalogStore::setFields

void public
\Bitrix\Iblock\Template\Entity\CatalogStore::setFields(
 array $fields
);

Используется для инициализации полей сущности из некоторого внешнего источника. Нестатический метод.

Параметры

Параметр | Описание | Версия
$fields | Массив, содержащий поля сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Element

Element - класс для работы с полями элемента в шаблонах SEO свойств.

Методы класса

Метод | Описание | С версии
resolve | Метод используется для поиска элемента для обработки шаблона. | 14.0.0
setFields | Используется для инициализации полей элемента из некоторого внешнего источника. | 14.0.0


resolve

\Bitrix\Iblock\Template\Entity\Base public
\Bitrix\Iblock\Template\Entity\Element::resolve(
 string $entity
);

Метод используется для поиска элемента для обработки шаблона. Нестатический метод.

Параметры

Параметр | Описание | Версия
$entity | Элемент для поиска. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setFields

void public
\Bitrix\Iblock\Template\Entity\Element::setFields(
 array $fields
);

Используется для инициализации полей элемента из некоторого внешнего источника. Нестатический метод.

Параметры

Параметр | Описание | Версия
$fields | Массив, содержащий поля элемента. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ElementCatalog

ElementCatalog - класс для работы с полями каталога в шаблонах SEO свойств.

Методы класса

Метод | Описание | С версии
resolve | Метод используется для поиска сущности для обработки шаблона. | 14.0.0
setFields | Используется для инициализации полей сущности из некоторого внешнего источника. | 14.0.0


resolve

\Bitrix\Iblock\Template\Entity\Base public
\Bitrix\Iblock\Template\Entity\ElementCatalog::resolve(
 string $entity
);

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

Параметры

Параметр | Описание | Версия
$entity | Сущность, которую необходимо найти. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setFields

void public
\Bitrix\Iblock\Template\Entity\ElementCatalog::setFields(
 array $fields
);

Используется для инициализации полей сущности из некоторого внешнего источника. Нестатический метод.

Параметры

Параметр | Описание | Версия
$fields | Массив полей сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ElementPrice

ElementPrice - класс для работы с ценами в шаблонах SEO свойств.

Методы класса

Метод | Описание | С версии
resolve | Метод используется для поиска сущности для обработки шаблона. | 14.0.0
setFields | Используется для инициализации полей сущности из некоторого внешнего источника. | 14.0.0


resolve

\Bitrix\Iblock\Template\Entity\Base public
\Bitrix\Iblock\Template\Entity\ElementPrice::resolve(
 string $entity
);

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

Параметры

Параметр | Описание | Версия
$entity | Сущность, которую необходимо найти. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setFields

void public
\Bitrix\Iblock\Template\Entity\ElementPrice::setFields(
 array $fields
);

Используется для инициализации полей сущности из некоторого внешнего источника. Нестатический метод.

Параметры

Параметр | Описание | Версия
$fields | Массив полей сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ElementProperty

ElementProperty - класс для работы со свойствами элементов в шаблонах SEO свойств.

Методы класса

Метод | Описание | С версии
resolve | Метод используется для поиска сущности для обработки шаблона. | 14.0.0
setFields | Используется для инициализации полей сущности из некоторого внешнего источника. | 14.0.0
setIblockId | Метод устанавливает инфоблок элемента. | 14.0.0


resolve

\Bitrix\Iblock\Template\Entity\Base public
\Bitrix\Iblock\Template\Entity\ElementProperty::resolve(
 string $entity
);

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

Параметры

Параметр | Описание | Версия
$entity | Сущность, которую необходимо найти. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setFields

void public
\Bitrix\Iblock\Template\Entity\ElementProperty::setFields(
 array $fields
);

Используется для инициализации полей сущности из некоторого внешнего источника. Нестатический метод.

Параметры

Параметр | Описание | Версия
$fields | Массив полей сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setIblockId

void public
\Bitrix\Iblock\Template\Entity\ElementProperty::setIblockId(
 integer $iblockId
);

Метод устанавливает инфоблок элемента. Нестатический метод.

Параметры

Параметр | Описание | Версия
$iblockId | Идентификатор инфоблока. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ElementSku

ElementSku - класс для работы с торговыми предложениями в шаблонах SEO свойств.

Методы класса

Метод | Описание | С версии
loadFromDatabase | Метод выбирает значения торговых предложений из базы данных. Возвращает значение true в случае успеха. | 14.0.0
resolve | Метод используется для поиска сущности для обработки шаблона. | 14.0.0


loadFromDatabase

boolean public
\Bitrix\Iblock\Template\Entity\ElementSku::loadFromDatabase(
);

Метод выбирает значения торговых предложений из базы данных. Возвращает значение true в случае успеха. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


resolve

\Bitrix\Iblock\Template\Entity\Base public
\Bitrix\Iblock\Template\Entity\ElementSku::resolve(
 string $entity
);

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

Параметры

Параметр | Описание | Версия
$entity | Сущность, которую необходимо найти. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ElementSkuPrice

ElementSkuPrice - класс для работы с ценами торговых предложений в шаблонах SEO свойств.

Методы класса

Метод | Описание | С версии
setFields | Используется для инициализации полей сущности из некоторого внешнего источника. | 14.0.0


setFields

void public
\Bitrix\Iblock\Template\Entity\ElementSkuPrice::setFields(
 array $fields
);

Используется для инициализации полей сущности из некоторого внешнего источника. Нестатический метод.

Параметры

Параметр | Описание | Версия
$fields | Массив полей сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ElementSkuProperty

ElementSkuProperty - класс для работы со свойствами предложений в шаблонах SEO свойств.

Методы класса

Метод | Описание | С версии
setIblockId | Метод устанавливает информационный блок элементов. | 14.0.0


setIblockId

void public
\Bitrix\Iblock\Template\Entity\ElementSkuProperty::setIblockId(
 integer $iblockId
);

Метод устанавливает информационный блок элементов. Нестатический метод.

Параметры

Параметр | Описание | Версия
$iblockId | Идентификатор инфоблока. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Iblock

Iblock - класс для работы с полями инфоблока в шаблонах SEO свойств.

Методы класса

Метод | Описание | С версии
resolve | Метод используется для поиска инфоблока для обработки шаблона. | 14.0.0


resolve

\Bitrix\Iblock\Template\Entity\Base public
\Bitrix\Iblock\Template\Entity\Iblock::resolve(
 string $entity
);

Метод используется для поиска инфоблока для обработки шаблона. Нестатический метод.

Параметры

Параметр | Описание | Версия
$entity | Инфоблок, который необходимо найти. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LazyValueLoader

LazyValueLoader - класс для для отложенной загрузки значений из базы данных.

Методы класса

Метод | Описание | С версии
getValue | Вызывает метод загрузки данных из базы данных, если они еще не были получены. | 14.0.0
__toString | Вызывает метод загрузки данных из базы данных, если они еще не были получены. Метод вызывается при преобразовании объекта в строку. | 14.0.0


__toString

mixed public
\Bitrix\Iblock\Template\Entity\LazyValueLoader::__toString(
);

Вызывает метод загрузки данных из базы данных, если они еще не были получены. Метод вызывается при преобразовании объекта в строку. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getValue

mixed public
\Bitrix\Iblock\Template\Entity\LazyValueLoader::getValue(
);

Вызывает метод загрузки данных из базы данных, если они еще не были получены. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Section

Section - класс для работы с секциями в шаблонах SEO свойств.

Методы класса

Метод | Описание | С версии
resolve | Метод используется для поиска секции для обработки шаблона. | 14.0.0
setFields | Используется для инициализации полей секции из некоторого внешнего источника. | 14.0.0


resolve

\Bitrix\Iblock\Template\Entity\Base public
\Bitrix\Iblock\Template\Entity\Section::resolve(
 string $entity
);

Метод используется для поиска секции для обработки шаблона. Нестатический метод.

Параметры

Параметр | Описание | Версия
$entity | Параметр определяет, что необходимо найти. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setFields

void public
\Bitrix\Iblock\Template\Entity\Section::setFields(
 array $fields
);

Используется для инициализации полей секции из некоторого внешнего источника. Нестатический метод.

Параметры

Параметр | Описание | Версия
$fields | Массив полей секции. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SectionPath

SectionPath - класс для работы с путями из разделов до элемента в шаблонах SEO свойств.

Методы класса

Метод | Описание | С версии
loadFromDatabase | Метод выбирает значения путей до элементов из базы данных. Возвращает значение true в случае успеха. | 14.0.0


loadFromDatabase

boolean public
\Bitrix\Iblock\Template\Entity\SectionPath::loadFromDatabase(
);

Метод выбирает значения путей до элементов из базы данных. Возвращает значение true в случае успеха. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SectionProperty

SectionProperty - класс для работы со свойствами секций в шаблонах SEO свойств.

Методы класса

Метод | Описание | С версии
setFields | Используется для инициализации полей секции из некоторого внешнего источника. | 14.0.0
setIblockId | Метод устанавливает информационный блок секции. | 14.0.0


setFields

void public
\Bitrix\Iblock\Template\Entity\SectionProperty::setFields(
 array $fields
);

Используется для инициализации полей секции из некоторого внешнего источника. Нестатический метод.

Параметры

Параметр | Описание | Версия
$fields | Массив полей секции. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setIblockId

void public
\Bitrix\Iblock\Template\Entity\SectionProperty::setIblockId(
 integer $iblockId
);

Метод устанавливает информационный блок секции. Нестатический метод.

Параметры

Параметр | Описание | Версия
$iblockId | Идентификатор инфоблока. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Functions

Пространство имен \Bitrix\Iblock\Template\Functions содержит классы для работы с функциями шаблонов SEO свойств.

Класс | Описание
Fabric | Класс для работы с объектами, реализующих функции для шаблонов SEO свойств.
FunctionBase | Базовый класс функций шаблонов SEO свойств.
FunctionConcat | Класс для работы с функцией concat.
FunctionContrast | Класс для работы с функцией contrast.
FunctionDistinct | Класс для работы с функцией distinct.
FunctionLimit | Класс для работы с функцией limit.
FunctionLower | Класс для работы с функцией lower.
FunctionMax | Класс для работы с функцией max.
FunctionMin | Класс для работы с функцией min.
FunctionTranslit | Класс для работы с функцией translit.
FunctionUpper | Класс для работы с функцией upper.


Fabric

Fabric - класс для работы с объектами, реализующих функции для шаблонов SEO свойств.

Методы класса

Метод | Описание | С версии
createInstance | Метод создает экземпляр объекта функции по ее имени. | 14.0.0


createInstance

\Bitrix\Iblock\Template\Functions\FunctionBase public static
\Bitrix\Iblock\Template\Functions\Fabric::createInstance(
 string $functionName,
 mixed $data = null
);

Метод создает экземпляр объекта функции по ее имени. Метод статический.

Параметры

Параметр | Описание | Версия
$functionName | Название функции в нижнем регистре. |
$data | Дополнительные данные для экземпляра функции. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


FunctionBase

FunctionBase - базовый класс функций шаблонов SEO свойств.

Методы класса

Метод | Описание | С версии
calculate | Вызывается методом Engine::process для обработки вызова функции. | 14.0.0
onPrepareParameters | Вызывается перед расчетом. Результат будет передан методу FunctionBase::calculate. | 14.0.0


calculate

string public
\Bitrix\Iblock\Template\Functions\FunctionBase::calculate(
 array $parameters
);

Вызывается методом [link=1775927]Engine::process[/link] для обработки вызова функции. Нестатический метод.

Параметры

Параметр | Описание | Версия
$parameters | Массив параметров функции. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onPrepareParameters

array public
\Bitrix\Iblock\Template\Functions\FunctionBase::onPrepareParameters(
 \Bitrix\Iblock\Template\Entity\Base $entity,
 \Bitrix\Iblock\Template\Functions\array[]\Bitrix\Iblock\Template\NodeBase $parameters
);

Вызывается перед расчетом. Результат будет передан методу [link=1761113]FunctionBase::calculate[/link]. Нестатический метод.

Параметры

Параметр | Описание | Версия
$entity | Сущность. |
$parameters | Подготовленный и обработанный список параметров. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


FunctionConcat

FunctionConcat - класс для работы с функцией concat.

Методы класса

Метод | Описание | С версии
calculate | Вызывается методом [link=1775927]Engine::process[/link] для обработки вызова функции concat. | 14.0.0


calculate

string public
\Bitrix\Iblock\Template\Functions\FunctionConcat::calculate(
 array $parameters
);

Вызывается методом [link=1775927]Engine::process[/link] для обработки вызова функции concat. Нестатический метод.

Параметры

Параметр | Описание | Версия
$parameters | Массив параметров функции. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


FunctionContrast

FunctionContrast - класс для работы с функцией contrast.

Методы класса

Метод | Описание | С версии
calculate | Вызывается методом Engine::process для обработки вызова функции contrast. | 14.0.0


calculate

string public
\Bitrix\Iblock\Template\Functions\FunctionContrast::calculate(
 array $parameters
);

Вызывается методом [link=1775927]Engine::process[/link] для обработки вызова функции contrast. Нестатический метод.

Параметры

Параметр | Описание | Версия
$parameters | Массив параметров функции. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


FunctionDistinct

FunctionDistinct - класс для работы с функцией distinct.

Методы класса

Метод | Описание | С версии
calculate | Вызывается методом Engine::process для обработки вызова функции distinct. | 14.0.0


calculate

string public
\Bitrix\Iblock\Template\Functions\FunctionDistinct::calculate(
 array $parameters
);

Вызывается методом [link=1775927]Engine::process[/link] для обработки вызова функции distinct. Нестатический метод.

Параметры

Параметр | Описание | Версия
$parameters | Массив параметров функции. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


FunctionLimit

FunctionLimit - класс для работы с функцией limit.

Методы класса

Метод | Описание | С версии
calculate | Вызывается методом Engine::process для обработки вызова функции limit. | 14.0.0


calculate

string public
\Bitrix\Iblock\Template\Functions\FunctionLimit::calculate(
 array $parameters
);

Вызывается методом [link=1775927]Engine::process[/link] для обработки вызова функции limit. Нестатический метод.

Параметры

Параметр | Описание | Версия
$parameters | Массив параметров функции. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


FunctionLower

FunctionLower - класс для работы с функцией lower.

Методы класса

Метод | Описание | С версии
calculate | Вызывается методом Engine::process для обработки вызова функции lower. | 14.0.0


calculate

string public
\Bitrix\Iblock\Template\Functions\FunctionLower::calculate(
 array $parameters
);

Вызывается методом [link=1775927]Engine::process[/link] для обработки вызова функции lower. Нестатический метод.

Параметры

Параметр | Описание | Версия
$parameters | Массив параметров функции. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


FunctionMax

FunctionMax - класс для работы с функцией max.

Методы класса

Метод | Описание | С версии
calculate | Вызывается методом Engine::process для обработки вызова функции max. | 14.0.0


calculate

string public
\Bitrix\Iblock\Template\Functions\FunctionMax::calculate(
 array $parameters
);

Вызывается методом [link=1775927]Engine::process[/link] для обработки вызова функции max. Нестатический метод.

Параметры

Параметр | Описание | Версия
$parameters | Массив параметров функции. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


FunctionMin

FunctionMin - класс для работы с функцией min.

Методы класса

Метод | Описание | С версии
calculate | Вызывается методом Engine::process для обработки вызова функции min. | 14.0.0


calculate

string public
\Bitrix\Iblock\Template\Functions\FunctionMin::calculate(
 array $parameters
);

Вызывается методом [link=1775927]Engine::process[/link] для обработки вызова функции min. Нестатический метод.

Параметры

Параметр | Описание | Версия
$parameters | Массив параметров функции. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


FunctionTranslit

FunctionTranslit - класс для работы с функцией translit.

Методы класса

Метод | Описание | С версии
calculate | Вызывается методом Engine::process для обработки вызова функции translit. | 14.0.0


calculate

string public
\Bitrix\Iblock\Template\Functions\FunctionTranslit::calculate(
 array $parameters
);

Вызывается методом [link=1775927]Engine::process[/link] для обработки вызова функции translit. Нестатический метод.

Параметры

Параметр | Описание | Версия
$parameters | Массив параметров функции. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


FunctionUpper

FunctionUpper - класс для работы с функцией upper.

Методы класса

Метод | Описание | С версии
calculate | Вызывается методом Engine::process для обработки вызова функции upper. | 14.0.0


calculate

string public
\Bitrix\Iblock\Template\Functions\FunctionUpper::calculate(
 array $parameters
);

Вызывается методом [link=1775927]Engine::process[/link] для обработки вызова функции upper. Нестатический метод.

Параметры

Параметр | Описание | Версия
$parameters | Массив параметров функции. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Helper

Helper - вспомогательный класс для работы с шаблонами SEO свойств.

Методы класса

Метод | Описание | С версии
convertArrayToModifiers | Метод возвращает TEMPLATE вместе с закодированными и присоединенными модификаторами. | 14.0.0
convertModifiersToArray | Метод возвращает шаблон $template с дополнительным описанием. Поле TEMPLATE возвращается без модификаторов, а каждый модификатор возвращается в отдельном поле. | 14.0.0
makeFileName | Метод возвращает имя файла, отформатированное с помощью шаблона. | 14.0.0
splitModifiers | Метод возвращает массив модификаторов, если таковые найдены. | 14.0.0
splitTemplate | Метод возвращает массив из двух элементов: первый - с шаблоном, второй - с дополнительными модификаторами. | 14.0.0


convertArrayToModifiers

string public static
\Bitrix\Iblock\Template\Helper::convertArrayToModifiers(
 \Bitrix\Iblock\Template\array[string]string $template
);

Метод возвращает TEMPLATE вместе с закодированными и присоединенными модификаторами. Метод статический.

Параметры

Параметр | Описание | Версия
$template | Информация о шаблоне в том виде, в котором она приходит из базы данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


convertModifiersToArray

\Bitrix\Iblock\Template\array[string]string public static
\Bitrix\Iblock\Template\Helper::convertModifiersToArray(
 \Bitrix\Iblock\Template\array[string]string $template = null
);

Метод возвращает шаблон $template с дополнительным описанием. Поле TEMPLATE возвращается без модификаторов, а каждый модификатор возвращается в отдельном поле. Метод статический.

Параметры

Параметр | Описание | Версия
$template | Информация о шаблоне в том виде, в котором она приходит из базы данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


makeFileName

string public static
\Bitrix\Iblock\Template\Helper::makeFileName(
 \Bitrix\Iblock\InheritedProperty\BaseTemplate $ipropTemplates,
 string $templateName,
 array $fields,
 array $file
);

Метод возвращает имя файла, отформатированное с помощью шаблона. Метод статический.

Параметры

Параметр | Описание | Версия
$ipropTemplates | Шаблоны для поиска. |
$templateName | Название шаблона, выбираемого из $ipropTemplates. |
$fields | Массив полей для обработки шаблона. |
$file | Массив содержит информацию о файле в формате, определяемом с помощью $ _FILES. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


splitModifiers

array public static
\Bitrix\Iblock\Template\Helper::splitModifiers(
 string $modifiers
);

Метод возвращает массив модификаторов, если таковые найдены. Метод статический.

Параметры

Параметр | Описание | Версия
$modifiers | Строка модификаторов. Например: lt-. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


splitTemplate

array public static
\Bitrix\Iblock\Template\Helper::splitTemplate(
 string $template
);

Метод возвращает массив из двух элементов: первый - с шаблоном, второй - с дополнительными модификаторами. Метод статический.

Параметры

Параметр | Описание | Версия
$template | Строка шаблона. Например: {=this.name}/lt-. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


NodeBase

NodeBase - базовый класс, отвечающий за логику преобразования данных в значения наследуемых свойств.

Методы класса

Метод | Описание | С версии
process | Метод преобразует внутренние данные в значения наследуемых свойств. Возвращаемое значение - строка или массив строк. | 14.0.0


process

string public
\Bitrix\Iblock\Template\NodeBase::process(
 \Bitrix\Iblock\Template\Entity\Base $entity
);

Метод преобразует внутренние данные в значения наследуемых свойств. Возвращаемое значение - строка или массив строк. Нестатический метод.

Параметры

Параметр | Описание | Версия
$entity | Устанавливает сущность для обработки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


NodeEntityField

NodeEntityField - класс отвечает за логику преобразования данных полей сущности в значения наследуемых свойств.

Методы класса

Метод | Описание | С версии
process | Вызывает метод resolve для сущности $entity. В случае успеха возвращает значение поля, в противном случае - пустую строку. | 14.0.0
Конструктор NodeEntityField | Конструктор инициализирует объект класса. $entityName и $entityField не чувствительны к регистру. | 14.0.0


process

string public
\Bitrix\Iblock\Template\NodeEntityField::process(
 \Bitrix\Iblock\Template\Entity\Base $entity
);

Вызывает метод resolve для сущности $entity. В случае успеха возвращает значение поля, в противном случае - пустую строку. Нестатический метод.

Параметры

Параметр | Описание | Версия
$entity | Устанавливает сущность для обработки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор NodeEntityField

 public
\Bitrix\Iblock\Template\NodeEntityField::__construct(
 string $entityField = ""
);

Конструктор инициализирует объект класса. $entityName и $entityField не чувствительны к регистру.

Параметры

Параметр | Описание | Версия
$entityField | Поле сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


NodeFunction

NodeFunction - класс отвечает за логику работы функций наследуемых свойств.

Методы класса

Метод | Описание | С версии
addParameter | Метод добавляет новые параметры в вызов функции. | 14.0.0
process | Использует класс Functions\Fabric для создания экземпляра объекта функции по ее имени. В случае успеха вызывает метод onPrepareParameters и затем метод calculate. В противном случае возвращает пустую строку. | 14.0.0
Конструктор NodeFunction | Конструктор инициализирует объект функции. | 14.0.0


addParameter

void public
\Bitrix\Iblock\Template\NodeFunction::addParameter(
 \Bitrix\Iblock\Template\NodeBase $parameter
);

Метод добавляет новые параметры в вызов функции. Нестатический метод.

Параметры

Параметр | Описание | Версия
$parameter | Новые параметры для добавления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


process

string public
\Bitrix\Iblock\Template\NodeFunction::process(
 \Bitrix\Iblock\Template\Entity\Base $entity
);

Использует класс Functions\Fabric для создания экземпляра объекта функции по ее имени. В случае успеха вызывает метод onPrepareParameters и затем метод calculate. В противном случае возвращает пустую строку. Нестатический метод.

Параметры

Параметр | Описание | Версия
$entity | Устанавливает сущность для обработки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор NodeFunction

 public
\Bitrix\Iblock\Template\NodeFunction::__construct(
 string $functionName = ""
);

Конструктор инициализирует объект функции.

Параметры

Параметр | Описание | Версия
$functionName | Название функции (без учета регистра). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


NodeRoot

NodeRoot - класс отвечает за логику преобразования данных дочерних сущностей.

Методы класса

Метод | Описание | С версии
addChild | Метод дописывает дочернюю сущность в коллекцию дочерних сущностей. | 14.0.0
process | Вызывает метод process для каждой дочерней сущности. Возвращает конкатенацию их результатов. | 14.0.0
setModifiers | Метод устанавливает модификаторы, которые будут использоваться на последней стадии обработки шаблона. | 14.0.0


addChild

void public
\Bitrix\Iblock\Template\NodeRoot::addChild(
 \Bitrix\Iblock\Template\NodeBase $child
);

Метод дописывает дочернюю сущность в коллекцию дочерних сущностей. Нестатический метод.

Параметры

Параметр | Описание | Версия
$child | Объект, который будет добавлен как дочерняя сущность. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


process

string public
\Bitrix\Iblock\Template\NodeRoot::process(
 \Bitrix\Iblock\Template\Entity\Base $entity
);

Вызывает метод process для каждой дочерней сущности. Возвращает конкатенацию их результатов. Нестатический метод.

Параметры

Параметр | Описание | Версия
$entity | Устанавливает сущность для обработки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setModifiers

void public
\Bitrix\Iblock\Template\NodeRoot::setModifiers(
 string $modifiers
);

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

Параметры

Параметр | Описание | Версия
$modifiers | Строка, содержащая модификаторы. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


NodeText

NodeText - класс отвечает за логику работы с текстом в наследуемых свойствах.

Методы класса

Метод | Описание | С версии
process | Метод возвращает текстовое содержимое. Результат - строка или массив строк. | 14.0.0
Конструктор NodeText | Конструктор устанавливает текстовое содержимое в параметр $content. | 14.0.0


process

string public
\Bitrix\Iblock\Template\NodeText::process(
 \Bitrix\Iblock\Template\Entity\Base $entity
);

Метод возвращает текстовое содержимое. Результат - строка или массив строк. Нестатический метод.

Параметры

Параметр | Описание | Версия
$entity | Устанавливается сущность для обработки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор NodeText

 public
\Bitrix\Iblock\Template\NodeText::__construct(
 string $content = ""
);

Конструктор устанавливает текстовое содержимое в параметр $content.

Параметры

Параметр | Описание | Версия
$content | Текст, который должен быть сохранен. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


TypeLanguageTable

TypeLanguageTable - класс для работы с таблицей языковых параметров типов инфоблоков.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
deleteByIblockTypeId | Метод удаляет языковые параметры типа инфоблоков из базы данных. | 15.0.1
getFilePath | Метод возвращает путь к файлу, содержащему определение класса. | 14.0.1
getMap | Метод возвращает список полей для таблицы языковых параметров типов инфоблоков. | 14.0.1
getTableName | Метод возвращает название таблицы языковых параметров типов инфоблоков в базе данных. | 14.0.1
validateElementsName | Метод возвращает валидатор для поля ELEMENTS_NAME. | 14.0.3
validateIblockTypeId | Метод возвращает валидатор для поля IBLOCK_TYPE_ID. | 14.0.3
validateLanguageId | Метод возвращает валидатор для поля LANGUAGE_ID. | 14.0.3
validateName | Метод возвращает валидатор для поля NAME. | 14.0.3
validateSectionsName | Метод возвращает валидатор для поля SECTIONS_NAME. | 14.0.3


deleteByIblockTypeId

\Bitrix\Main\Entity\EventResult public static
\Bitrix\Iblock\TypeLanguageTable::deleteByIblockTypeId(
 string $iblockTypeId
);

Метод удаляет языковые сообщения для типа инфоблоков из базы данных. Метод статический.

Параметры

Параметр | Описание | Версия
$iblockTypeId | Идентификатор типа инфоблоков. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFilePath

string public static
\Bitrix\Iblock\TypeLanguageTable::getFilePath(
);

Метод возвращает путь к файлу, содержащему определение класса. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Iblock\TypeLanguageTable::getMap(
);

Метод возвращает список полей для таблицы языковых параметров типов инфоблоков. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Iblock\TypeLanguageTable::getTableName(
);

Метод возвращает название таблицы языковых параметров типов инфоблоков в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateElementsName

array public static
\Bitrix\Iblock\TypeLanguageTable::validateElementsName(
);

Метод возвращает валидатор для поля ELEMENTS_NAME (название элементов информационных блоков). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateIblockTypeId

array public static
\Bitrix\Iblock\TypeLanguageTable::validateIblockTypeId(
);

Метод возвращает валидатор для поля IBLOCK_TYPE_ID (идентификатор типа инфоблоков). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateLanguageId

array public static
\Bitrix\Iblock\TypeLanguageTable::validateLanguageId(
);

Метод возвращает валидатор для поля LANGUAGE_ID (код языка параметров). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateName

array public static
\Bitrix\Iblock\TypeLanguageTable::validateName(
);

Метод возвращает валидатор для поля NAME (название типа информационных блоков). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateSectionsName

array public static
\Bitrix\Iblock\TypeLanguageTable::validateSectionsName(
);

Метод возвращает валидатор для поля SECTIONS_NAME (название разделов информационных блоков). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


TypeTable

TypeTable - класс для работы с таблицей типов информационных блоков.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getFilePath | Метод возвращает путь к файлу, содержащему определение класса. | 14.0.1
getMap | Метод возвращает список полей для таблицы типов инфоблоков. | 14.0.1
getTableName | Метод возвращает название таблицы типов инфоблоков в базе данных. | 14.0.1
onDelete | Обработчик удаляет информационные блоки заданного типа и языковые сообщения из базы данных. | 15.0.1
validateEditFileAfter | Метод возвращает валидатор для поля EDIT_FILE_AFTER (полный путь к файлу-обработчику вывода интерфейса редактирования элемента). | 14.0.3
validateEditFileBefore | Метод возвращает валидатор для поля EDIT_FILE_BEFORE (полный путь к файлу-обработчику массива полей элемента перед сохранением на странице редактирования элемента). | 14.0.3
validateId | Метод возвращает валидатор для поля ID (идентификатор типа инфоблоков). | 14.0.3


getFilePath

string public static
\Bitrix\Iblock\TypeTable::getFilePath(
);

Метод возвращает путь к файлу, содержащему определение класса. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Iblock\TypeTable::getMap(
);

Метод возвращает список полей для таблицы типов инфоблоков. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Iblock\TypeTable::getTableName(
);

Метод возвращает название таблицы типов инфоблоков в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onDelete

\Bitrix\Main\Entity\EventResult public static
\Bitrix\Iblock\TypeTable::onDelete(
 \Bitrix\Main\Entity\Event $event
);

Обработчик удаляет информационные блоки заданного типа и языковые сообщения из базы данных. Метод статический.

Параметры

Параметр | Описание | Версия
$event | Содержит информацию о типе, инфоблоки которого будут удалены. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateEditFileAfter

array public static
\Bitrix\Iblock\TypeTable::validateEditFileAfter(
);

Метод возвращает валидатор для поля EDIT_FILE_AFTER (полный путь к файлу-обработчику вывода интерфейса редактирования элемента). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateEditFileBefore

array public static
\Bitrix\Iblock\TypeTable::validateEditFileBefore(
);

Метод возвращает валидатор для поля EDIT_FILE_BEFORE (полный путь к файлу-обработчику массива полей элемента перед сохранением на странице редактирования элемента). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateId

array public static
\Bitrix\Iblock\TypeTable::validateId(
);

Метод возвращает валидатор для поля ID (идентификатор типа инфоблоков). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


REST API для инфоблоков

REST API для инфоблоков доступен с версии 20.5.0 модуля Информационные блоки.

Общая концепция работы описана на странице Концепция.

В настоящий момент работает Read-only режим доступа к элементам инфоблока. Доступны следующие методы получения и фильтрации записей:

Метод | Описание
iblock.Element.get | Получение элемента инфоблока по его идентификатору ID.
iblock.Element.list | Получение элементов инфоблока по заданному фильтру.

Также доступна своя реализация контроллера: как создание полностью своего контроллера, так и наследование от штатного с переопределением нужных методов.


Концепция

REST API для инфоблоков доступен с версии 20.5.0 модуля Информационные блоки.

Для доступа к данным инфоблоков через REST за основу взята [dw]Интеграция с ORM[/dw][di]С версии 19.0.0 модуля iblock добавлена поддержка ORM при работе с элементами инфоблоков.

Подробнее в курсе Разработчик Bitrix Framework [image].[/di]. А именно концепция, когда один инфоблок - это одна самостоятельная сущность ORM, а элемент инфоблока - это запись (объект) сущности.

Запрос REST всегда производится в контексте одного инфоблока с указанием iblockId.

Примечание: Поддерживаются обе версии инфоблоков - 1.0 и 2.0.

По умолчанию REST выключен для всех инфоблоков. Для его включения необходимо в форме редактирования конкретного инфоблока в административном интерфейсе (Контент > Инфоблоки > Типы инфоблоков > [название_типа] > [название_инфоблока] ) установить галочку для опции Включен доступ через REST:

Убедитесь, что заполнено поле Символьный код API (API_CODE) - его наличие необходимо для работы механизма ORM.

Логика работы с записями реализована на механизме AJAX-контроллеров [image]. По умолчанию для всех инфоблоков срабатывает контроллер \Bitrix\Iblock\Controller\DefaultElement.

[link=13178038]Подстановка своей реализации[/link] методов возможна через [dw]Сервис локатор[/dw][di]Сервис локатор (локатор служб) - это шаблон проектирования для удобной работы с сервисами приложения.

Подробнее в курсе Разработчик Bitrix Framework [image].[/di].

В настоящий момент работает Read-only режим доступа к элементам инфоблока. Доступны следующие методы получения и фильтрации записей:

Метод | Описание
iblock.element.get | Получение элемента инфоблока по его идентификатору ID.
iblock.element.list | Получение элементов инфоблока по заданному фильтру.


iblock.Element.list

iblock.Element.list(iblockId, select, filter, order, pageNavigation)

Метод получает элементы инфоблока по заданному фильтру.

Параметры

Параметр | Описание
iblockId | Идентификатор ID инфоблока. Обязательный параметр.
select | Набор полей и свойств для выборки. По умолчанию выбираются поля, перечисленные в методе getElementEntityAllowedList контроллера. Если задать select, то будут выбраны указанные в нем поля/свойства и ID.
filter | Массив с параметрами фильтрации, принимаемый методом \Bitrix\Main\ORM\Query\Filter\ConditionTree::createFromArray. Формат такого фильтра описан в курсе Разработчик Bitrix Framework [image] .
order | Массив сортировки формата ['FIELD1' => 'ASC', 'FIELD2' => 'DESC'].
pageNavigation | Штатная постраничка REST на основе \Bitrix\Main\UI\PageNavigation [image] .

Формат результата:

{
    "result":
    {
        "elements":
        [
            {
                "ID":123,
                "NAME":"...",
                "SOME_PROPERTY":
                [
                    {
                        "ID":456,
                        "VALUE":"...",
                        "DESCRIPTION":""
                    },
                ]
            }
        ]
    },
    "total":1
}


iblock.Element.get

iblock.Element.get(iblockId, elementId, select)

Метод получает элемент инфоблока по его идентификатору ID.

Параметры

Параметр | Описание
iblockId | Идентификатор ID инфоблока. Обязательный параметр.
elementId | Идентификатор ID элемента. Обязательный параметр.
select | Набор полей и свойств для выборки. По умолчанию выбираются поля, перечисленные в методе getElementEntityAllowedList контроллера. Если задать select, то будут выбраны указанные в нем поля/свойства и ID.

Формат результата

{
    "result":
    {
        "element":
        {
            "ID":123,
            "NAME":"...",
            "SOME_PROPERTY":
            [
                {
                    "ID"quot;:456,
                    "VALUE":"...",
                    "DESCRIPTION":""
                },
            ]
        }
    }
}


Своя реализация контроллера

Штатный REST контроллер инфоблока \Bitrix\Iblock\Controller\DefaultElement включает в себя следующие методы:

Метод | Описание
getElementEntityAllowedList | Разрешенные поля сущности инфоблока \Bitrix\Iblock\ElementTable::getMap . Они же выбираются по умолчанию, если в запросе не указан select.
getAllowedList | Список разрешенных полей для выборки. По умолчанию разрешены поля инфоблока из метода getElementEntityAllowedList и все свойства инфоблока. Если вы хотите использовать другие поля и особенно отношения, то необходимо перечислить здесь все идентификаторы.
getAction | Реализует выборку одного элемента по ID.
listAction | Реализует выборку нескольких элементов.

Допускается как создание полностью своего контроллера, так и наследование от штатного с переопределением нужных методов.

После описания своего класса контроллера необходимо зарегистрировать его в [dw]Сервис локаторе[/dw][di]Сервис локатор (локатор служб) - это шаблон проектирования для удобной работы с сервисами приложения.

Подробнее в курсе Разработчик Bitrix Framework [image].[/di] с идентификатором iblock.element.{IBLOCK_API_CODE}.rest.controller, где {IBLOCK_API_CODE} - значение Символьного кода API (API_CODE) вашего инфоблока. Например: iblock.element.OfficialNews.rest.controller.

По умолчанию контроллеры работают только в контексте REST. С версии 20.100.200 доступен публичный неограниченный доступ к данным инфоблока через механизм AJAX-контроллеров. Для этого следует очистить все префильтры:

class MyElement extends \Bitrix\Iblock\Controller\DefaultElement
{
    protected function getDefaultPreFilters()
    {
        return [];
    }
}


Календарь

\Bitrix\Calendar - пространство имен модуля Календарь.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('calendar');

Класс, пространство имен | Описание
Integration | Пространство содержит классы для интеграции календаря событий с Живой Лентой, а также с модулями системы.
PushTable | Таблица, содержащая описание мобильных устройств, для дальнейшей отправки по ней push-уведомлений.
Sync | Пространство содержит классы для текущих и будущих синхронизаций с различными внешними системами и сервисами (например, Google Calendar).
Update | Пространство содержит служебные классы для обновления модуля.


Календарь в старом ядре

Отправить отзыв по этому разделу
Пространство имён Bitrix>Календарь>Календарь в старом ядре

Календарь::Календарь в старом ядре

Константы

Список констант модуля Календарь в старом ядре.

Константа | Проверяется | С версии
BX_COMP_MANAGED_CACHE | CCalendarLiveFeed::FormatEvent | 14.0.0
BX_UTF | CCalendarSect::FormatICal |
OLD_OUTLOOK_VERSION | CCalendarWebService::GetListItemChangesSinceToken |
SITE_SERVER_NAME | CCalendar::InitCalDavParams |

События

Список событий модуля Календарь в старом ядре.

Событие | Вызывается | Метод | С версии
OnAfterBuildSceleton | в момент вывода на страницу базовой верстки календаря. | CCalendarSceleton::Build | 11.0.0
OnAfterCalendarEventDelete | после удаления события календаря. | CCalendarEvent::Delete | 11.5.6
OnAfterCalendarEventEdit | после изменения события календаря. | CCalendarEvent::Edit | 12.0.2
OnAfterCalendarEventUserFieldsUpdate | после обновления пользовательских полей календаря. | CCalendarEvent::UpdateUserFields | 12.0.2
OnBeforeBuildSceleton | перед выводом на страницу базовой верстки календаря. | CCalendarSceleton::Build | 11.0.0
OnBeforeCalendarEventDelete | перед удалением события календаря. | CCalendarEvent::Delete | 11.5.6
OnRemindEvent | в момент отсылки напоминания о событии календаря. | CCalendar::ReminderAgent | 11.0.0
OnSendInvitationMessage | при отсылке ряда уведомлений календаря. | CCalendar::SendMessage | 11.0.0


Integration

Пространство имен \Bitrix\Calendar\Integration содержит подпространства и классы для интеграции календаря событий с Живой Лентой, а также с модулями системы.

Класс, пространство имен | Описание
SocialNetwork | Класс для интеграции событий календаря с сообщениями Живой Ленты (ЖЛ).


SocialNetwork

Пространство имен \Bitrix\Calendar\Integration\SocialNetwork содержит класс для интеграции событий календаря с сообщениями Живой Ленты (ЖЛ).

Класс | Описание
Log | Класс для системы индексации в полнотекстовом поиске сообщений ЖЛ.


Log

Log - класс для системы индексации в полнотекстовом поиске сообщений Живой Ленты (ЖЛ).

Методы класса

Метод | Описание | С версии
[link=7161403]getEventIdList[/link] | Метод возвращает значение, которое используется в поле EVENT_ID сообщений ЖЛ, соответствующих событиям календаря (т.е. возвращает строку 'calendar'). | 17.5.0
[link=7161407]onIndexGetContent [/link] | Метод возвращает содержимое лога индексации. | 17.5.0


getEventIdList

array public static
\Bitrix\Calendar\Integration\SocialNetwork\Log::getEventIdList(
 void
);

Метод возвращает значение, которое используется в поле EVENT_ID сообщений Живой Ленты, соответствующих событиям календаря (т.е. возвращает строку 'calendar'). Метод статический.

Параметры

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onIndexGetContent

\Bitrix\Main\EventResult public static
\Bitrix\Calendar\Integration\SocialNetwork\Log::onIndexGetContent(
 \Bitrix\Main\Event $event
);

Метод возвращает содержимое лога индексации. Метод статический.

Параметры

Параметр | Описание | Версия
$event | Событие из LogIndex::setIndex(). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


PushTable

PushTable - таблица, содержащая описание мобильных устройств, для дальнейшей отправки по ней push-уведомлений. .

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
[link=7161597]getMap[/link] | Метод возвращает список полей таблицы пуш-уведомлений. | 17.5.5
[link=7161593]getTableName[/link] | Метод возвращает название таблицы пуш-уведомлений. | 17.5.5
[link=7161605]validateChannelId[/link] | Метод возвращает валидатор для поля CHANNEL_ID. | 17.5.5
[link=7161601]validateEntityType[/link] | Метод возвращает валидатор для поля ENTITY_TYPE. | 17.5.5
[link=7161609]validateResourceId[/link] | Метод возвращает валидатор для поля RESOURCE_ID. | 17.5.5


getMap

array public static
\Bitrix\Calendar\PushTable::getMap(
);

Метод возвращает список полей таблицы пуш-уведомлений.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Calendar\PushTable::getTableName(
);

Метод возвращает название таблицы пуш-уведомлений. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateChannelId

array public static
\Bitrix\Calendar\PushTable::validateChannelId(
);

Метод возвращает валидатор для поля CHANNEL_ID. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateEntityType

array public static
\Bitrix\Calendar\PushTable::validateEntityType(
);

Метод возвращает валидатор для поля ENTITY_TYPE. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateResourceId

array public static
\Bitrix\Calendar\PushTable::validateResourceId(
);

Метод возвращает валидатор для поля RESOURCE_ID. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Sync

Пространство имен \Bitrix\Calendar\Sync содержит классы для текущих и будущих синхронизаций с различными внешними системами и сервисами (например, Google Calendar).

Класс | Описание
GoogleApiPush | Класс API для работы с push-уведомлениями.
GoogleApiSync | Класс API для синхронизации календаря с гугл-календарем.
GoogleApiTransport | Класс API для транспорта гугл-календарей.


GoogleApiPush

GoogleApiPush - класс API для работы с push-уведомлениями.

Методы класса

Метод | Описание | С версии
[link=7161575]createWatchChannels[/link] | Метод создает и обновляет каналы просмотра для соединений. | 17.5.5
[link=7161571]renewWatchChannels[/link] | Метод проверяет соединение и возможность создания push-канала. | 17.5.5
[link=7161579]clearPushChannels[/link] | Метод останавливает все агенты push-каналов. | 17.5.5
[link=7161583]processPush[/link] | Метод синхронизирует разделы и соединения при приеме push-сигнала. | 17.5.5


clearPushChannels

null|string public static
\Bitrix\Calendar\Sync\GoogleApiPush::clearPushChannels(
);

Метод останавливает все агенты push-каналов. Метод статический.

Рекомендуемый интервал - 60 секунд. Ответ от google не требуется.

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createWatchChannels

string public static
\Bitrix\Calendar\Sync\GoogleApiPush::createWatchChannels(
 integer $start
);

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

Рекомендуемый интервал 1 час, для включения push рекомендуемый интервал 3 минуты.

Параметры

Параметр | Описание | Версия
$start | Время старта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


processPush

string public static
\Bitrix\Calendar\Sync\GoogleApiPush::processPush(
);

Метод синхронизирует разделы и соединения при приеме push-сигнала.

Рекомендуемый интервал между агентами 3 минуты.

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


renewWatchChannels

 public static
\Bitrix\Calendar\Sync\GoogleApiPush::renewWatchChannels(
);

Метод проверяет соединение и возможность создания push-канала. Метод статический.

Рекомендуемый интервал агента 4 часа.

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


GoogleApiSync

GoogleApiSync - класс для синхронизации календаря с гугл-календарем.

Методы класса

Метод | Описание | С версии
[link=7161455]__construct[/link] | Конструктор класса GoogleApiSync. | 17.5.4
[link=7161463]getTransportErrors[/link] | Метод возвращает код ошибки подключения в сообщении. | 17.5.4
[link=7161475]getPrimaryId[/link] | Метод получает идентификатор основного календаря. | 17.5.4
[link=7161483]getSyncToken[/link] | Метод возвращает токен синхронизации списка календарей. | 17.5.4
[link=7161467]getCalendarItems[/link] | Метод получает список календарей Google. | 17.5.4
[link=7161471]getEvents[/link] | Метод получает список событий календаря Google. | 17.5.4
[link=7161487]deleteEvent[/link] | Метод удаляет событие из указанного календаря Google. | 17.5.4
[link=7161487]saveEvent[/link] | Метод публикует событие в календаре Google, возвращает поле iCalUid или "ложь". | 17.5.4
[link=7161491]testConnection[/link] | Метод проверяет возможность установления связи с API Google. | 17.5.7
[link=7161551]stopChannel[/link] | Метод закрывает канал просмотра и посылает в Google запрос остановки push-уведомлений. | 17.5.5
[link=7161555]startWatchCalendarList[/link] | Метод создает канал просмотра для подключения. | 17.5.5
[link=7161559]startWatchEventsChannel[/link] | Метод создает канал просмотра новых событий. | 17.5.5


__construct

 public
\Bitrix\Calendar\Sync\GoogleApiSync::__construct(
 integer $userId
);

Конструктор класса GoogleApiSync.

Параметры

Параметр | Описание | Версия
$userId | Массив пользовательских ID |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteEvent

array|mixed public
\Bitrix\Calendar\Sync\GoogleApiSync::deleteEvent(
  $eventId,
  $calendarId
);

Метод удаляет событие из указанного календаря Google. Метод нестатический.

Параметры

Параметр | Описание | Версия
$eventId | Идентификатор события. |
$calendarId | Идентификатор календаря. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCalendarItems

array public
\Bitrix\Calendar\Sync\GoogleApiSync::getCalendarItems(
 string $syncToken = ''
);

Метод получает список календарей Google. Метод нестатический.

Параметры

Параметр | Описание | Версия
$syncToken | Токен синхронизации. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEvents

array public
\Bitrix\Calendar\Sync\GoogleApiSync::getEvents(
 array $calendarData = array(),
 boolean $extIdAsKey = true,
 boolean $firstTry = true
);

Метод получает список событий календаря Google. Метод нестатический.

По умолчанию выбирается основной календарь.

Параметры

Параметр | Описание | Версия
$calendarData |  |
$extIdAsKey |  |
$firstTry |  | с версии 17.5.7

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPrimaryId

string public
\Bitrix\Calendar\Sync\GoogleApiSync::getPrimaryId(
);

Метод получает идентификатор основного (главного) календаря. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSyncToken

string public
\Bitrix\Calendar\Sync\GoogleApiSync::getSyncToken(
);

Метод возвращает токен синхронизации списка календарей. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTransportConnectionError

array public
\Bitrix\Calendar\Sync\GoogleApiSync::getTransportConnectionError(
);

Метод возвращает код ошибки подключения в сообщении. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTransportErrors

array public
\Bitrix\Calendar\Sync\GoogleApiSync::getTransportErrors(
);

Метод проверят, существуют ли ошибки транспорта. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


saveEvent

string public
\Bitrix\Calendar\Sync\GoogleApiSync::saveEvent(
  $eventData,
  $calendarId
);

Метод публикует событие в календаре Google, возвращает поле iCalUid или "ложь". Метод нестатический.

Параметры

Параметр | Описание | Версия
$eventData | Данные события. |
$calendarId | Идентификатор календаря. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


startWatchCalendarList

array public
\Bitrix\Calendar\Sync\GoogleApiSync::startWatchCalendarList(
  $name
);

Метод создает канал просмотра для подключения. Метод нестатический.

Параметры

Параметр | Описание | Версия
$name | Имя канала. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


startWatchEventsChannel

array|boolean public
\Bitrix\Calendar\Sync\GoogleApiSync::startWatchEventsChannel(
 string $calendarId = 'primary'
);

Метод создает канал просмотра новых событий. Метод нестатический.

Параметры

Параметр | Описание | Версия
$calendarId | Идентификатор календаря. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


stopChannel

 public
\Bitrix\Calendar\Sync\GoogleApiSync::stopChannel(
  $channelId,
  $resourceId
);

Метод закрывает канал просмотра и посылает в Google запрос остановки push-уведомлений. Метод нестатический.

Параметры

Параметр | Описание | Версия
$channelId | Идентификатор канала. |
$resourceId |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


testConnection

boolean public
\Bitrix\Calendar\Sync\GoogleApiSync::testConnection(
);

Метод проверяет возможность установления связи с API Google. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


GoogleApiTransport

GoogleApiTransport - класс API для транспорта гугл-календарей.

Методы класса

Метод | Описание | С версии
[link=7161511]deleteEvent[/link] | Метод удаляет событие из календаря Гугл. |
[link=7161527]getColors[/link] | Метод получает кодировку цвета Гугл-календаря. |
[link=7161543]getErrorByCode[/link] | Метод получает одну ошибку с указанным кодом. |
[link=7161535]getErrors[/link] | Метод получает массив ошибок. |
[link=7161539]getErrorsByCode[/link] | Метод получает массив ошибок с указанным кодом. |
[link=7161531]getEvents[/link] | Метод получает список событий из календаря. |
[link=7161523]insertEvent[/link] | Метод создает событие в Гугл-календаре. |
[link=7161515]patchEvent[/link] | Метод обновляет только указанные поля события. |
[link=7161519]updateEvent[/link] | Метод обновляет все данные события в Гугл-календаре. |
[link=7161503]__construct[/link] | Конструктор класса GoogleApiTransport. |


__construct

 public
\Bitrix\Calendar\Sync\GoogleApiTransport::__construct(
 integer $userId
);

Конструктор класса GoogleApiTransport.

Параметры

Параметр | Описание | Версия
$userId | Массив пользовательских ID. |

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteEvent

array|mixed public
\Bitrix\Calendar\Sync\GoogleApiTransport::deleteEvent(
  $eventId,
  $calendarId
);

Метод удаляет событие из календаря Гугл. Метод нестатический.

Параметры

Параметр | Описание | Версия
$eventId | ID события |
$calendarId | ID календаря |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getColors

array|mixed public
\Bitrix\Calendar\Sync\GoogleApiTransport::getColors(
);

Метод получает кодировку цвета Гугл-календаря.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrorByCode

array public
\Bitrix\Calendar\Sync\GoogleApiTransport::getErrorByCode(
 string $code
);

Метод получает одну ошибку с указанным кодом.

Параметры

Параметр | Описание | Версия
$code | Код ошибки |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrors

array public
\Bitrix\Calendar\Sync\GoogleApiTransport::getErrors(
);

Метод получает массив ошибок. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrorsByCode

array public
\Bitrix\Calendar\Sync\GoogleApiTransport::getErrorsByCode(
 string $code
);

Метод получает массив ошибок с указанным кодом. Метод нестатический.

Параметры

Параметр | Описание | Версия
$code | Код ошибки |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEvents

array|mixed public
\Bitrix\Calendar\Sync\GoogleApiTransport::getEvents(
  $calendarId,
 string $syncToken
);

Метод получает список событий из календаря. Метод нестатический.

Параметры

Параметр | Описание | Версия
$calendarId | ID календаря |
$syncToken | Токен синхронизации |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


insertEvent

array|mixed public
\Bitrix\Calendar\Sync\GoogleApiTransport::insertEvent(
  $eventData,
  $calendarId
);

Метод создает событие в Гугл-календаре. Метод нестатический.

Параметры

Параметр | Описание | Версия
$eventData | Массив данных события |
$calendarId | ID календаря |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


patchEvent

array|mixed public
\Bitrix\Calendar\Sync\GoogleApiTransport::patchEvent(
  $patchData,
  $calendarId,
  $eventId
);

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

Параметры

Параметр | Описание | Версия
$patchData | Данные обновления |
$calendarId | ID календаря |
$eventId | ID события |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


updateEvent

array|mixed public
\Bitrix\Calendar\Sync\GoogleApiTransport::updateEvent(
  $eventData,
  $calendarId,
  $eventId
);

Метод обновляет все данные события в Гугл-календаре. Метод нестатический.

Параметры

Параметр | Описание | Версия
$eventData | Данные события |
$calendarId | ID календаря |
$eventId | ID события |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Update

Пространство имен \Bitrix\Calendar\Update содержит служебные классы для обновления модуля.

Класс | Описание
MigrateFromCaldav | Класс содержит методы для миграции из CalDav..


MigrateFromCaldav

MigrateFromCaldav - класс содержит методы для миграции из CalDav.

Методы класса

Метод | Описание | С версии
[link=7161443]doMigration[/link] | Метод-агент для целей миграции. | 17.5.4


doMigration

null|string public static
\Bitrix\Calendar\Update\MigrateFromCaldav::doMigration(
);

Метод-агент для целей миграции. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конверсия

Модуль Конверсия позволяет не только вычислить конверсию для любого выбранного целевого действия, но и получить отчет, позволяющий понять, что влияет на ее значение и как ее можно улучшить.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('conversion');

Класс | Описание | С версии
Internals | Пространство имён содержит классы для работы с основными сущностями модуля. | 15.5.1
DayContext | Класс для работы с уникальным ежедневным контекстом. |
MobileDetect | Класс для работы с контекстом мобильных устройств. |

Смотрите также

  • Конверсия (API для старой версии ядра)
  • Конверсия (учебный курс)


Конверсия в старом ядре

Отправить отзыв по этому разделу
Пространство имён Bitrix>Конверсия>Конверсия в старом ядре

Конверсия::Конверсия в старом ядре

События

Список событий модуля Конверсия в старом ядре

Событие | Вызывается | С версии
OnGetCounterTypes | При опросе некоторого счетчика | 15.5.1
OnGetAttributeTypes | При опросе возможных атрибутов | 15.5.1
OnGetAttributeGroupTypes | При опросе группы атрибутов | 15.5.1
OnSetDayContextAttributes | При опросе, к каким атрибутам принадлежит пользователь Каждому пользователю при его первом хите присваивается Контекст. По сути это уникальный набор атрибутов для пользователя, причем из каждой группы может быть установлен только один атрибут. При этом после 00:00 каждого дня контекст пользователя сбрасывается и пересчитывается заново при его первом входе. | 15.5.1


DayContext

DayContext - класс для работы с уникальным ежедневным контекстом.

Метод | Описание | С версии
addCounter | Добавляет значение к счетчику. |
addCurrencyCounter | Добавляет значение (в валюте) к счетчику. |
addDayCounter | Добавляет значение к счетчику (раз в день одному человеку). |
attachEntityItem | Добавляет сущность к контексту. |
getEntityItemInstance | Метод получает контекст, закрепленный за сущностью. |
getInstance | Возвращает экземпляр уникального дневного контекста. |


addCounter

 public
\Bitrix\Conversion\DayContext::addCounter(
 string $name,
 integer|float $value
);

Нестатический метод добавляет значение к счетчику. Если счетчик не существует, то создается.

Параметры

Параметр | Описание | Версия
$name | Имя счетчика. |
$value | Добавляемое значение. |


addCurrencyCounter

 public
\Bitrix\Conversion\DayContext::addCurrencyCounter(
 string $name,
 integer|float|string $value,
 string $currency
);

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

Параметры

Параметр | Описание | Версия
$name | Имя счетчика. |
$value | Числовое значение. |
$currency | Код валюты (например, RUB). |


addDayCounter

 public
\Bitrix\Conversion\DayContext::addDayCounter(
 string $name,
 integer|float $value
);

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

Параметры

Параметр | Описание | Версия
$name | Имя счетчика. |
$value | Добавляемое значение. |


attachEntityItem

 public
\Bitrix\Conversion\DayContext::attachEntityItem(
 string $entity,
 string|integer $item
);

Нестатический метод добавляет сущность к контексту.

Параметры

Параметр | Описание | Версия
$entity | Тип сущности. |
$item | ID сущности. |

Исключения

  • ArgumentTypeException (Bitrix\Main\ArgumentTypeException)


getEntityItemInstance

\Bitrix\Conversion\DayContext public static
\Bitrix\Conversion\DayContext::getEntityItemInstance(
  $entity,
  $item
);

Статический метод получает контекст, закрепленный за сущностью.

Параметры

Параметр | Описание | Версия
$entity | Тип сущности. |
$item | ID сущности. |


getInstance

\Bitrix\Conversion\DayContext public static
\Bitrix\Conversion\DayContext::getInstance(
);

Статический метод возвращает экземпляр уникального дневного контекста.

Без параметров


Internals

Пространство имён содержит классы для работы с основными сущностями модуля.

Класс | Описание | С версии
BaseContext | Класс для работы с основными сущностями модуля. |


BaseContext

BaseContext - класс для работы с основными сущностями модуля.

Метод | Описание | С версии
addCounter | Добавляет значение к счетчику. |
setAttribute | Устанавливает атрибут со значением. |


addCounter

 public
\Bitrix\Conversion\Internals\BaseContext::addCounter(
 \Bitrix\Main\Type\Date $day,
 string $name,
 integer|float $value
);

Нестатический метод добавляет значение к счетчику. Если счетчик не создан, то создает и устанавливает значение. Сохраняет в базу данных.

Параметры

Параметр | Описание | Версия
$day | Дата. | 15.5.2
$name | Имя счетчика | 15.5.2
$value | Добавляемое значение. | 15.5.2

Исключения

  • ArgumentTypeException (Bitrix\Main\ArgumentTypeException)
  • SystemException (Bitrix\Main\SystemException)


setAttribute

 public
\Bitrix\Conversion\Internals\BaseContext::setAttribute(
 string $name,
 string|integer|float|null $value = null
);

Нестатический метод устанавливает атрибут со значением.

Параметры

Параметр | Описание | Версия
$name | Имя атрибута. |
$value | Значение атрибута. |

Исключения

  • ArgumentTypeException (Bitrix\Main\ArgumentTypeException)
  • SystemException (Bitrix\Main\SystemException)


MobileDetect

MobileDetect - класс для работы с контекстом мобильных устройств.

Метод | Описание | С версии
checkHttpHeadersForMobile | Проверяет HTTP-заголовки на признаки мобильных устройств. |
getBrowsers | Возвращает список известных браузеров. Конкретно, их User Agent. |
getHttpHeader | Извлекает определенный заголовок. |
getHttpHeaders | Возвращает HTTP-заголовки. |
getMobileDetectionRules | Метод получает правила обнаружения мобильных устройств. |
getMobileDetectionRulesExtended | Метод получает список правил обнаружения мобильных устройств и служебных программ. |
getOperatingSystems | Возвращает список мобильных операционных систем. |
getPhoneDevices | Возвращает список известных мобильных устройств. |
getProperties | Возвращает массив параметров. |
getRules | Возвращает текущий набор правил. |
getScriptVersion | Получает текущую версию скрипта. |
getTabletDevices | Возвращает список известных планшетных устройств. |
getUaHttpHeaders | Возвращает все возможные HTTP-заголовки, которые могут содержать строку User-Agent. |
getUserAgent | Извлекает User-Agent. |
getUserAgents | Таблица псевдонимов для метода getBrowsers(). |
getUtilities | Возвращает список известных служебных программ. |
is | Проверяет userAgent на наличии определенного свойства. |
[link=\Bitrix\Conversion\Internals\MobileDetect::isMobile]isMobile[/link] | Проверяет, является ли устройство мобильным телефоном. |
isTablet | Проверяет, является ли устройство планшетным компьютером. |
match | Метод сверяет пользовательские регулярные выражения со строкой User Agent. |
mobileGrade | Извлекает мобильную шкалу, используя константы self::MOBILE_GRADE_*. |
prepareVersionNo | Подготавливает номер версии. |
setDetectionType | Устанавливает один из типов обнаружения: self::DETECTION_TYPE_MOBILE или self::DETECTION_TYPE_EXTENDED. |
setHttpHeaders | Устанавливает HTTP-заголовки. |
setUserAgent | Устанавливает User-Agent на использование. |
version | Проверяет версию данного параметра в User-Agent. |
__call | Магический метод для перегрузки недоступных методов. |
Конструктор MobileDetect | Создает экземпляр класса. |


__call

mixed public
\Bitrix\Conversion\Internals\MobileDetect::__call(
 string $name,
 array $arguments
);

Магический метод для перегрузки недоступных методов.

Параметры

Параметр | Описание | Версия
$name | Имя вызываемого метода. |
$arguments | Представляет собой числовой массив, содержащий параметры, переданные в вызываемый метод $name. Например, если вызвать testM1(12, 17), то в $name будет 'testM1', а в $arguments — array(12, 17). |

Исключения

  • \Bitrix\Conversion\Internals\BadMethodCallException


checkHttpHeadersForMobile

boolean public
\Bitrix\Conversion\Internals\MobileDetect::checkHttpHeadersForMobile(
);

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

Без параметров


getBrowsers

array public static
\Bitrix\Conversion\Internals\MobileDetect::getBrowsers(
);

Статический метод возвращает список известных браузеров. Конкретно, их User Agent.

Без параметров


getHttpHeader

string|null public
\Bitrix\Conversion\Internals\MobileDetect::getHttpHeader(
 string $header
);

Нестатический метод извлекает определенный заголовок. Если не существует, то не будет вызвано исключение/ошибка. Возвращает пустое значение.

Параметры

Параметр | Описание | Версия
$header | Имя извлекаемого заголовка. Может быть HTTP-подобным, например"User-Agent" или "X-Device-User-Agent". Или php-подобным, т.е. со всеми заглавными буквами и подчеркиваниями вместо дефисов. |


getHttpHeaders

array public
\Bitrix\Conversion\Internals\MobileDetect::getHttpHeaders(
);

Нестатический метод возвращает HTTP-заголовки.

Без параметров


getMobileDetectionRules

deprecated
array public static
\Bitrix\Conversion\Internals\MobileDetect::getMobileDetectionRules(
);

Статический метод получает правила обнаружения мобильных устройств. Метод используется в методах $detect->is*().

Без параметров


getMobileDetectionRulesExtended

deprecated
array public
\Bitrix\Conversion\Internals\MobileDetect::getMobileDetectionRulesExtended(
);

Нестатический метод получает список правил обнаружения мобильных устройств и служебных программ.

Без параметров


getOperatingSystems

array public static
\Bitrix\Conversion\Internals\MobileDetect::getOperatingSystems(
);

Статический метод возвращает список мобильных операционных систем.

Без параметров


getPhoneDevices

array public static
\Bitrix\Conversion\Internals\MobileDetect::getPhoneDevices(
);

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

Без параметров


getProperties

array public static
\Bitrix\Conversion\Internals\MobileDetect::getProperties(
);

Статический метод возвращает массив параметров.

Без параметров


getRules

deprecated
array public
\Bitrix\Conversion\Internals\MobileDetect::getRules(
);

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

Без параметров


getScriptVersion

string public static
\Bitrix\Conversion\Internals\MobileDetect::getScriptVersion(
);

Статический метод получает текущую версию скрипта.

Очень полезно для файла demo.php, чтобы проверить на какой версии мобильного устройства проводится тестирование.

Без параметров


getTabletDevices

array public static
\Bitrix\Conversion\Internals\MobileDetect::getTabletDevices(
);

Статический метод возвращает список известных планшетных устройств.

Без параметров


getUaHttpHeaders

array public
\Bitrix\Conversion\Internals\MobileDetect::getUaHttpHeaders(
);

Нестатический метод возвращает все возможные HTTP-заголовки, которые могут содержать строку User-Agent.

Без параметров


getUserAgent

string|null public
\Bitrix\Conversion\Internals\MobileDetect::getUserAgent(
);

Нестатический метод извлекает User-Agent.

Без параметров


getUserAgents

array public static
\Bitrix\Conversion\Internals\MobileDetect::getUserAgents(
);

Таблица псевдонимов для метода getBrowsers() (\Bitrix\Conversion\Internals\MobileDetect::getBrowsers).

Без параметров


getUtilities

array public static
\Bitrix\Conversion\Internals\MobileDetect::getUtilities(
);

Статический метод возвращает список известных служебных программ.

Без параметров


is

boolean|integer|null public
\Bitrix\Conversion\Internals\MobileDetect::is(
 string $key,
 string $userAgent = null,
 string $httpHeaders = null
);

Проверяет userAgent на наличии определенного свойства.

Параметры

Параметр | Описание | Версия
$key | Имя правила, на соответствие которому проверяется User-Agent. |
$userAgent | Устаревший параметр. |
$httpHeaders | Устаревший параметр. |


isTablet

boolean public
\Bitrix\Conversion\Internals\MobileDetect::isTablet(
 string $userAgent = null,
 array $httpHeaders = null
);

Нестатический метод проверяет, является ли устройство планшетным компьютером. Возвращает true, если обнаружен планшетный компьютер.

Параметры

Параметр | Описание | Версия
$userAgent | Устаревший параметр. |
$httpHeaders | Устаревший параметр. |


match

boolean public
\Bitrix\Conversion\Internals\MobileDetect::match(
  $regex,
 string $userAgent = null
);

Нестатический метод сверяет пользовательские регулярные выражения со строкой User Agent.

Параметры

Параметр | Описание | Версия
$regex | Регулярное выражение. |
$userAgent | UserAgent. |


mobileGrade

string public
\Bitrix\Conversion\Internals\MobileDetect::mobileGrade(
);

Нестатический метод извлекает мобильную шкалу, используя константы self::MOBILE_GRADE_*.

Без параметров


prepareVersionNo

float public
\Bitrix\Conversion\Internals\MobileDetect::prepareVersionNo(
 string $ver
);

Нестатический метод подготавливает номер версии.

Параметры

Параметр | Описание | Версия
$ver | Строка версии, например "2.6.21.2152". |


setDetectionType

deprecated
 public
\Bitrix\Conversion\Internals\MobileDetect::setDetectionType(
 string $type = null
);

Нестатический метод устанавливает один из типов обнаружения: self::DETECTION_TYPE_MOBILE или self::DETECTION_TYPE_EXTENDED. В противном случае ничего не устанавливается.

Параметры

Параметр | Описание | Версия
$type | Тип. Должен быть константой self::DETECTION_TYPE. По умолчанию параметр принимает пустое значение, что соответствует self::DETECTION_TYPE_MOBILE. |


setHttpHeaders

 public
\Bitrix\Conversion\Internals\MobileDetect::setHttpHeaders(
 array $httpHeaders = null
);

Нестатический метод устанавливает HTTP-заголовки. Имена заголовков должны быть в стиле ключей глобальной PHP-переменной $_SERVER, т.е. заглавными буквами и с подчеркиваниями вместо дефисов. Метод переустанавливает текущие заголовки.

Параметры

Параметр | Описание | Версия
$httpHeaders | Устанавливаемые заголовки. Если оставлен пустым, то будет использовать $_SERVER для извлечения заголовков. Пустое значение по умолчанию устанавливается для обратной совместимости. |


setUserAgent

string|null public
\Bitrix\Conversion\Internals\MobileDetect::setUserAgent(
 string $userAgent = null
);

Нестатический метод устанавливает User-Agent на использование.

Параметры

Параметр | Описание | Версия
$userAgent | Устанавливаемый User-Agent. |


version

string|float public
\Bitrix\Conversion\Internals\MobileDetect::version(
 string $propertyName,
 string $type = self::VERSION_TYPE_STRING
);

Нестатический метод проверяет версию данного параметра в User-Agent. Возвращает число с плавающей точкой (например 2_0 будет возвращено как 2.0, 4.3.1 будет возвращено как 4.31).

Параметры

Параметр | Описание | Версия
$propertyName | Имя параметра. См. self::getProperties() array keys чтобы получить все параметры.
$type Тип:
  1. если принимает значение self::VERSION_TYPE_STRING, то будет возвращено строчное значение;
  2. если принимает значение self::VERSION_TYPE_FLOAT, то идентифицируется число с плавающей точкой.

Параметр является необязательным и по умолчанию устанавливается значение self::VERSION_TYPE_STRING.


Конструктор MobileDetect

 public
\Bitrix\Conversion\Internals\MobileDetect::__construct(
 array $headers = null,
 string $userAgent = null
);

Нестатический метод создает экземпляр класса.

Параметры

Параметр | Описание | Версия
$headers | Указывает заголовок размещения. Имена заголовков должны быть в стиле ключей глобальной PHP-переменной $_SERVER, т.е. заглавными буквами и с подчеркиваниями вместо дефисов. Если оставлено пустым, будет использовать глобальные переменные SERVER['HTTP*']. |
$userAgent | Вставляет заголовок User-Agent'a. Если оставлен пустым, будет использовать HTTP_USER_AGENT из массива $headers. |


Конвертер файлов

Конвертация файлов - трудозатратный процесс, с непредсказуемым временем выполнения. Поэтому процесс конвертации выполняется на отдельном сервере. Модуль конвертера файлов разбит на две части - клиентскую (transformer) и серверную (transformercontroller). Здесь идёт речь о клиентской части модуля.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('transformer');

Основная задача модуля - получить команду на конвертацию и отправить её на сервер. Команда состоит из нескольких параметров - команда для выполнения, модуль, колбек.

Класс | Описание
Основные классы
Command | Класс для работы с командами.
FileTransformer | Класс для облегчения работы с файловыми командами.
DocumentTransformer | Наследник класса FileTransformer.
VideoTransformer | Наследник класса FileTransformer.
Http | Класс для отправки команды на сервер.
File | Класс для поиска внешнего пути к файлу по его входному идентификатору.
FileUploader | Класс для загрузки частей файла в облако или локально, "склеивания" частей и сохранения их.


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

Отправка документа на конвертацию

$transformer = new \Bitrix\Transformer\DocumentTransformer();
// $file - абсолютный путь к файлу, ссылка на файл, ИД из b_file. ИД из b_file надо передавать как integer
// Если такой файл есть - он найдётся.
// $formats - массив того, что надо сделать с файлом. Для документов это, как правило, pdf и jgp
// $module - название или массив названий модулей, которые необходимо будет подключить перед вызовом колбека
// $callback - полное имя класса (или массив классов), которые воспроизводят интерфейс \Bitrix\Transformer\InterfaceCallback
// $params - произвольный набор параметров, который пойдёт на вход колбекам.
// Может содержать название очереди по ключу queue. Если его не будет, на сервере будет выбрана очередь по умолчанию
$result = $transformer->transform($file, $formats, $module, $callback, $params);
if($result->isSuccess())
{
    // everything is fine
}
else
{
    $errors = $result->getErrors();
}

Получение статуса последней команды по файлу

Если у вас есть файл (в том же формате, что ушел на вход \Bitrix\Transformer\FileTransformer::transform()) и вы хотите получить статус выполнения последней команды, то надо сделать следующее:

// $file - абсолютный путь к файлу, ссылка на файл, ИД из b_file. ИД из b_file надо передавать как integer
$transformInfo = FileTransformer::getTransformationInfoByFile($file);

В результате вернется либо false, если такой файл не отправлялся на конвертацию, либо массив вида:

array(
    'status' => $command->getStatus(), // статус команды
    'time' => $command->getTime(), // время отправки на конвертацию
    'id' => $command->getId(), // ид команды из таблицы b_transformer_command
    'params' => $command->getParams(), // параметры команды
);

Пример реализации колбека

Полный пример лучше смотреть в исходниках. Это \Bitrix\DocumentGenerator\Integration\TransformerManager и \Bitrix\Disk\Integration\TransformerManager.

В интерфейсе \Bitrix\Transformer\InterfaceCallback только один метод - call На вход метод идут параметры:

  • $status (int) - статус команды
  • $command - название команды
  • $params - параметры, которые шли на вход команды
  • $result - массив результатов выполнения команды, где ключ - формат, а значение - результат. Если в результате есть файлы, то они будут в отдельном массиве files, где ключ - формат, а значение - путь к файлу

Метод должен возвращать true в случае нормального выполнения и строку с текстом ошибки в случае ошибки (эта ошибка запишется на сервер конвертации).

Ниже простой пример:

class TransformerCallback implements \Bitrix\Transformer\InterfaceCallback
{
    public static function call($status, $command, $params, $result = array())
    {
        // На вход команды в $params указываем fileId - идентификатор файла.
        // Теперь надо сбросить по нему кеш с информацией о команде
        if(isset($params['fileId']) && $params['fileId'] > 0)
        {
            FileTransformer::clearInfoCache($params['fileId']);
        }

        if($status === 1000)
        {
            // do something with error
            return true;
        }

        $pdfFileResult = $result['files']['pdf'];
        if($pdfFileResult)
        {
            $file = \CFile::MakeFileArray($pdfFileResult, 'application/pdf');
            $bFileId = \CFile::SaveFile($file);
            // save $bFileId
        }

        // send some php event

        return true;
    }
}

Получение подробной ошибки конвертации файла

С версии модуля transformer 18.1.0 добавлено сохранение кодов ошибок с сервера и описания этих ошибок. Пример получения подробного описания ошибки конвертации файла:

// $file - абсолютный путь к файлу, ссылка на файл, ИД из b_file. ИД из b_file надо передавать как integer.
$foundFile = new \Bitrix\Transformer\File($file);
$publicPath = $foundFile->getPublicPath();
$command = Command::getByFile($publicPath);
// метод getByFile вернет объект \Bitrix\Transformer\Command или false, если файл не отправлялся на конвертацию
$error = $command->getError()

// в результате вернет объект \Bitrix\Main\Error


Command

Для работы с командами есть класс Command.

В конструктор класса надо передать параметры команды, сохранить её и отправить. Для каждой команды генерируется уникальный идентификатор (GUID), по которому можно отследить результаты обработки на сервере.

У каждой команды есть статус выполнения:

  • 100 - команда только что сохранена в БД
  • 200 - команда отправлена на конвертацию
  • 300 - сконвертированные файлы загружены
  • 400 - успешное выполнение команды
  • 1000 - ошибка

Класс \Bitrix\Transformer\Command не подразумевает обязательное наличие файла, но на данный момент существуют команды только для файлов. Поэтому для облегчения работы с файловыми командами есть отдельный класс \Bitrix\Transformer\FileTransformer и его наследники \Bitrix\Transformer\DocumentTransformer и \Bitrix\Transformer\VideoTransformer.


File

Класс File отвечает за поиск внешнего пути к файлу по его входному идентификатору.

Сам процесс обработки результатов команды реализован в файле /transformer/handlers/transformer_result.php. Впоследствии будет преобразован в контроллер.


FileUploader

Результаты конвертации могут представлять собой большие файлы. Файлы могут храниться в облаке. Для корректной загрузки файла на портал есть отдельный класс FileUploader. Он выполняет загрузку частей файла в облако или локально, потом склеивает части и сохраняет их.


Http

За отправку команды на сервер отвечает класс Http - он добавляет к параметрам команды служебную информацию (лицензия и обратный адрес).

Чтобы результат корректно обработался, необходимо передать колбек, который реализует интерфейс \Bitrix\Transformer\InterfaceCallback.

Т.к. этот интерфейс находится в модуле transformer, класс, который воспроизводит этот интерфейс, необходимо использовать только после подключения модуля transformer. Поэтому лучше такой класс обособить и обращаться к нему только после подключения модуля.


Коннекторы для внешних мессенджеров

Классы и события для работы с внешними мессенджерами.

Детально о подключении собственного типа коннекторов [image] в курсе Администратор сервиса Битрикс24 (коробочная версия).


CustomConnectors

CustomConnectors - класс методов для подключения сторонних коннекторов.

Метод | Описание | С версии
sendMessages | Отправка сообщений |
updateMessages | Обновление сообщений |
sendStatusDelivery | Подтверждение доставки сообщения от Открытой Линии во внешнюю систему. |
deleteMessages | Удаление сообщений в ОЛ. |
deactivateConnectors | Отключение настроенного коннектора |


deactivateConnectors

Отправить отзыв по этому разделу
Пространство имён Bitrix>Коннекторы для внешних мессенджеров>CustomConnectors>deactivateConnectors (с версии 17.5.1)

CustomConnectors::deactivateConnectors

public static function
\Bitrix\ImConnector\CustomConnectors::deactivateConnectors(
   $connector,
   $line
)

Метод отключения настроенного коннектора в Открытых Линиях из внешней системы.

Параметры

Метод | Описание | С версии
connector | ID коннектора, который был указан при регистрации обработчика. |
line | ID открытой линии |


deleteMessages

Отправить отзыв по этому разделу
Пространство имён Bitrix>Коннекторы для внешних мессенджеров>CustomConnectors>deleteMessages (с версии 17.5.1)

CustomConnectors::deleteMessages

public static function
\Bitrix\ImConnector\CustomConnectors::deleteMessages(
   $connector,
   $line,
   $data
)

Метод для удаления сообщений в ОЛ.

Метод | Описание | С версии
connector | ID коннектора, который был указан при регистрации обработчика.
line | ID открытой линии
data массив массивов сообщений, где каждое сообщение описывается следующим форматом:
array(
  //Массив описания пользователя
  'user' => array(
     'id',//ID пользователя во внешней системе *
     'last_name',//Фамилия
     'name',//Имя
     'picture' =>
     array(
        'url'//Ссылка на аватарку пользователя, доступную для портала
     ),
     'url',//Ссылка на профиль пользователя
     'sex',//Пол. Допустимо male и female
  ),
  //Массив описания сообщения
  'message' => array(
     'id', //ID сообщения во внешней системе.*
     )
  ),
  //Массив описания чата
  'chat' => array(
     'id',//ID чата во внешней системе *
     'name', //Имя чата во внешней системе
     'url', //Ссылка на чат во внешней системе
  ),
);


sendMessages

Отправить отзыв по этому разделу
Пространство имён Bitrix>Коннекторы для внешних мессенджеров>CustomConnectors>sendMessages (с версии 17.5.1)

CustomConnectors::sendMessages

public static function
\Bitrix\ImConnector\CustomConnectors::sendMessages(
   $connector,
   $line,
   $data
)

Метод для отправки сообщений в Открытую Линию.

Параметры

Метод | Описание | С версии
connector | ID коннектора, который был указан при регистрации обработчика.
line | ID открытой линии
data массив массивов сообщений, где каждое сообщение описывается следующим форматом:
array(
  //Массив описания пользователя
  'user' => array(
     'id',//ID пользователя во внешней системе *
     'last_name',//Фамилия
     'name',//Имя
     'picture' =>
     array(
        'url'//Ссылка на аватарку пользователя, доступную для портала
     ),
     'url',//Ссылка на профиль пользователя
     'sex',//Пол. Допустимо male и female
     'email', //email
     'phone', //телефон
  ),
  //Массив описания сообщения
  'message' => array(
     'id', //ID сообщения во внешней системе.*
     'date', //Время сообщения в формате timestamp *
     'disable_crm' => 'Y' ,//отключить чат трекер (CRM трекер)
     'text', //Текст сообщения. Должен быть указан либо элемент text или files. Допустимое форматирование (BB коды) описаны здесь: https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=7679&LESSON_PATH=7657.7677.7679
     'files' => array(//Массив массивов, с описанием файлов, со ссылкой, которая доступна порталу
        array('url')
     )
  ),
  //Массив описания чата
  'chat' => array(
     'id',//ID чата во внешней системе *
     'name', //Имя чата во внешней системе
     'url', //Ссылка на чат во внешней системе
  ),
);


sendStatusDelivery

Отправить отзыв по этому разделу
Пространство имён Bitrix>Коннекторы для внешних мессенджеров>CustomConnectors>sendStatusDelivery (с версии 17.5.1)

CustomConnectors::sendStatusDelivery

public static function
\Bitrix\ImConnector\CustomConnectors::sendStatusDelivery(
   $connector,
   $line,
   $data
)

Метод подтверждения доставки сообщения от Открытой Линии во внешнюю систему.

Параметры

Метод | Описание | С версии
connector | ID коннектора, который был указан при регистрации обработчика.
line | ID открытой линии
data Массив массивов сообщений, где каждое сообщение описывается следующим форматом:
array(
  'im',//Пересылается элемент 'im' из входящего сообщения ОЛ
  'message' => array(
     'id'//Массив ID во внешней системе. Именно массив, а не единичное значение, даже если ID один.
  ),
  'chat' => array(
     'id'//ID чата во внешней системе.
  ),
);


updateMessages

Отправить отзыв по этому разделу
Пространство имён Bitrix>Коннекторы для внешних мессенджеров>CustomConnectors>updateMessages (с версии 17.5.1)

CustomConnectors::updateMessages

public static function
\Bitrix\ImConnector\CustomConnectors::updateMessages(
   $connector,
   $line,
   $data)

Метод для обновления сообщений в Открытой Линии.

Параметры

Метод | Описание | С версии
connector | ID коннектора, который был указан при регистрации обработчика.
line | ID открытой линии
data массив массивов сообщений, где каждое сообщение описывается следующим форматом:
array(
  //Массив описания пользователя
  'user' => array(
     'id',//ID пользователя во внешней системе *
     'last_name',//Фамилия
     'name',//Имя
     'picture' =>
     array(
        'url'//Ссылка на аватарку пользователя, доступную для портала
     ),
     'url',//Ссылка на профиль пользователя
     'sex',//Пол. Допустимо male и female
  ),
  //Массив описания сообщения
  'message' => array(
     'id', //ID сообщения во внешней системе.*
     'date', //Время сообщения в формате timestamp *
     'text', //Текст сообщения. Должен быть указан либо элемент text или files. Допустимое форматирование (BB коды) описаны здесь: https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=7679&LESSON_PATH=7657.7677.7679
     'files' => array(//Массив массивов, с описанием файлов, со ссылкой, которая доступна порталу
        array('url')
     )
  ),
  //Массив описания чата
  'chat' => array(
     'id',//ID чата во внешней системе *
     'name', //Имя чата во внешней системе
     'url', //Ссылка на чат во внешней системе
  ),
);


События

Событие | Описание | С версии
OnSendMessageCustom | Новое сообщение из Открытой Линии |
OnUpdateMessageCustom | Изменение сообщения из Открытой Линии. |
OnDeleteMessageCustom | Удаление сообщения из Открытой Линии |
Дополнительные события | Сбор информации и удаление Открытой Линии. |


OnDeleteMessageCustom

OnDeleteMessageCustom - удаление сообщения из Открытой Линии.

В событие приходят следующие параметры:

Параметр | Описание
CONNECTOR | ID коннектора, по нему проверяете, касается ли событие вас.
LINE | ID линии
DATA Массив массивов, описывающих сообщение:
 array (
      'im' =>
      array (
        //ID чата в рамках битрикс24
        'chat_id' => '845',
        //ID сообщения в рамках битрикс24
        'message_id' => '344029',
      ),
      'message' =>
      array (
        //Массив ID редактируемых сообщений во внешней системе
        // (в sendStatusDelivery должны вернуться новые ID, даже если они такие же).
        // Предусмотреть вариант, когда может прийти одно значение!
        'id' =>
        array (
          0 => '99',
        ),
        //Новый текст сообщения
        'text' => '[b]Сергей "Покоев":[/b][br] Тестовое сообщение 55',
      ),
      'chat' =>
      array (
        //ID чата во внешней системе
        'id' => '2',
      ),
 );

Пример

\Bitrix\Main\EventManager::getInstance()->addEventHandler("imconnector", "OnDeleteMessageCustom", Array("Message", "OnDeleteMessageCustomHandler"));

class Message
{
  function OnDeleteMessageCustomHandler(\Bitrix\Main\Event $event)
  {
     $connector = $event->getParameter('CONNECTOR');
     $line = $event->getParameter('LINE');
     $data = $event->getParameter('DATA');

     //test
     define("LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"]."/log.txt");
     AddMessage2Log(var_export(array('$connector' => $connector, '$line' => $line,'$data' => $data),1), 'SendMessage');
     //END test
  }
}


OnSendMessageCustom

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

OnSendMessageCustom - новое сообщение из Открытой Линии. Обязательно нужно вызвать в ответ метод sendStatusDelivery иначе в мессенджере сообщение будет значиться как недоставленное.

В событие приходят следующие параметры:

Параметр | Описание
CONNECTOR | ID коннектора, по нему проверяете, касается ли событие вас.
LINE | ID линии
DATA Массив массивов, описывающих сообщение:
array (
    //Массив параметров для связи (возвращается в сообщении о доставке)
      'im' =>
      array (
          //ID чата в рамках битрикс24
            'chat_id' => 845,
            //ID сообщения в рамках битрикс24
            'message_id' => 344029,
      ),
      'message' =>
      array (
//Текст сообщения
            'text' => '[b]Сергей "Покоев":[/b][br] Тестовое сообщение'
      ),
      'chat' =>
      array (
          //ID внешнего чата
            'id' => '2',
    ),
);

Пример

\Bitrix\Main\EventManager::getInstance()->addEventHandler("imconnector", "OnSendMessageCustom", Array("Message", "OnSendMessageCustomHandler"));

class Message
{
  function OnSendMessageCustomHandler(\Bitrix\Main\Event $event)
  {
     $connector = $event->getParameter('CONNECTOR');
     $line = $event->getParameter('LINE');
     $data = $event->getParameter('DATA');

     foreach ($data as $message)
     {
        $statusDelivery[]= array(
           'im' => $message['im'],
           'message' => array(
              'id' => array(5),
           ),
           'chat' => array(
              'id' => $message['chat']['id']
           ),
        );
     }

     if(!empty($statusDelivery))
     {
        \Bitrix\ImConnector\CustomConnectors::sendStatusDelivery($connector, $line,
           $statusDelivery);
     }

           //test
                 define("LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"]."/log.txt");
                 AddMessage2Log(var_export(array('$connector' => $connector, '$line' => $line,'$data' => $data),1), 'SendMessage');
                 //END test
  }
}


OnUpdateMessageCustom

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

OnUpdateMessageCustom - изменение сообщения из Открытой Линии. Обязательно нужно вызвать в ответ метод sendStatusDelivery иначе в мессенджере сообщение будет значиться как измененное.

В событие приходят следующие параметры:

Параметр | Описание
CONNECTOR | ID коннектора, по нему проверяете, касается ли событие вас.
LINE | ID линии
DATA Массив массивов, описывающих сообщение:
 array (
      'im' =>
      array (
        //ID чата в рамках битрикс24
        'chat_id' => '845',
        //ID сообщения в рамках битрикс24
        'message_id' => '344029',
      ),
      'message' =>
      array (
        //Массив ID редактируемых сообщений во внешней системе
        //(в sendStatusDelivery должны вернуться новые ID, даже если они такие же)
        //Предусмотреть вариант, когда может прийти одно значение!
        'id' =>
        array (
          0 => '99',
        ),
        //Новый текст сообщения
        'text' => '[b]Сергей "Покоев":[/b][br] Тестовое сообщение 55',
      ),
      'chat' =>
      array (
        //ID чата во внешней системе
        'id' => '2',
      ),
 );

Пример

\Bitrix\Main\EventManager::getInstance()->addEventHandler("imconnector", "OnUpdateMessageCustom", Array("Message", "OnUpdateMessageCustomHandler"));

class Message
{
  function OnUpdateMessageCustomHandler(\Bitrix\Main\Event $event)
  {
     $connector = $event->getParameter('CONNECTOR');
     $line = $event->getParameter('LINE');
     $data = $event->getParameter('DATA');

     foreach ($data as $message)
     {
        $statusDelivery[]= array(
           'im' => $message['im'],
           'message' => array(
              'id' => array(5),
           ),
           'chat' => array(
              'id' => $message['chat']['id']
           ),
        );
     }

     if(!empty($statusDelivery))
     {
        \Bitrix\ImConnector\CustomConnectors::sendStatusDelivery($connector, $line,
           $statusDelivery);
     }

     //test
     define("LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"]."/log.txt");
     AddMessage2Log(var_export(array('$connector' => $connector, '$line' => $line,'$data' => $data),1), 'SendMessage');
     //END test
  }
}


Дополнительные события

Событие | Описание
OnInfoLine Событие сбора информации по подключенным каналам открытой линии.
На вход приходит ID открытой линии.
На выход нужно дать массив описания.

Пример:

\Bitrix\Main\EventManager::getInstance()->addEventHandler("imconnector", "OnInfoLine", Array("Info", "OnImConnectorInfoLineHandler"));

class Info
{
  function OnImConnectorInfoLineHandler(\Bitrix\Main\Event $event)
  {
     $lineId = $event->getParameter('LINE_ID');

     return array(
        //ID коннектора*
        'connector_id' => 'baseconnector',
        //ID
        'id' => '555',
        //Ссылка на канал
        'url' => 'http://test',
        //Ссылка для мобильных устройств
        'url_im' => 'http://test.im',
        //Отображаемое имя
        'name' => 'Тест',
        //Картинка
        'picture' => array(
           'url' => '//opt-560835.ssl.1c-bitrix-cdn.ru/bitrix/templates/1c-bitrix-new/images/logo.png?1'
        )
     );
  }
}
OnDeleteLine | Событие удаление открытой линии. Для удаления своих подключенных коннекторов. Передается параметр LINE_ID - ID удаляемой открытой линии.


Конструктор отчетов

\Bitrix\Report - пространство имен модуля Конструктор отчетов.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('report');

Класс | Описание | С версии
Internals | Пространство содержит классы для работы с таблицами модуля. | 16.0.1
RightsManager | Класс для управления правами отчётов. | 16.0.1
ReportTable | Класс для работы с таблицей отчётов. |
Sharing | Класс для управления общим доступом. | 16.0.1
VisualConstructor | Подпространство содержит классы для визуального конструктора отчетов. | 18.0.0

Смотрите также

  • Конструктор отчетов (API для старой версии ядра)
  • Конструктор отчетов (учебный курс)


Конструктор отчетов в старом ядре

Классы

Список классов модуля Конструктор отчетов в старом ядре

Класс | Описание | С версии
CReport | Класс для манипуляций с отчётами. | 11.0.0

События

Список событий модуля Конструктор отчетов в старом ядре

Событие | Вызывается | Метод | С версии
OnBeforeReportAdd | перед добавлением отчета. | CReport::Add | 11.0.5
OnBeforeReportDelete | перед удалением отчета. | CReport::Delete | 11.0.5
OnBeforeReportUpdate | перед обновлением отчета. | CReport::Update | 11.0.5
OnReportAdd | после добавления отчета. | CReport::Add | 11.0.5
OnReportDelete | после удаления отчета. | CReport::Delete | 11.0.5
OnReportUpdate | после обновления отчета. | CReport::Update | 11.0.5


Internals

\Bitrix\Report\Internals\ - пространство содержит классы для работы с таблицами модуля.

Класс | Описание | С версии
SharingTable | Класс для работы с таблицей общего доступа. |


SharingTable

\Bitrix\Report\Internals\SharingTable - класс для работы с таблицей общего доступа.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getTableName | Возвращает имя таблицы базы данных, соответствующей данной сущности. |
getMap | Возвращает список полей с типами. |

Таблица общего доступа

Поле | Описание | Тип | Обяз.
ID | Идентификатор. | int(11) | Y
REPORT_ID | Идентификатор отчета. | int(11) | Y
ENTITY | Сущность, для которой устанавливается общий доступ. | varchar(50) | Y
RIGHTS | Права на работу с отчётом при общем доступе. | varchar(50) | Y


getMap

array public static
\Bitrix\Report\Internals\SharingTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Report\Internals\SharingTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ReportTable

\Bitrix\Report\ReportTable - класс для работы с таблицей отчётов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Возвращает список полей с типами. |


getMap

array public static
\Bitrix\Report\ReportTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


RightsManager

\Bitrix\Report\RightsManager - класс для управления правами отчётов.

Метод | Описание | С версии
canDelete | Проверяет наличие прав на удаление. |
getGroupsAndDepartments | Возвращает список сущностей (групп и отделов) пользователя в виде индексированного массива. |
canRead | Проверяет наличие прав на чтение. |
canShare | Проверяет наличие прав на возможность дать общий доступ. |
canEdit | Проверяет наличие прав на редактирование. |


canDelete

boolean public
\Bitrix\Report\RightsManager::canDelete(
  $reportId
);

Нестатический метод проверяет наличие прав на удаление.

Параметры

Параметр | Описание | Версия
$reportId | Идентификатор отчета. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


canEdit

boolean public
\Bitrix\Report\RightsManager::canEdit(
  $reportId
);

Нестатический метод проверяет наличие прав на редактирование.

Параметры

Параметр | Описание | Версия
$reportId | Идентификатор отчета. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


canRead

boolean public
\Bitrix\Report\RightsManager::canRead(
  $reportId
);

Нестатический метод проверяет наличие прав на чтение.

Параметры

Параметр | Описание | Версия
$reportId | Идентификатор отчета. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


canShare

boolean public
\Bitrix\Report\RightsManager::canShare(
  $reportId
);

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

Параметры

Параметр | Описание | Версия
$reportId | Идентификатор отчета. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getGroupsAndDepartments

array public
\Bitrix\Report\RightsManager::getGroupsAndDepartments(
);

Нестатический метод возвращает список сущностей (групп и отделов) пользователя в виде индексированного массива.

Без параметров

Исключения

  • ArgumentException (\Bitrix\Main\ArgumentException)
  • LoaderException (\Bitrix\Main\LoaderException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Sharing

\Bitrix\Report\Sharing - класс для управления общим доступом.

Метод | Описание | С версии
getUserData | Возвращает пользовательские данные для работы с общим доступом. |
getEntityOfSharing | Возвращает массив данных привязанных сущностей отчёта. |
changeSharing | Метод для работы с общим доступом отчёта. Добавление/изменение/удаление общего доступа. |
getSocNetDestination | Возвращает список сущностей для общего доступа. |
onReportDelete | Обработчик события для удаления всех привязанных сущностей к отчёту. |
parseEntityValue | Разбирает код сущности, чтобы получить её код и идентификатор. |
getTypeData | Получает массив необходимого формата, в зависимости от типа сущности. |


changeSharing

 public
\Bitrix\Report\Sharing::changeSharing(
  $listNewEntity
);

Нестатический метод для работы с общим доступом отчёта. Добавление/изменение/удаление общего доступа.

Параметры

Параметр | Описание | Версия
$listNewEntity | Список новых отчетов. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEntityOfSharing

array public static
\Bitrix\Report\Sharing::getEntityOfSharing(
  $reportId.
);

Статический метод возвращает массив данных привязанных сущностей отчёта.

Параметры

Параметр | Описание | Версия
$reportId | Идентификатор отчета. |

Исключения

  • ArgumentException (\Bitrix\Main\ArgumentException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSocNetDestination

array public static
\Bitrix\Report\Sharing::getSocNetDestination(
  $userId,
 array $selected = array()
);

Статический метод возвращает список сущностей для общего доступа.

Параметры

Параметр | Описание | Версия
$userId | Идентификатор пользователя. |
$selected | Массив со списком идентификаторов групп, отделов и пользователей. |

Исключения

  • LoaderException (\Bitrix\Main\LoaderException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTypeData

array public static
\Bitrix\Report\Sharing::getTypeData(
  $type,
  $id
);

Статический метод получает массив необходимого формата, в зависимости от типа сущности.

Параметры

Параметр | Описание | Версия
$type | Тип сущности. |
$id | Идентификатор. |

Исключения

  • LoaderException (\Bitrix\Main\LoaderException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUserData

array public static
\Bitrix\Report\Sharing::getUserData(
  $userId
);

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

Параметры

Параметр | Описание | Версия
$userId | Идентификатор пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onReportDelete

 public static
\Bitrix\Report\Sharing::onReportDelete(
  $reportId
);

Обработчик события для удаления всех привязанных сущностей к отчёту. Метод статический.

Параметры

Параметр | Описание | Версия
$reportId | Идентификатор отчета. |

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


parseEntityValue

array|null public static
\Bitrix\Report\Sharing::parseEntityValue(
  $entity
);

Статический метод разбирает код сущности, чтобы получить её код и идентификатор. Например, SG444 = array('SG', 444).

Параметры

Параметр | Описание | Версия
$entity | Сущность. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


VisualConstructor

\Bitrix\Report\VisualConstructor\ - подпространство содержит классы для визуального конструктора отчетов.

Класс | Описание | С версии
Category | Класс содержит методы для работы с категориями визуального конструктора. | 18.0.0
Form | Класс содержит методы для работы с формой визуального конструктора. | 18.0.0


Category

Category - класс содержит методы для работы с категориями визуального конструктора.

Методы класса

Метод | Описание | С версии
__get | Геттер для несуществующих свойств. Возвращает значение отношения. | 18.0.0
__set | Сеттер для несуществующих свойств. Все несуществующие свойства будут пытаться записать в отношения. | 18.0.0
setKey | Сеттер для ключа категории. | 18.0.0
setLabel | Сеттер для метки категории, эта метка появится в списках категорий. | 18.0.0
setParentKey | Сеттер для родительской категории. | 18.0.0


__get

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Конструктор отчетов>VisualConstructor>Category>__get (доступен с 18.0.0)

Category::__get

mixed public
\Bitrix\Report\VisualConstructor\Category::__get(
 string $value
);

Геттер для несуществующих свойств. Возвращает значение отношения. Нестатический метод.

Параметры

Параметр | Описание | Версия
$value | Имя отношения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


__set

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Конструктор отчетов>VisualConstructor>Category>__set (доступен с 18.0.0)

Category::__set

\Bitrix\Report\VisualConstructor\Category public
\Bitrix\Report\VisualConstructor\Category::__set(
 string $key,
 mixed $value
);

Сеттер для несуществующих свойств. Все несуществующие свойства будут пытаться записать в отношения. Нестатический метод.

Параметры

Параметр | Описание | Версия
$key | Ключ установленной функции. |
$value | Значение, которое пытаются установить. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setKey

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Конструктор отчетов>VisualConstructor>Category>setKey (доступен с 18.0.0)

Category::setKey

void public
\Bitrix\Report\VisualConstructor\Category::setKey(
 string $key
);

Сеттер для ключа категории. Нестатический метод.

Параметры

Параметр | Описание | Версия
$key | Ключ категории. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setLabel

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Конструктор отчетов>VisualConstructor>Category>setLabel (доступен с 18.0.0)

Category::setLabel

void public
\Bitrix\Report\VisualConstructor\Category::setLabel(
 string $label
);

Сеттер для метки категории, эта метка появится в списках категорий. Нестатический метод.

Параметры

Параметр | Описание | Версия
$label | Значение метки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setParentKey

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Конструктор отчетов>VisualConstructor>Category>setParentKey (доступен с 18.0.0)

Category::setParentKey

void public
\Bitrix\Report\VisualConstructor\Category::setParentKey(
 string $parentKey
);

Сеттер для родительской категории. Нестатический метод.

Параметры

Параметр | Описание | Версия
$parentKey | Ключ родительской категории. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Form

Form - класс содержит методы для работы с формой визуального конструктора.

Методы класса

Метод | Описание | С версии
add | Метод добавляет поле на форму. | 18.0.0
addFieldAfter | Метод добавляет поле после целевого поля. | 18.0.0
addFieldBefore | Метод добавляет поле перед целевым полем. | 18.0.0
getAction | URL-адрес действия отправки формы. | 18.0.0
render | Метод собирает все элементы и печатает HTML-форму. | 18.0.0


add

\Bitrix\Report\VisualConstructor\Form public
\Bitrix\Report\VisualConstructor\Form::add(
 \Bitrix\Report\VisualConstructor\Fields\Base|mixed $field
);

Метод добавляет поле на форму. Нестатический метод.

Параметры

Параметр | Описание | Версия
$field | Параметры добавляемого поля. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addFieldAfter

void public
\Bitrix\Report\VisualConstructor\Form::addFieldAfter(
 \Bitrix\Report\VisualConstructor\Fields\Base $newField,
 \Bitrix\Report\VisualConstructor\Fields\Base $targetField
);

Метод добавляет поле после целевого поля. Нестатический метод.

Параметры

Параметр | Описание | Версия
$newField | Параметры добавляемого поля. |
$targetField | Целевое поле, после которого должно быть добавлено новое поле. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addFieldBefore

void public
\Bitrix\Report\VisualConstructor\Form::addFieldBefore(
 \Bitrix\Report\VisualConstructor\Fields\Base $newField,
 \Bitrix\Report\VisualConstructor\Fields\Base $targetField
);

Метод добавляет поле перед целевым полем. Нестатический метод.

Параметры

Параметр | Описание | Версия
$newField | Параметры добавляемого поля. |
$targetField | Целевое поле, перед которым нужно добавить новое поле. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAction

string public
\Bitrix\Report\VisualConstructor\Form::getAction(
);

URL-адрес действия отправки формы. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


render

void public
\Bitrix\Report\VisualConstructor\Form::render(
);

Метод собирает все элементы и печатает HTML-форму. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Контроллер сайтов

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

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('controller');

Класс/Пространство имен | Описание | С версии
GroupMapTable | Таблица соответствий групп пользователей, подключенных сайтов и групп пользователей контроллера. |
AuthGrantTable | Таблица выданных разрешений для пользователей для выполнения определённых операций с подключенными сайтами. |
AuthLogTable | Таблица журнала действий пользователей. |
GroupTable | Таблица групп подключенных сайтов. |
MemberTable | Таблица подключенных сайтов. |

Смотрите также:

  • Контроллер сайтов (учебный курс)
  • Контроллер сайтов (API для старой версии ядра)


Контроллер сайтов в старом ядре

Отправить отзыв по этому разделу
Пространство имён Bitrix>Контроллер сайтов>Контроллер сайтов в старом ядре

Контроллер сайтов::Контроллер сайтов в старом ядре

События

Список событий модуля Контроллер сайтов в старом ядре

Событие | Вызывается | Метод | С версии
OnAfterCloseMember | После отключения управляемого сайта. | CAllControllerMember::CloseMember | 6.5.3
OnBeforeUpdateCounters | Перед обновлением счётчиков сайта. Позволяет модифицировать код обновляющего счётчика. В обработчик могут передаваться пользовательские поля группы контроллера. | CAllControllerMember::UpdateCounters | 11.5.0
OnBeforeControllerMemberAdd | Перед добавлением клиента. | CControllerMember::CheckFields | 12.5.0
OnBeforeControllerMemberUpdate | Перед обновлением клиента. | CControllerMember::CheckFields | 12.5.0
OnBeforeSendCheckAuth | Используется для модификации полей пользователя, отправляемых на подключенный сайт при авторизации через контроллер. | CControllerMember::CheckFields | 14.5.0
OnBeforeTaskAdd | Перед добавлением задачи. | CControllerTask::CheckFields | 15.5.0
OnBeforeSetGroupSettings | Перед установкой настроек группы. | CControllerMember::SetGroupSettings | 16.0.1


AuthGrantTable

AuthGrantTable - таблица выданных разрешений для пользователей для выполнения определённых операций с подключенными сайтами.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getGranteeUserList | Возвращает массив пользователей, которые имеют разрешение на выполнение операций на подключенном к контроллеру сайте. |
getActiveForControllerMember | Возвращает список разрешений, предоставленных пользователю ($granteeUserId) на сайте ($controllerMemberId). |
validateScope | Возвращает валидаторы для поля NAME. |
validateNote | Возвращает валидаторы для поля NOTE. |
getMap | Возвращает список полей с типами. |
getTableName | Возвращает имя таблицы базы данных, соответствующей данной сущности. |

Таблица выданных разрешений

Поле | Описание | Тип | Обяз.
ID | Идентификатор. | int | Y
TIMESTAMP_X | Время выдачи разрешения. | datetime | Y
GRANTED_BY | Идентификатор пользователя, выдавшего разрешение. | int | Y
CONTROLLER_MEMBER_ID | Идентификатор сайта на котором выдается разрешение. | int | Y
GRANTEE_USER_ID | Идентификатор пользователя, которому выдается разрешение. | int | N
GRANTEE_GROUP_ID | Идентификатор группы, которой выдается разрешение. | int | N
ACTIVE | Активность разрешения. | char(1) | N
SCOPE | Список разрешений. | varchar(20) | Y
DATE_START | Дата начала. | datetime | N
DATE_END | Дата завершения. | datetime | N
NOTE | Заметки. | varchar(255) | N


getActiveForControllerMember

\Bitrix\Main\DB\Result public static
\Bitrix\Controller\AuthGrantTable::getActiveForControllerMember(
 integer $controllerMemberId,
 integer $granteeUserId,
 array $granteeGroups = array()
);

Статический метод возвращает список разрешений, предоставленных пользователю ($granteeUserId) на сайте ($controllerMemberId). Если $granteeGroups указан, то список групп также будет проверен.

Параметры

Параметр | Описание | Версия
$controllerMemberId | Идентификатор подключенного к контроллеру сайта. |
$granteeUserId | Идентификатор пользователя. |
$granteeGroups | Опциональный массив пользовательских групп. |

Исключения

  • ArgumentException (\Bitrix\Main\ArgumentException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getGranteeUserList

array public static
\Bitrix\Controller\AuthGrantTable::getGranteeUserList(
 integer $currentUserId
);

Статический метод возвращает массив идентификаторов пользователей, которым можно выдать разрешение на выполнение операций на подключенном к контроллеру сайте. Критерием попадания в список является наличие у этих пользователей операции controller_member_view.

Параметры

Параметр | Описание | Версия
$currentUserId | Идентификатор текущего пользователя. |

Исключения

  • ArgumentException (\Bitrix\Main\ArgumentException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Controller\AuthGrantTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Controller\AuthGrantTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateNote

array public static
\Bitrix\Controller\AuthGrantTable::validateNote(
);

Статический метод возвращает валидаторы для поля NOTE.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateScope

array public static
\Bitrix\Controller\AuthGrantTable::validateScope(
);

Статический метод возвращает валидаторы для поля NAME.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


AuthLogTable

AuthLogTable - таблица журнала действий пользователей.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getTableName | Возвращает имя таблицы базы данных, соответствующей данной сущности. |
validateUserName | Возвращает валидаторы для поля USER_NAME. |
validateType | Возвращает валидаторы поля TYPE. |
logSiteToControllerAuth | Логирует авторизацию на контроллере. |
logControllerToSiteAuth | Логирует авторизацию на сайте (из контроллера). |
logSiteToSiteAuth | Логирует авторизацию между сайтами. |
getMap | Возвращает список полей с типами. |
isEnabled | Возвращает true, если логирование включено. |
cleanupAgent | Удаляет устаревшие записи. |
setupAgent | Добавляет функцию агента для очистки лога. |

Таблица журнала действий

Поле | Описание | Тип | Обяз.
ID | Идентификатор. | int | Y
TIMESTAMP_X | Время события. | datetime | N
FROM_CONTROLLER_MEMBER_ID | Идентификатор сайта пользователя который выполнил действие. | int | N
TO_CONTROLLER_MEMBER_ID | Идентификатор сайта на котором выполнено действие. | int | N
TYPE | Тип действия. | varchar(50) | N
STATUS | Статус. Y - действие выполнено успешно. N - действие не выполнено. | char(1) | N
USER_ID | Идентификатор пользователя, выполнившего действие. | int | N
USER_NAME | Имя пользователя. | varchar(255) | N


cleanupAgent

string public static
\Bitrix\Controller\AuthLogTable::cleanupAgent(
 integer $days
);

Функция агента. Удаляет устаревшие записи. Метод статический.

Параметры

Параметр | Описание | Версия
$days | Количество дней, которое необходимо сохранять лог. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Controller\AuthLogTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Controller\AuthLogTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isEnabled

boolean public static
\Bitrix\Controller\AuthLogTable::isEnabled(
);

Статический метод возвращает true, если логирование включено. Проверяет перед логированием.

Без параметров

См. также

  • logSiteToControllerAuth (\Bitrix\Controller\AuthLogTable::logSiteToControllerAuth)
  • logControllerToSiteAuth (\Bitrix\Controller\AuthLogTable::logControllerToSiteAuth)
  • logSiteToSiteAuth (\Bitrix\Controller\AuthLogTable::logSiteToSiteAuth)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


logControllerToSiteAuth

\Bitrix\Main\Entity\AddResult public static
\Bitrix\Controller\AuthLogTable::logControllerToSiteAuth(
 integer $controllerMemberId,
 integer $userId,
 boolean $isSuccess = true,
 string $type = '',
 string $userName = ''
);

Статический метод логирует авторизацию на сайте (из контроллера).

Параметры

Параметр | Описание | Версия
$controllerMemberId | Идентификатор подключенного к контроллеру сайта. |
$userId | Идентификатор пользователя. |
$isSuccess | Была операция успешна или нет. |
$type | Опциональный тип. |
$userName | Опциональные детали пользовательского имени. |

Исключения

  • \Exception

См. также

  • isEnabled (\Bitrix\Controller\AuthLogTable::isEnabled)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


logSiteToControllerAuth

\Bitrix\Main\Entity\AddResult public static
\Bitrix\Controller\AuthLogTable::logSiteToControllerAuth(
 integer $controllerMemberId,
 integer $userId,
 boolean $isSuccess = true,
 string $type = '',
 string $userName = ''
);

Статический метод логирует авторизацию на контроллере.

Параметры

Параметр | Описание | Версия
$controllerMemberId | Идентификатор подключенного к контроллеру сайта. |
$userId | Идентификатор пользователя. |
$isSuccess | Была операция успешна или нет. |
$type | Опциональная строка типа. |
$userName | Опциональные детали пользовательского имени. |

Исключения

  • \Exception

См. также

  • isEnabled (\Bitrix\Controller\AuthLogTable::isEnabled)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


logSiteToSiteAuth

\Bitrix\Main\Entity\AddResult public static
\Bitrix\Controller\AuthLogTable::logSiteToSiteAuth(
 integer $fromControllerMemberId,
 integer $toControllerMemberId,
 boolean $isSuccess = true,
 string $type = '',
 string $userName = ''
);

Статический метод логирует авторизацию между сайтами.

Параметры

Параметр | Описание | Версия
$fromControllerMemberId | Идентификатор первого сайта |
$toControllerMemberId | Идентификатор второго сайта. |
$isSuccess | Была операция успешна или нет. |
$type | Опциональный тип. |
$userName | Опциональные детали имени пользователя. |

Исключения

  • \Exception

См. также

  • isEnabled (\Bitrix\Controller\AuthLogTable::isEnabled)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setupAgent

void public static
\Bitrix\Controller\AuthLogTable::setupAgent(
 integer $days
);

Статический метод добавляет функцию агента для очистки лога.

Параметры

Параметр | Описание | Версия
$days | Количество дней, которое необходимо сохранять лог. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateType

array public static
\Bitrix\Controller\AuthLogTable::validateType(
);

Статический метод возвращает валидаторы поля TYPE.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateUserName

array public static
\Bitrix\Controller\AuthLogTable::validateUserName(
);

Статический метод возвращает валидаторы для поля USER_NAME.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


GroupMapTable

GroupMapTable - таблица соответствий групп пользователей, подключенных сайтов и групп пользователей контроллера.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Возвращает список полей с типами. |
getTableName | Возвращает имя таблицы базы данных, соответствующей данной сущности. |
validateLocalGroupCode | Возвращает валидаторы поля LOCAL_GROUP_CODE. |
validateRemoteGroupCode | Возвращает валидаторы поля REMOTE_GROUP_CODE. |
getMapping | Возвращает массив соответствий вида array("FROM"=>NN, "TO"=>MM). |
isExists | Возвращает true, если соответствие существует. |

Таблица соответствий

Поле | Описание | Тип | Обяз.
ID | Идентификатор. | int | Y
CONTROLLER_GROUP_ID | Идентификатор группы контроллера. | int | N
REMOTE_GROUP_CODE | Символьный код удаленной группы. | varchar(30) | N
LOCAL_GROUP_CODE | Символьный код локальной группы. | varchar(30) | N


getMap

array public static
\Bitrix\Controller\GroupMapTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMapping

array public static
\Bitrix\Controller\GroupMapTable::getMapping(
 string $from,
 string $to
);

Статический метод возвращает массив соответствий вида array("FROM"=>NN, "TO"=>MM).

Параметры

Параметр | Описание | Версия
$from | Первое поле соответствия. |
$to | Второе поле соответствия. |

Исключения

  • ArgumentException (\Bitrix\Main\ArgumentException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Controller\GroupMapTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isExists

boolean public static
\Bitrix\Controller\GroupMapTable::isExists(
 array $fields
);

Статический метод возвращает true, если соответствие существует.

Параметры

Параметр | Описание | Версия
$fields | Массив фильтра. |

Исключения

  • ArgumentException (\Bitrix\Main\ArgumentException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateLocalGroupCode

array public static
\Bitrix\Controller\GroupMapTable::validateLocalGroupCode(
);

Статический метод возвращает валидаторы поля LOCAL_GROUP_CODE.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRemoteGroupCode

array public static
\Bitrix\Controller\GroupMapTable::validateRemoteGroupCode(
);

Статический метод возвращает валидаторы поля REMOTE_GROUP_CODE.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


GroupTable

Описание и методы

GroupTable - таблица групп подключенных сайтов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Возвращает список полей с типами. |
getTableName | Возвращает имя таблицы базы данных, соответствующей данной сущности. |
validateCheckCounterSites | Возвращает валидаторы поля CHECK_COUNTER_SITES. |
validateCheckCounterFreeSpace | Возвращает валидаторы для поля CHECK_COUNTER_FREE_SPACE. |
validateName | Возвращает валидаторы для поля NAME. |
validateCheckCounterLastAuth | Возвращает валидаторы для поля CHECK_COUNTER_LAST_AUTH. |
validateCheckCounterUsers | Возвращает валидаторы для поля CHECK_COUNTER_USERS. |

Таблица групп подключенных сайтов

Поле | Описание | Тип | Обяз.
ID | Идентификатор. | int | Y
TIMESTAMP_X | Дата последнего изменения параметров. | datetime | Y
NAME | Название группы. | varchar(255) | Y
UPDATE_PERIOD | Период автоматического обновления счётчиков. | int | Y
DISABLE_DEACTIVATED | Поле не используется | char(1) | N
DESCRIPTION | Описание. | text | N
MODIFIED_BY | Кем изменено. | int | N
DATE_CREATE | Дата создания. | datetime | Y
CREATED_BY | Кем создано. | int | N
INSTALL_INFO | Информация об установке. | text | N
UNINSTALL_INFO | Информация об удалении. | text | N
INSTALL_PHP | Код, который выполняется на подключенном сайте при назначении этой группы. | text | N
UNINSTALL_PHP | Код который выполняется при смене группы на другую. | text | N
TRIAL_PERIOD | Время демо периода (в секундах). Управляет опцией ~controller_trial Главного модуля. | int | N
COUNTER_UPDATE_PERIOD | Период обновления счетчиков. | int | N
CHECK_COUNTER_FREE_SPACE | Обновлять ли счетчик свободного места. | char(1) | N
CHECK_COUNTER_SITES | Обновлять ли счетчик сайтов. | char(1) | N
CHECK_COUNTER_USERS | Обновлять ли счетчик пользователей. | char(1) | N
CHECK_COUNTER_LAST_AUTH | Обновлять ли счетчик последней авторизации. | char(1) | N


getMap

array public static
\Bitrix\Controller\GroupTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Controller\GroupTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCheckCounterFreeSpace

array public static
\Bitrix\Controller\GroupTable::validateCheckCounterFreeSpace(
);

Статический метод возвращает валидаторы для поля CHECK_COUNTER_FREE_SPACE.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCheckCounterLastAuth

array public static
\Bitrix\Controller\GroupTable::validateCheckCounterLastAuth(
);

Статический метод возвращает валидаторы для поля CHECK_COUNTER_LAST_AUTH.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCheckCounterSites

array public static
\Bitrix\Controller\GroupTable::validateCheckCounterSites(
);

Статический метод возвращает валидаторы поля CHECK_COUNTER_SITES.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCheckCounterUsers

array public static
\Bitrix\Controller\GroupTable::validateCheckCounterUsers(
);

Статический метод возвращает валидаторы для поля CHECK_COUNTER_USERS.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateName

array public static
\Bitrix\Controller\GroupTable::validateName(
);

Статический метод возвращает валидаторы для поля NAME.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


MemberTable

Описание и методы

MemberTable - таблица подключенных сайтов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Возвращает список полей с типами. |
getTableName | Возвращает имя таблицы базы данных, соответствующей данной сущности. |
validateSecretId | Возвращает валидаторы для поля SECRET_ID. |
validateMemberId | Возвращает валидаторы для поля MEMBER_ID. |
validateEmail | Возвращает валидаторы для поля EMAIL. |
validateUrl | Возвращает валидаторы для поля URL. |
validateName | Возвращает валидаторы для поля NAME. |
validateHostname | Возвращает валидаторы для поля HOSTNAME. |
validateContactPerson | Возвращает валидаторы для поля CONTACT_PERSON. |

Таблица подключенных сайтов

Поле | Описание | Тип | Обяз.
ID | Идентификатор. | int | Y
MEMBER_ID | Идентификатор сайта, подключенного к контроллеру. | varchar(32) | Y
SECRET_ID | Уникальный код. | varchar(32) | Y
NAME | Название. | varchar(255) | Y
URL | URL сайта. | varchar(255) | Y
EMAIL | E-mail адрес. | varchar(255) | N
CONTACT_PERSON | Контактное лицо. | varchar(255) | N
CONTROLLER_GROUP_ID | Идентификатор группы контроллера. | int | Y
DISCONNECTED | Отключен. | char(1) | N
SHARED_KERNEL | Использует ли разделяемое ядро. | char(1) | N
ACTIVE | Активен ли сайт. | varchar(1) | N
DATE_ACTIVE_FROM | С какой даты активен. | datetime | N
DATE_ACTIVE_TO | До какой даты активен. | datetime | N
SITE_ACTIVE | Признак сайта - открыт/закрыт для посетителей. | char(1) | N
TIMESTAMP_X | Дата последнего изменения параметров. | datetime | Y
MODIFIED_BY | Кем изменено. | int | N
DATE_CREATE | Дата создания. | datetime | Y
CREATED_BY | Кем создано. | int | N
IN_GROUP_FROM | С какой даты в группе. | datetime | N
NOTES | Заметки. | text | N
COUNTER_FREE_SPACE | Свободное место, кб. | float | N
COUNTER_SITES | Количество сайтов. | int | N
COUNTER_USERS | Количество пользователей. | int | N
COUNTER_LAST_AUTH | Последняя авторизация. | datetime | N
COUNTERS_UPDATED | Дата последнего обновления счетчиков. | datetime | N
HOSTNAME | Название хоста для установления управляющего подключения. | varchar(255) | Y


getMap

array public static
\Bitrix\Controller\MemberTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Controller\MemberTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateContactPerson

array public static
\Bitrix\Controller\MemberTable::validateContactPerson(
);

Статический метод возвращает валидаторы для поля CONTACT_PERSON.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateEmail

array public static
\Bitrix\Controller\MemberTable::validateEmail(
);

Статический метод возвращает валидаторы для поля EMAIL.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateHostname

array public static
\Bitrix\Controller\MemberTable::validateHostname(
);

Статический метод возвращает валидаторы для поля HOSTNAME.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateMemberId

array public static
\Bitrix\Controller\MemberTable::validateMemberId(
);

Статический метод возвращает валидаторы для поля MEMBER_ID.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateName

array public static
\Bitrix\Controller\MemberTable::validateName(
);

Статический метод возвращает валидаторы для поля NAME.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateSecretId

array public static
\Bitrix\Controller\MemberTable::validateSecretId(
);

Статический метод возвращает валидаторы для поля SECRET_ID.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateUrl

array public static
\Bitrix\Controller\MemberTable::validateUrl(
);

Статический метод возвращает валидаторы для поля URL.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Корзина удаленных сущностей

Модуль управления корзиной удаленных сущностей (задач и шаблонов).

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('recyclebin');

Класс | Описание | С версии
Recyclebin | Класс содержит методы для работы с корзиной удаленных сущностей (задач и шаблонов). | 18.0.1

Пример

(написание своего обработчика для работы с корзиной сущностей "Задачи")

В первую очередь необходимо создать класс менеджера, который будет возвращать необходимые данные при запросе Корзиной:

\Bitrix\Tasks\Integration\Recyclebin\Manager

class Manager
{
   const TASKS_RECYCLEBIN_ENTITY = 'tasks_task';
   const TASKS_TEMPLATE_RECYCLEBIN_ENTITY = 'tasks_template';
   const MODULE_ID = 'tasks';

   public static function OnModuleSurvey()
   {
      $data = [];

      $data[self::TASKS_RECYCLEBIN_ENTITY] = array(
         'NAME'    => Loc::getMessage('TASKS_RECYCLEBIN_ENTITY_NAME'), // Название сущности
         'HANDLER' => \Bitrix\Tasks\Integration\Recyclebin\Task::class // Класс обработчик сущности
      );

      $data[self::TASKS_TEMPLATE_RECYCLEBIN_ENTITY] = array(
         'NAME'    => Loc::getMessage('TASKS_TEMPLATE_RECYCLEBIN_ENTITY_NAME'),
         'HANDLER' => \Bitrix\Tasks\Integration\Recyclebin\Template::class
      );

      return new EventResult(
         EventResult::SUCCESS, [
         'NAME' => Loc::getMessage('TASKS_RECYCLEBIN_MODULE_NAME'),
         'LIST' => $data
      ], self::MODULE_ID
      );
   }
}

Затем необходимо "зарегистрировать" этот менеджер в события Корзины:

$eventManager = \Bitrix\Main\EventManager::getInstance();

//Recyclebin
$eventManager->registerEventHandler(
   'recyclebin',
   'OnModuleSurvey',
   'tasks',
   '\Bitrix\Tasks\Integration\Recyclebin\Manager',
   'OnModuleSurvey'
);

Теперь, когда мы открываем корзину, она выполняет метод \Bitrix\Recyclebin\Recyclebin::getAvailableModules(), который сообщает ей, с какими сущностями она готова работать.

Далее необходимо описать "Класс обработчик сущности". В нем и будут происходить главные действия. Обработчик должен реализовывать интерфейс \Bitrix\Recyclebin\Internals\Contracts\Recyclebinable для того, чтобы иметь возможность работать с корзиной.

interface Recyclebinable
{

   /**
    * Метод восстановления из корзины
    *
    * @param Entity $entity
    *
    * @return boolean
    */
   public static function moveFromRecyclebin(Entity $entity);

   /**
    * Метод удаления из корзины
    *
    * @param Entity $entity
    *
    * @return boolean
    */
   public static function removeFromRecyclebin(Entity $entity);

   /**
    * Метод предпросмотра в корзине
    *
    * @param Entity $entity
    *
    * @return boolean
    */
   public static function previewFromRecyclebin(Entity $entity);

   /**
    * Метод, который предоставляет переводы результатов действий.
    * NOTIFY - Задача успешно удалена/Восстановлена
    * CONFIRM - Вы уверены, что хотите восстановить/удалить задачу?
    *
    * @return array
    *
    * [
    *     'NOTIFY'=> [
    *        'RESTORE' => Loc::getMessage(''),
    *        'REMOVE' => Loc::getMessage(''),
    *     ],
    *     'CONFIRM' => [
    *        'RESTORE' => Loc::getMessage(''),
    *        'REMOVE' => Loc::getMessage('')
    *     ]
    */
   public static function getNotifyMessages();
}

Такие обработчики нужно описывать для каждой восстанавливаемой сущности (со своими переводами).

Когда задача будет удаляться, вызовется метод OnBeforeTaskDelete (это событие надо зарегистрировать отдельно).

use Bitrix\Recyclebin\Internals\Entity;

public static function OnBeforeTaskDelete($taskId, array $task = [])
{
   $recyclebin = new Entity($taskId, Manager::TASKS_RECYCLEBIN_ENTITY, Manager::MODULE_ID); // создаем объект корзины
   $recyclebin->setTitle($task['TITLE']); // задаем заголовок

   $additionalData = self::collectTaskAdditionalData($taskId); //каким либо образом собираем информацию, которую необходимо сохранить в корзине в формате действие-данные
// например [MEMBERS=>[1,2,3,4,5]], затем по ключу MEMBERS мы будем знать, что восстанавливать
   if ($additionalData)
   {
      foreach ($additionalData as $action => $data)
      {
         $recyclebin->add($action, $data);  // добавляем в корзину
      }
   }

   $result = $recyclebin->save(); // сохраняем в корзине
   $resultData = $result->getData();

   return $resultData['ID']; // получаем ID созданной корзины
}

Восстановление:

use Bitrix\Recyclebin\Internals\Entity;

public static function moveFromRecyclebin(Entity $entity)
{
   $result = new Result();

   $connection = Application::getConnection();

      $connection->queryExecute(
         'UPDATE '.TaskTable::getTableName().' SET ZOMBIE=\'N\' WHERE ID='.$entity->getEntityId()
      ); // восстановил задачу (в данном случае пришлось в обход АПИ, потому что не поддерживается такой функционал

      $arLogFields = array(
         "TASK_ID" => $entity->getEntityId(),
         "USER_ID" => User::getId(),
         "CREATED_DATE" => new DateTime(),
         "FIELD" => 'RENEW'
      );

      $log = new \CTaskLog();
      $log->Add($arLogFields); // добавил в лог задачи информацию об востановлении

   $dataEntity = $entity->getData(); // получил сохраненные данные из корзины

      if ($dataEntity)
      {
         foreach ($dataEntity as $value)
         {
            $data = unserialize($value['DATA']);
            $action = $value['ACTION'];

            self::restoreTaskAdditionalData($entity->getEntityId(), $action, $data); // на основе сохраненного массива восстанавливаем данные
         }
      }

      $task = \CTaskItem::getInstance($entity->getEntityId(), 1);
      $task->update([], ['FORCE_RECOUNT_COUNTER'=>'Y']); // пересчитываем счетчики задач

   return $result; // результат работы
}


Recyclebin

Recyclebin - класс, содержащий методы для работы с корзиной удаленных сущностей (задач и шаблонов).

Метод | Описание | С версии
restore | Метод, восстанавливающий сущность (задачу или шаблон). | 18.0.1
getAvailableModules | Метод, возвращающий массив всех модулей, которые могут работать с корзиной. | 18.0.1
remove | Метод, удаляющий сущность из корзины полностью. | 18.0.1


getAvailableModules

public static function
\Bitrix\Recyclebin\Recyclebin::getAvailableModules()

Статический метод, возвращающий массив всех модулей, которые могут работать с корзиной. Так же в ответе будут все сущности, с которыми модуль может обмениваться с корзиной.

Без параметров.


remove

public static function
\Bitrix\Recyclebin\Recyclebin::remove(int $recyclebinId, array $params=array())

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

Параметры

Параметр | Описание | Версия
$recyclebinId | ID корзины для восстановления.
$params Массив дополнительных параметров:
Параметр | Описание | Версия
skipAdminRightsCheck | Параметр даёт возможность пропустить проверку прав пользователя на удаление сущности из корзины. Если True, то права администратора не проверяются. | 20.0.100


restore

public static function
\Bitrix\Recyclebin\Recyclebin::restore(int $recyclebinId, array $params=array())

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

Параметры

Параметр | Описание | Версия
$recyclebinId | ID корзины для восстановления. |
$params | Массив дополнительных параметров. Пока дополнительные параметры не реализованы. |


Менеджер идей

\Bitrix\Idea - пространство имен модуля Менеджер идей.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('idea');

Класс | Описание
NotifyEmailTable | Класс для работы с таблицей адресов уведомлений.


Менеджер идей в старом ядре

Классы

Список классов модуля Конверсия в старом ядре

Класс | Описание | С версии
CIdeaManagment | Основной класс. | 11.5.0
CIdeaManagmentIdea | Класс для работы с идеями. | 11.5.0
CIdeaManagmentIdeaComment | Класс для работы с комментариями к идее. | 11.5.0


NotifyEmailTable

NotifyEmailTable - класс для работы с таблицей адресов уведомлений.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getFilePath | Метод возвращает путь к файлу, содержащему определение класса. | 14.5.0
getMap | Метод возвращает список полей для таблицы адресов уведомлений. | 14.5.0
getTableName | Метод возвращает название таблицы адресов уведомлений в базе данных. | 14.5.0

Поля таблицы адресов уведомлений

Поле | Описание | Тип | Обяз.
USER_ID | Идентификатор подписавшего пользователя. | Int | Да
SUBSCRIBE_TYPE | Тип подписки. | Varchar(32) | Да
ENTITY_TYPE | Тип сущность, на которую выполнена подписка. | Varchar(32) | Да
ENTITY_CODE | Код сущности, на которую выполнена подписка. | Varchar(255) | Да


getFilePath

string public static
\Bitrix\Idea\NotifyEmailTable::getFilePath(
);

Метод возвращает путь к файлу, содержащему определение класса. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Idea\NotifyEmailTable::getMap(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Idea\NotifyEmailTable::getTableName(
);

Метод возвращает название таблицы адресов уведомлений в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Мобильная платформа

Раздел содержит информацию о классах модуля Мобильная платформа, относящихся к ядру D7 и находящихся соответственно в пространстве имен \Bitrix\MobileApp.

Перед использованием модуля необходимо проверить, установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('mobileapp');

Класс | Описание
Mobile | Класс для работы с мобильными устройствами.

Смотрите также

  • BitrixMobile - создание кроссплатформенных мобильных приложений


Мобильная платформа в старом ядре

События

Список событий модуля Мобильная платформа в старом ядре

Событие | Вызывается | Версия api mobile
onOpenPageAfter | после открытия страницы. Происходит при "перелистывании" уже загруженных в навигационную цепочку страниц, а не после и до загрузки содержимого страницы. | 6
onOpenPageBefore | перед открытием страницы. Происходит при "перелистывании" уже загруженных в навигационную цепочку страниц, а не после и до загрузки содержимого страницы. | 6
onHidePageAfter | после скрытия страницы. | 6
onHidePageBefore | перед скрытием страницы. | 6
UIApplicationDidBecomeActiveNotification | после "выхода из сна". | 6
onInternetStatusChange | после изменения статуса интернет-соединения. | 6
onOpenPush | после открытия push-уведомления. | 6
onKeyboardWillShow | перед появлением клавиатуры. | 6
onKeyboardWillHide | перед скрытием клавиатуры. | 6
onKeyboardDidHide | после скрытия клавиатуры. | 6
onKeyboardDidShow | после появления клавиатуры. | 6


Mobile

Mobile - класс для работы с мобильными устройствами.

Методы класса

Методы | Описание | С версии
getApiVersion | Устанавливает значение self::$apiVersion - версия API | 14.5.0
getDeviceHeight | Получает значение deviceHeight - высоту экрана устройства. | 14.5.0
getDeviceWidth | Получает значение deviceWidth - ширина экрана устройства. | 14.5.0
getIniScale | Получает значение iniScale (параметр initial-scale метатега viewport - начальный масштаб страницы). | 14.5.0
getIPadViewPort | Получает значение viewport-metadata для Apple iPad. | 14.5.0
getLargeScreenSupport | Получает значение largeScreenSupport. | 14.5.0
getLargeScreenViewPort | Возвращает значение метатега viewport для планшетов на базе Android. | 14.5.0
getMaxScale | Возвращает значение maxScale. | 14.5.0
getMinScale | Возвращает значение minScale. | 14.5.0
getPgVersion | Возвращает версию PhoneGap. | 14.5.0
getPixelRatio | Получает значение pixelRatio. | 14.5.0
getPlatform | Получает значение self::platform. | 14.5.0
getScale | Получает значение scale. | 14.5.0
getScreenCategory | Получает значение deviceDpi. | 14.5.0
getTargetDpi | Получает значение dpi для метатега viewport. | 14.5.0
getViewPort | Используется для получения текущего значения content="" метатега viewport. | 14.5.0
getViewPortLandscape | Используется для получения значения метатега viewport для landscape режима. | 14.5.0
getViewPortPortrait | Используется для получения значения метатега viewport для portrait режима. | 14.5.0
isAppBackground | Возвращает true, если запрос был сделан мобильным приложением в фоновом режиме. | 14.5.0
isLarge | Возвращает true, если устройство имеет большой экран (LARGE или XLARGE). | 14.5.0
PrepareStrToJson | Конвертирует строку в UTF-8 и возвращает ее. | 14.5.0
setDeviceHeight | Устанавливает значение deviceHeight. | 14.5.0
setDeviceWidth | Устанавливает значение deviceWidth. | 14.5.0
setIniScale | Устанавливает значение iniScale (параметр initial-scale метатега viewport - начальный масштаб страницы). | 14.5.0
setLargeScreenSupport | Устанавливает значение largeScreenSupport. | 14.5.0
setMaxScale | Устанавливает значение maxScale (параметр maximum-scale в метатеге viewport). | 14.5.0
setMinScale | Устанавливает значение minScale (параметр minimum-scale в метатеге viewport). | 14.5.0
setScale | Устанавливает значение scale. | 14.5.0


getApiVersion

integer public static
\Bitrix\MobileApp\Mobile::getApiVersion(
);

Метод устанавливает значение self::$apiVersion - версия API. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDeviceHeight

mixed public
\Bitrix\MobileApp\Mobile::getDeviceHeight(
);

Получает значение deviceHeight - высоту экрана устройства. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDeviceWidth

mixed public
\Bitrix\MobileApp\Mobile::getDeviceWidth(
);

Получает значение deviceWidth - ширина экрана устройства. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getIniScale

mixed public
\Bitrix\MobileApp\Mobile::getIniScale(
);

Получает значение iniScale (параметр initial-scale метатега viewport - начальный масштаб страницы). Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getIPadViewPort

mixed public
\Bitrix\MobileApp\Mobile::getIPadViewPort(
 integer $width = 320
);

Получает значение viewport-metadata для Apple iPad. Метод нестатический.

Параметры

Параметр | Описание | Версия
$width | Ширина экрана устройства. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLargeScreenSupport

mixed public
\Bitrix\MobileApp\Mobile::getLargeScreenSupport(
);

Получает значение largeScreenSupport. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLargeScreenViewPort

 public
\Bitrix\MobileApp\Mobile::getLargeScreenViewPort(
);

Возвращает значение метатега viewport для планшетов на базе Android. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMaxScale

mixed public
\Bitrix\MobileApp\Mobile::getMaxScale(
);

Возвращает значение maxScale. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMinScale

mixed public
\Bitrix\MobileApp\Mobile::getMinScale(
);

Возвращает значение minScale. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPgVersion

string public static
\Bitrix\MobileApp\Mobile::getPgVersion(
);

Возвращает версию PhoneGap. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPixelRatio

mixed public
\Bitrix\MobileApp\Mobile::getPixelRatio(
);

Получает значение pixelRatio. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPlatform

string public static
\Bitrix\MobileApp\Mobile::getPlatform(
);

Получает значение self::platform. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getScale

mixed public
\Bitrix\MobileApp\Mobile::getScale(
);

Получает значение scale. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getScreenCategory

mixed public
\Bitrix\MobileApp\Mobile::getScreenCategory(
);

Получает значение deviceDpi. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTargetDpi

string public
\Bitrix\MobileApp\Mobile::getTargetDpi(
);

Получает значение dpi для метатега viewport. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getViewPort

mixed|string public
\Bitrix\MobileApp\Mobile::getViewPort(
 string $width = ""
);

Используется для получения текущего значения content="" метатега viewport. Метод нестатический.

Параметры

Параметр | Описание | Версия
$width | Ширина viewport. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getViewPortLandscape

string public
\Bitrix\MobileApp\Mobile::getViewPortLandscape(
);

Используется для получения значения метатега viewport для landscape режима. Метод нестатичный.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getViewPortPortrait

string public
\Bitrix\MobileApp\Mobile::getViewPortPortrait(
);

Используется для получения значения метатега viewport для portrait режима. Метод нестатичный.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isAppBackground

boolean public static
\Bitrix\MobileApp\Mobile::isAppBackground(
);

Возвращает true, если запрос был сделан мобильным приложением в фоновом режиме. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isLarge

boolean public
\Bitrix\MobileApp\Mobile::isLarge(
);

Возвращает true, если устройство имеет большой экран (LARGE или XLARGE). Метод нестатичный.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


PrepareStrToJson

string public static
\Bitrix\MobileApp\Mobile::PrepareStrToJson(
 string $s = ''
);

Конвертирует строку в UTF-8 и возвращает ее. Метод статический.

Параметры

Параметр | Описание | Версия
$s | Возвращаемая строка в UTF-8 кодировке. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDeviceHeight

 public
\Bitrix\MobileApp\Mobile::setDeviceHeight(
 mixed $deviceHeight
);

Устанавливает значение deviceHeight. Метод нестатический.

Параметры

Параметр | Описание | Версия
$deviceHeight | Значение deviceHeight - высота viewport. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDeviceWidth

 public
\Bitrix\MobileApp\Mobile::setDeviceWidth(
 mixed $deviceWidth
);

Устанавливает значение deviceWidth. Метод нестатический.

Параметры

Параметр | Описание | Версия
$deviceWidth | Значение deviceWidth - ширина viewport. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setIniScale

 public
\Bitrix\MobileApp\Mobile::setIniScale(
 mixed $iniScale
);

Устанавливает значение iniScale (параметр initial-scale метатега viewport - начальный масштаб страницы). Метод нестатический.

Параметры

Параметр | Описание | Версия
$iniScale | Начальный масштаб страницы. Чем больше число, тем выше масштаб. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setLargeScreenSupport

 public
\Bitrix\MobileApp\Mobile::setLargeScreenSupport(
 mixed $largeScreenSupport
);

Устанавливает значение largeScreenSupport. Метод нестатический.

Параметры

Параметр | Описание | Версия
$largeScreenSupport | the $largeScreenSupport |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setMaxScale

 public
\Bitrix\MobileApp\Mobile::setMaxScale(
 mixed $maxScale
);

Устанавливает значение maxScale (параметр maximum-scale в метатеге viewport). Метод нестатический.

Параметры

Параметр | Описание | Версия
$maxScale | Максимальный масштаб viewport. Число с точкой (от 0.1 до 10), 1.0 - не масштабировать. По-умолчанию 1.6 в мобильном Safari. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setMinScale

 public
\Bitrix\MobileApp\Mobile::setMinScale(
 mixed $minScale
);

Устанавливает значение minScale (параметр minimum-scale в метатеге viewport). Метод нестатический.

Параметры

Параметр | Описание | Версия
$minScale | Минимальный масштаб viewport. Число с точкой (от 0.1 до 10), 1.0 - не масштабировать. По-умолчанию 0.25 в мобильном Safari. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setScale

 public
\Bitrix\MobileApp\Mobile::setScale(
  $scale
);

Устанавливает значение scale. Метод нестатический.

Параметры

Параметр | Описание | Версия
$scale |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Монитор производительности

Монитор производительности - модуль мониторинга параметров производительности сайта.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('perfmon');

Пространство имен | Описание | С версии
Sql | Набор классов для генерации DDL. |
Php | Класс для генерации php-кода. | 15.5.1

Смотрите также:

  • Монитор производительности (учебный курс)
  • Монитор производительности (API для старой версии ядра)


Монитор производительности в старом ядре

События

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

Событие | Вызывается | Метод | С версии
OnGetTableSchema | позволяет монитору производительности в браузере таблиц выставлять связи между ними. Пример можно посмотреть в /modules/search/install/index.php. | CPerfomanceSchema::Init | 11.0.0

Дополнительно

  • Инструкция по настройке кеширования


Php

Php - класс для генерации php-кода.

Класс | Описание | С версии
CodeTree | Класс генерации кода updater'а. |
Statement | Класс представления одной операции updater'а. |


CodeTree

CodeTree - класс генерации кода updater'а.

Метод | Описание | С версии
getCode | Возвращает php-код. |


getCode

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Монитор производительности>Php>CodeTree>getCode (с версии 15.5.1)

CodeTree::getCode

string public
\Bitrix\Perfmon\Php\CodeTree::getCode(
 integer $level
);

Нестатический метод возвращает php-код.

Параметры

Параметр | Описание | Версия
$level | Уровень выравнивания. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Statement

Statement - класс представления одной операции updater'а.

Метод | Описание | С версии
addLine | Добавляет строку в код. |
merge | Объединяет два выражения. |
addCondition | Добавляет условие для исполнения выражения. |
formatBodyLines | Добавляет выравнивание кода с помощью символов табуляции. |


addCondition

\Bitrix\Perfmon\Php\Statement public
\Bitrix\Perfmon\Php\Statement::addCondition(
 string $predicate
);

Нестатический метод добавляет условие для исполнения выражения.

Параметры

Параметр | Описание | Версия
$predicate | Предикат условия. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addLine

\Bitrix\Perfmon\Php\Statement public
\Bitrix\Perfmon\Php\Statement::addLine(
 string $line
);

Нестатический метод добавляет строку в код.

Параметры

Параметр | Описание | Версия
$line | Строка кода. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


formatBodyLines

string public
\Bitrix\Perfmon\Php\Statement::formatBodyLines(
 integer $level
);

Нестатический метод добавляет выравнивание кода с помощью символов табуляции.

Параметры

Параметр | Описание | Версия
$level | Уровень выравнивания кода. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


merge

\Bitrix\Perfmon\Php\Statement public
\Bitrix\Perfmon\Php\Statement::merge(
 \Bitrix\Perfmon\Php\Statement $stmt
);

Нестатический метод объединяет два выражения.

Параметры

Параметр | Описание | Версия
$stmt | Содержит добавляемые строки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Sql

Sql - набор классов для генерации DDL.

Класс | Описание | С версии
BaseObject | Класс для работы с объектами базы. |
Collection | Класс для работы с коллекциями объектов. |
Column | Класс для работы с колонками таблиц. |
Compare | Класс методов, применяемых для сравнения баз данных. |
Constraint | Класс для работы с ограничениями. |
Index | Класс для работы с индексами. |
Procedure | Класс для работы с процедурами. |
Schema | Класс для работы со схемой базы данных. |
Sequence | Класс для работы с последовательностями. |
Table | Класс для работы с таблицами. |
Token | Класс для работы с текстом токенов. |
Tokenizer | Класс для работы с потоком токенов. |
Trigger | Класс для работы с триггерами. |
Updater | Класс для работы с обновлениями. |


BaseObject

Методы работы с объектами базы.

Метод | Описание | С версии
compareName | Сравнивает имя таблицы с данным. |
getCompareName | Возвращает "нормализованное" название таблицы. |
getCreateDdl | Возвращает DDL или комментарий для создания объекта. |
getDropDdl | Возвращает DDL или комментарий для удаления объекта. |
getModifyDdl | Возвращает DDL или комментарий для модификации объекта. |
setBody | Устанавливает исходный код для объекта. |
setParent | Установить "родителя" для объекта. |
getLowercasedName | Возвращает имя объекта в нижнем регистре. | 15.5.1


compareName

integer public
\Bitrix\Perfmon\Sql\BaseObject::compareName(
 string $name
);

Нестатический метод сравнивает имя таблицы с данным. Если название не взято в кавычки, то регистр не учитывается.

Параметры

Параметр | Описание | Версия
$name | Имя сравниваемой таблицы. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCompareName

string public static
\Bitrix\Perfmon\Sql\BaseObject::getCompareName(
 string $name
);

Статический метод возвращает "нормализованное" название таблицы. Если название не в кавычках, то оно будет передано в верхнем регистре.

Параметры

Параметр | Описание | Версия
$name | Название таблицы. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCreateDdl

array|string public
\Bitrix\Perfmon\Sql\BaseObject::getCreateDdl(
 string $dbType = ''
);

Нестатический метод возвращает DDL или комментарий для создания объекта.

Параметры

Параметр | Описание | Версия
$dbType | Тип базы данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDropDdl

array|string public
\Bitrix\Perfmon\Sql\BaseObject::getDropDdl(
 string $dbType = ''
);

Нестатический метод возвращает DDL или комментарий для удаления объекта.

Параметры

Параметр | Описание | Версия
$dbType | Тип базы данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLowercasedName

string public
\Bitrix\Perfmon\Sql\BaseObject::getLowercasedName(
);

Нестатический метод возвращает имя объекта в нижнем регистре. К нижнему регистру приводятся только не помещенные в кавычки имена.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getModifyDdl

array|string public
\Bitrix\Perfmon\Sql\BaseObject::getModifyDdl(
 \Bitrix\Perfmon\Sql\BaseObject $target,
 string $dbType = ''
);

Нестатический метод возвращает DDL или комментарий для изменения объекта.

Параметры

Параметр | Описание | Версия
$target | Целевой объект. |
$dbType | Тип базы данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setBody

\Bitrix\Perfmon\Sql\BaseObject public
\Bitrix\Perfmon\Sql\BaseObject::setBody(
 string $body
);

Нестатический метод устанавливает исходный код для объекта.

Параметры

Параметр | Описание | Версия
$body | Код для body. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setParent

\Bitrix\Perfmon\Sql\BaseObject public
\Bitrix\Perfmon\Sql\BaseObject::setParent(
 \Bitrix\Perfmon\Sql\BaseObject $parent = null
);

Нестатический метод устанавливает "родителя" для объекта. Например: таблицу или колонку таблицы.

Параметры

Параметр | Описание | Версия
$parent | Родительский объект. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Collection

Методы работы с коллекциями объектов.

Метод | Описание | С версии
add | Добавляет объект в конец коллекции. |
compare | Сравнивает две коллекции объектов. |
getList | Возвращает все объекты коллекции. |
search | Ищет объект в коллекции. |


add

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Монитор производительности>Sql>Collection>add (с версии 15.0.2)

Collection::add

void public
\Bitrix\Perfmon\Sql\Collection::add(
 \Bitrix\Perfmon\Sql\BaseObject $object
);

Нестатический метод добавляет объект в конец коллекции.

Параметры

Параметр | Описание | Версия
$object | Добавляемый объект. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


compare

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Монитор производительности>Sql>Collection>compare (с версии 15.0.2)

Collection::compare

array public
\Bitrix\Perfmon\Sql\Collection::compare(
 \Bitrix\Perfmon\Sql\Collection $targetList,
 boolean $compareBody = true
);

Нестатический метод сравнивает две коллекции объектов и возвращает массив пар:

Каждая пара является массивом из двух элементов:

  1. Первый объект, с индексом "0" это объект из исходного набора.
  2. Второй объект с индексом "1" это объект из $targetList. В случае если элемент отсутствует, значит имя такого элемента не было найдено в коллекции.

Параметры

Параметр | Описание | Версия
$targetList | Сравниваемая коллекция. |
$compareBody | Необходимо ли сравнивать исходный код (body). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getList

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Монитор производительности>Sql>Collection>getList (с версии 15.0.2)

Collection::getList

\Bitrix\Perfmon\Sql\array[BaseObject] public
\Bitrix\Perfmon\Sql\Collection::getList(
);

Нестатический метод возвращает все объекты коллекции.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


search

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Монитор производительности>Sql>Collection>search (с версии 15.0.2)

Collection::search

\Bitrix\Perfmon\Sql\BaseObject|null public
\Bitrix\Perfmon\Sql\Collection::search(
 string $name
);

Нестатический метод ищет объект в коллекции. Поиск производится по имени объекта.

Параметры

Параметр | Описание | Версия
$name | Имя объекта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Column

Методы для работы с колонками таблиц.

Метод | Описание | С версии
checkType | Сверяет тип колонки со списком типов. |
create | Создает колонку из токенов. |
getCreateDdl | Возвращает DDL для создания колонки таблицы. |
getDropDdl | Возвращает DDL для удаления колонки таблицы. |
getModifyDdl | Возвращает DDL для модификации объекта. |


checkType

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Монитор производительности>Sql>Column>checkType (с версии 15.0.2)

Column::checkType

boolean public static
\Bitrix\Perfmon\Sql\Column::checkType(
 string $type
);

Статический метод сверяет тип колонки со списком типов:

- INT

- INTEGER

- TINYINT

- NUMERIC

- NUMBER

- FLOAT

- DOUBLE

- DECIMAL

- BIGINT

- SMALLINT

- MEDIUMINT

- VARCHAR

- VARCHAR2

- CHAR

- TIMESTAMP

- DATETIME

- DATE

- TIME

- TEXT

- LONGTEXT

- MEDIUMTEXT

- CLOB

- BLOB

- MEDIUMBLOB

- LONGBLOB

- VARBINARY

- IMAGE

- ENUM

Параметры

Параметр | Описание | Версия
$type | Тип колонки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


create

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Монитор производительности>Sql>Column>create (с версии 15.0.2)

Column::create

\Bitrix\Perfmon\Sql\Column public static
\Bitrix\Perfmon\Sql\Column::create(
 \Bitrix\Perfmon\Sql\Tokenizer $tokenizer
);

Статический метод создает колонку из токенов. Текущая позиция должна указывать на название колонки.

Параметры

Параметр | Описание | Версия
$tokenizer | Набор токенов. |

Исключения

  • NotSupportedException (Bitrix\Main\NotSupportedException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCreateDdl

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Монитор производительности>Sql>Column>getCreateDdl (с версии 15.0.2)

Column::getCreateDdl

array|string public
\Bitrix\Perfmon\Sql\Column::getCreateDdl(
 string $dbType = ''
);

Нестатический метод возвращает DDL для создания колонки таблицы.

Параметры

Параметр | Описание | Версия
$dbType | Тип базы данных (MYSQL, ORACLE или MSSQL). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDropDdl

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Монитор производительности>Sql>Column>getDropDdl (с версии 15.0.2)

Column::getDropDdl

array|string public
\Bitrix\Perfmon\Sql\Column::getDropDdl(
 string $dbType = ''
);

Нестатический метод возвращает DDL для удаления колонки таблицы.

Параметры

Параметр | Описание | Версия
$dbType | Тип базы данных (MYSQL, ORACLE или MSSQL). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getModifyDdl

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Монитор производительности>Sql>Column>getModifyDdl (с версии 15.0.2)

Column::getModifyDdl

array|string public
\Bitrix\Perfmon\Sql\Column::getModifyDdl(
 \Bitrix\Perfmon\Sql\Column $target,
 string $dbType = ''
);

Нестатический метод возвращает DDL для модификации объекта. Данная функция выполняется только для MySQL. Для Oracle or MS SQL будет возвращен комментарий.

Параметры

Параметр | Описание | Версия
$target | Целевой объект. |
$dbType | Тип базы данных (MYSQL, ORACLE или MSSQL). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Compare

Класс методов, применяемых для сравнения баз данных.

Метод | Описание | С версии
diff | Сравнивает две схемы баз данных. |


diff

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Монитор производительности>Sql>Compare>diff (с версии 15.0.2)

Compare::diff

array public static
\Bitrix\Perfmon\Sql\Compare::diff(
 \Bitrix\Perfmon\Sql\Schema $source,
 \Bitrix\Perfmon\Sql\Schema $target
);

Нестатический метод сравнивает две схемы баз данных и возвращает массив пар.

Парой будет массив из двух элементов:

-Первый элемент с индексом "0" это объект из исходного содержания.

-Второй элемент с индексом "1" это объект из $targetList. Парный объект может быть пустым, если такой элемент найден не был.

Параметры

Параметр | Описание | Версия
$source | Исходная схема. |
$target | Целевая схема. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Constraint

Методы работы с ограничениями.

Метод | Описание | С версии
create | Создает объект ограничений из токенов. |
getCreateDdl | Возвращает DDL для создания ограничения. |
getDropDdl | Возвращает DDL для снятие отграничения. |
getModifyDdl | Возвращает DDL для модификации ограничений. |


create

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Монитор производительности>Sql>Constraint>create (с версии 15.0.2)

Constraint::create

\Bitrix\Perfmon\Sql\Constraint public static
\Bitrix\Perfmon\Sql\Constraint::create(
 \Bitrix\Perfmon\Sql\Tokenizer $tokenizer,
 string $constraintName = ''
);

Статический метод создает объект ограничений из токенов.

Если параметр $constraintName не пропущен, то текущая позиция будет указывать на имя ограничения.

Параметры

Параметр | Описание | Версия
$tokenizer | Набор токенов. |
$constraintName | Необязательный параметр: имя ограничения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCreateDdl

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Монитор производительности>Sql>Constraint>getCreateDdl (с версии 15.0.2)

Constraint::getCreateDdl

array|string public
\Bitrix\Perfmon\Sql\Constraint::getCreateDdl(
 string $dbType = ''
);

Нестатический метод возвращает DDL для создания ограничения.

Параметры

Параметр | Описание | Версия
$dbType | Тип базы данных (MYSQL, ORACLE или MSSQL). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDropDdl

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Монитор производительности>Sql>Constraint>getDropDdl (с версии 15.0.2)

Constraint::getDropDdl

array|string public
\Bitrix\Perfmon\Sql\Constraint::getDropDdl(
 string $dbType = ''
);

Нестатический метод возвращает DDL для снятия отграничения.

Параметры

Параметр | Описание | Версия
$dbType | Тип базы данных (MYSQL, ORACLE или MSSQL). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getModifyDdl

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Монитор производительности>Sql>Constraint>getModifyDdl (с версии 15.0.2)

Constraint::getModifyDdl

array|string public
\Bitrix\Perfmon\Sql\Constraint::getModifyDdl(
 \Bitrix\Perfmon\Sql\BaseObject $target,
 string $dbType = ''
);

Нестатический метод возвращает DDL для модификации ограничений.

Параметры

Параметр | Описание | Версия
$target | Целевой объект. |
$dbType | Тип базы данных (MYSQL, ORACLE или MSSQL). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Index

Описание методов для работы с индексами.

Метод | Описание | С версии
addColumn | Добавляет колонку таблицы к описанию индекса. |
create | Создает объект индексов из токенов. |
getCreateDdl | Возвращает DDL для создания индекса. |
getDropDdl | Возвращает DDL для удаления индекса. |
getModifyDdl | Возвращает DDL для модификации индекса. |
searchTableName | Проверяет набор на токенов на наличие ключевого слова 'ON'. |


addColumn

\Bitrix\Perfmon\Sql\Index public
\Bitrix\Perfmon\Sql\Index::addColumn(
 string $name
);

Нестатический метод добавляет колонку таблицы к описанию индекса.

Параметры

Параметр | Описание | Версия
$name | Название колонки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


create

\Bitrix\Perfmon\Sql\Index public static
\Bitrix\Perfmon\Sql\Index::create(
 \Bitrix\Perfmon\Sql\Tokenizer $tokenizer,
 boolean $unique = false,
 string $indexName = ''
);

Статический метод создает объект индексов из токенов.

Если параметр $indexName не пропущен, то текущая позиция должна быть установлена по названию индекса.

Параметры

Параметр | Описание | Версия
$tokenizer | Набор токенов. |
$unique | Уникальный флаг. |
$indexName | Необязательный параметр: название индекса. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCreateDdl

array|string public
\Bitrix\Perfmon\Sql\Index::getCreateDdl(
 string $dbType = ''
);

Нестатический метод возвращает DDL для создания индекса.

Параметры

Параметр | Описание | Версия
$dbType | Тип базы данных (MYSQL, ORACLE или MSSQL). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDropDdl

array|string public
\Bitrix\Perfmon\Sql\Index::getDropDdl(
 string $dbType = ''
);

Нестатический метод возвращает DDL для удаления индекса.

Параметры

Параметр | Описание | Версия
$dbType | Тип базы данных (MYSQL, ORACLE или MSSQL). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getModifyDdl

array|string public
\Bitrix\Perfmon\Sql\Index::getModifyDdl(
 \Bitrix\Perfmon\Sql\BaseObject $target,
 string $dbType = ''
);

Нестатический метод возвращает DDL для модификации индекса.

Параметры

Параметр | Описание | Версия
$target | Целевой объект. |
$dbType | Тип базы данных (MYSQL, ORACLE или MSSQL). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


searchTableName

void public static
\Bitrix\Perfmon\Sql\Index::searchTableName(
 \Bitrix\Perfmon\Sql\Tokenizer $tokenizer
);

Статический метод проверяет набор на токенов на наличие ключевого слова 'ON'. Передвигает текущую позицию к следующему токену, пропуская пробелы.

Параметры

Параметр | Описание | Версия
$tokenizer | Набор токенов. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Procedure

Набор методов для работы с процедурами.

Метод | Описание | С версии
create | Создает хранящуюся процедуру из токенов. |
getCreateDdl | Возвращает DDL для создания процедуры. |
getDropDdl | Возвращает DDL для удаления процедуры. |
getModifyDdl | Возвращает DDL для модификации процедуры. |


create

\Bitrix\Perfmon\Sql\Procedure public static
\Bitrix\Perfmon\Sql\Procedure::create(
 \Bitrix\Perfmon\Sql\Tokenizer $tokenizer
);

Статический метод создает хранящуюся процедуру из токенов.

Текущая позиция должна указывать на тип хранящейся процедуры (PROCEDURE, FUNCTION или TYPE). Имя может состоять из двух частей, разделенных с помощью '.'.

Параметры

Параметр | Описание | Версия
$tokenizer | Набор токенов. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCreateDdl

array|string public
\Bitrix\Perfmon\Sql\Procedure::getCreateDdl(
 string $dbType = ''
);

Нестатический метод возвращает DDL для создания процедуры.

Параметры

Параметр | Описание | Версия
$dbType | Тип базы данных (MYSQL, ORACLE или MSSQL). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDropDdl

array|string public
\Bitrix\Perfmon\Sql\Procedure::getDropDdl(
 string $dbType = ''
);

Нестатический метод возвращает DDL для удаления процедуры.

Параметры

Параметр | Описание | Версия
$dbType | Тип базы данных (MYSQL, ORACLE или MSSQL). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getModifyDdl

array|string public
\Bitrix\Perfmon\Sql\Procedure::getModifyDdl(
 \Bitrix\Perfmon\Sql\BaseObject $target,
 string $dbType = ''
);

Нестатический метод возвращает DDL для модификации процедуры.

Параметры

Параметр | Описание | Версия
$target | Целевой объект. |
$dbType | Тип базы данных (MYSQL, ORACLE или MSSQL). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Schema

Класс методов, для работы со схемой базы данных.

Метод | Описание | С версии
createFromString | Заполняет схему базы данных на основании DDL-текста. |


createFromString

void public
\Bitrix\Perfmon\Sql\Schema::createFromString(
 string $str,
 string $delimiter
);

Нестатический метод заполняет схему базы данных на основании DDL-текста.

Параметры

Параметр | Описание | Версия
$str | DDL-текст. |
$delimiter | Как разделять DDL на операторы. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Sequence

Методы для работы с последовательностями.

Метод | Описание | С версии
create | Создает объект последовательности из токенов. |
getCreateDdl | Возвращает DDL для создания последовательности. |
getDropDdl | Возвращает DDL для удаления последовательности. |
getModifyDdl | Возвращает DDL для модификации последовательности. |


create

\Bitrix\Perfmon\Sql\Sequence public static
\Bitrix\Perfmon\Sql\Sequence::create(
 \Bitrix\Perfmon\Sql\Tokenizer $tokenizer
);

Статический метод создает объект последовательности из токенов. Текущая позиция должна указывать на название последовательности.

Параметры

Параметр | Описание | Версия
$tokenizer | Набор токенов. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCreateDdl

array|string public
\Bitrix\Perfmon\Sql\Sequence::getCreateDdl(
 string $dbType = ''
);

Нестатический метод возвращает DDL для создания последовательности.

Параметры

Параметр | Описание | Версия
$dbType | Тип базы данных (только ORACLE). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDropDdl

array|string public
\Bitrix\Perfmon\Sql\Sequence::getDropDdl(
 string $dbType = ''
);

Нестатический метод возвращает DDL для удаления последовательности.

Параметры

Параметр | Описание | Версия
$dbType | Тип базы данных (только ORACLE). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getModifyDdl

array|string public
\Bitrix\Perfmon\Sql\Sequence::getModifyDdl(
 \Bitrix\Perfmon\Sql\BaseObject $target,
 string $dbType = ''
);

Нестатический метод возвращает DDL для модификации последовательности (сначала удаляется старая и затем создается новая версия).

Параметры

Параметр | Описание | Версия
$target | Целевой объект. |
$dbType | Тип базы данных (только ORACLE). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Table

Методы работы с таблицами.

Метод | Описание | С версии
create | Создает объект таблицы из токенов. |
createColumn | Создает колонку таблицы из токенов. |
createConstraint | Создает объект ограничения из токенов. |
createIndex | Создает объект индекса из токенов. |
createTrigger | Создает объект триггера из токенов. |
getCreateDdl | Возвращает DDL для создания таблицы. |
getDropDdl | Возвращает DDL для удаления таблицы. |


create

\Bitrix\Perfmon\Sql\Table public static
\Bitrix\Perfmon\Sql\Table::create(
 \Bitrix\Perfmon\Sql\Tokenizer $tokenizer
);

Статический метод создает объект таблица из токенов. Текущая позиция должна указывать на название последовательности или на условие 'if not exists'.

Параметры

Параметр | Описание | Версия
$tokenizer | Поток токенов. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createColumn

\Bitrix\Perfmon\Sql\Table public
\Bitrix\Perfmon\Sql\Table::createColumn(
 \Bitrix\Perfmon\Sql\Tokenizer $tokenizer
);

Нестатический метод создает колонку таблицы из токенов. Также регистрирует колонку в таблице регистрации колонок.

Параметры

Параметр | Описание | Версия
$tokenizer | Поток токенов. |

См. также

  • Column::create (\Bitrix\Perfmon\Sql\Column::create)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createConstraint

\Bitrix\Perfmon\Sql\Table public
\Bitrix\Perfmon\Sql\Table::createConstraint(
 \Bitrix\Perfmon\Sql\Tokenizer $tokenizer,
 string $constraintName = ''
);

Нестатический метод создает объект ограничения из токенов. Также регистрирует ограничение в таблице регистрации ограничений.

Параметры

Параметр | Описание | Версия
$tokenizer | Поток токенов. |
$constraintName | Имя ограничения. |

См. также

  • Constraint::create (\Bitrix\Perfmon\Sql\Constraint::create)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createIndex

\Bitrix\Perfmon\Sql\Table public
\Bitrix\Perfmon\Sql\Table::createIndex(
 \Bitrix\Perfmon\Sql\Tokenizer $tokenizer,
 boolean $unique = false,
 string $indexName = ''
);

Нестатический момент создает объект индекса из токенов. Также регистрирует индекс в таблице регистраций индексов.

Параметры

Параметр | Описание | Версия
$tokenizer | Поток токенов. |
$unique | Флаг уникальности. |
$indexName | Имя индекса. |

См. также

  • Index::create (\Bitrix\Perfmon\Sql\Index::create)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createTrigger

\Bitrix\Perfmon\Sql\Table public
\Bitrix\Perfmon\Sql\Table::createTrigger(
 \Bitrix\Perfmon\Sql\Tokenizer $tokenizer
);

Нестатический метод создает объект триггера из токенов. Также регистрирует триггер в таблице регистрации триггеров.

Параметры

Параметр | Описание | Версия
$tokenizer | Поток токенов. |

См. также

  • Constraint::create (\Bitrix\Perfmon\Sql\Constraint::create)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCreateDdl

array|string public
\Bitrix\Perfmon\Sql\Table::getCreateDdl(
 string $dbType = ''
);

Нестатический метод возвращает DDL для создания таблицы.

Параметры

Параметр | Описание | Версия
$dbType | Тип базы данных (MYSQL, ORACLE или MSSQL). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDropDdl

array|string public
\Bitrix\Perfmon\Sql\Table::getDropDdl(
 string $dbType = ''
);

Нестатический метод возвращает DDL для удаления таблицы.

Параметры

Параметр | Описание | Версия
$dbType | Тип базы данных (MYSQL, ORACLE или MSSQL). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Token

Методы для работы с текстом токенов.

Метод | Описание | С версии
appendText | Добавляет новый текст к токену. |
setText | Устанавливает новый текст для токена. |


appendText

void public
\Bitrix\Perfmon\Sql\Token::appendText(
 string $text
);

Нестатический метод добавляет новый текст к токену.

Параметры

Параметр | Описание | Версия
$text | Добавляемая часть. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setText

void public
\Bitrix\Perfmon\Sql\Token::setText(
 string $text
);

Нестатический метод устанавливает новый текст для токена.

Параметры

Параметр | Описание | Версия
$text | Новый текст. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Tokenizer

Методы для работы с потоком токенов.

Метод | Описание | С версии
createFromString | Разбивает текст на токены, создавая новый объект потока токенов. |
createFromTokens | Создает новые объекты потока токенов и устанавливает их токены в данное. |
endOfInput | Проверяет, достигнут ли конец списка токенов. |
getCurrentToken | Метод возвращает текущий токен, не меняя текущую позицию. |
getTokens | Возвращает все токены. |
nextToken | Возвращает следующий токен в списке. |
putBack | Передвигает текущую позицию на шаг назад. |
resetState | Сбрасывает внутреннее состояние. |
setBookmark | Метод фиксирует и запоминает текущую позицию. |
restoreBookmark | Восстанавливает ранее запомненную позицию. |
skipWhiteSpace | Метод пропускает все пробелы и комментарии. |
testText | Проверяет соответствие текста в параметре $text с текстом, содержащемуся в токене. |
testUpperText | Проверяет соответствие текста в параметре $text с текстом, содержащемуся в токене. |


createFromString

\Bitrix\Perfmon\Sql\Tokenizer public static
\Bitrix\Perfmon\Sql\Tokenizer::createFromString(
 string $sql
);

Статический метод разбивает текст на токены, создавая новый объект потока токенов. Возвращает созданный объект.

Параметры

Параметр | Описание | Версия
$sql | Sql-текст. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createFromTokens

\Bitrix\Perfmon\Sql\Tokenizer public static
\Bitrix\Perfmon\Sql\Tokenizer::createFromTokens(
 \Bitrix\Perfmon\Sql\array[Token] $tokens
);

Статический метод создает новые объекты потока токенов и устанавливает их токены в данное.

Параметры

Параметр | Описание | Версия
$tokens | Новые токены. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


endOfInput

boolean public
\Bitrix\Perfmon\Sql\Tokenizer::endOfInput(
);

Нестатический метод проверяет, достигнут ли конец списка токенов.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrentToken

\Bitrix\Perfmon\Sql\Token public
\Bitrix\Perfmon\Sql\Tokenizer::getCurrentToken(
);

Нестатический метод возвращает текущий токен, не меняя текущую позицию.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTokens

\Bitrix\Perfmon\Sql\array[Token] public
\Bitrix\Perfmon\Sql\Tokenizer::getTokens(
);

Нестатический метод возвращает все токены.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


nextToken

\Bitrix\Perfmon\Sql\Token public
\Bitrix\Perfmon\Sql\Tokenizer::nextToken(
);

Нестатический метод возвращает следующий токен в списке, продвигая текущую позицию на шаг вперед.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


putBack

void public
\Bitrix\Perfmon\Sql\Tokenizer::putBack(
);

Нестатический метод передвигает текущую позицию на шаг назад.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


resetState

void public
\Bitrix\Perfmon\Sql\Tokenizer::resetState(
);

Нестатический метод сбрасывает внутреннее состояние.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


restoreBookmark

void public
\Bitrix\Perfmon\Sql\Tokenizer::restoreBookmark(
);

Нестатический метод восстанавливает ранее запомненную позицию.

Без параметров

См. также

  • setBookmark (\Bitrix\Perfmon\Sql\Tokenizer::setBookmark)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setBookmark

void public
\Bitrix\Perfmon\Sql\Tokenizer::setBookmark(
);

Нестатический метод фиксирует и запоминает текущую позицию.

Без параметров

См. также

  • restoreBookmark (\Bitrix\Perfmon\Sql\Tokenizer::restoreBookmark)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


skipWhiteSpace

void public
\Bitrix\Perfmon\Sql\Tokenizer::skipWhiteSpace(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


testText

boolean public
\Bitrix\Perfmon\Sql\Tokenizer::testText(
 string $text
);

Нестатический метод проверяет соответствие текста в параметре $text с текстом, содержащемуся в токене. В случае соответствия текущая позиция продвигается на шаг вперед.

Параметры

Параметр | Описание | Версия
$text | Сравниваемый текст. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


testUpperText

boolean public
\Bitrix\Perfmon\Sql\Tokenizer::testUpperText(
 string $text
);

Нестатический метод проверяет соответствие текста в параметре $text с текстом, содержащемуся в токене. В случае соответствия текущая позиция продвигается на шаг вперед.

Параметры

Параметр | Описание | Версия
$text | Сравниваемый текст. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Trigger

Набор методов для работы с триггерами.

Метод | Описание | С версии
create | Создает триггер из токенов. |
getCreateDdl | Возвращает DDL для создания триггера. |
getDropDdl | Возвращает DDL для удаления триггера. |
getModifyDdl | Возвращает DDL для изменения триггера. |
searchTableName | Проверяет набор токенов на наличие ключевого слова 'ON'. |


create

\Bitrix\Perfmon\Sql\Trigger public static
\Bitrix\Perfmon\Sql\Trigger::create(
 \Bitrix\Perfmon\Sql\Tokenizer $tokenizer
);

Статический метод создает триггер из токенов. Текущая позиция должна указывать на имя триггера.

Параметры

Параметр | Описание | Версия
$tokenizer | Набор токенов. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCreateDdl

array|string public
\Bitrix\Perfmon\Sql\Trigger::getCreateDdl(
 string $dbType = ''
);

Нестатический метод возвращает DDL для создания триггера.

Параметры

Параметр | Описание | Версия
$dbType | Тип базы данных (MYSQL, ORACLE или MSSQL). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDropDdl

array|string public
\Bitrix\Perfmon\Sql\Trigger::getDropDdl(
 string $dbType = ''
);

Нестатический метод возвращает DDL для удаления триггера.

Параметры

Параметр | Описание | Версия
$dbType | Тип базы данных (MYSQL, ORACLE или MSSQL). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getModifyDdl

array|string public
\Bitrix\Perfmon\Sql\Trigger::getModifyDdl(
 \Bitrix\Perfmon\Sql\BaseObject $target,
 string $dbType = ''
);

Нестатический метод возвращает DDL для модификации триггера (сначала удаляется старая, затем создается новая версия).

Параметры

Параметр | Описание | Версия
$target | Целевой объект. |
$dbType | Тип базы данных (MYSQL, ORACLE или MSSQL). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


searchTableName

void public static
\Bitrix\Perfmon\Sql\Trigger::searchTableName(
 \Bitrix\Perfmon\Sql\Tokenizer $tokenizer
);

Статический метод проверяет набор токенов на наличие ключевого слова 'ON'. Текущая позиция продвигается к следующему токену, пропуская пробелы.

Параметры

Параметр | Описание | Версия
$tokenizer | Набор токенов. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Updater

Методы для работы с обновлениями.

Метод | Описание | С версии
generate | Создает код обновления. |
setDbType | Устанавливает тип базы данных. |
setDelimiter | Устанавливает DDL-разделитель для анализа. |
getStatements | Возвращает список сгенерированных операторов. | 15.5.1


generate

string public
\Bitrix\Perfmon\Sql\Updater::generate(
 string $sourceSql,
 string $targetSql
);

Нестатический метод создает код обновления.

Параметры

Параметр | Описание | Версия
$sourceSql | Исходные DDL выражения. |
$targetSql | Целевые DDL выражения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getStatements

array public
\Bitrix\Perfmon\Sql\Updater::getStatements(
);

Нестатический метод возвращает список сгенерированных операторов.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDbType

\Bitrix\Perfmon\Sql\Updater public
\Bitrix\Perfmon\Sql\Updater::setDbType(
 string $dbType = ''
);

Нестатический метод устанавливает тип базы данных. На данный момент поддерживаются MYSQL, ORACLE и MSSQL.

Параметры

Параметр | Описание | Версия
$dbType | Тип базы данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDelimiter

\Bitrix\Perfmon\Sql\Updater public
\Bitrix\Perfmon\Sql\Updater::setDelimiter(
 string $delimiter = ''
);

Нестатический метод устанавливает DDL-разделитель для анализа.

Параметры

Параметр | Описание | Версия
$delimiter | Разделитель DDL-выражений. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Опросы, голосования

Раздел содержит информацию о классах модуля Опросы, голосования, относящихся к ядру D7 и находящихся соответственно в пространстве имен \Bitrix\Vote.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('vote');

Подпространства и классы

Подпространство, класс | Описание
AnswerTable | Класс для работы с таблицей ответов опросов.
Attach | Класс для работы с прикрепленными к опросам объектами.
AttachTable | Класс для работы с таблицей связанных с опросами объектов.
Attachment | Пространство для работы с прикрепленными к опросам объектами.
Base | Базовое подпространство опросов.
Channel | Класс для работы с группами опросов.
ChannelGroupTable | Класс для работы с таблицей прав доступа к группам опросов.
ChannelSiteTable | Класс для работы с таблицей привязки опросов к сайтам.
ChannelTable | Класс для работы с таблицей групп опросов.
EventAnswerTable | Класс для работы с таблицей вопросов, по которым проводились голосования.
EventQuestionTable | Класс для работы с таблицей вопросов, по которым проводились голосования.
EventTable | Класс для работы с таблицей голосований пользователей.
QuestionTable | Класс для работы с таблицей вопросов опросов.
Uf | Содержит классы для работы с прикрепленными к опросам объектами.
User | Класс для работы с пользователями, принявших участие в опросах.
UserTable | Класс для работы с таблицей пользователей, принявших участие в опросах.
Vote | Класс для работы с опросами.
VoteTable | Класс для работы с таблицей опросов.


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

События

Событие | Входные параметры | Вызывается | Метод | С версии
Статистика голосования
onVoteReset | [$voteId] | После сброса статистики | \Bitrix\Vote\Vote::resetStatistic($voteId) | 12.0.5
onBeforeVoting | [&$eventFields, &$answers] | До момента фиксации голоса | \Bitrix\Vote\Event::add | 12.0.5
onAfterVoting | [$voteId, $eventId, $userId] | После успешной фиксации голоса | \Bitrix\Vote\Vote::registerEvent | 12.0.5
Опросы как сущность
onBeforeVoteAdd | [&$fields] | Перед добавлением опроса | \Bitrix\Vote\VoteTable::onBeforeAdd | 8.5.0
onAfterVoteAdd | [$id, $fields] | После добавления опроса | \Bitrix\Vote\VoteTable::onAfterAdd | 8.5.0
onBeforeVoteUpdate | [$id, &$fields] | Перед изменением опроса | \Bitrix\Vote\VoteTable::onBeforeUpdate | 8.5.0
onAfterVoteUpdate | [$id, $fields] | После изменения опроса | \Bitrix\Vote\VoteTable::onAfterUpdate | 8.5.0
onBeforeVoteDelete | [&$id] | Перед удалением опроса | \CVote::Delete | 12.0.5
onAfterVoteDelete | [$id] | После удаления опроса | \CVote::Delete | 12.0.5
Вопросы
onBeforeVoteQuestionAdd | [&$fields] | Перед добавлением вопроса | \CVoteQuestion::Add | 8.5.0
onAfterVoteQuestionAdd | [$id, $fields] | После добавления вопроса | \CVoteQuestion::Add | 8.5.0
onBeforeVoteQuestionUpdate | [$id, &$fields] | Перед изменением вопроса | \CVoteQuestion::Update | 8.5.0
onAfterVoteQuestionUpdate | [$id, $fields] | После изменения вопроса | \CVoteQuestion::Update | 8.5.0
onBeforeVoteQuestionDelete | [$id, $voteId] | Перед удалением вопроса | \CVoteQuestion::Delete | 8.5.0
onAfterVoteQuestionDelete | [$id, $voteId] | После удаления вопроса | \CVoteQuestion::Delete | 8.5.0
onVoteQuestionActivate | [$id, boolean $active] | При активации вопроса | \CVoteQuestion::setActive | 12.5.0
Ответы
onBeforeVoteAnswerAdd | [&$fields] | Перед добавлением ответа | \CVoteAnswer::Add | 8.5.0
onAfterVoteAnswerAdd | [$id, $fields] | После добавления ответа | \CVoteAnswer::Add | 8.5.0
onBeforeVoteAnswerUpdate | [$id, &$fields] | Перед изменением ответа | \CVoteAnswer::Update | 8.5.0
onAfterVoteAnswerUpdate | [$id, $fields] | После изменения ответа | \CVoteAnswer::Update | 8.5.0
onBeforeVoteAnswerDelete | [$id, $questionId, $voteId] | Перед удалением ответа | \CVoteAnswer::Delete | 8.5.0
onAfterVoteAnswerDelete | [$id, $questionId, $voteId] | После удаления ответа | \CVoteAnswer::Delete | 8.5.0
Группы опросов
onBeforeVoteChannelAdd | [&$fields] | Перед добавлением группы опросов | \CVoteChannel::Add | 12.0.5
onAfterVoteChannelAdd | [$id, $fields] | После добавления группы опросов | \CVoteChannel::Add | 12.0.5
onBeforeVoteChannelUpdate | [&$fields] | Перед изменением группы опросов | \CVoteChannel::Update | 12.0.5
onAfterVoteChannelUpdate | [$id, $fields] | После изменения группы опросов | \CVoteChannel::Update | 12.0.5
onBeforeVoteChannelDelete | [&$id] | Перед удалением группы опросов | \CVoteChannel::Delete | 12.0.5
onAfterVoteChannelDelete | [$id] | После удаления группы опросов | \CVoteChannel::Delete | 12.0.5

Функции

Функция | Описание | С версии
GetAnyAccessibleVote | Возвращает ID первого попавшегося опроса, по которому пользователь ещё не голосовал, но имеет на это право. |
GetCurrentVote] | Возвращает ID текущего опроса в группе. |
GetPrevVote | Возвращает ID предыдущего опроса в группе. |
GetVoteDataByID | В случае, если массив будет найден в базе, возвращает ID опроса и массивы, его описывающие. |
GetVoteList | Возвращает выборку из базы по опросам. |
IsUserVoted | Возвращает true, если пользователь уже голосовал по заданному опросу и ему больше нельзя голосовать в соответствии с настройками опроса, в противном случае - false. |
ShowCurrentVote | Возвращает HTML-код текущего опроса группы. |
ShowCurrentVoteResults | Возвращает HTML-код диаграммы результатов текущего опроса группы. |
ShowPrevVoteResults | Возвращает HTML-код диаграммы результатов предыдущего опроса группы. |
ShowVote | Возвращает HTML-код формы опроса. |
ShowVoteResults | Возвращает HTML-код с диаграммой результатов опроса. |


AnswerTable

AnswerTable - класс для работы с таблицей ответов опросов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы ответов опросов. | 17.0.0
getTableName | Метод возвращает название таблицы ответов опросов. | 17.0.0


getMap

array public static
\Bitrix\Vote\AnswerTable::getMap(
);

Метод возвращает список полей для таблицы ответов опросов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Vote\AnswerTable::getTableName(
);

Метод возвращает название таблицы ответов опросов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Attach

Attach - класс для работы с прикрепленными к опросам объектами.

Методы класса

Метод | Описание | С версии
getData | Метод возвращает массив данных, где первый ключ - это массив данных прикрепленного объекта, а второй ключ - массив данных опроса. | 17.0.0
getDataByEntity | Метод возвращает массив данных прикрепленного объекта, связанного со специальной сущностью. | 17.0.0


getData

array|null public static
\Bitrix\Vote\Attach::getData(
 integer $id
);

Метод возвращает массив данных, где первый ключ - это массив данных прикрепленного объекта, а второй ключ - массив данных опроса.

Параметры

Параметр | Описание | Версия
$id | Код записи в таблице прикрепленных к опросам объектов. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDataByEntity

mixed public static
\Bitrix\Vote\Attach::getDataByEntity(
 array $id
);

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

Параметры

Параметр | Описание | Версия
$id | Массив с данными сущности, например: Array("ENTITY_TYPE" => "blog", "ENTITY_ID" => 89);. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Attachment

Attachment - пространство для работы с прикрепленными к опросам объектами.

Методы класса

Класс | Описание
Attach | Класс для работы с прикрепленными объектами.


Attach

Attach - класс для работы с объектами, используемыми с опросами.

Методы класса

Метод | Описание | С версии
canEdit | Метод проверяет права пользователя на обновление текущего прикрепленного объекта. | 17.0.0
canParticipate | Метод проверяет права пользователя на возможность участия в голосовании. | 17.0.0
canRead | Метод проверяет права пользователя на чтение текущего прикрепленного объекта. | 17.0.0
checkData | Метод проверяет корректность массива с данными опроса. | 17.0.0
delete | Метод удаляет прикрепленный объект и опрос. | 17.0.0
detachByFilter | Метод удаляет прикрепленный объект по заданному фильтру. | 17.0.0
exportExcel | Метод экспортирует данные опроса в MS Excel. | 17.0.0
getAttachId | Метод возвращает идентификатор записи в таблице прикрепленных объектов к опросам. | 17.0.0
getConnector | Метод возвращает экземпляр коннектора для прикрепленного объекта. | 17.0.0
getEntityId | Метод возвращает идентификатор сущности. | 17.0.0
getEntityType | Метод возвращает тип сущности. | 17.0.0
getModuleId | Метод возвращает идентификатор модуля. | 17.0.0
getVoteId | Метод возвращает идентификатор опроса. | 17.0.0
init | Метод инициализирует работу с прикрепленными объектами. | 17.0.0
isVotedFor | Метод проверяет, принимал ли пользователь участие в данном опросе. | 17.0.0
resume | Метод продлевает период голосования. | 17.0.0
save | Метод обновляет данные по опросу. | 17.0.0
stop | Метод завершает период голосования. | 17.0.0
voteFor | Метод выполняет голосование от текущего пользователя. | 17.0.0
Конструктор Attach | Конструктор класса \Bitrix\Vote\Attachment\Attach. | 17.0.0


canEdit

boolean public
\Bitrix\Vote\Attachment\Attach::canEdit(
 integer $userId
);

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

Параметры

Параметр | Описание | Версия
$userId | Идентификатор пользователя. |

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


canParticipate

boolean public
\Bitrix\Vote\Attachment\Attach::canParticipate(
 integer $userId
);

Метод проверяет права пользователя на возможность участия в голосовании. Нестатический метод.

Параметры

Параметр | Описание | Версия
$userId | Идентификатор пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


canRead

boolean public
\Bitrix\Vote\Attachment\Attach::canRead(
 integer $userId
);

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

Параметры

Параметр | Описание | Версия
$userId | Идентификатор пользователя. |

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkData

void public
\Bitrix\Vote\Attachment\Attach::checkData(
 array &$data
);

Метод проверяет корректность массива с данными опроса. Нестатический метод.

Параметры

Параметр | Описание | Версия
$data | Массив с данными опроса. |

Исключения

  • \Bitrix\Main\AccessDeniedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delete

\Bitrix\Vote\Attachment\boolean; public
\Bitrix\Vote\Attachment\Attach::delete(
);

Метод удаляет прикрепленный объект и опрос. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


detachByFilter

void public static
\Bitrix\Vote\Attachment\Attach::detachByFilter(
 array $filter
);

Метод удаляет прикрепленный объект по заданному фильтру. Метод статический.

Параметры

Параметр | Описание | Версия
$filter | Массив фильтра, составленный в терминах ORM. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


exportExcel

void public
\Bitrix\Vote\Attachment\Attach::exportExcel(
);

Метод экспортирует данные опроса в MS Excel. Нестатический метод.

Без параметров

Исключения

  • \Bitrix\Main\InvalidOperationException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAttachId

integer|null public
\Bitrix\Vote\Attachment\Attach::getAttachId(
);

Метод возвращает идентификатор записи в таблице прикрепленных объектов к опросам. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getConnector

\Bitrix\Vote\Attachment\Connector|null public
\Bitrix\Vote\Attachment\Attach::getConnector(
);

Метод возвращает экземпляр коннектора для прикрепленного объекта. Нестатический метод.

Без параметров

Исключения

  • \Bitrix\Main\LoaderException
  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEntityId

string public
\Bitrix\Vote\Attachment\Attach::getEntityId(
);

Метод возвращает идентификатор сущности. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEntityType

string public
\Bitrix\Vote\Attachment\Attach::getEntityType(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getModuleId

string public
\Bitrix\Vote\Attachment\Attach::getModuleId(
);

Метод возвращает идентификатор модуля. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getVoteId

integer|null public
\Bitrix\Vote\Attachment\Attach::getVoteId(
);

Метод возвращает идентификатор опроса. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


init

\Bitrix\Vote\Attachment\Attach public
\Bitrix\Vote\Attachment\Attach::init(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isVotedFor

boolean|integer public
\Bitrix\Vote\Attachment\Attach::isVotedFor(
 integer $userId
);

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

Параметры

Параметр | Описание | Версия
$userId | Идентификатор пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


resume

boolean public
\Bitrix\Vote\Attachment\Attach::resume(
);

Метод продлевает период голосования. Нестатический метод.

Без параметров

Исключения

  • \Bitrix\Main\InvalidOperationException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


save

boolean public
\Bitrix\Vote\Attachment\Attach::save(
 array $data,
 integer $createdBy
);

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

Параметры

Параметр | Описание | Версия
$data | Массив с данными опроса. |
$createdBy | Идентификатор пользователя, создавшего опрос. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


stop

boolean public
\Bitrix\Vote\Attachment\Attach::stop(
);

Метод завершает период голосования. Нестатический метод.

Без параметров

Исключения

  • \Bitrix\Main\InvalidOperationException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


voteFor

boolean public
\Bitrix\Vote\Attachment\Attach::voteFor(
 array $request
);

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

Параметры

Параметр | Описание | Версия
$request | Массив с параметрами голосования. |

Исключения

  • \Bitrix\Main\InvalidOperationException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор Attach

 public
\Bitrix\Vote\Attachment\Attach::__construct(
 array $attach,
 null $vote = null
);

Конструктор класса \Bitrix\Vote\Attachment\Attach. Нестатический метод.

Параметры

Параметр | Описание | Версия
$attach | Массив параметров прикрепленного объекта (например: Array("ID" => 1, "ENTITY_TYPE" => "blog", "ENTITY_ID" => 98, ...);. |
$vote | Опрос. |

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


AttachTable

AttachTable - класс для работы с таблицей прикрепленных объектов к опросам.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
deleteByFilter | Метод удаляет записи из таблицы по заданному фильтру. | 17.0.0
getMap | Метод возвращает список полей для таблицы прикрепленных объектов к опросам. | 17.0.0
getTableName | Метод возвращает название таблицы прикрепленных объектов к опросам. | 17.0.0


deleteByFilter

boolean public static
\Bitrix\Vote\AttachTable::deleteByFilter(
 array $filter
);

Метод удаляет записи из таблицы по заданному фильтру. Метод статический.

Параметры

Параметр | Описание | Версия
$filter | Массив с фильтром, составленный в терминах ORM. |

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Vote\AttachTable::getMap(
);

Метод возвращает список полей для таблицы прикрепленных объектов к опросам. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Vote\AttachTable::getTableName(
);

Метод возвращает название таблицы прикрепленных объектов к опросам. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Base

\Bitrix\Vote\Base - базовое подпространство опросов.

Методы класса

Класс | Описание
BaseObject | Базовый класс для работы с объектами опросов.
Controller | Класс контроллеров.
Diag | Класс для работы с отладочной информацией по опросам.


BaseObject

BaseObject - базовый класс для работы с объектами опросов.

Методы класса

Метод | Описание | С версии
init | Метод инициализирует работу объектов. | 17.0.0


init

void public
\Bitrix\Vote\Base\BaseObject::init(
);

Метод инициализирует работу объектов. Нестатический метод. Используется только для потомков класса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Controller

Controller - класс контроллеров.

Методы класса

Метод | Описание | С версии
exec | Метод запускает действие контроллера. | 17.0.0
getAction | Метод возвращает название текущего действия. | 17.0.0
getActionDescription | Метод возвращает описание действия. | 17.0.0
getErrorByCode | Метод возвращает ошибку по ее коду. | 17.0.0
getErrors | Метод возвращает массив ошибок. | 17.0.0
setAction | Метод устанавливает название и описание действия. | 17.0.0
setActionName | Метод устанавливает название действия. | 17.0.0
Конструктор Controller | Конструктор класса Controller. | 17.0.0


exec

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Опросы, голосования>Base>Controller>exec (доступен с 17.0.0)

Controller::exec

void public
\Bitrix\Vote\Base\Controller::exec(
);

Метод запускает действие контроллера. Нестатический метод, содержит все шаги в жизненном цикле контроллера.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAction

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Опросы, голосования>Base>Controller>getAction (доступен с 17.0.0)

Controller::getAction

string public
\Bitrix\Vote\Base\Controller::getAction(
);

Метод возвращает название текущего действия. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getActionDescription

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Опросы, голосования>Base>Controller>getActionDescription (доступен с 17.0.0)

Controller::getActionDescription

array public
\Bitrix\Vote\Base\Controller::getActionDescription(
);

Метод возвращает описание действия. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrorByCode

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Опросы, голосования>Base>Controller>getErrorByCode (доступен с 17.0.0)

Controller::getErrorByCode

\Bitrix\Main\Error|null public
\Bitrix\Vote\Base\Controller::getErrorByCode(
 string $code
);

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

Параметры

Параметр | Описание | Версия
$code | Код ошибки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrors

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Опросы, голосования>Base>Controller>getErrors (доступен с 17.0.0)

Controller::getErrors

array public
\Bitrix\Vote\Base\Controller::getErrors(
);

Метод возвращает массив ошибок. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setAction

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Опросы, голосования>Base>Controller>setAction (доступен с 17.0.0)

Controller::setAction

\Bitrix\Vote\Base\Controller public
\Bitrix\Vote\Base\Controller::setAction(
 string $action,
 array $description
);

Метод устанавливает название и описание действия. Нестатический метод.

Параметры

Параметр | Описание | Версия
$action | Название действия. |
$description | Описание действия. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setActionName

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Опросы, голосования>Base>Controller>setActionName (доступен с 17.0.0)

Controller::setActionName

\Bitrix\Vote\Base\Controller public
\Bitrix\Vote\Base\Controller::setActionName(
 string $action
);

Метод устанавливает название действия. Нестатический метод.

Параметры

Параметр | Описание | Версия
$action | Название действия. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор Controller

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Опросы, голосования>Base>Controller>Конструктор Controller (доступен с 17.0.0)

Controller::Конструктор Controller

 public
\Bitrix\Vote\Base\Controller::__construct(
);

Конструктор класса Controller.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Diag

Diag - класс для работы с отладочной информацией по опросам.

Методы класса

Метод | Описание | С версии
activate | Метод активирует механизм логирования. | 17.0.0
collectDebugInfo | Метод собирает отладочную информацию. | 17.0.0
deactivate | Метод отключает механизм ведения логов. | 17.0.0
getInstance | Метод создает экземпляр класса Diag. | 17.0.0
log | Метод собирает логи по опросам в общий лог. | 17.0.0
logDebugInfo | Метод заносит отладочную информацию в лог. | 17.0.0
setExclusiveUserId | Метод устанавливает пользователя, который может использовать класс Diag. | 17.0.0
setShowOnDisplay | Метод устанавливает значение статусу отображения сообщений лога на экране. | 17.0.0


activate

\Bitrix\Vote\Base\Diag public
\Bitrix\Vote\Base\Diag::activate(
);

Метод активирует механизм логирования. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


collectDebugInfo

void public
\Bitrix\Vote\Base\Diag::collectDebugInfo(
 mixed $uniqueId
);

Метод собирает отладочную информацию. Нестатический метод.

Параметры

Параметр | Описание | Версия
$uniqueId | Идентификатор сегмента. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deactivate

\Bitrix\Vote\Base\Diag public
\Bitrix\Vote\Base\Diag::deactivate(
);

Метод отключает механизм ведения логов. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getInstance

\Bitrix\Vote\Base\Diag public static
\Bitrix\Vote\Base\Diag::getInstance(
);

Метод создает экземпляр класса Diag. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


log

void public
\Bitrix\Vote\Base\Diag::log(
 mixed $data
);

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

Параметры

Параметр | Описание | Версия
$data | Данные лога. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


logDebugInfo

void public
\Bitrix\Vote\Base\Diag::logDebugInfo(
 mixed $uniqueId,
 null $label = null
);

Метод заносит отладочную информацию в лог. Нестатический метод.

Параметры

Параметр | Описание | Версия
$uniqueId | Идентификатор сегмента. |
$label | Ярлык для человека. |

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setExclusiveUserId

\Bitrix\Vote\Base\Diag public
\Bitrix\Vote\Base\Diag::setExclusiveUserId(
 integer $exclusiveUserId
);

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

Параметры

Параметр | Описание | Версия
$exclusiveUserId | Идентификатор пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setShowOnDisplay

\Bitrix\Vote\Base\Diag public
\Bitrix\Vote\Base\Diag::setShowOnDisplay(
 boolean $showOnDisplay
);

Метод устанавливает значение статусу отображения сообщений лога на экране. Нестатический метод.

Параметры

Параметр | Описание | Версия
$showOnDisplay | Значение (true/false) отображения сообщений лога на экране. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Channel

Channel - класс для работы с группами опросов.

Методы класса

Метод | Описание | С версии
offsetExists | Метод определяет, существует или нет заданное смещение (ключ). | 17.0.0


offsetExists

Отправить отзыв по этому разделу
Пространство имён Bitrix>Опросы, голосования>Channel>offsetExists (доступен с 17.0.0)

Channel::offsetExists

mixed|null public
\Bitrix\Vote\Channel::offsetExists(
 string $offset
);

Метод определяет, существует или нет заданное смещение (ключ). Нестатический метод.

Параметры

Параметр | Описание | Версия
$offset | Смещение (ключ) для проверки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ChannelGroupTable

ChannelGroupTable - класс для работы с таблицей прав доступа к группам опросов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы прав доступа к группам опросов. | 17.0.0
getTableName | Метод возвращает название таблицы прав доступа к группам опросов. | 17.0.0


getMap

Отправить отзыв по этому разделу
Пространство имён Bitrix>Опросы, голосования>ChannelGroupTable>getMap (доступен с 17.0.0)

ChannelGroupTable::getMap

array public static
\Bitrix\Vote\ChannelGroupTable::getMap(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

Отправить отзыв по этому разделу
Пространство имён Bitrix>Опросы, голосования>ChannelGroupTable>getTableName (доступен с 17.0.0)

ChannelGroupTable::getTableName

string public static
\Bitrix\Vote\ChannelGroupTable::getTableName(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ChannelSiteTable

ChannelSiteTable - класс для работы с таблицей привязки опросов к сайтам.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы привязки опросов к сайтам. | 17.0.0
getTableName | Метод возвращает название таблицы привязки опросов к сайтам. | 17.0.0


getMap

Отправить отзыв по этому разделу
Пространство имён Bitrix>Опросы, голосования>ChannelSiteTable>getMap (доступен с 17.0.0)

ChannelSiteTable::getMap

array public static
\Bitrix\Vote\ChannelSiteTable::getMap(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

Отправить отзыв по этому разделу
Пространство имён Bitrix>Опросы, голосования>ChannelSiteTable>getTableName (доступен с 17.0.0)

ChannelSiteTable::getTableName

string public static
\Bitrix\Vote\ChannelSiteTable::getTableName(
);

Метод возвращает название таблицы привязки опросов к сайтам в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ChannelTable

ChannelTable - класс для работы с таблицей групп опросов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы групп опросов. | 17.0.0
getTableName | Метод возвращает название таблицы групп опросов. | 17.0.0


getMap

Отправить отзыв по этому разделу
Пространство имён Bitrix>Опросы, голосования>ChannelTable>getMap (доступен с 17.0.0)

ChannelTable::getMap

array public static
\Bitrix\Vote\ChannelTable::getMap(
);

Метод возвращает список полей для таблицы групп опросов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

Отправить отзыв по этому разделу
Пространство имён Bitrix>Опросы, голосования>ChannelTable>getTableName (доступен с 17.0.0)

ChannelTable::getTableName

string public static
\Bitrix\Vote\ChannelTable::getTableName(
);

Метод возвращает название таблицы групп опросов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


EventAnswerTable

EventAnswerTable - класс для работы с таблицей ответов, которые были даны на вопросы в голосованиях.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы ответов, которые были даны на вопросы в голосованиях. | 17.0.0
getTableName | Метод возвращает название таблицы ответов, которые были даны на вопросы в голосованиях. | 17.0.0


getMap

array public static
\Bitrix\Vote\EventAnswerTable::getMap(
);

Метод возвращает список полей для таблицы ответов, которые были даны на вопросы в голосованиях. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Vote\EventAnswerTable::getTableName(
);

Метод возвращает название таблицы ответов, которые были даны на вопросы в голосованиях. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


EventQuestionTable

EventQuestionTable - класс для работы с таблицей вопросов, по которым проводились голосования.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы вопросов, по которым проводились голосования. | 17.0.0
getTableName | Метод возвращает название таблицы вопросов, по которым проводились голосования. | 17.0.0


getMap

array public static
\Bitrix\Vote\EventQuestionTable::getMap(
);

Метод возвращает список полей для таблицы вопросов, по которым проводились голосования. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Vote\EventQuestionTable::getTableName(
);

Метод возвращает название таблицы вопросов, по которым проводились голосования. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


EventTable

EventTable - класс для работы с таблицей голосований пользователей.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы голосований пользователей. | 17.0.0
getTableName | Метод возвращает название таблицы голосований пользователей. | 17.0.0


getMap

array public static
\Bitrix\Vote\EventTable::getMap(
);

Метод возвращает список полей для таблицы голосований пользователей. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Vote\EventTable::getTableName(
);

Метод возвращает название таблицы голосований пользователей. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


QuestionTable

QuestionTable - класс для работы с таблицей вопросов опросов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы вопросов опросов. | 17.0.0
getTableName | Метод возвращает название таблицы вопросов опросов. | 17.0.0


getMap

array public static
\Bitrix\Vote\QuestionTable::getMap(
);

Метод возвращает список полей для таблицы вопросов опросов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Vote\QuestionTable::getTableName(
);

Метод возвращает название таблицы вопросов опросов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Uf

Подпространство \Bitrix\Vote\Uf содержит классы для работы с прикрепленными к опросам объектами.

Классы

Класс | Описание
Manager | Класс для управления прикрепленными к опросам объектами.
VoteUserType | Класс для работы с прикрепленными к опросам объектами.


Manager

Manager - класс для управления прикрепленными к опросам объектами.

Методы класса

Метод | Описание | С версии
Конструктор Manager | Конструктор класса Manager. | 17.0.0
belongsToEntity | Метод проверяет принадлежность к сущности прикрепленного к опросу объекта. | 17.0.0
getConnectorDataByEntityType | Метод получает данные, которые описывают конкретный коннектор по типу сущности. | 17.0.0
getConnectors | Метод возвращает полный список доступных коннекторов для прикрепленных к опросам объектов. | 17.0.0
getErrors | Метод возвращает массив ошибок. | 17.0.0
getInstance | Метод возвращает текущий экземпляр класса Manager. | 17.0.0
loadFromAttachId | Метод возвращает прикрепленный к опросу объект по его идентификатору. | 17.0.0
loadFromVoteId | Метод возвращает прикрепленный к опросу объект по идентификатору опроса. | 17.0.0
showEdit | Метод отображает компонент для редактирования опроса. | 17.0.0
showView | Метод отображает компонент для принятия участия в опросе. | 17.0.0


belongsToEntity

boolean public
\Bitrix\Vote\Uf\Manager::belongsToEntity(
 \Bitrix\Vote\Attachment\Attach $attachedObject,
 string $entityType,
 integer $entityId
);

Метод проверяет принадлежность к сущности прикрепленного к опросу объекта. Нестатический метод.

Параметры

Параметр | Описание | Версия
$attachedObject | Прикрепленный объект. |
$entityType | Тип сущности (например, blog_post). |
$entityId | Идентификатор сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getConnectorDataByEntityType

array|null public
\Bitrix\Vote\Uf\Manager::getConnectorDataByEntityType(
 string $entityType
);

Метод получает данные, которые описывают конкретный коннектор по типу сущности. Нестатический метод.

Параметры

Параметр | Описание | Версия
$entityType | Тип сущности (например, sonet_comment). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getConnectors

array public
\Bitrix\Vote\Uf\Manager::getConnectors(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrors

array public
\Bitrix\Vote\Uf\Manager::getErrors(
);

Метод возвращает массив ошибок. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getInstance

\Bitrix\Vote\Uf\Manager public static
\Bitrix\Vote\Uf\Manager::getInstance(
 array $params
);

Метод возвращает текущий экземпляр класса Manager. Метод статический.

Параметры

Параметр | Описание | Версия
$params | Массив параметров. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


loadFromAttachId

\Bitrix\Vote\Attachment\Attach public
\Bitrix\Vote\Uf\Manager::loadFromAttachId(
 integer $id
);

Метод возвращает прикрепленный объект (объект класса \Bitrix\Vote\Attachment\Attach) по его идентификатору. Нестатический метод.

Параметры

Параметр | Описание | Версия
$id | Идентификатор прикрепленного объекта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


loadFromVoteId

\Bitrix\Vote\Attachment\Attach public
\Bitrix\Vote\Uf\Manager::loadFromVoteId(
 integer $id
);

Метод возвращает прикрепленный объект (объект класса \Bitrix\Vote\Attachment\Attach) по идентификатору опроса. Нестатический метод.

Параметры

Параметр | Описание | Версия
$id | Идентификатор опроса. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


showEdit

void public
\Bitrix\Vote\Uf\Manager::showEdit(
 array &$params,
 array &$result,
 null $component = null
);

Метод отображает компонент для редактирования опроса. Нестатический метод.

Параметры

Параметр | Описание | Версия
$params | Массив параметров компонента. |
$result | Результирующий массив компонента. |
$component | Компонент. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


showView

void public
\Bitrix\Vote\Uf\Manager::showView(
 array &$params,
 array &$result,
 null $component = null
);

Метод отображает компонент для принятия участия в опросе. Нестатический метод.

Параметры

Параметр | Описание | Версия
$params | Массив параметров компонента. |
$result | Результирующий массив компонента. |
$component | Компонент. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор Manager

 public
\Bitrix\Vote\Uf\Manager::__construct(
 array $params
);

Конструктор класса Manager.

Параметры

Параметр | Описание | Версия
$params | Массив параметров конструктора. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


VoteUserType

VoteUserType - класс для работы с прикрепленными к опросам объектами.

Методы класса

Метод | Описание | С версии
checkFields | Метод проверяет поля данных опроса перед записью в БД. | 17.0.0
checkSettings | Метод проверяет или добавляет группу опросов. | 17.0.0
detectType | Метод определяет тип прикрепленного объекта: уже существующий или новый. | 17.0.0
getSettingsHTML | Метод отображает данные в административной части, когда вы редактируете или добавляете пользовательский тип. | 17.0.0
onBeforeSave | Обработчик вызывается перед сохранением во всех случаях Mutiple=Y и Multiple=N. | 17.0.0
prepareSettings | Метод подготавливает данные ("SETTINGS") для методов CUserTypeEntity::Add и CUserTypeEntity::Update. | 17.0.0


checkFields

array public static
\Bitrix\Vote\Uf\VoteUserType::checkFields(
 array $userField,
 mixed $value,
 boolean $userId = false
);

Метод проверяет поля данных опроса перед записью в БД. Метод статический.

Параметры

Параметр | Описание | Версия
$userField | Массив пользовательских полей. |
$value | Значение. |
$userId | Принимает значение false или true. Pначение false - означает текущий пользователь. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkSettings

boolean public static
\Bitrix\Vote\Uf\VoteUserType::checkSettings(
 array &$params
);

Метод проверяет или добавляет группу опросов. Метод статический.

Параметры

Параметр | Описание | Версия
$params | Массив параметров группы опроса. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


detectType

array public static
\Bitrix\Vote\Uf\VoteUserType::detectType(
 mixed $value
);

Метод определяет тип прикрепленного объекта: уже существующий или новый. Метод статический.

Параметры

Параметр | Описание | Версия
$value | Для существующего прикрепленного объекта - число, в противном случае - n1, n2. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSettingsHTML

string public static
\Bitrix\Vote\Uf\VoteUserType::getSettingsHTML(
 boolean $userField = false,
 string $htmlControl,
 boolean $varsFromForm
);

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

Параметры

Параметр | Описание | Версия
$userField | Массив данных пользовательского поля. |
$htmlControl | HtmlControl. |
$varsFromForm | Получает параметры из $_REQUEST. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onBeforeSave

integer|string public static
\Bitrix\Vote\Uf\VoteUserType::onBeforeSave(
 array $userField,
 string $value,
 integer $userId = false
);

Обработчик вызывается перед сохранением во всех случаях Mutiple=Y и Multiple=N.

Параметры

Параметр | Описание | Версия
$userField | Массив параметров пользовательского поля. |
$value | Номер связи с объектом или n0, n1... в случае отсутствия связи. |
$userId | Идентификатор пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareSettings

array public static
\Bitrix\Vote\Uf\VoteUserType::prepareSettings(
 array $userField
);

Метод подготавливает данные ("SETTINGS") для методов CUserTypeEntity::Add и CUserTypeEntity::Update. Метод статический.

Параметры

Параметр | Описание | Версия
$userField | Массив параметров пользовательского поля. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


User

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

Методы класса

Метод | Описание | С версии
Конструктор User | Конструктор класса User. | 17.0.0


Конструктор User

 public
\Bitrix\Vote\User::__construct(
  $id
);

Конструктор класса User.

Параметры

Параметр | Описание | Версия
$id | Идентификатор пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


UserTable

UserTable - класс для работы с таблицей пользователей, принявших участие в опросах.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы пользователей, принявших участие в опросах. | 17.0.0
getTableName | Метод возвращает название таблицы с пользователями, принявших участие в опросах. | 17.0.0


getMap

array public static
\Bitrix\Vote\UserTable::getMap(
);

Метод возвращает список полей для таблицы пользователей, принявших участие в опросах. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Vote\UserTable::getTableName(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Vote

Vote - класс для работы с опросами.

Методы класса

Метод | Описание | С версии
canEdit | Метод проверяет права пользователя на обновление текущего прикрепленного объекта. | 17.0.0
canRead | Метод проверяет права пользователя на чтение текущего прикрепленного объекта. | 17.0.0
delete | Метод удаляет опрос по его идентификатору. | 17.0.0
exportExcel | Метод экспортирует данные опроса в MS Excel. | 17.0.0
getStatistic | Метод возвращает статистику по опросам из базы данных. | 17.0.0
isVotedFor | Метод проверяет, принимал ли пользователь участие в данном опросе. | 17.0.0
resume | Метод продлевает на год время для голосования. | 17.0.0
sendVotingMessage | Метод отправляет уведомления пользователям. | 17.0.0
stop | Метод устанавливает текущий момент в качестве времени окончания голосования. | 17.0.0
voteFor | Метод выполняет голосования от текущего пользователя. | 17.0.0


canEdit

boolean public
\Bitrix\Vote\Vote::canEdit(
 integer $userId
);

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

Параметры

Параметр | Описание | Версия
$userId | Идентификатор пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


canRead

boolean public
\Bitrix\Vote\Vote::canRead(
 integer $userId
);

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

Параметры

Параметр | Описание | Версия
$userId | Идентификатор пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delete

boolean public static
\Bitrix\Vote\Vote::delete(
 integer $id
);

Метод удаляет опрос по его идентификатору. Метод статический.

Параметры

Параметр | Описание | Версия
$id | Идентификатор опроса. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


exportExcel

void public
\Bitrix\Vote\Vote::exportExcel(
);

Метод экспортирует данные опроса в MS Excel. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getStatistic

void public
\Bitrix\Vote\Vote::getStatistic(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isVotedFor

boolean|integer public
\Bitrix\Vote\Vote::isVotedFor(
 integer $userId
);

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

Параметры

Параметр | Описание | Версия
$userId | Идентификатор пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


resume

void public
\Bitrix\Vote\Vote::resume(
);

Метод продлевает на год время для голосования. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


sendVotingMessage

boolean public
\Bitrix\Vote\Vote::sendVotingMessage(
 array $event,
 array $vote,
 string $type = "im"
);

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

Параметры

Параметр | Описание | Версия
$event | Массив вида Array("ID" => идентификатор_опроса, "VOTE_USER_ID" => идентификатор_пользователя);. |
$vote | Массив вида Array("ID" => идентификатор_опроса, "QUESTIONS" => array("ID" => идентификатор_вопроса, "ANSWERS" => array()));. |
$type | Тип уведомления: im или mail. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


stop

void public
\Bitrix\Vote\Vote::stop(
);

Метод устанавливает текущий момент в качестве времени окончания голосования. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


voteFor

boolean public
\Bitrix\Vote\Vote::voteFor(
 array $request
);

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

Параметры

Параметр | Описание | Версия
$request | Массив данных по голосованию. |

Исключения

  • \Bitrix\Main\AccessDeniedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


VoteTable

VoteTable - класс для работы с таблицей опросов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы опросов. | 17.0.0
getTableName | Метод возвращает название таблицы опросов. | 17.0.0


getMap

array public static
\Bitrix\Vote\VoteTable::getMap(
);

Метод возвращает список полей для таблицы опросов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Vote\VoteTable::getTableName(
);

Метод возвращает название таблицы опросов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Поисковая оптимизация

Раздел содержит информацию о классах модуля Поисковая оптимизация, относящихся к ядру D7 и находящихся соответственно в пространстве имен \Bitrix\Seo.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('seo');

Класс, простраство имён | Описание
Adv | Пространство имён классов для работы с рекламными кампаниями, объявлениями, баннерами.
AdvEntity | Базовый класс для сущностей внешнего сервиса рекламы.
Engine | Пространство имён транспортных классов для работы с Яндекс.Директ и класса для поддержки централизованной авторизации при работе с Яндекс.Директ.
SitemapFile | Класс для работы с файлами sitemap.
SitemapIblock | Класс, отвечающий за обслуживание событий инфоблоков с целью автоматического отражения изменения в файлах карты сайта.
SitemapIblockTable | Класс для работы с хранилищем привязок инфоблоков к механизму генерации файлов карты сайта.
SitemapRuntime | Класс для работы с временным файлом карты сайта.
SitemapTable | Класс для работы с хранилищем настроек генерации файлов карты сайта.


Поисковая оптимизация в старом ядре

События

Список событий модуля Поисковая оптимизация в старом ядре

Событие | Описание | С версии
onPageCheck | Событие предназначено для назначения собственных проверок и вывода собственных рекомендаций в инструменте Страница модуля Поисковая оптимизация. |
OnSeoCountersGetList | Событие предназначено для подключения собственного программного счетчика. |


Adv

Пространство имён \Bitrix\Seo\Adv содержит классы для работы с рекламными кампаниями, объявлениями, баннерами.

Класс | Описание | С версии
AutologTable | Класс для работы с логом действий автоконтекста - автоматического включения и отключения баннеров при окончании и появлении рекламируемого товара на складе. | 15.5.3
LinkTable | Класс для работы с привязками товаров к объявлениям Яндекс.Директ. | 15.0.0
LogTable | Класс для работы с логом обращений к Яндекс.Директу. | 15.0.0
OrderTable | Класс для работы с таблицей прибыли при переходах по объявлениям Яндекс.Директа, для последующего сравнения с расходами на рекламу. | 15.0.0
YandexBannerTable | Класс для работы с локальной копией объявлений из Яндекс.Директа. | 15.0.0
YandexCampaignTable | Класс для работы с локальной копией кампаний из Яндекс.Директа. | 15.0.0
YandexStatTable | Класс для работы с локальной копией статистики по объявлениям из Яндекс.Директа. | 15.0.0


AutologTable

AutologTable - класс для работы с логом действий автоконтекста - автоматического включения и отключения баннеров при окончании и появлении рекламируемого товара на складе.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей таблицы лога действий автоконтекста. | 15.5.3
getTableName | Метод возвращает название таблицы лога действий автоконтекста в базе данных. | 15.5.3


getMap

array public static
\Bitrix\Seo\Adv\AutologTable::getMap(
);

Метод возвращает список полей для таблицы лога действий автоконтекста. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Seo\Adv\AutologTable::getTableName(
);

Метод возвращает название таблицы лога действий автоконтекста в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LinkTable

LinkTable - класс для работы с привязками товаров к объявлениям Яндекс.Директ.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей таблицы привязок товаров к объявлениям. | 15.0.0
getTableName | Метод возвращает название таблицы привязок товаров к объявлениям в базе данных. | 15.0.0


getMap

array public static
\Bitrix\Seo\Adv\LinkTable::getMap(
);

Метод возвращает список полей таблицы привязок товаров к объявлениям. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Seo\Adv\LinkTable::getTableName(
);

Метод возвращает название таблицы привязок товаров к объявлениям в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LogTable

LogTable - класс для работы с логом обращений к Яндекс.Директу

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей таблицы лога обращений к Яндекс.Директу. | 15.0.0
getTableName | Метод возвращает название таблицы лога обращений к Яндекс.Директу. | 15.0.0


getMap

array public static
\Bitrix\Seo\Adv\LogTable::getMap(
);

Метод возвращает список полей таблицы лога обращений к Яндекс.Директу. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Seo\Adv\LogTable::getTableName(
);

Метод возвращает название таблицы лога обращений к Яндекс.Директу. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


OrderTable

OrderTable - класс для работы с таблицей прибыли при переходах по объявлениям Яндекс.Директа, для последующего сравнения с расходами на рекламу.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей таблицы прибыли при переходах по объявлениям Яндекс.Директа. | 15.0.0
getTableName | Метод возвращает название таблицы прибыли при переходах по объявлениям Яндекс.Директа. | 15.0.0


getMap

array public static
\Bitrix\Seo\Adv\OrderTable::getMap(
);

Метод возвращает список полей таблицы прибыли при переходах по объявлениям Яндекс.Директа. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Seo\Adv\OrderTable::getTableName(
);

Метод возвращает название таблицы прибыли при переходах по объявлениям Яндекс.Директа. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


YandexBannerTable

YandexBannerTable - класс для работы с локальной копией объявлений из Яндекс.Директа.

Цепочка наследования

Является наследником класса Bitrix\Seo\AdvEntity.

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей таблицы, содержащей локальную копию объявлений в Яндекс.Директ. | 15.0.0
getTableName | Метод возвращает название таблицы, содержащей локальную копию объявлений в Яндекс.Директ. | 15.0.0
getFilePath | Метод возвращает путь к файлу, содержащему определение класса. | 15.0.0
onBeforeAdd | Метод выполняет проверку полей и добавляет новый баннер Яндекс.Директ. | 15.0.0
getEngine | Метод возвращает ссылку на экземпляр класса \Bitrix\Seo\Engine\YandexDirect, отвечающего за подготовку и отправку запросов к Яндекс.Директ. | 15.0.0
onDelete | Метод удаляет баннер из Яндекс.Директ. | 15.0.0
onBeforeUpdate | Метод выполняет проверку полей и обновляет баннер Яндекс.Директ. | 15.0.0


getEngine

\Bitrix\Seo\Engine\YandexDirect|null public static
\Bitrix\Seo\Adv\YandexBannerTable::getEngine(
);

Метод возвращает ссылку на экземпляр класса \Bitrix\Seo\Engine\YandexDirect, отвечающего за подготовку и отправку запросов к Яндекс.Директ. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFilePath

string public static
\Bitrix\Seo\Adv\YandexBannerTable::getFilePath(
);

Метод возвращает путь к файлу, содержащему определение класса. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Seo\Adv\YandexBannerTable::getMap(
);

Метод возвращает список полей таблицы, содержащей локальную копию объявлений в Яндекс.Директ. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Seo\Adv\YandexBannerTable::getTableName(
);

Метод возвращает название таблицы, содержащей локальную копию объявлений в Яндекс.Директ. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onBeforeAdd

\Bitrix\Main\Entity\EventResult public static
\Bitrix\Seo\Adv\YandexBannerTable::onBeforeAdd(
 \Bitrix\Main\Entity\Event $event
);

Метод выполняет проверку полей и добавляет новый баннер Яндекс.Директ.

Параметры

Параметр | Описание | Версия
$event | Данные для добавления. |

Исключения

  • \Bitrix\Seo\Engine\YandexException
  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onBeforeUpdate

\Bitrix\Main\Entity\EventResult public static
\Bitrix\Seo\Adv\YandexBannerTable::onBeforeUpdate(
 \Bitrix\Main\Entity\Event $event
);

Метод выполняет проверку полей и обновляет баннер Яндекс.Директ. Метод статический.

Параметры

Параметр | Описание | Версия
$event | Обновляемые данные. |

Исключения

  • \Bitrix\Seo\Engine\YandexException
  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onDelete

void public static
\Bitrix\Seo\Adv\YandexBannerTable::onDelete(
 \Bitrix\Main\Entity\Event $event
);

Метод удаляет баннер из Яндекс.Директ. Метод статический.

Параметры

Параметр | Описание | Версия
$event | Удаляемые данные. |

Исключения

  • \Bitrix\Seo\Engine\YandexException
  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


YandexCampaignTable

YandexCampaignTable - класс для работы с локальной копией кампаний из Яндекс.Директа.

Цепочка наследования

Является наследником класса Bitrix\Seo\AdvEntity.

Методы класса

Метод | Описание | С версии
getEngine | Метод возвращает ссылку на экземпляр класса \Bitrix\Seo\Engine\YandexDirect, отвечающего за подготовку и отправку запросов к Яндекс.Директ. | 15.0.0
getFilePath | Метод возвращает путь к файлу, содержащему определение класса. | 15.0.0
getTableName | Метод возвращает название таблицы, содержащей локальную копию кампаний в Яндекс.Директ. | 15.0.0
onAfterDelete | Метод удаляет баннер из Яндекс.Директ. | 15.0.0
onBeforeAdd | Метод выполняет проверку полей и добавляет новую кампанию Яндекс.Директ. | 15.0.0
onBeforeUpdate | Метод выполняет проверку полей и обновляет кампанию Яндекс.Директ. | 15.0.0
onDelete | Метод удаляет кампанию из Яндекс.Директ. | 15.0.0


getEngine

\Bitrix\Seo\Engine\YandexDirect|null public static
\Bitrix\Seo\Adv\YandexCampaignTable::getEngine(
);

Метод возвращает ссылку на экземпляр класса \Bitrix\Seo\Engine\YandexDirect, отвечающего за подготовку и отправку запросов к Яндекс.Директ. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFilePath

string public static
\Bitrix\Seo\Adv\YandexCampaignTable::getFilePath(
);

Метод возвращает путь к файлу, содержащему определение класса. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Seo\Adv\YandexCampaignTable::getTableName(
);

Метод возвращает название таблицы, содержащей локальную копию кампаний в Яндекс.Директ. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onAfterDelete

void public static
\Bitrix\Seo\Adv\YandexCampaignTable::onAfterDelete(
 \Bitrix\Main\Entity\Event $event
);

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

Параметры

Параметр | Описание | Версия
$event | Удаляемые данные. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onBeforeAdd

\Bitrix\Main\Entity\EventResult public static
\Bitrix\Seo\Adv\YandexCampaignTable::onBeforeAdd(
 \Bitrix\Main\Entity\Event $event
);

Метод выполняет проверку полей и добавляет новую кампания Яндекс.Директ. Метод статический.

Параметры

Параметр | Описание | Версия
$event | Добавляемые данные. |

Исключения

  • \Bitrix\Seo\Engine\YandexException
  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onBeforeUpdate

\Bitrix\Main\Entity\EventResult public static
\Bitrix\Seo\Adv\YandexCampaignTable::onBeforeUpdate(
 \Bitrix\Main\Entity\Event $event
);

Makes fields validation and updates Yandex.Direct campaign.

Параметры

Параметр | Описание | Версия
$event | Event data. |

Исключения

  • \Bitrix\Seo\Engine\YandexException
  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onDelete

void public static
\Bitrix\Seo\Adv\YandexCampaignTable::onDelete(
 \Bitrix\Main\Entity\Event $event
);

Метод удаляет кампанию из Яндекс.Директ. Метод статический.

Параметры

Параметр | Описание | Версия
$event | Удаляемые данные. |

Исключения

  • \Bitrix\Seo\Engine\YandexException
  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


YandexStatTable

YandexStatTable - класс для работы с локальной копией статистики по объявлениям из Яндекс.Директа.

Цепочка наследования

Является наследником класса Bitrix\Seo\AdvEntity.

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей таблицы статистики по объявлениям из Яндекс.Директа. | 15.0.0
getTableName | Метод возвращает название таблицы статистики по объявлениям из Яндекс.Директа. | 15.0.0


getMap

array public static
\Bitrix\Seo\Adv\YandexStatTable::getMap(
);

Метод возвращает список полей таблицы статистики по объявлениям из Яндекс.Директа. Метод статический..

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Seo\Adv\YandexStatTable::getTableName(
);

Метод возвращает название таблицы статистики по объявлениям из Яндекс.Директа. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


AdvEntity

AdvEntity - базовый класс для сущностей внешнего сервиса рекламы.

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы сущностей внешнего сервиса рекламы. | 15.0.0


getMap

array public static
\Bitrix\Seo\AdvEntity::getMap(
);

Метод возвращает список полей для таблицы сущностей внешнего сервиса рекламы. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Engine

Пространство имён \Bitrix\Seo\Engine содержит транспортные классы для работы с Яндекс.Директ и класс для поддержки централизованной авторизации при работе с Яндекс.Директ.

Класс | Описание | С версии
Bitrix | Класс для поддержки централизованной авторизации при работе с Яндекс.Директ. | 15.5.1
Yandex | Класс для работы с сервисами Яндекса, в частности - с Яндек.Вебмастер. | 17.0.4
YandexBase | Базовый класс для транспорта Яндекс.Директ. | 15.0.0
YandexDirect | Транспортный класс для работы с Яндекс.Директ. | 15.0.0
YandexDirectLive | Транспортный класс для работы с бета-версией API Яндекс.Директ. | 15.0.0


Bitrix

Bitrix - служебный класс для поддержки централизованной авторизации при работе с Яндекс.Директ.

Методы класса

Метод | Описание | С версии
isRegistered | Метод проверяет, зарегистрирован ли домен. | 15.5.1


isRegistered

boolean public
\Bitrix\Seo\Engine\Bitrix::isRegistered(
);

Метод проверяет, зарегистрирован ли домен. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Yandex

Yandex - класс для работы с сервисами Яндекса, в частности - с Яндек.Вебмастер.

Методы класса

Метод | Описание | С версии
getAuthSettings | Возвращает настройки подключения к Яндексу: секретный ключ, ключ доступа и т.д. |
getFeeds | Получение списка сайтов пользователя. |
getSiteInfo | Получение информации о сайте. | 17.0.6
getSiteInfoQueries | Получение информации о популярных запросах. | 17.0.6
getOriginalTexts | Позволяет получить список всех оригинальных текстов сайта, загруженных в Яндекс.Вебмастер. |
addOriginalText | Позволяет добавить оригинальный текст сайта на Яндекс.Вебмастер. | 17.0.6
addSite | Позволяет добавить сайт в список сайтов пользователя. | 17.0.6
getVerifySiteUin | Возвращает уникальный ключ UIN, необходимый для подтверждения прав на сайт. | 17.0.6
verifySite | Позволяет запустить в Яндекс.Вебмастере процедуру подтверждения прав на управление сайтом. |


addOriginalText

string public
\Bitrix\Seo\Engine\Yandex::addOriginalText(
  $text,
  $domain
);

Метод позволяет добавить оригинальный текст сайта на Яндекс.Вебмастер. Разрешается добавлять не более 100 текстов в сутки, при этом размер текста должен быть в пределах от 500 до 32000 символов. Метод нестатический.

Параметры

Параметр | Описание | Версия
$text | Строка текста. |
$domain | URL сайта в виде, в котором он добавлен в Яндекс.Вебмастер. |

Исключения

  • \Bitrix\Seo\Engine\YandexException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addSite

array public
\Bitrix\Seo\Engine\Yandex::addSite(
  $domain,
 string $dir = '/'
);

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

Параметры

Параметр | Описание | Версия
$domain | URL сайта |
$dir |  |

Исключения

  • \Bitrix\Seo\Engine\YandexException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSiteInfo

array public
\Bitrix\Seo\Engine\Yandex::getSiteInfo(
  $domain
);

Метод получает информацию о сайте. Получение полной информации, а так же статистики сайта (количество загруженных страниц, количество исключённых страниц, количество страниц в поиске, тИЦ сайта). Метод нестатический.

Параметры

Параметр | Описание | Версия
$domain | URL сайта в виде, в котором он добавлен в Яндекс.Вебмастер. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSiteInfoQueries

array public
\Bitrix\Seo\Engine\Yandex::getSiteInfoQueries(
  $domain
);

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

Параметры

Параметр | Описание | Версия
$domain | URL сайта в виде, в котором он добавлен в Яндекс.Вебмастер. |

Исключения

  • \Bitrix\Seo\Engine\YandexException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getVerifySiteUin

\Bitrix\Seo\Engine\UIN public
\Bitrix\Seo\Engine\Yandex::getVerifySiteUin(
  $domain
);

Метод возвращает уникальный ключ UIN, необходимый для подтверждения прав на сайт. В случае, если владение сайтом уже подтверждено возвращает false. Метод нестатический.

Параметры

Параметр | Описание | Версия
$domain | URL сайта в виде, в котором он добавлен в Яндекс.Вебмастер. |

Исключения

  • \Bitrix\Seo\Engine\YandexException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


YandexBase

YandexBase - базовый класс для транспорта Яндекс.Директ.

Методы класса

Метод | Описание | С версии
getAuthUrl | Метод возвращает URL для авторизации в приложении. | 15.0.0
getCurrentUser | Метод возвращает авторизационные данные текущего пользователя Яндекс. | 15.0.0
getInterface | Метод создает экземпляр объекта по протоколу OAuth. | 15.0.0


getAuthUrl

string public
\Bitrix\Seo\Engine\YandexBase::getAuthUrl(
);

Метод возвращает URL для авторизации в приложении. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrentUser

array public
\Bitrix\Seo\Engine\YandexBase::getCurrentUser(
);

Метод возвращает авторизационные данные текущего пользователя Яндекс. Метод нестатический.

Без параметров

Исключения

  • \Bitrix\Main\SystemException
  • \Bitrix\Seo\Engine\YandexException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getInterface

\CYandexOAuthInterface public
\Bitrix\Seo\Engine\YandexBase::getInterface(
);

Метод создает экземпляр объекта по протоколу OAuth. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


YandexDirect

YandexDirect - транспортный класс для работы с Яндекс.Директ

Методы класса

Метод | Описание | С версии
addBanner | Метод посылает запрос на создание нового баннера. | 15.0.0
addCampaign | Метод посылает запрос на создание новой кампании. | 15.0.0
getBannerStats | Метод посылает запрос на выдачу статистики по баннеру. | 15.5.1
getCampaign | Метод возвращает параметры кампании, полученные от Яндекса. | 15.0.0
getRegions | Метод возвращает список местоположений Яндекса. | 15.0.0
updateBanner | Метод посылает запрос на обновление существующего баннера. | 15.0.0
updateCampaign | Метод посылает запрос на обновление существующей кампании. | 15.0.0


addBanner

 public
\Bitrix\Seo\Engine\YandexDirect::addBanner(
 array $bannerParam
);

Метод посылает запрос на создание нового баннера. Метод нестатический.

Параметры

Параметр | Описание | Версия
$bannerParam | Параметры баннера. |

Исключения

  • \Bitrix\Main\SystemException
  • \Bitrix\Seo\Engine\YandexDirectException

См. также

  • \Bitrix\Seo\Adv\YandexBannerTable::createParam

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addCampaign

 public
\Bitrix\Seo\Engine\YandexDirect::addCampaign(
 array $campaignParam
);

Метод посылает запрос на создание новой кампании. Метод нестатический.

Параметры

Параметр | Описание | Версия
$campaignParam | Параметры кампании. |

Исключения

  • \Bitrix\Main\SystemException
  • \Bitrix\Seo\Engine\YandexDirectException

См. также

  • \Bitrix\Seo\Adv\YandexCampaignTable::createParam

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBannerStats

array public
\Bitrix\Seo\Engine\YandexDirect::getBannerStats(
 array $params
);

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

Параметры

Параметр | Описание | Версия
$params | Параметры запроса о статистике. |

Исключения

  • \Bitrix\Seo\Engine\YandexDirectException
  • \Bitrix\Main\SystemException

См. также

  • https://tech.yandex.ru/direct/doc/dg-v4/live/GetBannersStat-docpage/

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCampaign

array public
\Bitrix\Seo\Engine\YandexDirect::getCampaign(
 mixed $campaignId
);

Метод возвращает параметры кампании, полученные от Яндекса. Метод нестатический.

Параметры

Параметр | Описание | Версия
$campaignId | Внешний код кампании или массив внешних кодов. |

Исключения

  • \Bitrix\Main\SystemException
  • \Bitrix\Seo\Engine\YandexDirectException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRegions

array public
\Bitrix\Seo\Engine\YandexDirect::getRegions(
);

Метод возвращает список местоположений Яндекса. Метод нестатический.

Без параметров

Исключения

  • \Bitrix\Main\SystemException

См. также

  • https://tech.yandex.ru/direct/doc/dg-v4/reference/GetRegions-docpage/

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


updateBanner

 public
\Bitrix\Seo\Engine\YandexDirect::updateBanner(
 array $bannerParam
);

Метод посылает запрос на обновление существующего баннера. Метод нестатический.

Параметры

Параметр | Описание | Версия
$bannerParam | Параметры баннера. |

Исключения

  • \Bitrix\Main\SystemException
  • \Bitrix\Seo\Engine\YandexDirectException

См. также

  • \Bitrix\Seo\Adv\YandexBannerTable::createParam

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


updateCampaign

 public
\Bitrix\Seo\Engine\YandexDirect::updateCampaign(
 array $campaignParam
);

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

Параметры

Параметр | Описание | Версия
$campaignParam | Параметры кампании. |

Исключения

  • \Bitrix\Main\SystemException
  • \Bitrix\Seo\Engine\YandexDirectException

См. также

  • \Bitrix\Seo\Adv\YandexCampaignTable::createParam

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


YandexDirectLive

YandexDirectLive - транспортный класс для работы с бета-версией API Яндекс.Директ.

Методы класса

Метод | Описание | С версии
getBannerStats | Метод посылает запрос на выдачу статистики по баннеру. | 15.0.0


getBannerStats

array public
\Bitrix\Seo\Engine\YandexDirectLive::getBannerStats(
 array $params
);

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

Параметры

Параметр | Описание | Версия
$params | Параметры запроса статистики. |

Исключения

  • \Bitrix\Seo\Engine\YandexDirectException
  • \Bitrix\Main\SystemException

См. также

  • https://tech.yandex.ru/direct/doc/dg-v4/live/GetBannersStat-docpage/

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SitemapFile

SitemapFile - класс для работы с файлами sitemap.

Методы класса

Метод | Описание | С версии
addEntry | Метод добавляет новую запись в виде массива в текущий файл карты сайта. | 14.0.1
addFileEntry | Метод добавляет новый файл в текущую карту сайта. | 14.0.1
addFooter | Метод добавляет подвал к текущей части карты сайта. | 14.0.1
addHeader | Метод добавляет заголовок к текущему файлу карты сайта. | 14.0.1
addIBlockEntry | Метод добавляет новую запись инфоблока к текущей карте сайта. | 14.0.1
appendEntry | Метод добавляет новую запись в текущий или готовый файл карты сайта. | 14.0.1
appendIBlockEntry | Метод добавляет новую запись инфоблока к существующей завершенной карте сайта. | 14.0.1
getNameList | Метод возвращает список частей файла. | 14.0.6
[link=7161647]getPathDirectory[/link] | Метод возвращает директорию, в которой хранятся файлы карты сайта, начиная от корня. | 17.0.0
getSiteRoot | Метод возвращает сайт-источник карты сайта. | 14.0.1
getUrl | Метод возвращает URL файла карты сайта. | 14.0.1
isCurrentPartNotEmpty | Метод возвращает содержимое текущей части карты сайта, если она содержит что-то кроме заголовка. | 14.0.6
isNotEmpty | Метод возвращает true, если текущая заполняемая часть файла карты сайта уже содержит какие-либо данные, помимо заголовка. | 14.0.1
parse | Метод анализирует файл карты сайта. | 14.0.1
removeEntry | Метод ищет и удаляет запись из текущего завершенного файла карты сайта. | 14.0.6
split | Метод создает следующую часть файла карты сайта. Возвращает имя новой части файла. | 14.0.6


addEntry

void public
\Bitrix\Seo\SitemapFile::addEntry(
 array $entry
);

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

Ключи добавляемого массива:

XML_LOC - значение, указывающее местнахождение поля;

XML_LASTMOD - последнее измененное значение поля.

Параметры

Параметр | Описание | Версия
$entry | Добавляемый массив. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addFileEntry

void public
\Bitrix\Seo\SitemapFile::addFileEntry(
 \Bitrix\Main\IO\File $f
);

Метод добавляет новый файл в текущую карту сайта. Метод нестатический.

Параметры

Параметр | Описание | Версия
$f | Добавляемый файл. |

Исключения

  • \Bitrix\Main\IO\FileNotFoundException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addFooter

void public
\Bitrix\Seo\SitemapFile::addFooter(
);

Метод добавляет футер (подвал, нижний колонтитул) к текущей части карты сайта. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addHeader

void public
\Bitrix\Seo\SitemapFile::addHeader(
);

Метод добавляет заголовок к текущему файлу карты сайта. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addIBlockEntry

void public
\Bitrix\Seo\SitemapFile::addIBlockEntry(
 string $url,
 string $modifiedDate
);

Метод добавляет новую запись инфоблока к текущей карте сайта. Метод нестатический.

Параметры

Параметр | Описание | Версия
$url | URL инфоблока. |
$modifiedDate | Отметка времени модифицирования инфоблока. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


appendEntry

void public
\Bitrix\Seo\SitemapFile::appendEntry(
 array $entry
);

Метод добавляет новую запись в текущий завершенный файл карты сайта. Метод нестатический.

Ключи добавляемого массива:

XML_LOC - значение, указывающее местнахождение поля;

XML_LASTMOD - последнее измененное значение поля.

Параметры

Параметр | Описание | Версия
$entry | Добавляемый массив. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


appendIBlockEntry

void public
\Bitrix\Seo\SitemapFile::appendIBlockEntry(
 string $url,
 string $modifiedDate
);

Метод добавляет новую запись инфоблока к существующей завершенной карте сайта. Метод нестатический.

Параметры

Параметр | Описание | Версия
$url | URL инфоблока. |
$modifiedDate | Отметка времени модифицирования инфоблока. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getNameList

array public
\Bitrix\Seo\SitemapFile::getNameList(
);

Метод возвращает список частей файла. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPathDirectory

array public
\Bitrix\Seo\SitemapFile::getPathDirectory(
);

Метод возвращает директорию, в которой хранятся файлы карты сайта, начиная от корня. Если файлы хранятся в корне - вернёт "/". Метод нестатический.

Без параметров

Примеры

$arSitemapSettings = array(
    'SITE_ID' => $arSitemap['SITE_ID'],
    'PROTOCOL' => $arSitemap['SETTINGS']['PROTO'] == 1 ? 'https' : 'http',
    'DOMAIN' => $arSitemap['SETTINGS']['DOMAIN'],
);
$sitemapFile = new SitemapRuntime($PID, $arSitemap['SETTINGS']['FILENAME_FILES'], $arSitemapSettings);
$directory = $sitemapFile->getPathDirectory();


getSiteRoot

mixed|string public
\Bitrix\Seo\SitemapFile::getSiteRoot(
);

Нестатический метод возвращает сайт-источник карты сайта.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUrl

string public
\Bitrix\Seo\SitemapFile::getUrl(
);

Нестатический метод возвращает URL файла карты сайта.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isCurrentPartNotEmpty

boolean public
\Bitrix\Seo\SitemapFile::isCurrentPartNotEmpty(
);

Метод возвращает содержимое текущей части карты сайта, если она содержит что-то кроме заголовка. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isNotEmpty

boolean public
\Bitrix\Seo\SitemapFile::isNotEmpty(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


parse

boolean|\CDataXML public
\Bitrix\Seo\SitemapFile::parse(
);

Метод анализирует файл карты сайта. Метод нестатический.

Без параметров

Исключения

  • \Bitrix\Main\IO\FileNotFoundException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


removeEntry

void public
\Bitrix\Seo\SitemapFile::removeEntry(
 string $url
);

Метод ищет и удаляет запись из текущего завершенного файла карты сайта. Метод нестатический.

Ключи добавляемого массива:

XML_LOC - значение, указывающее местнахождение поля;

XML_LASTMOD - последнее измененное значение поля.

Параметры

Параметр | Описание | Версия
$url | URL записи. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


split

string public
\Bitrix\Seo\SitemapFile::split(
);

Метод создает следующую часть файла карты сайта. Возвращает имя новой части файла. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SitemapIblock

SitemapIblock - класс, отвечающий за обслуживание событий инфоблоков с целью автоматического отражения изменения в файлах карты сайта.

Методы класса

Метод | Описание | С версии
__callStatic | Обработчик для множественных событий инфоблока. | 14.5.0


__callStatic

 public static
\Bitrix\Seo\SitemapIblock::__callStatic(
);

Обработчик для множественных событий инфоблока. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SitemapIblockTable

SitemapIblockTable - класс для работы с хранилищем привязок инфоблоков к механизму генерации файлов карты сайта.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
checkSection | Метод проверяет, следует ли добавить раздел $sectionId в файл карты сайта. | 15.0.4
clearBySitemap | Метод очищает все ссылки инфоблоков на удаление настроек карты сайта. | 14.0.1
getByIblock | Метод возвращает массив данных для обновления карты сайта в связи с некоторыми действиями инфоблоков. | 15.0.4
getMap | Метод возвращает описание сущностей карты сайта. | 14.0.1
getTableName | Метод возвращает название таблицы карты сайта в базе данных. | 14.0.1


checkSection

boolean public static
\Bitrix\Seo\SitemapIblockTable::checkSection(
 integer $sectionId,
 array $sectionSettings,
 boolean $defaultValue
);

Метод проверяет, следует ли добавить раздел $sectionId в файл карты сайта. Метод статический.

Параметры

Параметр | Описание | Версия
$sectionId | Идентификатор раздела. |
$sectionSettings | Массив настроек секции карты сайта. |
$defaultValue | Значение по умолчанию при отсутствии настроек. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearBySitemap

void public static
\Bitrix\Seo\SitemapIblockTable::clearBySitemap(
 integer $sitemapId
);

Метод очищает все ссылки инфоблоков на удаление настроек карты сайта. Метод статический.

Параметры

Параметр | Описание | Версия
$sitemapId | Идентификатор настроек карты сайта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getByIblock

array public static
\Bitrix\Seo\SitemapIblockTable::getByIblock(
 array $fields,
 string $itemType
);

Метод возвращает массив данных для обновления карты сайта в связи с некоторыми действиями инфоблоков. Метод статический.

Параметры

Параметр | Описание | Версия
$fields | Элемент инфоблока или раздел полей массива. |
$itemType | SitemapIblockTable::TYPE_ELEMENT || SitemapIblockTable::TYPE_SECTION. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Seo\SitemapIblockTable::getMap(
);

Метод возвращает описание сущностей карты сайта. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Seo\SitemapIblockTable::getTableName(
);

Метод возвращает название таблицы карты сайта в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SitemapRuntime

SitemapRuntime - класс для работы с временным файлом карты сайта. Такой файл создаётся при ручной генерации карты, для предотвращения конфликтных изменений.

Методы класса

Метод | Описание | С версии
appendIBlockEntry | Метод добавляет запись в конец карты сайта. | 17.0.3
finish | Завершает работу с временным файлом, переименовывает его и делает основным. | 17.0.3
putSitemapContentДобавляет во временный файл содержимое основного.

Параметры:

  • $sitemapFile - объект класса SitemapFile, содержащий основной файл карты сайта.
setOriginalFileУстанавливает связь между временным и основным файлом.

Параметры:

  • $sitemapFile - объект класса SitemapFile, содержащий основной файл карты сайта.
showProgressВыводит прогресс-бар с текущим статусом генерации карты сайта.

Параметры:

  • $text - статусное сообщение.
  • $title - заголовок сообщения.
  • $v - число от 0 до 100, процент выполнения операции.


appendIBlockEntry

void public
\Bitrix\Seo\SitemapRuntime::appendIBlockEntry(
 string $url,
 string $modifiedDate
);

Метод добавляет запись в конец карты сайта. Обеспечивает разделение файла при достижении лимита размера. Метод нестатический.

Параметры

Параметр | Описание | Версия
$url | строка с адресом добавляемой страницы. |
$modifiedDate | дата изменения добавляемой страницы. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


finish

 public
\Bitrix\Seo\SitemapRuntime::finish(
);

Метод завершает работу с временным файлом, переименовывает его и делает основным. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SitemapTable

SitemapTable - класс для работы с хранилищем настроек генерации файлов карты сайта.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
prepareSettings | Метод получает настройки со страницы администратора и возвращает фильтрованную версию. | 14.0.0


prepareSettings

array public static
\Bitrix\Seo\SitemapTable::prepareSettings(
  $arSettings
);

Метод получает настройки со страницы администратора и возвращает фильтрованную версию. Метод статический.

Параметры

Параметр | Описание | Версия
$arSettings |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Почта

Раздел содержит информацию о классах модуля Почта, относящихся к ядру D7 и находящихся соответственно в пространстве имен \Bitrix\Mail.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('mail');

Класс, простраство имён | Описание
Imap | Класс для работы с почтой по протоколу Imap.
[link=12512740 ]Smtp[/link] | Класс для работы с SMTP-клиентом.
Message | Класс для работы с сообщениями.
User | Класс для работы с пользователями.


Почта в старом ядре

События

Список событий модуля Почта в старом ядре

Событие | Вызывается | Метод | С версии
OnGetFilterList | при получении списка фильтров. | CMailFilter::GetFilterList | 3.3.1

Дополнительно

  • Константы


Imap

Imap - класс для работы с почтой по протоколу Imap.

Методы класса

Метод | Описание | С версии
[link=7159063]singin[/link] | Подсоединяется к серверу и запускает аутентификацию клиента. | 16.6.0
[link=7159067]getUnseen[/link] | Метод возвращает количество непросмотренных сообщений. | 16.6.0
[link=7159071]listMailboxes[/link] | Метод возвращает список почтовых ящиков. | 16.6.0
[link=7159075]addMessage[/link] | Метод добавляет сообщение. | 16.6.0
[link=7159079]getMessage[/link] | Метод получает сообщение. | 16.6.0
onEmailReceived | Метод посылает события, связанные с электронной почтой. | 16.0.0
[link=7159083]decodeError[/link] | Метод возвращает сообщение об ошибке по её коду. | 16.6.0


addMessage

string|false public
\Bitrix\Mail\Imap::addMessage(
 string $mailbox,
 string $data,
 string
);

Нестатический метод, добавляет сообщение в указанную папку ($mailbox).

Параметры

Параметр | Описание | Версия
$mailbox | Имя почтового ящика. |
$data | Сообщение. |
$error | Сообщение об ошибке. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


decodeError

string public static
\Bitrix\Mail\Imap::decodeError(
 integer $code
);

Возвращает сообщение об ошибке по его коду. Метод статический.

Параметры

Параметр | Описание | Версия
$code | Код ошибки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMessage

string|false public
\Bitrix\Mail\Imap::getMessage(
 string $mailbox,
 integer $id,
 string $section,
 string
);

Метод возвращает конкретное ($id) письмо или его часть ($section) (заголовок или тело) из указанной папки ($mailbox). Метод нестатический.

Параметры

Параметр | Описание | Версия
$mailbox | Имя папки в ящике. |
$id | Идентификатор сообщения. |
$section | Раздел сообщения. |
$error | Сообщение об ошибке. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUnseen

integer|false public
\Bitrix\Mail\Imap::getUnseen(
 string $mailbox,
 string
);

Метод возвращает количество непрочитанных сообщений в папке INBOX. Метод нестатический

Параметры

Параметр | Описание | Версия
$mailbox | Имя почтового ящика. |
$error | Сообщение об ошибке. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


listMailboxes

array|false public
\Bitrix\Mail\Imap::listMailboxes(
 string $mailbox,
 string
);

Нестатический метод, возвращает список папок в ящике.

Параметры

Параметр | Описание | Версия
$mailbox | Шаблон имени почтового ящика. |
$error | Сообщение об ошибке. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


singin

boolean public
\Bitrix\Mail\Imap::singin(
 string
);

Подсоединяется к серверу и выполняет аутентификацию клиента. Метод нестатический.

Параметры

Параметр | Описание | Версия
$error | Сообщение об ошибке. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Message

Message - класс для работы с сообщениями.

Методы класса

Метод | Описание | С версии
attachmentsCount | Метод возвращает количество вложений в сообщение. | 16.0.0
getQuoteEndMarker | Метод возвращает маркер конца цитаты. | 16.0.0
getQuoteStartMarker | Метод возвращает маркер начала цитаты. | 16.0.0
parseForward | Метод возвращает автоматически обработанный текст посылаемого сообщения. | 16.0.1
parseReply | Метод возвращает автоматически обработанный текст ответа. | 16.0.1
reduceHead | Метод возвращает только непарные bb-коды. | 16.0.1


attachmentsCount

integer public
\Bitrix\Mail\Message::attachmentsCount(
);

Метод возвращает количество вложений в сообщение. Метод нестатический.

Без параметров

Пример

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getQuoteEndMarker

string public static
\Bitrix\Mail\Message::getQuoteEndMarker(
 boolean $html = false
);

Метод возвращает маркер конца цитаты. Метод статический.

Параметры

Параметр | Описание | Версия
$html | Html/text переключатель. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getQuoteStartMarker

string public static
\Bitrix\Mail\Message::getQuoteStartMarker(
 boolean $html = false
);

Метод возвращает маркер начала цитаты. Метод статический.

Параметры

Параметр | Описание | Версия
$html | Html/text переключатель. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


parseForward

string public static
\Bitrix\Mail\Message::parseForward(
 array
);

Метод возвращает автоматически обработанный текст посылаемого сообщения. Метод статический.

Параметры

Параметр | Описание | Версия
$message | Сообщение. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


parseReply

string public static
\Bitrix\Mail\Message::parseReply(
 array
);

Метод возвращает автоматически обработанный текст ответа. Метод статический.

Параметры

Параметр | Описание | Версия
$message | Сообщение. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


reduceHead

string public static
\Bitrix\Mail\Message::reduceHead(
 array
);

Метод возвращает только непарные bb-коды. Метод статический.

Параметры

Параметр | Описание | Версия
$text | Текст. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Smtp

Smtp - класс для работы с почтой через SMTP.

Методы класса

Метод | Описание | С версии
__construct | Конструктор SMTP-клиента. | 20.0.500
__destruct | Деструктор, закрывает соединение при уничтожении объекта. | 20.0.500
connect | Устанавливает соединение с помощью SMTP. | 20.0.500
authenticate | Метод для аутентификации на сервере SMTP. | 20.0.500
getErrors | Метод возвращает все ошибки SMTP-клиента. | 20.0.500

Пример

// Создается экземпляр класса и вызываются его методы

$client = new Mail\Smtp(
            $this->host,
            $this->port,
            ('smtps' === $this->protocol || ('smtp' !== $this->protocol && 465 === $this->port)),
            true,
            $this->login,
            $this->password
        );

        if (!$client->authenticate($error))
        {
            $errors = $client->getErrors();
            return false;
        }


__construct

public function __construct($host, $port, $tls, $strict, $login, $password, $encoding = null)

Конструктор SMTP-клиента. Метод нестатический.

Параметры

Параметр | Описание | Версия
$host | Хост. |
$port | Порт. |
$tls | Протокол для шифрования электронной почты. |
$strict | Протокол защиты транспортного уровня. |
$login | Логин. |
$password | Пароль. |
$encoding | Символьная кодировка для сообщений. Если параметр не указан (null), то берётся кодировка сайта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


__destruct

public function __destruct()

Нестатический метод вызывается при уничтожении последней ссылки на экземпляр объекта, но не уничтожает объект класса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


authenticate

protected function authenticate($error)

Метод для аутентификации на сервере SMTP. Метод нестатический.

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

Параметры

Параметр | Описание | Версия
$error | Массив, который будет заполнен ошибками аутентификации. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


connect

protected function connect($error)

Метод устанавливает соединение с помощью SMTP. Метод нестатический.

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

Параметры

Параметр | Описание | Версия
$error | Массив, который будет заполнен ошибками подключения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrors

protected function getErrors()

Метод возвращает строку - сообщение SMTP-клиента об ошибке по коду. Метод нестатический.

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


User

User - класс для работы с пользователями.

Методы класса

Метод | Описание | С версии
create | Метод создает пользователя почты. | 16.0.0
getForwardTo | Метод возвращает уникальный email для связки Сайт-Пользователь-Сущность. | 16.0.1
getMailUserGroup | Метод возвращает группу пользователей электронной почты. | 16.0.0
getReplyTo | Метод возвращает уникальный email связки Пользователь-Сущность и URL точки входа. | 16.0.2
login | Метод запускает логин пользователя. | 16.0.1
onEmailReceived | Метод посылает события, связанные с электронной почтой. | 16.0.0
onLoginExternal | Метод возвращает идентификатор пользователя почты. | 16.0.0


create

integer|false public static
\Bitrix\Mail\User::create(
 array $fields
);

Метод создает пользователя почты. Метод статический.

Параметры

Parameter | Description | Version
$fields | Массив полей пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getForwardTo

array|false public static
\Bitrix\Mail\User::getForwardTo(
 string $siteId,
 integer $userId,
 string $entityType
);

Метод возвращает уникальный email для связки Сайт-Пользователь-Сущность. Метод статический.

Параметры

Параметр | Описание | Версия
$siteId | Идентификатор сайта. |
$userId | Идентификатор пользователя. |
$entityType | Идентификатор типа сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMailUserGroup

array public static
\Bitrix\Mail\User::getMailUserGroup(
);

Метод возвращает группу пользователей электронной почты. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getReplyTo

array|false public static
\Bitrix\Mail\User::getReplyTo(
 string $siteId,
 integer $userId,
 string $entityType,
 integer $entityId,
 string $entityLink = null,
 string $backurl = null
);

Метод возвращает уникальный email связки Пользователь-Сущность и URL точки входа. Метод статический.

Параметры

Параметр | Описание | Версия
$siteId | Идентификатор сайта. |
$userId | Идентификатор пользователя. |
$entityType | Идентификатор типа сущности. |
$entityId | Идентификатор сущности. |
$entityLink | URL сущности. |
$backurl | Предыдущий URL. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


login

void public static
\Bitrix\Mail\User::login(
);

Метод запускает логин пользователя. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onEmailReceived

boolean public static
\Bitrix\Mail\User::onEmailReceived(
 string $to,
 array $message
);

Метод посылает события, связанные с электронной почтой. Метод статический.

Параметры

Параметр | Описание | Версия
$to | Email получателя. |
$message | Сообщение. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onLoginExternal

integer|false public static
\Bitrix\Mail\User::onLoginExternal(
 array
);

Метод возвращает идентификатор пользователя почты. Метод статический.

Параметры

Параметр | Описание | Версия
$params | Параметры аутентификации. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Проактивная защита

Проактивная защита – это комплекс технических и организационных мер, которые объединены общей концепцией безопасности и позволяют значительно расширить понятие защищенности и реакции веб-приложений на угрозы.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('security');

Класс | Описание | С версии
Codec | Класс для работы с набором кодеков. | 14.5.5
Filter | Класс для работы с фильтрами. |
HostRestriction | Класс, реализующий проверку и ограничение хостов/доменов. | 14.0.6
LogicException | Исключение возникающее при логических ошибках входящих данных. | 14.0.6
Mfa | Класс, реализующий многофакторную аутентификацию. | 14.5.5
SessionTable | Класс для работы с данными сессий посетителей сайта. | 16.0.0

Смотрите также:

  • Проактивная защита (учебный курс)
  • Проактивная защита (пользовательская документация)


Codec

Codec - класс для работы с набором кодеков.

Класс | Описание | С версии
Base32 | Класс реализующий кодирование/декодирование данных алгоритмом Base32, в соответствии с RFC 4648/3548. |


Base32

Base32 - класс реализующий кодирование/декодирование данных алгоритмом Base32, в соответствии с RFC 4648/3548.

Метод | Описание | С версии
decode | Декодирует строку, закодированную при помощи алгоритма Base32. |
encode | Кодирует данные в строку алгоритмом Base32. |


decode

string public static
\Bitrix\Security\Codec\Base32::decode(
 string $base32String
);

Статический метод декодирует строку, закодированную при помощи алгоритма Base32.

Параметры

Параметр | Описание | Версия
$base32String | Строка в формате Base32. |

Исключения

  • ArgumentTypeException (\Bitrix\Main\ArgumentTypeException)
  • \Bitrix\Security\Codec\DecodingException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


encode

string public static
\Bitrix\Security\Codec\Base32::encode(
 string $string
);

Статический метод кодирует данные в строку алгоритмом Base32.

Параметры

Параметр | Описание | Версия
$string | Данные для кодирования. |

Исключения

  • ArgumentTypeException (Bitrix\Main\ArgumentTypeException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Filter

Filter - класс для работы с фильтрами.

Класс | Описание | С версии
Auditor | Аудиторы проактивного фильтра, предоставляющие логику фильтрации/обнаружения потенциально опасных данных. |
Request | Фильтр для обработки пользовательских данных запроса ($_GET, $_POST и т.д.). |
Server | Фильтр для обработки серверных переменных, контролируемых пользователем ($_SERVER). |


Auditor

Auditor - аудиторы проактивного фильтра, предоставляющие логику фильтрации/обнаружения потенциально опасных данных.

Класс | Описание | С версии
Base | Базовый класс для всех аудиторов безопасности. |
Xss | Аудитор безопасности XSS. |


Base

Base - базовый класс для всех аудиторов безопасности.

Метод | Описание | С версии
getFilteredValue | Возвращает отфильтрованное значение после последней обработки значений. |
getName | Возвращает имя аудитора. |
process | Обрабатывает и сохраняет отфильтрованное значение. |


getFilteredValue

string public
\Bitrix\Security\Filter\Auditor\Base::getFilteredValue(
);

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

Без параметров

См. также

  • Base::process (\Bitrix\Security\Filter\Auditor\Base::process)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getName

string public
\Bitrix\Security\Filter\Auditor\Base::getName(
);

Нестатический метод возвращает имя аудитора.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


process

boolean public
\Bitrix\Security\Filter\Auditor\Base::process(
 string $value
);

Нестатический метод обрабатывает и сохраняет отфильтрованное значение. Возвращает true, если значение было отфильтровано аудитором. Для использования отфильтрованного значения используется Base::getFilteredValue (\Bitrix\Security\Filter\Auditor\Base::getFilteredValue).

Параметры

Параметр | Описание | Версия
$value | Обрабатываемое значение. |

Примеры

$ob = new Base();
if ($ob->process($someValue))
    $someValue = $ob->getFilteredValue();


Xss

Xss - аудитор безопасности XSS. Ищет XSS-подобные строки кода, например <img src=x onerror=prompt(/Hi_big_guy/)>. Отнаследован от Base (\Bitrix\Security\Filter\Auditor\Base).

Метод | Описание | С версии
process | Метод обрабатывает и сохраняет отфильтрованное значение. |


process

boolean public
\Bitrix\Security\Filter\Auditor\Xss::process(
 string $value
);

Нестатический метод обрабатывает и сохраняет отфильтрованное значение. Возвращает true, если значение было отфильтровано аудитором. Для использования отфильтрованного значения используется Xss::getFilteredValue.

Параметры

Параметр | Описание | Версия
$value | Фильтрумое значение. |

Примеры

$ob = new Xss();
if ($ob->process($someValue))
    $someValue = $ob->getFilteredValue();


Request

Request - фильтр для обработки пользовательских данных запроса ($_GET, $_POST и т.д.).

Метод | Описание | С версии
filter | Возвращает массив отфильтрованных значений. |
getChangedVars | Возвращает все измененные переменные. |
setAuditors | Назначает аудиторов для использования в фильтрации. | 14.0.2


filter

array public
\Bitrix\Security\Filter\Request::filter(
 array $values,
 boolean $isReturnChangedOnly = true
);

Нестатический метод возвращает массив отфильтрованных значений.

Параметры

Параметр | Описание | Версия
$values | Значения. Массив типа: array("get" => $_GET, "post" => $_POST, "files" => $_FILES, "cookie" => $_COOKIE). |
$isReturnChangedOnly | Если значение true, то возвращаются значения, если они были изменены некоторым аудитором. |

Примеры

$ob = new Request();
$ob->setAuditors([
 'SQL' => new Auditor\Sql()
]);
print_r(
 $ob->filter([
     'get' => ['safe bar'],
     'post' => ['select * from foo']
 ])
);
//output: Array ( [post] => Array ( [0] => sel ect * fr om foo ) )

print_r(
 $ob->filter([
         'get' => ['safe bar'],
         'post' => ['select * from foo']
     ],
     false
 )
);
//output: Array ( [get] => Array ( [0] => safe bar ) [post] => Array ( [0] => sel ect * fr om foo ) )


getChangedVars

array public
\Bitrix\Security\Filter\Request::getChangedVars(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setAuditors

\Bitrix\Security\Filter\Request public
\Bitrix\Security\Filter\Request::setAuditors(
 array $auditors
);

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

Параметры

Параметр | Описание | Версия
$auditors | Аудиторы. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Server

Server - фильтр для обработки серверных переменных, контролируемых пользователем ($_SERVER). Отнаследован от Request (\Bitrix\Security\Filter\Request).

Метод | Описание | С версии
filter | Возвращает отфильтрованные значения. |


filter

array|null public
\Bitrix\Security\Filter\Server::filter(
 array $values,
 boolean $isReturnChangedOnly = true
);
Нестатический метод возвращает отфильтрованные значения. Если ни один из аудиторов не сработал, то возвращает пустое значение.

Параметры

Параметр | Описание | Версия
$values | Значения. |
$isReturnChangedOnly | Если значение параметра равно true, то возвращает значения, если они были изменены контроллерами. В противном случае возвращает пустое значение. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


HostRestriction

HostRestriction - класс, реализующий проверку и ограничение хостов/доменов.

Метод | Описание | С версии
getValidationRegExp | Возвращает регулярные выражения (основанные на доменных именах) для проверки. |
isValidHost | Проверяет доменное имя согласно политике ограничения доменных имен. |
onPageStart | Обработчик событий для системного события OnPageStart. |
process | Главный метод, который проверяет текущий хост, логирует и выполняет действия. |
save | Метод сохраняет все свойства, включает автоматическую проверку и очищает кеш, если необходимо. |
setAction | Метод определяет действия, выполняемые во время проверки. |
setActive | Метод активирует или деактивирует автоматическую проверку. |
setHosts | Сохраняет разрешенные хосты. |
setLogging | Метод активирует или деактивирует запись в лог запросов неразрешенных хостов. |
setProperties | Метод определяет различные настройки для проверки доменных имен. |


getValidationRegExp

string public
\Bitrix\Security\HostRestriction::getValidationRegExp(
);

Нестатический метод возвращает регулярные выражения (основанные на доменных именах) для проверки.

Примечание: регулярные выражения кешируются для повышения производительности и автоматически удаляются после сохранения.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isValidHost

boolean public
\Bitrix\Security\HostRestriction::isValidHost(
 string $host
);

Нестатический метод проверяет доменное имя согласно политике ограничения доменных имен.

Параметры

Параметр | Описание | Версия
$host | Проверяемый хост. |

Исключения

  • ArgumentTypeException (Bitrix\Main\ArgumentTypeException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onPageStart

 public static
\Bitrix\Security\HostRestriction::onPageStart(
);

Обработчик событий для системного события OnPageStart. Ничего не делает в режиме командной строки. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


process

\Bitrix\Security\HostRestriction public
\Bitrix\Security\HostRestriction::process(
 string $host = null
);

Главный метод, который проверяет текущий хост, логирует и выполняет действия. Метод нестатический.

Параметры

Параметр | Описание | Версия
$host | Проверяемый хост. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


save

\Bitrix\Security\HostRestriction public
\Bitrix\Security\HostRestriction::save(
);

Нестатический метод сохраняет все свойства, включает автоматическую проверку и очищает кеш, если необходимо.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setAction

\Bitrix\Security\HostRestriction public
\Bitrix\Security\HostRestriction::setAction(
 string $action,
 array $options = array()
);

Нестатический метод определяет действия, выполняемые во время проверки .

Параметры

Параметр | Описание | Версия
$action | Действия. Поддерживаются перенаправление и запрет доступа. |
$options | Настройки действий, пока что поддерживаются только адрес перенаправления для перенаправления. | 14.5.1

Исключения

  • LogicException (\Bitrix\Security\LogicException)
  • ArgumentTypeException (Bitrix\Main\ArgumentTypeException)
  • ArgumentNullException (Bitrix\Main\ArgumentNullException)
  • ArgumentOutOfRangeException (Bitrix\Main\ArgumentOutOfRangeException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setActive

\Bitrix\Security\HostRestriction public
\Bitrix\Security\HostRestriction::setActive(
 boolean $isActive = false
);

Нестатический метод активирует или деактивирует автоматическую проверку.

Параметры

Параметр | Описание | Версия
$isActive | При установке true будет включена проверка на каждый запрос. |

Исключения

  • ArgumentTypeException (Bitrix\Main\ArgumentTypeException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setHosts

\Bitrix\Security\HostRestriction public
\Bitrix\Security\HostRestriction::setHosts(
 string $hosts,
 boolean $ignoreChecking = false
);

Нестатический метод сохраняет разрешенные хосты.

Параметры

Параметр | Описание | Версия
$hosts | Разрешенные хосты (маски поддерживаются, например *.example.com). |
$ignoreChecking | При установке false будет отключена проверка хоста перед установкой. |

Исключения

  • ArgumentTypeException (Bitrix\Main\ArgumentTypeException)
  • LogicException (\Bitrix\Security\LogicException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setLogging

\Bitrix\Security\HostRestriction public
\Bitrix\Security\HostRestriction::setLogging(
 boolean $isLogNeeded = true
);

Нестатический метод активирует или деактивирует запись в лог запросов неразрешенных хостов.

Параметры

Параметр | Описание | Версия
$isLogNeeded | Устанавливает true, если необходимо вести запись в лог. |

Исключения

  • ArgumentTypeException (Bitrix\Main\ArgumentTypeException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setProperties

\Bitrix\Security\HostRestriction public
\Bitrix\Security\HostRestriction::setProperties(
 array $properties
);

Нестатический метод определяет различные настройки для проверки доменных имен. Сейчас поддерживаются:

- hosts: строка с разрешенными доменными именами (маски поддерживаются, например: *.example.com);

- action: строка с действиями для неразрешенных доменных имен;

- action_options: массив с настройками действий;

- logging: bool, если установлено true, то необходима запись в лог неразрешенных хостов;

- active: bool, если установлено true, то необходима проверка по каждому запросу.

Параметры

Параметр | Описание | Версия
$properties | Настройки. |

Исключения

  • ArgumentTypeException (Bitrix\Main\ArgumentTypeException)
  • ArgumentNullException (Bitrix\Main\ArgumentNullException)
  • ArgumentOutOfRangeException (Bitrix\Main\ArgumentOutOfRangeException)
  • LogicException (\Bitrix\Security\LogicException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LogicException

LogicException - исключение возникающее при логических ошибках входящих данных, если продолжать их обработку не имеет смысла. Зачастую содержит локализованное сообщение об ошибке (см. LogicException::getLocMessage), которое можно вывести пользователю. Отнаследован от SystemException (Bitrix\Main\SystemException).

Метод | Описание | С версии
Конструктор LogicException | Создает новое исключение. |


Конструктор LogicException

 public
\Bitrix\Security\LogicException::__construct(
 string $message = '',
 string $locMessageKey = '',
 integer $code,
 string $file = '',
 integer $line,
 \Exception $previous = null
);

Нестатический метод создает новое исключение.

Параметры

Параметр | Описание | Версия
$message | Отправляемое сообщение |
$locMessageKey | Ключ локализации сообщения. Полезен для вывода сообщения напрямую пользователю. |
$code | Код исключения. |
$file | Имя файла для, которого создается исключение. |
$line | Имя строки, для которой создается исключение. |
$previous | Предыдущее исключение. Используется учета последовательности исключений. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Mfa

Mfa - класс, реализующий многофакторную аутентификацию.

Класс | Описание | С версии
HotpAlgorithm | Класс для реализации одноразовых паролей с зависимостью от счетчика (HMAC-Based One-time Password, HOTP). |
Otp | Класс, реализующий многофакторную аутентификацию. Содержит в себе большую часть логики MFA. В типичном случае использования OTP нужно обращаться к методам именно этого класса. |
OtpAlgorithm | Абстрактный, базовый класс всех алгоритмов реализации многофакторной аутентификации. |
OtpEvents | Обработчики событий, необходимых для многофакторной аутентификации. | 14.5.6
RecoveryCodesTable | Класс работы с таблицей резервных кодов. | 15.0.0
TotpAlgorithm | Класс для реализации одноразовых паролей с зависимостью от времени (Time-based One-time Password, TOTP). |
UserTable | Класс работы с таблицами OTP пользователя . |


HotpAlgorithm

HotpAlgorithm - класс для реализации одноразовых паролей с зависимостью от счетчика (HMAC-Based One-time Password, HOTP). Отнаследован от OtpAlgorithm (\Bitrix\Security\Mfa\OtpAlgorithm).

Метод | Описание | С версии
generateUri | Генерирует ссылку для подключения мобильного аппарата с OTP в соответствии с KeyUriFormat. |
getDescription | Возвращает описание алгоритма. | 14.5.6
getSyncParameters | Возвращает синхронизированные пользовательские параметры предоставленных данных. |
setSecret | Устанавливает новый секрет. |
verify | Подтверждает введенную информацию. |


generateUri

string public
\Bitrix\Security\Mfa\HotpAlgorithm::generateUri(
 string $label,
 array $opts = array()
);

Нестатический метод генерирует ссылку для подключения мобильного аппарата с OTP в соответствии с KeyUriFormat.

Параметры

Параметр | Описание | Версия
$label | Пользовательская метка. |
$opts | Дополнительные параметры URI. |

Исключения

  • ArgumentTypeException (Bitrix\Main\ArgumentTypeException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDescription

array public static
\Bitrix\Security\Mfa\HotpAlgorithm::getDescription(
);

Статический метод возвращает описание алгоритма: string type, string title, bool required_two_code.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSyncParameters

string public
\Bitrix\Security\Mfa\HotpAlgorithm::getSyncParameters(
 string $inputA,
 string $inputB
);

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

Параметры

Параметр | Описание | Версия
$inputA | Первый код. |
$inputB | Второй код. |

Исключения

  • \Bitrix\Security\Mfa\OtpException
  • ArgumentOutOfRangeException (Bitrix\Main\ArgumentOutOfRangeException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setSecret

\Bitrix\Security\Mfa\HotpAlgorithm public
\Bitrix\Security\Mfa\HotpAlgorithm::setSecret(
 string $secret
);

Нестатический метод устанавливает новый секрет.

Параметры

Параметр | Описание | Версия
$secret | Секрет (бинарный). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


verify

array public
\Bitrix\Security\Mfa\HotpAlgorithm::verify(
 string $input,
 integer|string $params
);

Нестатический метод подтверждает введенную информацию.

Параметры

Параметр | Описание | Версия
$input | Введенная пользователем информация. |
$params | Синхронизированные пользовательские параметры, сохраненные для алгоритма (см. getSyncParameters - \Bitrix\Security\Mfa\HotpAlgorithm::getSyncParameters). |

Исключения

  • ArgumentOutOfRangeException (Bitrix\Main\ArgumentOutOfRangeException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Otp

Otp - класс, реализующий многофакторную аутентификацию. Содержит в себе большую часть логики MFA. В типичном случае использования OTP нужно обращаться к методам именно этого класса.

Метод | Описание | С версии
activate | Активирует OTP для пользователя. | 14.5.6
canSkipMandatory | Проверяет, может ли пользователь пропускать обязательность использования OTP. | 14.5.6
canSkipMandatoryByRights | Проверяет, обязывают ли права пользователя подключать OTP. | 15.0.2
deactivate | Деактивирует OTP для пользователя на необходимое количество дней или навсегда. | 14.5.6
defer | Откладывает обязательное подключение OTP на необходимое количество дней или навсегда. | 14.5.6
delete | Удаляет записи OTP из базы данных. | 14.5.6
getAlgorithm | Возвращает инстанс использованного алгоритма OTP. |
getAppSecret | Возвращает сгенерированный токен мобильного приложения, использующийся для ручной инициализации устройства. | 14.5.6
getAttempts | Возвращает счетчик количества попыток подтверждения. | 14.5.6
getAvailableTypes | Возвращает доступные типы алгоритма OTP. | 14.5.6
getByType | Возвращает новый инстанс с необходимым алгоритмом OTP. | 14.5.6
getByUser | Возвращает новый инстанс для пользователя по его ID. | 14.5.6
getContext | Возвращает контекст текущего запроса. | 15.0.7
getDefaultType | Возвращает тип алгоритма OTP, установленный по умолчанию. | 14.5.6
getDeferredParams | Возвращает отложенные параметры. | 14.5.6
getHexSecret | Возвращает секрет, перекодированный в шестнадцатеричную систему счисления. | 14.5.6
getIssuer | Возвращает параметр идентификации провайдера или сервиса. |
getLabel | Возвращает метку для параметра идентификации провайдера или сервиса. |
getMandatoryRights | Возвращает набор прав пользователей, для которых использование OTP обязательно. | 14.5.6
getParams | Возвращает пользовательские параметры (например счетчик для HotpAlgorithm - \Bitrix\Security\Mfa\HotpAlgorithm). |
getProvisioningUri | Возвращает URI для подключения мобильного приложения в соответствии с KeyUriFormat. |
getSecret | Возвращает сгенерированный секрет. |
getSkipMandatoryDays | Возвращает период (в днях) для установки обязательности использования OTP. | 14.5.6
getSyncParameters | Возвращает синхронизированные параметры пользователя для предоставленного ввода. |
getType | Возвращает использованный тип алгоритма OTP. | 14.5.6
getTypesDescription | Возвращает описание доступных типов алгоритмов OTP. | 14.5.6
getUserId | Возвращает ID пользователя, привязанного к инстансу OTP. | 14.5.6
getUserLogin | Возвращает логин пользователя. | 14.5.6
isActivated | Возвращает, активно ли OTP или нет. | 14.5.6
isAttemptsReached | Проверяет достигнуто ли количество попыток авторизации, разрешенное политикой безопасности. | 14.5.6
isCaptchaRequired | Метод определяет, должен ли пользователь заполнить код-captcha перед тем, как предоставить пароль OTP. | 14.5.6
isMandatorySkipped | Возвращает true если обязательное использование OTP может быть пользователем пропущено. | 14.5.6
isMandatoryUsing | Метод определяет, активировано ли обязательно использование OTP. | 14.5.6
isOtpEnabled | Метод определяет, включен ли механизм OTP. | 14.5.6
isOtpRequired | Возвращает true, если пользователь должен проходить OTP со своего устройства. | 14.5.6
isOtpRequiredByMandatory | Возвращает true, если пользователь не использует OTP, но это необходимо и истекло количество дней до подключения. | 14.5.6
isRecoveryCodesEnabled | Метод определяет возвращает, включены ли резервные коды. | 15.0.0
regenerate | Заново инициализирует OTP (генерируется новый случайный токен (секрет), устанавливается стандартный алгоритм и т.д.). | 14.5.6
save | Сохраняет все данные OTP в базу данных. | 14.5.6
setActive | Устанавливает новый статус активации. | 14.5.6
setAppSecret | Устанавливает новый секрет мобильного приложения. | 14.5.6
setContext | Устанавливает контекст текущего запроса. | 15.0.7
setDefaultType | Устанавливает по умолчанию тип алгоритма OTP. | 14.5.6
setDeferredParams | Устанавливает или удаляет отложенные параметры. | 14.5.6
setHexSecret | Устанавливает новый секрет в шестнадцатеричной системе счисления. | 14.5.6
getInitialDate | Возвращает дату инициализации OTP. | 14.5.6
setIssuer | Установить пользовательский параметр идентификации провайдера или сервиса. |
setLabel | Устанавливает пользовательскую метку. |
setMandatoryRights | Устанавливает для прав пользователя обязательное использование OTP. | 14.5.6
setMandatoryUsing | Метод служит для активации или деактивации использования OTP. | 14.5.6
setSecret | Устанавливает новый секрет. | 14.5.6
setSkipMandatoryDays | Метод определяет период (в днях) для установки обязательности использования OTP. | 14.5.6
setType | Устанавливают новый тип алгоритма OTP. | 14.5.6
setUserInfo | Устанавливает новую пользовательскую информацию. | 14.5.6
setUserLogin | Устанавливает пользовательский логин. | 14.5.6
syncParameters | Синхронизирует пользовательские параметры для предоставленного ввода. |
syncParameters | Синхронизирует пользовательские параметры для предоставленного ввода. |
verify | Подтверждает введенные пользователем данные. |
verifyUser | Отвечает за комплексную проверку OTP. | 14.5.6


activate

\Bitrix\Security\Mfa\Otp public
\Bitrix\Security\Mfa\Otp::activate(
);

Нестатический метод активирует OTP для пользователя. OTP должен быть инициализирован (секрет, параметры и т.д.) перед активацией.

Без параметров

Исключения

  • \Bitrix\Security\Mfa\OtpException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


canSkipMandatory

boolean public
\Bitrix\Security\Mfa\Otp::canSkipMandatory(
);

Нестатический метод проверяет, может ли пользователь пропускать обязательность использования OTP. Обязательность может быть пропущена, если:

-OTP уже активирован;

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

-Пользователю не назначено правами обязательное использование;

-Для пользователя еще не наступила дата обязательного подключения.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


canSkipMandatoryByRights

boolean public
\Bitrix\Security\Mfa\Otp::canSkipMandatoryByRights(
);

Нестатический метод проверяет, обязывают ли права пользователя подключать OTP.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deactivate

\Bitrix\Security\Mfa\Otp public
\Bitrix\Security\Mfa\Otp::deactivate(
 integer $days
);

Нестатический метод деактивирует OTP для пользователя на необходимое количество дней или навсегда.

Параметры

Параметр | Описание | Версия
$days | Количество дней. 0 значит навсегда. |

Исключения

  • \Bitrix\Security\Mfa\OtpException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


defer

\Bitrix\Security\Mfa\Otp public
\Bitrix\Security\Mfa\Otp::defer(
 integer $days
);

Нестатический метод откладывает обязательное подключение OTP на необходимое количество дней или навсегда.

Параметры

Параметр | Описание | Версия
$days | Количество дней. 0 значит навсегда. |

Исключения

  • \Bitrix\Security\Mfa\OtpException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delete

\Bitrix\Security\Mfa\Otp public
\Bitrix\Security\Mfa\Otp::delete(
);

Нестатический метод удаляет записи OTP из базы данных.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAlgorithm

\Bitrix\Security\Mfa\OtpAlgorithm public
\Bitrix\Security\Mfa\Otp::getAlgorithm(
);

Нестатический метод возвращает инстанс использованного алгоритма OTP.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAppSecret

string public
\Bitrix\Security\Mfa\Otp::getAppSecret(
);

Нестатический метод возвращает сгенерированный токен мобильного приложения, использующийся для ручной инициализации устройства.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAttempts

integer public
\Bitrix\Security\Mfa\Otp::getAttempts(
);

Нестатический метод возвращает счетчик количества попыток подтверждения.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAvailableTypes

array public static
\Bitrix\Security\Mfa\Otp::getAvailableTypes(
);

Статический метод возвращает доступные типы алгоритма OTP.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getByType

static public static
\Bitrix\Security\Mfa\Otp::getByType(
 string $type
);

Статический метод возвращает новый экземпляр с необходимым алгоритмом OTP.

Параметры

Параметр | Описание | Версия
$type | Тип OTP (см. getAvailableTypes - \Bitrix\Security\Mfa\Otp::getAvailableTypes). |

Исключения

  • ArgumentOutOfRangeException (Bitrix\Main\ArgumentOutOfRangeException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getByUser

static public static
\Bitrix\Security\Mfa\Otp::getByUser(
 integer $userId
);

Статический метод возвращает новый экземпляр для пользователя по его ID.

Параметры

Параметр | Описание | Версия
$userId | ID пользователя. |

Исключения

  • ArgumentOutOfRangeException (Bitrix\Main\ArgumentOutOfRangeException)
  • ArgumentTypeException (Bitrix\Main\ArgumentTypeException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getContext

\Bitrix\Main\Context public
\Bitrix\Security\Mfa\Otp::getContext(
);

Нестатический метод возвращает контекст текущего запроса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDefaultType

string public static
\Bitrix\Security\Mfa\Otp::getDefaultType(
);

Статический метод возвращает тип алгоритма OTP, установленный по умолчанию.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDeferredParams

array|null public static
\Bitrix\Security\Mfa\Otp::getDeferredParams(
);

Статический метод возвращает отложенные параметры (см. verifyUser - \Bitrix\Security\Mfa\Otp::verifyUser).

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getHexSecret

string public
\Bitrix\Security\Mfa\Otp::getHexSecret(
);

Нестатический метод возвращает секрет, перекодированный в шестнадцатеричную систему счисления.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getInitialDate

\Bitrix\Main\Type\DateTime public
\Bitrix\Security\Mfa\Otp::getInitialDate(
);

Нестатический метод возвращает дату инициализации OTP.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getIssuer

string public
\Bitrix\Security\Mfa\Otp::getIssuer(
);

Нестатический метод возвращает параметр идентификации провайдера или сервиса. Если пользовательский параметр недоступен, то будет возвращен установленный по умолчанию (см. getDefaultIssuer).

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLabel

string public
\Bitrix\Security\Mfa\Otp::getLabel(
 string|null $issuer = null
);

Нестатический метод возвращает метку для параметра идентификации провайдера или сервиса (если он доступен). Если пользовательская метка недоступна, то генерируется установленная по умолчанию (см. generateLabel).

Параметры

Параметр | Описание | Версия
$issuer | Параметр. | 14.5.6

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMandatoryRights

array public static
\Bitrix\Security\Mfa\Otp::getMandatoryRights(
);

Статический метод возвращает набор прав пользователей, для которых использование OTP обязательно.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getParams

string public
\Bitrix\Security\Mfa\Otp::getParams(
);

Нестатический метод возвращает пользовательские параметры (например счетчик для HotpAlgorithm - \Bitrix\Security\Mfa\HotpAlgorithm).

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getProvisioningUri

string public
\Bitrix\Security\Mfa\Otp::getProvisioningUri(
 array $opts = array()
);

Нестатический метод возвращает URI для подключения мобильного приложения в соответствии с KeyUriFormat.

Параметры

Параметр | Описание | Версия
$opts | Дополнительные параметры URI. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSecret

string public
\Bitrix\Security\Mfa\Otp::getSecret(
);

Нестатический метод возвращает сгенерированный секрет.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSkipMandatoryDays

integer public static
\Bitrix\Security\Mfa\Otp::getSkipMandatoryDays(
);

Статический метод возвращает период (в днях) для установки обязательности использования OTP.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSyncParameters

string public
\Bitrix\Security\Mfa\Otp::getSyncParameters(
 string $inputA,
 string $inputB
);

Нестатический метод возвращает синхронизированные параметры пользователя для предоставленного ввода.

Параметры

Параметр | Описание | Версия
$inputA | Первый код. |
$inputB | Второй код. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getType

string public
\Bitrix\Security\Mfa\Otp::getType(
);

Нестатический метод возвращает использованный тип алгоритма OTP.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTypesDescription

array public static
\Bitrix\Security\Mfa\Otp::getTypesDescription(
);

Статический метод возвращает описание доступных типов алгоритмов OTP.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUserId

integer public
\Bitrix\Security\Mfa\Otp::getUserId(
);

Нестатический метод возвращает ID пользователя, привязанного к инстансу OTP.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUserLogin

string public
\Bitrix\Security\Mfa\Otp::getUserLogin(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isActivated

boolean public
\Bitrix\Security\Mfa\Otp::isActivated(
);

Нестатический метод определяет, активно OTP или нет.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isAttemptsReached

boolean public
\Bitrix\Security\Mfa\Otp::isAttemptsReached(
);

Нестатический метод проверяет достигнуто ли количество попыток авторизации, разрешенное политикой безопасности. Может быть использовано, например, для показа Captcha.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isCaptchaRequired

boolean public static
\Bitrix\Security\Mfa\Otp::isCaptchaRequired(
);

Статический метод определяет, должен ли пользователь заполнить код-captcha перед тем, как предоставить пароль OTP.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isMandatorySkipped

boolean public
\Bitrix\Security\Mfa\Otp::isMandatorySkipped(
);

Нестатический метод возвращает true, если обязательное использование OTP может быть пользователем пропущено.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isMandatoryUsing

boolean public static
\Bitrix\Security\Mfa\Otp::isMandatoryUsing(
);

Статический метод определяет, активировано ли обязательно использование OTP.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isOtpEnabled

boolean public static
\Bitrix\Security\Mfa\Otp::isOtpEnabled(
);

Статический метод определяет, включен ли механизм OTP.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isOtpRequired

boolean public static
\Bitrix\Security\Mfa\Otp::isOtpRequired(
);

Статический метод возвращает true, если пользователь должен проходить OTP со своего устройства.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isOtpRequiredByMandatory

boolean public static
\Bitrix\Security\Mfa\Otp::isOtpRequiredByMandatory(
);

Статический метод возвращает true, если пользователь не использует OTP, но это необходимо и истекло количество дней до подключения.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isRecoveryCodesEnabled

boolean public static
\Bitrix\Security\Mfa\Otp::isRecoveryCodesEnabled(
);

Статический метод определяет, включены ли резервные коды.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


regenerate

\Bitrix\Security\Mfa\Otp public
\Bitrix\Security\Mfa\Otp::regenerate(
 null $newSecret = null
);

Нестатический метод заново инициализирует OTP (генерируется новый случайный токен (секрет), устанавливается стандартный алгоритм и т.д.). Должен быть вызван перед подключением нового устройства.

Параметры

Параметр | Описание | Версия
$newSecret | Используемый пользовательский секрет. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


save

boolean public
\Bitrix\Security\Mfa\Otp::save(
);

Нестатический метод сохраняет все данные OTP в базу данных.

Без параметров

Исключения

  • \Bitrix\Security\Mfa\OtpException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setActive

\Bitrix\Security\Mfa\Otp public
\Bitrix\Security\Mfa\Otp::setActive(
 boolean $isActive
);

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

Параметры

Параметр | Описание | Версия
$isActive | Активирован ли OTP. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setAppSecret

\Bitrix\Security\Mfa\Otp public
\Bitrix\Security\Mfa\Otp::setAppSecret(
 string $value
);

Нестатический метод устанавливает новый секрет мобильного приложения.

Параметры

Параметр | Описание | Версия
$value | Секрет. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setContext

\Bitrix\Main\Context public
\Bitrix\Security\Mfa\Otp::setContext(
 \Bitrix\Main\Context $context
);

Нестатичесский метод устанавливает контекст текущего запроса.

Параметры

Параметр | Описание | Версия
$context | Контекст приложения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDefaultType

void public static
\Bitrix\Security\Mfa\Otp::setDefaultType(
 string $value
);

Статический метод устанавливает по умолчанию тип алгоритма OTP.

Параметры

Параметр | Описание | Версия
$value | Тип алгоритма OTP (см. getAvailableTypes - \Bitrix\Security\Mfa\Otp::getAvailableTypes). |

Исключения

  • ArgumentOutOfRangeException (Bitrix\Main\ArgumentOutOfRangeException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDeferredParams

void public static
\Bitrix\Security\Mfa\Otp::setDeferredParams(
 array|null $params
);

Статический метод устанавливает или удаляет отложенные параметры (см. verifyUser - \Bitrix\Security\Mfa\Otp::verifyUser)

Параметры

Параметр | Описание | Версия
$params | Параметры, пустое значение означает удаление параметров из хранилища. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setHexSecret

\Bitrix\Security\Mfa\Otp public
\Bitrix\Security\Mfa\Otp::setHexSecret(
 string $hexValue
);

Нестатический метод устанавливает новый секрет в шестнадцатеричной системе счисления.

Параметры

Параметр | Описание | Версия
$hexValue | Секрет в шестнадцатеричной системе счисления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setIssuer

\Bitrix\Security\Mfa\Otp public
\Bitrix\Security\Mfa\Otp::setIssuer(
 string $issuer
);

Нестатический метод устанавливает пользовательский параметр идентификации провайдера или сервиса.

Параметры

Параметр | Описание | Версия
$issuer | Параметр. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setLabel

\Bitrix\Security\Mfa\Otp public
\Bitrix\Security\Mfa\Otp::setLabel(
 string $label
);

Нестатический метод устанавливает пользовательскую метку.

Параметры

Параметр | Описание | Версия
$label | Метка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setMandatoryRights

void public static
\Bitrix\Security\Mfa\Otp::setMandatoryRights(
 array $rights
);

Статический метод устанавливает для прав пользователя обязательное использование OTP.

Параметры

Параметр | Описание | Версия
$rights | Необходимые права. Например, ['G1'] для администраторов. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setMandatoryUsing

void public static
\Bitrix\Security\Mfa\Otp::setMandatoryUsing(
 boolean $isMandatory = true
);

Статический метод служит для активации или деактивации использования OTP.

Параметры

Параметр | Описание | Версия
$isMandatory | Активно или нет. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setSecret

\Bitrix\Security\Mfa\Otp public
\Bitrix\Security\Mfa\Otp::setSecret(
 string $secret
);

Нестатический метод устанавливает новый секрет.

Параметры

Параметр | Описание | Версия
$secret | Двоичный секрет. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setSkipMandatoryDays

void public static
\Bitrix\Security\Mfa\Otp::setSkipMandatoryDays(
 integer $days = 2
);

Статический метод определяет период (в днях) для установки обязательности использования OTP.

Параметры

Параметр | Описание | Версия
$days | Количество дней в периоде. "0" означает немедленно (или при следующей авторизации пользователя). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setType

\Bitrix\Security\Mfa\Otp public
\Bitrix\Security\Mfa\Otp::setType(
 string $type
);

Нестатический метод устанавливает новый тип алгоритма OTP.

Параметры

Параметр | Описание | Версия
$type | Тип алгоритма (см. getAvailableTypes - \Bitrix\Security\Mfa\Otp::getAvailableTypes). |

Исключения

  • ArgumentOutOfRangeException (Bitrix\Main\ArgumentOutOfRangeException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setUserInfo

\Bitrix\Security\Mfa\Otp public
\Bitrix\Security\Mfa\Otp::setUserInfo(
 array $userInfo
);

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

- ACTIVE: bool, статус активации (см. setActive - \Bitrix\Security\Mfa\Otp::setActive);

- USER_ID: integer, ID пользователя (см. setUserId);

- ATTEMPTS: integer, счетчик попыток (см. setAttempts);

- SECRET: binary, токен пользователя (см. setSecret - \Bitrix\Security\Mfa\Otp::setSecret);

- PARAMS: string, параметры пользователя (см. setParams и getSyncParameters);

- INITIAL_DATE: Type\Date, дата инициализации OTP (см. setInitialDate).

Параметры

Параметр | Описание | Версия
$userInfo | Пользовательская информация. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setUserLogin

\Bitrix\Security\Mfa\Otp public
\Bitrix\Security\Mfa\Otp::setUserLogin(
 string $login
);

Нестатический метод устанавливает пользовательский логин.

Параметры

Параметр | Описание | Версия
$login | Логин. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


syncParameters

\Bitrix\Security\Mfa\Otp public
\Bitrix\Security\Mfa\Otp::syncParameters(
 string $inputA,
 string|null $inputB = null
);

Нестатический метод синхронизирует пользовательские параметры для предоставленного ввода. Может быть вызван после генерации и перед сохранением. Если что-то выполнено неправильно, выводится OtpException с правильным описанием в сообщении.

Параметры

Параметр | Описание | Версия
$inputA | Первый код. |
$inputB | Второй код. |

Исключения

  • \Bitrix\Security\Mfa\OtpException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


verify

boolean public
\Bitrix\Security\Mfa\Otp::verify(
 string $input,
 boolean $updateParams = true
);

Нестатический метод подтверждает введенные пользователем данные.

Параметры

Параметр | Описание | Версия
$input | Введенные пользователем данные. |
$updateParams | Нужно ли обновлять параметры пользователя в базе данных (например счетчик для HotpAlgorithm - \Bitrix\Security\Mfa\HotpAlgorithm). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


verifyUser

boolean public static
\Bitrix\Security\Mfa\Otp::verifyUser(
 array $params
);

Ключевой метод, отвечает за комплексную проверку OTP. От него зависит исполнение всех остальных методов. Метод статический.

Параметры

Параметр | Описание | Версия
$params | Параметры проверки. |

Исключения

  • ArgumentTypeException (Bitrix\Main\ArgumentTypeException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


OtpAlgorithm

OtpAlgorithm - абстрактный, базовый класс всех алгоритмов реализации многофакторной аутентификации.

Метод | Описание | С версии
generateOTP | Главный метод, генерирует значение OTP для указанного счетчика. |
generateUri | Генерирует URI для подключения мобильного приложения в соответствии с KeyUriFormat. |
getAppScheme | Возвращает схему алгоритма. | 14.5.6
getDescription | Возвращает описание алгоритма. | 14.5.6
getDigest | Возвращает алгоритм хеширования используемый при генерации OTP кода. |
getDigits | Возвращает цифры (длину пароля). |
getSecret | Возвращает сгенерированный секрет. |
getSyncParameters | Возвращает синхронизированные пользовательские параметры для предоставляемого ввода. |
getType | Возвращает тип алгоритма OTP. |
isTwoCodeRequired | Нестатический метод определяет, требуется ли два кода для инициализации алгоритма или достаточно только одного. | 14.5.6
setSecret | Установить новый секрет. |
verify | Подтверждает введенную информацию. |


generateOTP

string public
\Bitrix\Security\Mfa\OtpAlgorithm::generateOTP(
 string|integer $counter
);

Главный метод, генерирует значение OTP для указанного счетчика. Метод нестатический.

Параметры

Параметр | Описание | Версия
$counter | Счетчик. | 14.5.6

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


generateUri

string public
\Bitrix\Security\Mfa\OtpAlgorithm::generateUri(
 string $label,
 array $opts = array()
);

Нестатический метод генерирует URI для подключения мобильного приложения в соответствии с KeyUriFormat.

Параметры

Параметр | Описание | Версия
$label | Метка пользователя. |
$opts | Дополнительные параметры URI . |

Исключения

  • ArgumentTypeException (Bitrix\Main\ArgumentTypeException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAppScheme

string public
\Bitrix\Security\Mfa\OtpAlgorithm::getAppScheme(
);

Нестатический метод возвращает схему алгоритма. Наиболее часто используется для генерации запасного URI.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDescription

array public static
\Bitrix\Security\Mfa\OtpAlgorithm::getDescription(
);

Статический метод возвращает описание алгоритма. Каждый алгоритм должен предоставить: string type, string title, bool required_two_code.

Без параметров

Исключения

  • NotImplementedException (Bitrix\Main\NotImplementedException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDigest

string public
\Bitrix\Security\Mfa\OtpAlgorithm::getDigest(
);

Нестатический метод возвращает алгоритм хеширования используемый при генерации OTP кода. Наиболее часто используется для генерации запасного URI.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDigits

integer public
\Bitrix\Security\Mfa\OtpAlgorithm::getDigits(
);

Нестатический метод возвращает цифры (длину пароля).

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSecret

string public
\Bitrix\Security\Mfa\OtpAlgorithm::getSecret(
);

Нестатический метод возвращает сгенерированный секрет.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSyncParameters

string public
\Bitrix\Security\Mfa\OtpAlgorithm::getSyncParameters(
 string $inputA,
 string|null $inputB
);

Нестатический метод возвращает синхронизированные пользовательские параметры для предоставляемого ввода.

Параметры

Параметр | Описание | Версия
$inputA | Первый код. |
$inputB | Второй код. Должен быть предоставлен, если текущий алгоритм OTP его требует (см. TwoCodeRequired). |

Исключения

  • \Bitrix\Security\Mfa\OtpException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getType

string public
\Bitrix\Security\Mfa\OtpAlgorithm::getType(
);

Нестатический метод возвращает тип алгоритма OTP.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isTwoCodeRequired

boolean public
\Bitrix\Security\Mfa\OtpAlgorithm::isTwoCodeRequired(
);

Нестатический метод определяет, требуется ли два кода для инициализации алгоритма или достаточно только одного.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setSecret

\Bitrix\Security\Mfa\OtpAlgorithm public
\Bitrix\Security\Mfa\OtpAlgorithm::setSecret(
 string $secret
);

Нестатический метод устанавливает новый секрет.

Параметры

Параметр | Описание | Версия
$secret | Секрет. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


verify

array public
\Bitrix\Security\Mfa\OtpAlgorithm::verify(
 string $input,
 string $params = null
);

Нестатический метод подтверждает введенную информацию.

Параметры

Параметр | Описание | Версия
$input | Полученная информация от пользователя. |
$params | Синхронизированные пользовательские параметры, сохраненные для алгоритма (см. getSyncParameters - \Bitrix\Security\Mfa\OtpAlgorithm::getSyncParameters). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


OtpEvents

OtpEvents - обработчики событий, необходимых для многофакторной аутентификации.

Метод | Описание | С версии
onRecheckDeactivate | Агент активации временно отключенных пользовательских OTP. |


onRecheckDeactivate

string public static
\Bitrix\Security\Mfa\OtpEvents::onRecheckDeactivate(
);

Агент активации временно отключенных пользовательских OTP. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


RecoveryCodesTable

RecoveryCodesTable - класс работы с таблицей резервных кодов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
clearByUser | Удаляет все сохраненные резервные коды для указанных пользователей. |
getMap | Возвращает список полей с типами. |
getTableName | Возвращает имя таблицы в базе данных, соответствующей сущности. |
regenerateCodes | Генерирует новые резервные коды для указанных пользователей. |
useCode | "Использует" резервный код для пользователя. |

Таблица резервных кодов

Поле | Описание | Тип | Обяз.
ID | Идентификатор. | int | Y
USER_ID | Идентификатор пользователя. | int | Y
CODE | Резервный код. | varchar(255) | Y
USED | Использован ли был код. | char(1) | N
USING_DATE | Дата использования. | datetime | N
USING_IP | IP-адрес, которым код был использован. | varchar(255) | N


clearByUser

boolean public static
\Bitrix\Security\Mfa\RecoveryCodesTable::clearByUser(
 integer $userId
);

Статический метод удаляет все сохраненные резервные коды для указанных пользователей.

Параметры

Параметр | Описание | Версия
$userId | ID пользователя. |

Исключения

  • ArgumentTypeException (Bitrix\Main\ArgumentTypeException)
  • ArgumentException (Bitrix\Main\ArgumentException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Security\Mfa\RecoveryCodesTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Security\Mfa\RecoveryCodesTable::getTableName(
);

Статический метод возвращает имя таблицы в базе данных, соответствующей сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


regenerateCodes

boolean public static
\Bitrix\Security\Mfa\RecoveryCodesTable::regenerateCodes(
 integer $userId
);

Статический метод генерирует новые резервные коды для указанного пользователя. Предыдущие резервные коды будут удалены.

Параметры

Параметр | Описание | Версия
$userId | ID пользователя. |

Исключения

  • ArgumentTypeException (Bitrix\Main\ArgumentTypeException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


useCode

boolean public static
\Bitrix\Security\Mfa\RecoveryCodesTable::useCode(
 integer $userId,
 string $searchCode
);

Статический метод "использует" резервный код для пользователя.

Параметры

Параметр | Описание | Версия
$userId | ID пользователя. |
$searchCode | Резервный код в приемлемом формате (см. RecoveryCodesTable::CODE_PATTERN). |

Исключения

  • ArgumentException (Bitrix\Main\ArgumentException)
  • ArgumentTypeException (Bitrix\Main\ArgumentTypeException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


TotpAlgorithm

TotpAlgorithm - класс для реализации одноразовых паролей с зависимостью от времени (Time-based One-time Password, TOTP). Отнаследован от OtpAlgorithm (\Bitrix\Security\Mfa\OtpAlgorithm).

Метод | Описание | С версии
generateUri | Генерирует URI для подключения мобильного аппарата с OTP на основании KeyUriFormat. |
getDescription | Возвращает описание алгоритма. | 14.5.6
getSyncParameters | Возвращает синхронизированные пользовательские параметры для предоставленного ввода. |
verify | Подтверждает введенные пользователем данные. |


generateUri

string public
\Bitrix\Security\Mfa\TotpAlgorithm::generateUri(
 string $label,
 array $opts = array()
);

Нестатический метод генерирует URI для подключения мобильного аппарата с OTP на основании KeyUriFormat.

Параметры

Параметр | Описание | Версия
$label | Пользовательская метка. |
$opts | Дополнительные параметры URI . |

Исключения

  • ArgumentTypeException (Bitrix\Main\ArgumentTypeException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDescription

array public static
\Bitrix\Security\Mfa\TotpAlgorithm::getDescription(
);

Статический метод возвращает описание алгоритма:string type, string title, bool required_two_code.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSyncParameters

string public
\Bitrix\Security\Mfa\TotpAlgorithm::getSyncParameters(
 string $inputA,
 null $inputB
);

Нестатический метод возвращает синхронизированные пользовательские параметры для предоставленного ввода.

Параметры

Параметр | Описание | Версия
$inputA | Первый код. |
$inputB | Второй код, не использующийся для TOTP синхронизации. |

Исключения

  • \Bitrix\Security\Mfa\OtpException
  • ArgumentOutOfRangeException (Bitrix\Main\ArgumentOutOfRangeException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


verify

array public
\Bitrix\Security\Mfa\TotpAlgorithm::verify(
 string $input,
 string $params = '0:0',
 integer|null $time = null
);

Нестатический метод подтверждает введенные пользователем данные.

Параметры

Параметр | Описание | Версия
$input | Введенные пользователем данные. |
$params | Синхронизированные пользовательские данные, сохраненные для алгоритма (см. getSyncParameters - \Bitrix\Security\Mfa\TotpAlgorithm::getSyncParameters). |
$time | Корректированное системное время. | 14.5.6

Исключения

  • ArgumentOutOfRangeException (Bitrix\Main\ArgumentOutOfRangeException)
  • ArgumentTypeException (Bitrix\Main\ArgumentTypeException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


UserTable

Класс работы с таблицей OTP пользователя.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Возвращает список полей с типами. |
getTableName | Возвращает имя таблицы в базе данных, соответствующий сущности. |
onAfterDelete | Очищает резервные коды после удаления пользователя. | 15.0.0

Таблица OTP пользователя.

Поле | Описание | Тип | Обяз.
USER_ID | Идентификатор пользователя. | int | Y
ACTIVE | Статус активации. | char(1) | N
SECRET | Токен пользователя. | varchar(64) | N
TYPE | Тип OTP. | varchar(16) | N
PARAMS | Параметры пользователя. | text | N
ATTEMPTS | Счетчик попыток. | int | N
INITIAL_DATE | Дата инициализации OTP. | datetime | N
SCIP_MANDATORY | Можно ли пропустить обязательность использования ОТР. | char(1) | N
DEACTIVATE_UNTIL | До какого дня пользователь будет деактивирован. | datetime | N


getMap

array public static
\Bitrix\Security\Mfa\UserTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Security\Mfa\UserTable::getTableName(
);

Статический метод возвращает имя таблицы в базе данных, соответствующей сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onAfterDelete

void public static
\Bitrix\Security\Mfa\UserTable::onAfterDelete(
 \Bitrix\Main\Entity\Event $event
);

Статический метод очищает резервные коды после удаления пользователя.

Параметры

Параметр | Описание | Версия
$event | Событие. |

Исключения

  • ArgumentTypeException (Bitrix\Main\ArgumentTypeException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SessionTable

SessionTable - класс для работы с данными сессий посетителей сайта.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
deleteOlderThan | Удаляет старые сессии. |
getConnectionName | Возвращает имя соединения, соответствующей данной сущности. |
getMap | Возвращает список полей с типами. |
getTableName | Возвращает имя таблицы в базе данных, соответствующей сущности. |
lock | Блокирует определенный идентификатор сессии. |
unlock | Разблокирует определенный идентификатор сессии. |

Таблица c данными сессий посетителей сайта.

Поле | Описание | Тип | Обяз.
SESSION_ID | Идентификатор сессии. | varchar(250) | Y
TIMESTAMP_X | Время начала сессии. | datetime | N
SESION_DATA | Данные сессии. | text | N


deleteOlderThan

void public static
\Bitrix\Security\SessionTable::deleteOlderThan(
 integer $sec
);

Статический метод удаляет старые сессии.

Параметры

Параметр | Описание | Версия
$sec | Секунды. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getConnectionName

string public static
\Bitrix\Security\SessionTable::getConnectionName(
);

Статический метод возвращает имя соединения, соответствующего данной сущности.

Примечание: копирует текущее соединение с базой данных, если соединение {@link SessionTable::CONNECTION_NAME} не существует.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Security\SessionTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Security\SessionTable::getTableName(
);

Статический метод возвращает имя таблицы в базе данных, соответствующей сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


lock

boolean public static
\Bitrix\Security\SessionTable::lock(
 string $id,
 integer $timeout = 60
);

Статический метод блокирует определенный идентификатор сессии. Пока поддерживаются Mysql, MSSQL and Oracle. Запускается при открытии сессии.

Параметры

Параметр | Описание | Версия
$id | Идентификатор сессии. |
$timeout | Время блокировки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unlock

boolean public static
\Bitrix\Security\SessionTable::unlock(
 string $id
);

Статический метод разблокирует определенный идентификатор сессии. Пока что поддерживается Mysql, MSSQL and Oracle.

Параметры

Параметр | Описание | Версия
$id | Идентификатор сессии. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Реклама

Раздел содержит информацию о классах модуля Реклама, относящихся к ядру D7 и находящихся соответственно в пространстве имен \Bitrix\Advertising.

Перед использованием модуля необходимо проверить, установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('аdvertising');

Класс, простраство имён | Описание
Internals | Пространство имён, содержащее классы с обработчиками для конверсии и баннеров.


Реклама в старом ядре

Классы

Список классов модуля Реклама в старом ядре.

Класс | Описание | С версии
CAdvBanner | Класс для работы с рекламными баннерами. | 3.3.4
CAdvContract | Класс для работы с рекламными контрактами. | 3.3.4
CAdvType | Класс для работы с типами баннеров. | 3.3.4

События

Список событий модуля Реклама в старом ядре.

Событие | Вызывается | Метод | С версии
onBannerClick | При клике на баннер | CAdvBanner::Click |
OnBeforeBannerAdd | При создании баннера | CAdvBanner::Set | 15.5.3
OnBeforeBannerUpdate | При редактировании баннера | CAdvBanner::Set | 15.5.3


Internals

Internals - пространство имён, содержащее классы с обработчиками для конверсии и баннеров.

Класс | Описание
ConversionHandlers | Класс для работы с конверсией.


ConversionHandlers

ConversionHandlers - класс для работы с конверсией.

Методы класса

Метод | Описание | С версии
[link=7161113]onGetCounterTypes[/link] | Метод возвращает типы счетчиков конверсии. |
[link=7161117]onGetRateTypes[/link] | Метод возвращает типы конверсии. |
[link=7161121]onBannerClick[/link] | Метод фиксирует число ежедневных кликов по баннеру. |


onBannerClick

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Реклама>Internals>ConversionHandlers>onBannerClick (15.5.1)

ConversionHandlers::onBannerClick

void public static
\Bitrix\Advertising\Internals\ConversionHandlers::onBannerClick(
 integer $id,
 array $fields
);

Статический метод, фиксирует число ежедневных кликов по баннеру.

Параметры

Параметр | Описание | Версия
$id | Идентификатор баннера. |
$fields | Поля баннера. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onGetCounterTypes

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Реклама>Internals>ConversionHandlers>onGetCounterTypes (15.5.1)

ConversionHandlers::onGetCounterTypes

array public static
\Bitrix\Advertising\Internals\ConversionHandlers::onGetCounterTypes(
);

Статический метод, возвращает типы счетчиков конверсий.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onGetRateTypes

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Реклама>Internals>ConversionHandlers>onGetRateTypes (15.5.1)

ConversionHandlers::onGetRateTypes

array public static
\Bitrix\Advertising\Internals\ConversionHandlers::onGetRateTypes(
);

Статический метод, возвращает типы конверсий.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Обзор модуля

Данные

С точки зрения данных, rpa - это те же универсальные списки, только с пользовательскими полями ядра в качестве свойств.

Механизм хранения значений пользовательских свойств похож на такой же в highloadblock (таблицы элементов).

В модуле можно создавать процессы и элементы этих процессов. Каждый процесс имеет набор связанных с ним пользовательских полей, а также набор стадий.

Почти всё взаимодействие с данными в модуле идёт через orm-объекты:

  • Bitrix\Rpa\Model\Type
  • Bitrix\Rpa\Model\Stage
  • Bitrix\Rpa\Model\Item
  • Bitrix\Rpa\Model\ItemHistory
  • Bitrix\Rpa\Model\Timeline

Интерфейс

Большая часть элементов интерфейса берется полностью или частично из ядра / ui. Внешний вид разрабатывался с ориентацией на crm, с учетом некоторых особенностей модуля.

Т.к. код из crm включать в rpa было нельзя, то некоторые элементы интерфейса были перенесены из crm, переработаны и переписаны на ES6. После этого часть из них переехала в ui (ui.stageflow, ui.timeline, ui.userfieldfactory, ui.userfield).

Подробнее про интерфейс rpa можно почитать тут.

Бизнес-логика

Модуль проектировался так, чтобы у него не было своей бизнес-логики. Вся бизнес-логика сосредоточена в роботах и интеграциях с бизнес-процессами.

До конца избавиться от своей логики не получилось, но она максимально изолирована от остального кода модуля. Для этого были сделаны отдельные классы Director и Scenario, в которые эта логика, по возможности, вынесена.

Всё остальное настраивается через роботы и бизнес-процессы.

Права доступа

Механика ограничения прав доступа на момент написания этой статьи до конца не была проработана. Код написан, права проверяются, но пока что нет гибких настроек.

Если пользователь является администратором, то он может делать все операции, независимо от настроек.

На данный момент есть следующие виды действий:

Процессы
  • создание процессов (могут все). При создании процесса по умолчанию все имеют к нему полный доступ;
  • изменение процесса (изменить поля процесса, изменить пользовательские поля элементов процесса, изменение стадий процесса) - настраивается в форме настроек процесса;
  • удаление процесса. Совпадает с настройками на изменение процесса;
  • просмотр процесса (могут все).
Стадии
  • все действия над стадиями привязаны к действию изменения процесса.
Элементы
  • создание элементов - настраивается в форме редактирования процесса;
  • изменение элементов - все, кто может добавлять элементы, могут изменять любые элементы;
  • удаление элементов - аналогично изменению.
Комментарии таймлайна
  • все, кто имеют право на просмотр элемента, могут добавлять комментарии в ленту
  • изменить или удалить комментарий может только его автор

Подробнее можно почитать в описании класса Bitrix\Rpa\UserPermissions.

Роутинг

В rpa есть только одна публичная страница, весь дальнейший роутинг осуществляется внутри модуля.

Схема похожа на работу со ссылками в Symfony. Есть массив с шаблонами ссылок, где ключ - это имя компонента.

Класс Bitrix\Rpa\UrlManager преобразует адреса в имена компонентов и наоборот. Само подключение компонентов происходит в компоненте-обертке rpa.router.

Шаблоны ссылок передаются в rpa.manager, у которого есть набор именованных методов для получения ссылок на ту или иную страницу.

Пуши

Модуль рассылает достаточно много пушей о происходящих действиях.

Некоторые пуши объединены в группы. Например, пуш изменения элемента уходит по его тегу, также по тегу канбана процесса этого элемента

Каждое действие рассылает пуши всем пользователям. Таким образом, даже тот, кто произвел действие, получит пуш об этом.

В некоторых случаях отрисовка воспроизводимых действия выполняется на клиента на js (например, перемещение элемента по стадиям канбана) После выполнения действия придет пуш с информацией об этом же действии, и оно должно быть "отрисовано" повторно.

Чтобы этого избежать, к каждому действию пользователя на странице (которое было отрисовано), добавляется его уникальный идентификатор.

После получения пуша производится проверка - знает ли страница идентификатор этого пуша. И если знает, то этот пуш игнорируется.

Некоторые действия (например, обновление настроек заданий) не отрисовываются на клиенте - в этом случае в пуш не добавляется идентификатор и изменения будут отрисованы после получения пуша.

Подробнее можно посмотреть тут.


Особенности хранения данных элементов

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

Большая часть кода, отвечающего за хранение элементов и значений пользовательских свойств сосредоточена в папке modules/main/lib/userfield/internal

В этой статье можно прочитать подробно про общие процессы динамического создания таблиц и колонок.

Классы в rpa, отвечающие за таблицы процессов, элементов и обвязка, являются наследниками классов из ядра.

Системные поля

Все таблицы элементов в rpa имеют набор системных полей:

См. подробнее \Bitrix\Rpa\Model\PrototypeItem.

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

Каждый пользователь может задать произвольный порядок элементов в каждой стадии на канбане. Эта сортировка будет работать только в рамках этой стадии и только для этого пользователя. Без этой сортировки сверху колонки отображаются элементы с наибольшей датой смены стадии (см \Bitrix\Rpa\Model\Stage::getUserSortedItems())

Таблица b_rpa_item_sort. Класс \Bitrix\Rpa\Model\ItemSortTable.

Полнотекстовый индекс

Для каждого процесса помимо таблицы элементов создается динамически таблица для хранения полнотекстовского индекса. Заполняется индекс автоматически на событиях (\Bitrix\Rpa\Model\DataManager::onAfterAdd, \Bitrix\Rpa\Model\DataManager::onAfterUpdate)

Класс \Bitrix\Rpa\Model\PrototypeItemIndex.

Сами таблицы создаются тут \Bitrix\Rpa\Model\TypeTable::onAfterAdd.

История изменений

Все действия, выполняемые с элементами, подробно логируются в отдельной таблице. Заполнение таблицы происходит не на событиях, а в \Bitrix\Rpa\Command::saveToHistory().

Класс \Bitrix\Rpa\Model\ItemHistoryTable.


Пользовательские поля

Помимо интеграции апи ядра в rpa есть набор классов для работы с пользовательскими полями.

Коллекция и объект для работы с настройками

Класс \Bitrix\Rpa\UserField\UserFieldCollection.

Служит для работы с коллекцией настроек пользовательских полей.

Класс \Bitrix\Rpa\UserField\UserField.

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

Настройки видимости пользовательских полей

Для управления видимостью полей в разных контекстах используется таблица \Bitrix\Rpa\Model\FieldTable.

С помощью этой таблицы настраивается видимость полей в карточке канбана, наличие полей в быстрой форме редактирования.

Отрисовка значений пользовательских полей

Класс \Bitrix\Rpa\UserField\Display.

Служит для отрисовки значений пользовательских полей вне редактора (используется в канбане).


Стадии

Каждый процесс имеет набор привязанных к нему стадий. Каждый элемент должен находиться на одной из стадий.

В целом логика идентична стадиям в crm.

Класс \Bitrix\Rpa\Model\Stage - это орм-объект. Таблица [link=11312052 ]\Bitrix\Rpa\Model\StageTable[/link] - это орм-объект

Стадии сортируются по индексу сортировки, по возрастанию. Стадия с наименьшим индексом сортировки считается первой.

Стадии имеют свою семантику. Стадия может быть либо успешной, либо провальной. Успешная стадия может быть только одна для процесса, провальных может быть неограниченное количество.

Первоначально к стадиям планировалось привязать отдельный слой бизнес-логики:

  • сложные настройки прав доступа;
  • настройки видимости / обязательности полей.

Позже от этого отказались в пользу заданий, но в наследство остался компонент полной настройки стадии, который сейчас нигде не выводится (rpa.stage.detail)


UI

Практически весь javascript-код написан на ES6. Большая часть кода вынесена в js-экстеншены.

  • rpa.component
  • rpa.fieldscontroller
  • rpa.fieldspopup
  • rpa.kanban
  • rpa.manager
  • rpa.timeline
  • ui.timeline
  • ui.userfieldfactory
  • ui.userfield
  • ui.stageflow


Автоматизация

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

Класс Bitrix\Rpa\Integration\TaskManager служит прослойкой между rpa и bizproc.


Кастомизация

Переопределение логики

Модуль позволяет использовать свои классы вместо предустановленных (Bitrix\Rpa\Driver).

Таким образом можно изменить поведение модуля.

Чтобы это сделать, необходимо подписаться на событие onDriverCollectClasses модуля rpa.

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

Например, вы хотите использовать свою реализацию менеджера сценариев (например, чтобы добавить больше полей в черновик процесса).

Для этого создаете своего наследника:

class MyDirector extends Bitrix\Rpa\Director
{
    public function getDraftTypeScenarios(): Bitrix\Rpa\Scenario\Collection
    {
        // MyDraftTypeScenario - ваш сценарий
        return new Bitrix\Rpa\Scenario\Collection([new MyDraftTypeScenario()]);
    }
}

После этого в init.php подписываетесь на событие:

Bitrix\Main\EventManager::getInstance()->addEventHandler(
    'rpa',
    'onDriverCollectClasses',
    static function(\Bitrix\Main\Event $event) {
        return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, [
            'director' => MyDirector::class,
        ]);
    }
);

Теперь Bitrix\Rpa\Driver::getInstance()->getDirector() вернет инстанс вашего класса.

Классы, которые можно подменить, их имена и классы, которые надо наследовать:

[
    'factory' => Bitrix\Rpa\Factory::class,
    'urlManager' => Bitrix\Rpa\UrlManager::class,
    'director' => Bitrix\Rpa\Director::class,
    'pullManager' => Bitrix\Rpa\Integration\PullManager::class,
    'taskManager' => Bitrix\Rpa\Integration\TaskManager::class,
];

Переопределение адресов

Один из вариантов изменения адресов страниц - переопределить класс Bitrix\Rpa\UrlManager.

В своем классе можно переопределить все методы или только их часть и получить новые адреса.

Другой вариант - это указать свои шаблоны ссылок.

$templates['bitrix:rpa.panel'] = 'panel/';

\Bitrix\Rpa\Driver::getInstance()->getUrlManager()->saveCustomUrlTemplates($templates);

Теперь вместо старого адреса списка процессов будет открываться новый.

По новому адресу вы можете вставить свой компонент вместо стандартного, а со старого адреса на новый сделать редирект.


Примеры кода

Некоторые примеры есть в разделе про кастомизацию.

Работа с данными

Процессы
$typesCollection = \Bitrix\Rpa\Model\TypeTable::getList()->fetchCollection();

$typeId = 1; // идентификатор процесса

$type = Bitrix\Rpa\Driver::getInstance()->getType($typeId);
Стадии
$stages = $type->getStages();

$stageId = 1; // идентификатор стадии

$stage = $type->getStage($stageId);
Элементы
// элементы стадии с ID больше 100
$items = $stage->getItems([
    'filter' => [
        '>ID' => 100,
    ]
]);

// элемент с ID = 1 процесса $type
$item = $type->getItem(1);

Изменение элементов

Если надо произвести только изменение данных об элементе

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

В этом случае надо работать с элементом напрямую

$typeId = 1;
$itemId = 1;
$fieldName = 'UF_RPA_1_MY_FIELD';

$item = Bitrix\Rpa\Driver::getType($typeId)->getItem($itemId);

$item->set($fieldName, null);
$item->save();

Если надо сделать то же самое, но с рассылкой пушей и сохранением в историю, то надо использовать команду:

$command = Bitrix\Rpa\Driver::getFactory()->getUpdateCommand($item);
// отключены все проверки и запуск роботов. Пуш об изменении, записи в истории изменений и таймлайне создадутся.
$command->disableAllChecks()
    ->disableAutomation();

$command->run();

Пользовательские поля

Отрисовка значений полей

Осуществляется через класс Display:

$typeId = 1; // идентификатор процесса
$itemId = 1;

$type = Bitrix\Rpa\Driver::getInstance()->getType($typeId);
$userFieldCollection = $type->getUserFieldCollection();
$display = new Bitrix\Rpa\UserField\Display($userFieldCollection);

$item = $type->getItem($itemId);
$controller = new Bitrix\Rpa\Controller\Item();

$data = [];
foreach($userFieldCollection as $userField)
{
    $data[$userField->getName()] = $controller->prepareValue($item->get($userField->getName()));
}

$display->addValues($item->getId(), $data);

$renderedValues = $display->getValues($item->getId());


JS расширения

Список JS расширений.

Класс | Описание | С версии
rpa.component | Расширение, содержащее в себе базовый класс для компонентов с формами. |
rpa.fieldscontroller | Расширение для работы со списком пользовательских полей. |
[link=11337854 ]rpa.fieldspopup[/link] | Расширение для работы показа списка пользовательских полей с галочками. |
rpa.kanban | Расширение для работы канбана. |
rpa.manager | Расширение содержит в себе общие стили, методы для работы с адресами страниц и другие общие методы |
rpa.timeline | Расширение содержит классы-наследники для отрисовки заданий и выполненных заданий в таймлайне. |


rpa.component

Расширение, содержащее в себе базовый класс для компонентов с формами.

Тут есть набор методов-помощников для типовых действий - события, отрисовка ожидания, сбор данных, обработка запросов и т.д.

Сам этот класс ничего не делает, его надо обязательно наследовать.

BX.Rpa.Component

Методы

Метод | Описание | С версии
constructor(form, params) Конструктор. Параметры:
  • form - DOM-элемент (<form>)
  • params - список дополнительных параметров
init() | Инициализация. Вызывается в конструкторе. Чтобы не переопределять сам конструктор наследники добавляют сюда свой код.
bindEvents() | Инициализация обработчиков событий.
getLoader() | Метод возвращает инстанс BX.Loader.
startProgress() | Метод для обозначения начала отправки аякс-запроса.
stopProgress() | Окончание обработки аякс-запроса.
prepareData() | В этом методе собираются данные для отправки. Метод должен вернуть список. В этом классе он не делает ничего.
save(event) | Метод выполняет отправку запроса на сохранение.
afterSave(response) | Метод, который вызывается после успешного сохранения результатов.
getSlider() | Возвращает инстанс BX.Sidepanel.Slider, если компонент показывается в слайдере.
showErrors(errors) | Метод отрисовки ошибок.
hideErrors() | Скрывает сообщения об ошибках.
delete(event) | Выполняет ajax-запрос на удаление. В базовом классе этот метод пустой.
getPermissionSelectors() Метод должен вернуть массив списков, где каждый список имеет следующую структуру:

{
    "action": "VIEW",
    "selector": "viewPermissionsSelector"
}
getPermissions() | Метод собирает данные о правах доступа из формы по указанным в getPermissionSelectors селекторам.
getPermission(node, action) | Метод возвращает массив с настройками прав доступа из ноды node для действия action.


rpa.fieldscontroller

Расширение для работы со списком пользовательских полей.

BX.Rpa.FieldsController

Методы

Метод | Описание | С версии
constructor(params: {}) Конструктор. Список params имеет следующую структуру:
  • fields: ?Object - массив с данными о настройках пользовательских полей, которые должны быть отрисованы
  • hiddenFields: ?Object - массив с данными о настройках пользовательских полей, которые должны быть показаны в выпадающем списке "Выбрать поле"
  • factory: ?Factory - инстанс BX.UI.UserFieldFactory.Factory
  • fieldSubTitle: ?string - подзаголовок, который будет отображаться над каждым полем в списке
  • errorContainer: ?Element - DOM-нода для отрисовки сообщений об ошибках
  • settings: ?{} - список для настроек видимости полей:
    • inputName: string - имя для инпута переключателя видимости
    • values: ?Object - набор существующих настроек
  • typeId: number - идентификатор процесса
  • languageId: string - идентификатор языка
getFields(): Map | Метод вернет список пользовательских полей BX.UI.UserField, которые должны быть отрисованы в списке.
addField(userField: UserField): this | Метод добавит поле userField в список отображаемых.
removeField(userField: UserField): this | Метод удалит поле userField из списка отображаемых.
addHiddenField(userField: UserField): this | Метод добавит поле userField в список скрытых полей.
removeHiddenField(userField: UserField): this | Метод удалит поле userField из скрытых полей.
render(): Element | Метод отрисует список с кнопками и вернет DOM-элемент.
renderContainer(): Element | Метод вернет ноду контейнера. Если он был отрисован, то он будет перезаписан.
getContainer(): ?Element | Метод вернет ноду контейнера, если он был отрисован.
getFieldRow(userField: UserField): ?Element | Вернет ноду, в которой отрисовано пользовательское поле.
renderField(userField: UserField): Element | Отрисует пользовательское поле userField.
static getSwitcherId(inputName: string, fieldName: string): string | Метод вернет идентификатор переключателя BX.UI.Switcher.
renderSwitcher(userField: UserField): Element | Отрисует переключатель BX.UI.Switcher и вернет ноду.
renderFooter(): Element | Отрисует нижнюю часть с кнопками, если оно ещё не было отрисовано.
updateSelectButtonAppearance(): this | Показывает / скрывает кнопку "Выбрать поле", в зависимости от наличия скрытых полей.
getCreateButton(): Element | Отрисует кнопку "Создать поле", если она не была отрисована.
handleCreateButtonClick() | Метод вызывается при клике на кнопку "Создать поле".
getSelectButton(): Element | Отрисует кнопку "Выбрать поле", если она не была отрисована.
handleSelectButtonClick() | Метод вызывается при клике на кнопку "Выбрать поле".
handleUserFieldTypeClick(fieldType: string) | Метод вызывается при клике по типу поля в меню кнопки "Создать поле".
showFieldConfigurator(userField: UserField) | Метод покажет форму настройки поля userField.
hideFieldConfigurator(userField: UserField) | Метод скроет форму настройки поля userField.
handleFieldSave(userField: UserField) | Метод вызывается при сохранении настроек поля userField в форме.
isProgress() | Метод вернет true, если сейчас производится обработка ajax-запроса.
startProgress(): this | Метод обозначает начало обработки ajax-запроса.
stopProgress(): this | Метод сбрасывает статус обработки ajax-запроса.
getLoader() | Метод возвращает инстанс BX.Loader.
showError(error, errorContainer: ?Element) | Метод покажет ошибку error.
getSettings(): Object | Метод вернет актуальный набор настроек.
getSelectFieldsMenuId(): string | Вернет идентификатор меню для кнопки "Выбрать поле".
getSelectFieldsMenuItems(): Array | Вернет массив с описанием элементов для меню кнопки "Выбрать поле".
getSelectFieldsMenu(): Menu | Вернет меню для кнопки "Выбрать поле".
handleHiddenUserFieldClick(userField: UserField) | Вызывается при клике на поле в меню кнопки "Выбрать поле".
getSettingsMenu(button: Element, userField: UserField): Menu | Возвращает меню для шестеренки button поля userField.

События

namespace: BX.Rpa.FieldsController.

Событие Описание С версии
onFieldSave Событие срабатывает после сохранения настроек пользовательского поля.

В обработчик события приходит объект сохраненного поля BX.UI.UserField:

{
    "userField": BX.UI.UserField
}


rpa.fieldspopup

Расширение для работы показа списка пользовательских полей с галочками.

BX.Rpa.FieldsPopup

Методы

Метод | Описание | С версии
constructor(id: string, fields: Array, title: string) Конструктор. Параметры:
  • id - строковый идентификатор попапа
  • fields - массив полей, где список для каждого поля должен содержать
    • title - заголовок поля
    • name - код поля
    • checked - true, если чекбокс должен быть отмеченным
getPopup(onSave: Function): Popup | Возвращает попап.
getButtons(onSave: Function): Array | Возвращает массив кнопок для попапа.
getContent(): Element | Возвращает ноду с содержимым для попапа.
renderField({title, name, checked}): string | Отрисовывает ноду с одним полем
show(): Promise Показывает попап. Возвращает Promise, который будет разрешен при закрытии попапа.
  • Если попап закрылся при клике на кнопку "Отмена", то в resolve придет false.
  • Если попап закрылся при клике на кнопку "Сохранить", то в resolve придет Set с кодами выбранных полей
getSelectedFields(): Set | Возвращает набор с кодами выбранных полей.
close() | Закрывает попап.


rpa.kanban

Расширение для работы канбана.

Классы из этого расширения наследуют классы из main.kanban.

BX.Rpa.Kanban

События

Событие | Описание | С версии
BX.Rpa.Kanban.Grid:onBeforeItemCapturedStart | Отправляется перед перетаскиванием элемента на нижнюю плашку. В обработчик приходит объект BX.Kanban.DropZoneEvent, можно отменить перетаскивание |


rpa.manager

Расширение содержит в себе общие стили, методы для работы с адресами страниц и другие общие методы.

BX.Rpa.Manager

Для получения актуального инстанса этого класса необходимо воспользоваться методом BX.Rpa.Manager.Instance.

Методы редактора

Метод | Описание | С версии
static addEditor(typeId: number, itemId: number, editor) | Регистрирует редактор editor для элемента с идентификатором itemId процесса с идентификатором typeId. |
static getEditor(typeId: number, itemId: number): ?Object | Метод возвращает объект редактора (BX.UI.EntityEditor) для элемента с идентификатором itemId процесса с идентификатором typeId. |

Методы получения ссылок

Метод | Описание | С версии
setUrlTemplates(urlTemplates: Object): Manager | Метод устанавливает шаблоны ссылок. |

Следующие методы являются именованными геттерами для получения той или иной ссылки

  • getTasksUrl(typeId: number, itemId: number): ?Uri
  • getItemDetailUrl(typeId: number, itemId: number = 0): ?Uri
  • getStageListUrl(typeId: number): ?Uri
  • getFieldsListUrl(typeId: number): ?Uri
  • getFieldDetailUrl(typeId: number, fieldId: number): ?Uri

Методы открытия страниц

Метод | Описание | С версии
static openSlider(url, options): Promise<?BX.SidePanel.Slider> Метод откроет слайдер по адресу url с набором параметров options.

Вернет Promise, в resolve которого придет объект слайдера BX.SidePanel.Slider.
openTasks(typeId: number, itemId: number): Promise<{isCompleted: boolean}> Метод откроет слайдер с текущими заданиями элемента itemId процесса typeId. Вернет объект:
  • isCompleted: boolean - флаг того, было бы задание выполнено в слайдере
  • item: ?{} - данные об элементе после выполнения задания
openKanban(typeId: number): boolean | Меняет ссылку на страницу канбана процесса typeId. Возвращает false, если не удалось построить ссылку.
openTypeDetail(typeId: number, options: ?{}): ?Promise<?BX.SidePanel.Slider> | Открывает слайдер настроек процесса.
openItemDetail(typeId: number, itemId: number = 0, options: ?{} = {}): ?Promise<?BX.SidePanel.Slider> | Открывает слайдер карточки элемента.
openStageList(typeId: number): ?Promise<?BX.SidePanel.Slider> | Открывает слайдер настроек стадий.
openFieldsList(typeId: number): ?Promise<?BX.SidePanel.Slider> | Открывает слайдер со списком полей.
openFieldDetail(typeId: number, fieldId: number, options: {}): ?Promise<?BX.SidePanel.Slider> | Открывает слайдер настройками поля.

Другие методы

Метод | Описание | С версии
static calculateTextColor(baseColor) | Вычисляет цвет текста по цвету фона. |


rpa.timeline

Расширение содержит классы-наследники BX.UI.Timeline.Item для отрисовки заданий и выполненных заданий в таймлайне:

  • BX.Rpa.Timeline.Task;
  • BX.Rpa.Timeline.TaskComplete.


Классы

Раздел содержит информацию о классах модуля Роботизация бизнеса, относящихся к ядру D7 и находящихся соответственно в пространстве имен \Bitrix\Rpa.

Класс, пространство имен | Описание | С версии
[link=130038]Command[/link] | Базовый класс для выполнения изменений элементов. |
[link=129808]Components[/link] | Пространство имен содержит классы компонентов модуля. |
[link=129810]Controller[/link] | Пространство имен содержит классы-контроллеры. |
[link=129812]Integration[/link] | Пространство имен содержит классы для работы с интеграцией. |
[link=129814]Model[/link] | Пространство имен содержит классы для работы с ORM. |
[link=129816]Scenario[/link] | Абстрактный класс сценария. |
[link=129818]UI[/link] | Пространство имен содержит класс Icon, который хранит список доступных иконок. |
[link=129820]UrlManager[/link] | Класс выполняет две задачи: имеет набор именованных методов для генерации ссылок и определяет по адресу страницы, какой компонент и с какими параметрами надо подключить. |
[link=129822]UserField[/link] | Пространство имен содержит классы для работы с пользовательским полями. |
Director | Класс, выполняющий поиск сценариев. |
Driver | Класс-синглтон. Хранит в себе инстансы других объектов, кеш данных о процессах, обработчики событий. |
Factory | Класс-наследник фабрики из ядра. |
UserPermissions | Класс для работы с правам доступа пользователя. |


Director

Класс, выполняющий поиск сценариев.

Сейчас есть сценарии для двух случаев: сценарий, создающий черновик процесса и сценарии, заполняющие первоначальные данные процесса после его создания.

Методы

Метод | Описание | С версии
public function getScenariosForType(Type $type): Collection | Возвращает коллекцию сценариев для процесса $type. |
public function getDraftTypeScenarios(): Collection | Возвращает коллекцию сценариев для создания черновика процесса. |


Driver

Класс-синглтон. Хранит в себе инстансы других объектов, кеш данных о процессах, обработчики событий.

У этого класса есть набор геттеров, которые возвращают объекты, так или иначе влияющие на логику работы.

С помощью перехвата события onDriverCollectClasses можно передать свои классы, которые будут использоваться вместо стандартных.

Методы

Метод | Описание | С версии
public static function getInstance(): Driver | Возвращает инстанс объекта. |
public function getFactory(): Factory | Возвращает инстанс Bitrix\Rpa\Factory. |
public function getUserId(): int | Возвращает идентификатор текущего пользователя. Если он не найден (код выполняется на агенте), то вернет 0. |
public function getType(int $typeId): ?Type | Возвращает процесс по его ид $typeId. Рекомендуется использовать именно этот метод, когда нужно получить объект процесса. Т.к. данные о процессе кешируются и загружаются из базы данных только один раз. |
public function getUserPermissions(int $userId = null): UserPermissions | Возвращает инстанс разрешений пользователя с ид $userId. Если $userId пустой, то он будет получен из $this->getUserId(). |
public function getUrlManager(): UrlManager | Возвращает инстанс менеджера адресов. |
public function getDirector(): Director | Возвращает инстанс менеджера сценариев. |
public function getTaskManager(): ?TaskManager | Возвращает менеджер автоматизации, если она доступна. |
public function getPullManager(): PullManager | Возвращает инстанс менеджера пушей. |
public function isAutomationEnabled(): bool | Возвращает true, если автоматизация доступна (установлен модуль bizproc). |
public function deleteAllData(): Result | Удаляет все элементы, стадии и процессы. Вызывается при удалении модуля. Этот метод нужен, чтобы были корректно удалены связанные данные, в особенности, файлы из диска и b_file. |


Factory

Является наследником фабрики из ядра.

class Bitrix\Rpa\Factory extends Bitrix\Main\UserField\Internal\TypeFactory

Методы класса

Метод | Описание | С версии
public function getAddCommand(Item $item): Command | Возвращает инстанс команды добавления элемента. |
public function getUpdateCommand(Item $item): Command | Возвращает инстанс команды обновления элемента. |
public function getDeleteCommand(Item $item): Command | Возвращает инстанс команды удаления элемента. |
public function getItemDataClass($type): string | Возвращает название класса таблета для таблицы элементов процесса $type. |
public function getItemEntity($type): \Bitrix\Main\ORM\Entity | Возвращает скомпилированный класс сущности для процесса $type. |


UserPermissions

Класс для работы с правам доступа пользователя.

Методы

Метод | Описание | С версии
public function __construct(int $userId) | Конструктор. $userId - идентификатор пользователя. |
public function getUserId(): int | Возвращает идентификатор пользователя. |
public function canViewType(int $typeId): bool | Возвращает true, если пользователь может просматривать процесс с идентификатором $typeId. |
public function canCreateType(): bool | Возвращает true, если пользователь может создать новый процесс. |
public function canModifyType(int $typeId): bool | Возвращает true, если пользователь может изменить процесс с идентификатором $typeId. |
public function canDeleteType(int $typeId): bool | Возвращает true, если пользователь может удалить процесс с идентификатором $typeId. |
public function canViewItemsInStage(Type $type, int $stageId): bool | Возвращает true, если пользователь может просматривать элементы процесса $type на стадии с идентификатором $stageId. На данный момент нет настроек прав доступа, привязанных к стадии |
public function canModifyItemsInStage(Type $type, int $stageId): bool | Возвращает true, если пользователь может изменять элементы процесса $type на стадии с идентификатором $stageId. На данный момент нет настроек прав доступа, привязанных к стадии |
public function canAddItemsToType(int $typeId): bool | Возвращает true, если пользователь может создавать новые элементы процесса с идентификатором $typeId. |
public function canViewItem(Item $item): bool | Возвращает true, если пользователь может просматривать элемент $item. Сейчас элемент может просматривать его создатель, на любой стадии. |
public function canMoveFromStage(Type $type, int $stageId): bool | Возвращает true, если пользователь может сменить сдвигать элементы процесса $type из стадии с идентификатором $stageId. |
public function canMoveItem(Item $item, int $fromStageId, int $toStageId): bool | Возвращает true, если пользователь может сдвинуть элемент $item из стадии с идентификатором $fromStageId на стадию с идентификатором $toStageId. |
public function canDeleteItem(Item $item): bool | Возвращает true, если пользователь может удалить элемент $item. |
public function canAddComment(Item $item): bool | Возвращает true, если пользователь может добавить комментарий к элементу $item. |
public function canUpdateComment(Timeline $timeline): bool | Возвращает true, если пользователь может изменить комментарий $timeline. |
public function canDeleteComment(Timeline $timeline): bool | Возвращает true, если пользователь может удалить комментарий $timeline. |
public function canMoveToStage(Stage $stageTo): bool | Возвращает true, если пользователь "теоретически" может сдвинуть элементы в стадию $stageTo. |
public function getFilterForViewableItems(Type $type): array | Возвращает массив для фильтрации элементов процесса $type, которые может просматривать пользователь. |
public function getFilterForViewableTypes(): array | Возвращает массив для фильтрации процессов, которые может просматривать пользователь. |
public function getFilterForEditableTypes(): array | Возвращает массив для фильтрации процессов, которые может изменять пользователь. |
public static function filterUserIdsWhoCanViewItem(Item $item, array $userIds): array | Возвращает массив идентификаторов пользователей, которые могут просматривать элемент $item, отобранные из массива $userIds. |
public static function filterUserIdsWhoCanViewType(int $typeId, array $userIds): array | Возвращает массив идентификаторов пользователей, которые могут просматривать процесс с идентификатором $typdId, отобранные из массива $userIds. |
public function getAccessCodes(): ?array | Возвращает массив кодов доступа пользователя. |
public function loadUserPermissions(): void | Загружает данные о доступах пользователя из базы данных. |


Command

Описание

abstract class Bitrix\Rpa\Command - базовый класс для выполнения изменений элементов.

Чтобы не нагружать лишней логикой сами элементы, все проверки, подготовки, запуск роботов и пр. вынесено в этот класс.

Это абстрактный класс, у него есть три наследника:

  • Bitrix\Rpa\Command\Add
  • Bitrix\Rpa\Command\Delete
  • Bitrix\Rpa\Command\Update

Константы

  • public const ERROR_CODE_ITEM_MOVE_PERMISSION = 'RPA_ITEM_MOVE_ACCESS_DENIED';
  • public const ERROR_CODE_ITEM_MODIFY_PERMISSION = 'RPA_ITEM_MODIFY_ACCESS_DENIED';
  • public const ERROR_CODE_WRONG_STAGE = 'RPA_ITEM_WRONG_STAGE';
  • public const ERROR_CODE_MANDATORY_FIELD_EMPTY = 'RPA_MANDATORY_FIELD_EMPTY';
  • public const ERROR_CODE_ITEM_USER_HAS_TASKS = 'RPA_ITEM_USER_HAS_TASKS';
  • public const ERROR_CODE_ITEM_TASKS_NOT_COMPLETED = 'RPA_ITEM_TASKS_NOT_COMPLETED';
  • public const ERROR_CODE_ITEM_DELETE_PERMISSION = 'RPA_ITEM_DELETE_PERMISSION'.

В этих константах лежат коды ошибок, которые могут вернуться в процессе выполнения команды

Методы

Метод | Описание | С версии
public function __construct(Item $item, array $data = []) Конструктор.

На вход принимает элемент и массив параметров $data

В $data может быть следующее:

  • userId идентификатор пользователя, который запускает команду. Если не передан, то будет взят текущий пользователь;
  • scope строковый идентификатор области, где производится изменение. Принимает значения как в Bitrix\Rpa\Model\ItemHistoryTable;
  • taskId идентификатор задания, которое запустило команду.

Для всех этих данных есть сеттеры и геттеры, не обязательно передавать в конструктор:

  • setUserId(int $userId): Command
  • getUserId(): int
  • setScope(string $scope): Command
  • getScope(): ?string
  • setTaskId(int $taskId): Command
  • getTaskId(): ?int
  • getItem(): Item
public function run(): Result Основной метод команды.

Этот метод выполняет следующее:

  1. Проверяет права доступа;
  2. Проверяет корректность указанной стадии;
  3. Проверяет корректность измененных полей;
  4. Проверяет существующие на элементе заданий;
  5. Производит сохранение изменений;
  6. Сохраняет данные в историю изменений;
  7. Создает запись в таймлайне;
  8. Отправляет пуш о создании записи таймлайна;
  9. Отправляет пуш об изменениях, произведенных над элементом;
  10. Запускает роботов.

При этом в момент запуска роботов над элементом могут производиться другие изменения, которые поднимут новый инстанс команды.

По умолчанию все проверки включены

Все проверки выполняются последовательно, если они не были отключены. Если во время одной из проверок возникла ошибка, то выполнение команды прерывается.

Для включения / отключения проверок есть отдельный набор методов

  • disableAllChecks(): Command отключает все проверки;
  • enableCheckAccess(): Command включает проверку прав;
  • disableCheckAccess(): Command отключает проверку прав;
  • isCheckAccessEnabled(): bool возвращает true, если проверка прав включена;
  • enableCheckTasks(): Command включает проверку заданий;
  • disableCheckTasks(): Command отключает проверку заданий;
  • isCheckTasksEnabled(): bool возвращает true, если проверка заданий включена;
  • enableCheckStage(): Command включает проверку стадии;
  • disableCheckStage(): Command отключает проверку стадии;
  • isCheckStageEnabled(): bool возвращает true, если проверка стадии включена;
  • enableCheckFields(): Command включает проверку полей;
  • disableCheckFields(): Command отключает проверку полей;
  • isCheckFieldsEnabled(): bool возвращает true, если проверка полей включена.

Кроме того, можно отключить автоматические действия, выполняемые после сохранения изменений:

  • enableSaveToHistory(): Command включает сохранение в истории изменений;
  • disableSaveToHistory(): Command отключает сохранение в истории изменений;
  • isSaveToHistoryEnabled(): bool возвращает true, если сохранение в истории изменений включено;
  • enableAutomation(): Command включает запуск автоматизации;
  • disableAutomation(): Command отключает запуск автоматизации;
  • isAutomationEnabled(): bool возвращает true, если автоматизация включена.
public function setPullEventId(string $eventId): Command | Позволяет указать идентификатор события для \Bitrix\Rpa\Integration\PullManager.
abstract public function checkStage(): Result; | Выполняет проверку стадии. Определен в наследниках.
abstract public function checkAccess(): Result; | Выполняет проверку прав доступа. Определен в наследниках.
public function checkTasks(): Result | Выполняет проверку запущенных заданий. По умолчанию не делает ничего, определен только в Bitrix\Rpa\Command\Update.
public function saveToHistory(ItemHistory $historyRecord): Result | Выполняет сохранение данных в таблицу истории изменений.
public function checkFields(): Result | Выполняет проверку полей. В Bitrix\Rpa\Command\Add этот метод пустой, а при удалении поля не меняются.
public function checkRequiredFields(UserFieldCollection $userFieldCollection): Result | Проверяет, что все обязательные поля из коллекции $userFieldCollection заполнены.
public function resetNotEditableFields(UserFieldCollection $userFieldCollection): Result | Сбрасывает значения пользовательских полей элемента из коллекции $userFieldCollection, которые недоступны для изменения.
public function isTerminated(): bool Во время выполнения метода checkTasks в Bitrix\Rpa\Command\Update может сработать режим автоматического выполнения задания.

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

Этот метод возвращает true, если команда была прервана


Add

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Роботизация бизнеса>Классы>Command>Add

Command::Add

Наследник Bitrix\Rpa\Command, выполняющий добавление элементов

Цепочка наследования

Bitrix\Rpa\Command\Add extends Bitrix\Rpa\Command

Константы

public const ERROR_CODE_FIRST_STAGE_NOT_FOUND = 'RPA_FIRST_STAGE_NOT_FOUND';

Методы

Имеет все методы базового класса. В этом наследнике определены следующие методы:

  • checkFields ничего не выполняет, проверка при создании не осуществляется;
  • checkAccess;
  • checkStage.


Delete

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Роботизация бизнеса>Классы>Command>Delete

Command::Delete

Наследник Bitrix\Rpa\Command, выполняющий удаление элементов

Цепочка наследования

Bitrix\Rpa\Command\Delete extends Bitrix\Rpa\Command

Методы

Имеет все методы базового класса. В этом наследнике определены следующие методы:

  • checkAccess;
  • checkStage ничего не выполняет;
  • isSaveToHistoryEnabled всегда возвращает true, т.к. нет смысла сохранять в историю - она будет очищена после удаления элемента.


Update

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Роботизация бизнеса>Классы>Command>Update

Command::Update

Наследник Bitrix\Rpa\Command, выполняющий обновление элементов.

Цепочка наследования

Bitrix\Rpa\Command\Update extends Bitrix\Rpa\Command

Методы

Имеет все методы базового класса. В этом наследнике определены следующие методы:

  • checkAccess
  • checkStage
  • saveToHistory сохранение в историю производится только в том случае, когда элемент на самом деле изменен
Метод Описание С версии
public function checkTasks(): Result Метод ищет запущенные на элементе задания.

Если на элементе есть задание и оно может быть выполнено автоматически, то оно выполнится. В этом случае метод взведет флаг прерывания команды и дальнейшее выполнение будет прервано.

Если на элементе есть невыполненные задания, и они висят на пользователе, запустившем команду, то метод добавит ошибку с кодом RPA_ITEM_USER_HAS_TASKS.

Если на элементе есть невыполненные задания, но они на других пользователях, то метод добавит ошибку с кодом RPA_ITEM_TASKS_NOT_COMPLETED.


Components

Пространство имен Components содержит классы компонентов модуля.

Класс | Описание | С версии
Base | Базовый класс компонентов модуля. |


Base

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Роботизация бизнеса>Классы>Components>Base

Components::Base

Описание

Базовый класс компонентов модуля.

Чтобы не дублировать одни и те же фразы по разным файлам было принято решение собрать их в один файл, привязать к этому классу, и сделать отдельный метод для загрузки.

Во всех компонентах используется следующий жизненный цикл:

  1. В методе executeComponent вызывается метод init, который производит инициализацию необходимых данных;
  2. Если не хватает каких-то параметров, или есть какие-то ошибки, то они добавляются в errorCollection объекта;
  3. После вызова init проверяется наличие ошибок в коллекции. Если они есть, то подключается шаблон компонента, дальнейшее выполнение прерывается;
  4. В каждом шаблоне есть код, который проверяет наличие ошибок. Если они есть, то они выводятся, остальная часть шаблона не отрисовывается.

Цепочка наследования

abstract class Bitrix\Rpa\Components\Base extends \CBitrixComponent implements Bitrix\Main\Errorable

Методы

Метод | Описание | С версии
public static function getUsers(array $userIds): array | Возвращает подготовленные данные о пользователях с идентификаторами из массива $userIds. |
public function addTopPanel(\CBitrixComponentTemplate $template) | Добавляет верхнюю панель из компонента $template. Используется в component_epilog.php шаблона компонента rpa.router. Таким образом, панель есть на всех страницах модуля. |
public function addToolbar(\CBitrixComponentTemplate $template) | Добавляет "второй" тулбар модуля rpa (компонент rpa.toolbar). |
public static function loadBaseLanguageMessages(): array | Подключает общие языковые фразы модуля. Возвращает массив с этими фразами. |

Защищенные методы

Наследники класса могут переопределить некоторые защищенные методы, которые влияют на интерфейс.

Метод | Описание | С версии
protected function init(): void | Метод выполняет инициализацию, если есть ошибки, они складываются в $this->errorCollection.
protected function getTypeId(): ?int | Метод должен возвращать идентификатор текущего процесса.
protected function getTopPanelItems(): array | Метод возвращает массив элементов для верхней панели.
protected function getToolbarParameters(): array Метод возвращает массив с параметрами для передачи в rpa.toolbar. Массив должен иметь следующую структуру:

[
    'typeId' => $this->getTypeId(), // идентификатор процесса
    'buttons' => [], // кнопки для ui.toolbar
    'filter' => [], // настройки фильтра для ui.toolbar
    'views' => [], // настройки для переключателя отображения
    'tasks' => 0, // счетчик заданий
];


Controller

Пространство имен Controller содержит классы-контроллеры.

Класс | Описание | С версии
Item | Класс-контроллер для обработки rest и ajax запросов (работа с элементами). |
Stage | Класс-контроллер для обработки rest и ajax запросов (работа со стадиями). |
[link=11301488 ]Type[/link] | Класс-контроллер для обработки rest и ajax запросов (работа с процессами). |


Item

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Роботизация бизнеса>Классы>Controller>Item

Controller::Item

Класс-контроллер для обработки rest и ajax запросов.

Цепочка наследования

class Bitrix\Rpa\Controller\Item extends Bitrix\Rpa\Controller\Base

Методы

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

Но у этого класса есть некоторые методы, которые вызываются из php, они описаны ниже.

Метод | Описание | С версии
public function prepareItemData(\Bitrix\Rpa\Model\Item $item, array $params = []): array Метод возвращает структуру, аналогичную ответу на rpa.item.get [image].
  • $item - объект Item;
  • $params - набор булевых значений для управления отдаваемым набором данных:
    • $params['withTasks'] - по умолчанию true, в ответе будут данные о количестве заданий (tasksCounter) и участниках заданий (tasksFaces);
    • $params['withUsers'] - по умолчанию true, в ответе будут данные о пользователях, которые имели касание к элементу (users);
    • $params['withDisplay'] - по умолчанию false, в ответе будет ключ display с отрисованными значениями пользовательских полей;
    • $params['withPermissions'] - по умолчанию false, в ответе будут данные о разрешениях текущего пользователя (permissions).
public function prepareValue($value) | Метод возвращает подготовленное к использованию в rest/ajax значение пользовательского поля.
public function getSortByPreviousItemId(\Bitrix\Rpa\Model\Item $item, int $userId, int $previousItemId = 0): int | Возвращает индекс сортировки элемента $item для пользователя $userId при его перемещении после $previousItemId.


Stage

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Роботизация бизнеса>Классы>Controller>Stage

Controller::Stage

Класс-контроллер для обработки rest и ajax запросов.

Цепочка наследования

class Bitrix\Rpa\Controller\Stage extends Bitrix\Rpa\Controller\Base

Методы

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

Но у этого класса есть некоторые методы, которые вызываются из php, они описаны ниже.

Метод Описание С версии
public function prepareData(\Bitrix\Rpa\Model\Stage $stage, bool $isFullInfo = true): array Метод возвращает структуру, аналогичную ответу на rpa.stage.get [image].
  • $stage - объект Stage;
  • $isFullInfo - если передать false, то в результате будет только основная информация по стадии, без данных о заданиях, правах доступа, настройках пользовательских полей.


Type

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Роботизация бизнеса>Классы>Controller>Type

Controller::Type

Класс-контроллер для обработки rest и ajax запросов.

Цепочка наследования

class Bitrix\Rpa\Controller\Type extends Bitrix\Rpa\Controller\Base

Методы

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

Но у этого класса есть некоторые методы, которые вызываются из php, они описаны ниже.

Метод Описание С версии
public function prepareData(\Bitrix\Rpa\Model\Type $type): array Метод возвращает структуру, аналогичную ответу на rpa.type.get [image].
  • $type - объект Type.


Integration

Пространство имен Integration содержит классы для работы с интеграцией.

Класс | Описание | С версии
PullManager | Класс для рассылки пушей. Может работать только после подключения модуля pull. |
TaskManager | Класс-прослойка между rpa и модулем бизнес-процессов bizpoc. |


PullManager

Описание и методы

Bitrix\Rpa\Integration\PullManager - класс для рассылки пушей.

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

У класса есть методы подписки на пуши и рассылки пушей.

Методы

Метод | Описание | С версии
public function isEnabled(): bool | Возвращает true, если модуль pull был успешно подключен и пуши работают. |

Подписка на события

Методы подписки на события в случае успешной подписки возвращают тэг. Если тэга нет, значит не удалось подписаться.

Метод | Описание | С версии
public function subscribeOnTimelineUpdate(int $typeId, int $itemId): ?string | Подписка на все события таймлайна элемента с идентификатором $itemId процесса с идентификатором$typeId. |
public function subscribeOnKanbanUpdate(int $typeId): ?string | Подписка на все события канбана процесса с идентификатором $typeId. |
public function subscribeOnItemUpdatedEvent(int $typeId, int $itemId): ?string | Подписка на событие изменения элемента с идентификатором $itemId процесса с идентификатором$typeId. |
public function subscribeOnTaskCounters(): ?string | Подписка на событие изменения счетчиков заданий. |

Рассылка пушей

Методы рассылки возвращают true, если пуш был отправлен.

Если на входе метода есть $eventId - это строковый идентификатор события, который будет передан в пуш.

Метод | Описание | С версии
public function sendTimelineAddEvent(Timeline $timeline, string $eventId = ''): bool | Отправляет пуш о добавлении записи таймлайна $timeline. |
public function sendTimelineUpdateEvent(Timeline $timeline, string $eventId = ''): bool | Отправляет пуш об изменении записи таймлайна $timeline. |
public function sendTimelinePinEvent(Timeline $timeline, string $eventId = ''): bool | Отправляет пуш об изменении статуса флага прикрепления записи таймлайна. |
public function sendTimelineDeleteEvent(int $typeId, int $itemId, int $timelineId, string $eventId = ''): bool | Отправляет пуш об удалении записи таймлайна с идентификаторо $timelineId элемента $itemId процесса $typeId. |
public function sendItemAddedEvent(Item $item, string $eventId = ''): bool | Отправляет пуш о добавлении элемента $item. |
public function sendItemUpdatedEvent(Item $item, string $eventId = '', Item $historyItem = null): bool | Отправляет пуш об обновлении элемента $item. |
public function sendItemDeletedEvent(Item $item, string $eventId = ''): bool | Отправляет пуш об удалении элемента $item. |
public function sendRobotAddedEvent(int $typeId, int $stageId, array $data = []): bool | Отправляет пуш о добавлении нового робота с данными $data на стадии $stageId процесса $typeId. |
public function sendRobotUpdatedEvent(int $typeId, int $stageId, array $data = []): bool | Отправляет пуш об изменении робота с данными $data на стадии $stageId процесса $typeId. |
public function sendRobotDeletedEvent(int $typeId, int $stageId, string $robotName, string $eventId = ''): bool | Отправляет пуш об удалении робота с именем $robotName на стадии $stageId процесса $typeId. |
public function sendTypeUpdatedEvent(Type $type, string $eventId = ''): bool | Отправляет пуш о добавлении нового процесса $type. |
public function sendStageAddedEvent(Stage $stage, string $eventId = ''): bool | Отправляет пуш о добавлении новой стадии $stage. |
public function sendStageUpdatedEvent(Stage $stage, string $eventId = ''): bool | Отправляет пуш об изменении стадии $stage. |
public function sendStageDeletedEvent(int $stageId, int $typeId, string $eventId = ''): bool | Отправляет пуш об удалении стадии с идентификатором $stageId процесса $typeId |
public function sendTaskCountersEvent(int $typeId, int $itemId, array $counters): bool< | Отправляет пуш об изменении счетчиков элемента $itemId процесса $typeId. Информация о счетчиках $counters должна иметь следующий вид: Ключ - это идентификатор пользователя, а значение - это строка '+1', если счетчик был увеличен, и '-1', если счетчик был уменьшен |
public function addItemUpdateEventId(int $typeId, int $itemId, string $eventId): PullManager | Добавляет идентификатор события $eventId об изменении элемента с идентификатором $itemId процесса с идентификатором $itemId. При работе автоматизации бывает трудно добраться до потока управления, чтобы передать туда идентификатор события в явном виде. Чтобы этот идентификатор не потерялся, он может быть добавлен с помощью этого метода . |


TaskManager

Bitrix\Rpa\Integration\Bizproc\TaskManager - Класс-прослойка между rpa и модулем бизнес-процессов bizpoc.

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

Методы

Метод | Описание | С версии
public function onItemStageUpdate(Item $item, int $stageId, int $userId): bool | Метод пытается выполнить задания в автоматическом режиме. Возвращает true, если задание было выполнено автоматически. |
public function getItemTaskParticipants(Item $item, int $taskUserStatus = null): array | Возвращает массив пользователей участников заданий элемента $item со статусом $taskUserStatus. |
public function getItemFaces(int $typeId, int $itemId): array | Возвращает массив описаний пользователей для отрисовки последовательности постановки / выполнения заданий элемента с идентификатором $itemId процесса $typeId. |
public function getIncompleteItemTasks(Item $item, int $userId = null): array | Возвращает массив описаний незаконченных заданий элемента $item для пользователя $userId (если он передан, иначе все задания). |
public function getTaskById(int $taskId): ?array | Возвращает данные о задании по его идентификатору $taskId. |
public function getTaskUsers(int $taskId): array | Возвращает данные о пользователях задания с идентификатором $taskId. |
public function countTypeStageRobots(int $typeId, int $stageId): int | Возвращает количество роботов на стадии с идентификатором $stageId процесса $typeId. |
public function getTypeStageTasks(int $typeId, int $stageId): array | Возвращает информацию о заданиях на стадии с идентификатором $stageId процесса $typeId. |
public function getUserIncompleteTasksByType(array $typeIds = [], int $userId = null): array | Возвращает информацию о заданиях пользователя $userId из списка идентификаторов процессов $typeIds. Если $userId не задано, то подсчет выполнится для текущего пользователя. Если $typeIds пустой, то будет выполнен поиск по всем процессам. |
public function getUserIncompleteTasksForType(int $typeId, int $userId = null): array | Аналогично предыдущему методу, возвращает информацию о заданиях пользователя $userId, но на конкретном процессе с идентификатором $typeId. |
public function getUserTotalIncompleteCounter(int $userId = null): int | Возвращает счетчик невыполненных заданий пользователя с идентификатором $userId. Если $userId не передан, то подсчет выполнится для текущего пользователя |
public function getUserItemIncompleteCounter(Item $item, int $userId = null): int | Возвращает счетчик невыполненных заданий на элементе $item пользователя с идентификатором $userId. Если $userId не передан, то подсчет выполнится для текущего пользователя. |
public function getTimelineTasks(Item $item, $userId = null): array | Возвращает описание заданий для таймлайна элемента $item для пользователя с идентификатором $userId. Если $userId не передан, то подсчет выполнится для текущего пользователя. |


Model

Пространство имен Model содержит классы для работы с ORM.

Класс | Описание | С версии
FieldTable | Класс-таблет для работы с таблицей настроек видимости пользовательских полей. |
Item | ORM-объект для работы с элементом. |
ItemHistory | ORM-объект для работы с историей изменений элементов. |
ItemHistoryFieldTable | Класс-таблет для работы с таблицей полей, значения которых были изменены в рамках изменения одной записи Bitrix\Rpa\Model\ItemHistoryTable. |
ItemHistoryTable | Класс-таблет для работы с таблицей истории изменений элементов. |
ItemSortTable | Класс-таблет для работы с таблицей пользовательской сортировки элементов в канбане. |
PermissionTable | Класс-таблет для работы с таблицей настроек прав доступа. |
PrototypeItem | Базовый класс таблета элементов. |
PrototypeItemIndex | Базовый класс для работы с таблицей полнотекстового индекса элементов. |
Stage | ORM-объект для работы со стадией. |
StageTable | Класс-таблет для работы с таблицей стадий. |
StageToStageTable | Класс-таблет для настроек возможных последовательностей стадий. |
Timeline | ORM-объект для работы с записью таймлайна. |
TimelineTable | Класс-таблет для работы с записями в таймлайне. |
[link=11312914 ]Type[/link] | ORM-объект для работы с процессом. |
TypeTable | Класс-таблет для работы с таблицей процессов. |


FieldTable

Описание и методы

Класс-таблет для работы с таблицей настроек видимости пользовательских полей.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image].

Методы

Метод Описание С версии
public static function removeByTypeId(int $typeId): Result Удаляет все записи из таблицы для фильтра TYPE_ID = $typeId. Используется при удалении процесса.

Возвращает объект Bitrix\Main\Result
public static function removeByTypeId(int $stageId): Result Удаляет все записи из таблицы для фильтра STAGE_ID = $typeId. Используется при удалении стадии.

Не рекомендуется использовать этот метод при $stageId = 0 - наверняка удалится много того, чего не должно было удаляться.

Возвращает объект Bitrix\Main\Result
public static function getGroupedList(int $typeId, int $stageId, bool $isFullInfo = false): array Возвращает массив настроек, сгруппированный по видимости и коду поля.

Если $isFullInfo = false, то в значении только true. Если $isFullInfo = true, то в значении полный массив строки из БД.

В следующем примере поле UF_RPA_1_NAME выводится в быстрой форме создания и в карточке на канбане.

// $isFullInfo = false;
[
    'kanban' => [
        'UF_RPA_1_NAME' => true,
        'UF_RPA_1_1246818523891' => true,
    ],
    'create' => [
        'UF_RPA_1_NAME' => true,
    ],
];

// $isFullInfo = true;
[
    'kanban' => [
        'UF_RPA_1_NAME' => [
            'ID' => '1',
            'TYPE_ID' => '1',
            'STAGE_ID' => '0',
            'FIELD' => 'UF_RPA_1_NAME',
            'VISIBILITY' => 'kanban',
        ],
        'UF_RPA_1_1246818523891' => [...],
    ],
    'create' => [
        'UF_RPA_1_NAME' => [...],
    ],
];
public static function mergeSettings(int $typeId, int $stageId, array $fields, string $visibilityType = null): Result Метод производит сохранение актуальных настроек для типа $typeId на стадии $stageId из массива $fields. Если передан $visibilityType, то сохранение будет произведено только для этого типа видимости. Это нужно для сохранения только одного набора настроек, чтобы остальные не сбрасывались.

Этот метод сразу делает запросы к БД - удаляет лишние настройки, добавляет новые.

Возвращает объект Bitrix\Main\Result.
public static function getVisibilityTypes(): array Возвращает массив доступных значений для поля VISIBILITY

[
    'visible',
    'editable',
    'mandatory',
    'kanban',
    'create',
];

Поля таблицы

Поле | Описание | Тип | Обяз.
ID | Int
TYPE_ID | Идентификатор процесса. | Int | Да
STAGE_ID | Идентификатор стадии. Если в этом поле записан 0, то эта настройка распространяется на все стадии. | Int | Да
FIELD | Код пользовательского поля. | Строка | Да
VISIBILITY Тип настройки, принимает одно из значений:
  1. visible - если у поля есть эта настройка, то его значение отображается при просмотре. По умолчанию считается, что все поля видимы везде и на данный момент этот вариант не используется
  2. editable - если у поля есть эта настройка, то его значение доступно для изменения на стадии. По умолчанию все поля везде можно редактировать, на данный момент не используется
  3. mandatory - аналогично настройка обязательности поля на стадии. По умолчанию все поля не обязательны, на данный момент не используется
  4. kanban - поля с этой настройкой отображаются в карточке просмотра в канбане
  5. create - поля с этой настройкой выводятся в быстрой форме создания элемента в канбане
Строка Да


Item

Описание

ORM-объект для работы с элементом.

Имеет набор геттеров-сеттеров для системных полей:

  • getStageId(): int
  • setStageId(int $stageId): void
  • getPreviousStageId(): int
  • setPreviousStageId(int $previousStageId): void
  • getCreatedBy(): int
  • setCreatedBy(int $userId): void
  • getUpdatedBy(): ?int
  • setUpdatedBy(int $userId): void
  • getMovedBy(): ?int
  • setMovedBy(int $userId): void
  • getCreatedTime(): Bitrix\Main\Type\DateTime
  • setCreatedTime(Bitrix\Main\Type\DateTime $dateTime): void
  • getUpdatedTime(): ?Bitrix\Main\Type\DateTime
  • setUpdatedTime(Bitrix\Main\Type\DateTime $dateTime): void
  • getMovedTime(): ?Bitrix\Main\Type\DateTime
  • setMovedTime(Bitrix\Main\Type\DateTime $dateTime): void

Цепочка наследования

Bitrix\Rpa\Model\Item extends Bitrix\Main\UserField\Internal\Item

Методы

Ниже представлен набор собственных методов класса.

Метод | Описание | С версии
public function getType(): Type | Возвращает объект Bitrix\Rpa\Model\Type - объект для работы с процессом элемента.
public function getStage(): ?Stage Возвращает объект Bitrix\Rpa\Model\Stage - объект для работы со стадией элемента.

Метод может не вернуть объект стадии, если она не существует.

Надо иметь в виду, что метод возвращает стадию элемента, которая могла быть изменена в рантайме.
public function getPreviousStage(): ?Stage Возвращает объект Bitrix\Rpa\Model\Stage для предыдущей стадии элемента.

Работает аналогично getStage()
public function getName(): string Возвращает строку-название элемента.

Если в процессе есть поле для названия, то значение берется оттуда. Если поля нет или значение не заполнено, то название формируется автоматически

Имя поля для названия формируется по шаблону UF_RPA_ + ID процесса + NAME
public function isEmptyUserFieldValue($fieldName): bool | Возвращает true, если у поля с кодом $fieldName нет значения.
public function getChangedUserFieldNames(): array | Возвращает массив кодов пользовательских полей, значения которых изменены.
public function getUserIds(): array Возвращает массив уникальных ид пользователей из полей CREATED_BY, UPDATED_BY, MOVED_BY. Если там один и тот же пользователь, то результат будет следующим:

$userId = $item->getCreatedBy(); // 10

$users = $item->getUserIds();
/*$users = [
    10 => 10,
];*/
public function isValueChanged(string $fieldName): bool | Возвращает true, если значение поля с кодом $fieldName было изменено.


ItemHistory

ORM-объект для работы с историей изменений элементов.

Имеет набор геттеров-сеттеров для системных полей.

Объект имеет два "состояния". Первое - это на момент создания. В этом случае он создается на основе элемента, а значения его полей вычисляются динамически.

Второе - это при чтении существующей записи. В этом случае все значения полей берутся из базы данных.

Цепочка наследования

Bitrix\Rpa\Model\ItemHistory extends Bitrix\Rpa\Model\EO_ItemHistory

Методы

Метод | Описание | С версии
public static function createByItem(Item $item): ItemHistory | Фабричный метод. Создает объект записи на основе элемента. |
public function fillEmptyValues(): void | Заполняет поля на основе переданного элемента. |
public function createTimelineRecord(): ?Timeline | Если объект истории сохранен, то создает новый объект записи таймлайна. Если не сохранен, то возвращает null. |


ItemHistoryFieldTable

Класс-таблет для работы с таблицей полей, значения которых были изменены в рамках изменения одной записи Bitrix\Rpa\Model\ItemHistoryTable.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image].

Поля таблицы

Поле | Описание | Тип | Обяз.
ID | Идентификатор | Int | Да
ITEM_HISTORY_ID | Идентификатор записи из таблицы изменений элемента. | Int | Да
FIELD_NAME | Код поля, которое было изменено. | Int | Да

Методы

Метод | Описание | С версии
public static function deleteByItemHistory(int $id): void | Удаляет все записи из таблицы, связанные с элементом изменения $id. |


ItemHistoryTable

Описание и методы

Класс-таблет для работы с таблицей истории изменений элементов.

ORM-объект.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image].

Методы

Метод | Описание | С версии
public static function getListByItem(int $typeId, int $itemId): EO_ItemHistory_Collection | Возвращает коллекцию объектов изменений элемента.
public static function removeForItem(int $typeId, int $itemId): Result | Удаляет все записи из таблицы, связанные с элементом $itemId процесса $typeId. Возвращает объект Bitrix\Main\Result.
public static function removeByTypeId(int $typeId): Result | Удаляет все записи из таблицы, связанные с процессом $typeId. Возвращает объект Bitrix\Main\Result.
public static function getScopePossibleValues(): array Возвращает массив доступных значений для поля SCOPE

[
    'manual',
    'task',
    'automation',
    'rest',
];

Поля таблицы

Поле | Описание | Тип | Обяз.
ID | Идентификатор. | Int | Да
TYPE_ID | Идентификатор процесса. | Int | Да
ITEM_ID | Идентификатор элемента. | Int | Да
STAGE_ID | Идентификатор стадии, на которой элемент был до изменения. | Int
NEW_STAGE_ID | Идентификатор стадии, на которую элемент был перемещен. Пустое, если стадия не менялась. | Int
CREATED_TIME | Время создания записи. | Int | Да
USER_ID | Идентификатор пользователя, который произвел изменение. | Int
ACTION | Строковый идентификатор изменения. | String
SCOPE Строковый идентификатор области, в которой изменение было произведено. Принимает один из вариантов:
  1. manual изменение было произведено пользователем через интерфейс;
  2. task изменение было произведено при выполнении задания;
  3. automation изменение совершил робот / активити;
  4. rest изменение было произведено приложением / вебхуком.
String Да
TASK_ID | Идентификатор задания, в процессе выполнения которого было произведено изменение. | Int

Помимо этого в отдельной таблице хранится массив кодов пользовательских полей, которые были изменены.


ItemSortTable

Описание и методы

Класс-таблет для работы с таблицей пользовательской сортировки элементов в канбане.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image].

Методы

Метод | Описание | С версии
public static function setSortForItem(Item $item, int $userId, int $sort): ORM\Data\Result | Если для элемента задана сортировка, она будет обновлена. Если записи нет, она будет создана. Возвращает ORM\Data\Result. |
public static function removeForItem(int $typeId, int $itemId): Result | Удаляет все записи из таблицы, связанные с элементом $itemId процесса $typeId. Возвращает объект Bitrix\Main\Result. |
public static function removeByTypeId(int $typeId): Result | Удаляет все записи из таблицы, связанные с процессом $typeId. Возвращает объект Bitrix\Main\Result. |
public static function getSort(int $userId, Type $type, int $stageId, int $previousItemId = null, bool $isResort = true): int | Возвращает индекс сортировки для элемента, учитывая его положение в стадии. Внутри он пересортирует элементы на стадии, если произошла коллизия. Использовать осторожно, т.к. внутри выполняются запросы. |
public static function fillItemsSortInStageBeforeItem(int $userId, Item $beforeItem): void | Заполняет индекс сортировки у элементов перед $beforeItem для пользователя $userId. |
public static function getMaxSort(int $userId, Stage $stage): int | Возвращает максимальный индекс сортировки для пользователя $userId в стадии $stage. |
public static function getItemReferenceField(Type $type): Reference | Возвращает объект Bitrix\Main\ORM\Fields\Relations\Reference для связи с конкретной таблицей элементов процесса $typeId. |

Поля таблицы

Поле | Описание | Тип | Обяз.
ID | Идентификатор | Int | Да
USER_ID | Идентификатор пользователя. | Int | Да
TYPE_ID | Идентификатор процесса. | Int | Да
ITEM_ID | Идентификатор элемента. | Int | Да
SORT | Индекс сортировки. | Int | Да


PermissionTable

Описание и методы

Класс-таблет для работы с таблицей настроек прав доступа.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image].

Методы

Метод | Описание | С версии
public static function deleteByEntity(string $entity, int $entityId): void | Удаляет все записи из таблицы, связанные с сущностью $entity с ид $entityId. |

Поля таблицы

Поле | Описание | Тип | Обяз.
ID | Идентификатор. | Int | Да
ENTITY Строка-идентификатор сущности. Обычно принимает одно из значений:
  1. TYPE - запись относится к процессу
  2. STAGE - запись относится к стадии (сейчас не используется)
String Да
ENTITY_ID | Идентификатор сущности. | Int | Да
ACCESS_CODE | Строка-идентификатор обладателя права доступа. Строится по правилам ядра. Например, U1 - это пользователь с ID=1. UA - все пользователи. | String | Да
ACTION Строка-идентификатор действия. Может принимать одно из значений:
  1. ITEMS_CREATE - создание элементов (имеет смысл только для настроек процесса)
  2. CREATE - создание сущности
  3. VIEW - просмотр сущности
  4. MODIFY - изменение сущности
String
PERMISSION Строка-идентификатор уровня доступа. Может принимать одно из значений:
  1. A - только обладателю (сейчас не используется)
  2. D - обладателю и членам его отдела (сейчас не используется)
  3. X - всем
String Да


PrototypeItem

Описание и методы

Базовый класс таблета элементов.

Цепочка наследования

abstract Bitrix\Rpa\Model\PrototypeItem extends Bitrix\Main\UserField\Internal\PrototypeItemDataManager

Методы

Метод | Описание | С версии
public static function updateUserFieldValues(int $id, array $fields): Result | Обновляет значения пользовательских полей элемента. Этот метод используется в обработчике события из старого апи. Возвращает объект Bitrix\Main\Result |
public static function deleteUserFieldValues(int $id): Result | Удаляет значения пользовательских полей элемента. Этот метод используется в обработчике события из старого апи. Возвращает объект Bitrix\Main\Result |
public static function getDefaultStageId(): int | Возвращает идентификатор первой стадии процесса. |
public static function getUserSortReferenceField(int $typeId, int $userId): Reference | Возвращает объект Bitrix\Main\ORM\Fields\Relations\Reference для связи с таблицей пользовательской сортировки. |
public static function getFullTextReferenceField(string $referenceName = 'FULL_TEXT'): Reference | Возвращает объект Bitrix\Main\ORM\Fields\Relations\Reference для связи с таблицей полнотекстового поиска. |

Поля

Поле | Описание | Тип | Обяз.
ID | Идентификатор | Int | Да
STAGE_ID | Идентификатор стадии элемента. | Int | Да
PREVIOUS_STAGE_ID | Идентификатор предыдущей стадии элемента | Int |
XML_ID | Строка для внешнего идентификатора. | String | Да
CREATED_BY | ID пользователя, создавшего элемент. | Int | Да
UPDATED_BY | ID пользователя, изменившего элемент. | Int |
MOVED_BY | ID пользователя, сменившего стадию элемента. | Int |
CREATED_TIME | Время создания элемента. | Datetime | Да
UPDATED_TIME | Время обновления элемента. | Datetime |
MOVED_TIME | Время смены стадии элемента. | Datetime | Да

Дополнительно:

  • Отдельная колонка для каждого пользовательского поля. Если поле множественное, то в этой колонке хранится набор значений в сериализованном виде, а в отдельной таблице - набор множественных значений.

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

Необходимо понимать, что этот класс - абстрактный. Для каждого процесса конкретный класс компилируется в рантайме. Здесь в рамках таблицы ID - это ID с привязкой уже к конкретному процессу, эта привязка определена в конкретном классе.


PrototypeItemIndex

Описание и методы

Базовый класс для работы с таблицей полнотекстового индекса элементов. На каждый процесс динамически создается своя таблица полнотекстового индекса в методе \Bitrix\Rpa\Model\TypeTable::compileItemIndexEntity

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image].

Методы

Метод | Описание | С версии
public static function merge(int $itemId, string $searchContent): Result | Записывает данные о полнотекстовом индексе в таблицу. Возвращает объект Bitrix\Main\Result. |
public static function prepareFullTextQuery(string $query): ?string | Возвращает строку, подготовленную к использованию в фильтре по полнотекстовому индексу. |

Поля

Поле | Описание | Тип | Обяз.
ITEM_ID | Идентификатор элемента. Primary Key. | Int | Да
UPDATED_TIME | Время добавления / изменения записи. | Datetime | Да
SEARCH_CONTENT | Текст для построения индекса. | String |

Необходимо понимать, что этот класс - абстрактный. Для каждого процесса конкретный класс компилируется в рантайме. Здесь в рамках таблицы ITEM_ID - это ID элемента с привязкой уже к конкретному процессу, эта привязка определена в конкретном классе.


Stage

ORM-объект для работы со стадией.

Имеет набор геттеров-сеттеров для системных полей

Цепочка наследования

class Bitrix\Rpa\Model\Stage extends Bitrix\Main\Rpa\Midel\EO_Stage implements Bitrix\Rpa\Permission\Containable

Методы

Метод | Описание | С версии
public function getType(): Type | Возвращает объект Bitrix\Rpa\Model\Type, к которому привязана эта стадия. |
public function getUserFieldCollection(): UserFieldCollection | Возвращает объект Bitrix\Rpa\UserField\UserFieldCollection У этого объекта уже будут установлены настройки видимости текущей стадии. |
public function getPermissions(bool $isFromCache = true): array | Возвращает массив записей о правах доступа для этой стадии. |
public function getFieldSettings(bool $isFromCache = true): array | Возвращает массив записей о настройках видимости для этой стадии. |
public function getPossibleNextStageIds(bool $isFromCache = false): array | Возвращает массив ID стадий, в которые можно сдвинуть элемент из этой стадии. Сейчас эта настройка не используется, пользователь может двигать из любой стадии в любую. |
public function getItems(array $parameters = []): Collection | Возвращает коллекцию элементов, которые находятся по этой стадии. $parameters - стандартный набор настроек для getList() таблета. |
public function getUserSortedItems(array $parameters = [], int $userId = null): Collection | Возвращает коллекцию элементов, которые находятся на этой стадии. Элементы в коллекции отсортированы согласно пользовательской сортировке для пользователя $userId. Если этот параметр не передан, то берется текущий пользователь. $parameters - стандартный набор настроек для getList() таблета |
public function getItemsCount(): int | Возвращает число элементов, которые привязаны к этой стадии. |
public function isFirst(): bool | Возвращает true, если эта стадия первая. |
public function isSuccess(): bool | Возвращает true, если эта стадия успешная. |
public function isFail(): bool | Возвращает true, если эта стадия провальная. |
public function isFinal(): bool | Возвращает true, если эта стадия имеет семантику успеха или провала. |


StageTable

Описание и методы

Класс-таблет для работы с таблицей стадий.

ORM-объект Bitrix\Rpa\Model\Stage.

Цепочка наследования

Bitrix\Rpa\Model\StageTable extends Bitrix\Main\ORM\Data\DataManager

Методы

Метод Описание С версии
public static function getFinalSemantics(): array Возвращает массив доступных значений семантики

[
    'SUCCESS',
    'FAIL',
];

Поля таблицы

Поле | Описание | Тип | Обяз.
ID | Идентификатор. | Int | Да
NAME | Название стадии. | String | Да
CODE | Внешний код стадии. По умолчанию пустое, для использования в приложениях. | Int
COLOR | Код цвета в HEX (длина - 6 символов). | Int | Да
SORT | Индекс сортировки. | Int | Да
SEMANTIC Строка с кодом семантики стадии. Принимает одно из следующих значений:
  1. SUCCESS - стадия успешна. У каждого процесса всегда есть только одна стадия с такой семантикой
  2. FAIL - стадия провальна. У каждого процесса может быть неограниченное число провальных стадий
String
TYPE_ID | Идентификатор процесса. | Int | Да


StageToStageTable

Класс-таблет для настроек возможных последовательностей стадий.

Важно! Сейчас не используется.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image].

Поля таблицы

Поле | Описание | Тип | Обяз.
ID | Идентификатор пользователя. | Int | Да
STAGE_ID | Идентификатор исходной стадии. | Int | Да
STAGE_TO_ID | Идентификатор новой стадии. | Int | Да

Методы

Метод | Описание | С версии
public static function deleteByStageId(int $stageId): void | Удаляет связанные с $stageId записи. |


Timeline

ORM-объект для работы с записью таймлайна.

Имеет набор геттеров-сеттеров для системных полей.

Цепочка наследования

class Bitrix\Rpa\Model\Timeline extends Bitrix\Main\Rpa\Midel\EO_Timeline

Методы

Метод | Описание | С версии
public static function createForItem(Item $item): Timeline | Фабричный метод. Создает новый объект, которые будет связан с элементом $item. |
public function preparePublicData(array $options = []): array | Возвращает массив с данными о записи, подготовленный для использования на фронтенде. |
public function getItem(): ?Item | Возвращает элемент, для которого создана эта запись. |


TimelineTable

Описание и методы

Класс-таблет для работы с записями в таймлайне.

ORM-объект Bitrix\Rpa\Model\Timeline.

Цепочка наследования

Bitrix\Rpa\Model\TimelineTable extends Bitrix\Main\ORM\Data\DataManager

Методы

Метод | Описание | С версии
public static function getListByItem(int $typeId, int $itemId, array $parameters = []): EO_Timeline_Collection | Возвращает коллекцию элементов, связанных с элементом $itemId процесса $typeId. Можно передать стандартный для getList набор параметров $parameters. |
public static function removeForItem(int $typeId, int $itemId): Result | Удаляет все записи, связанные с элементом $itemId процесса $typeId. Возвращает объект Bitrix\Main\Result. |
public static function removeByTypeId(int $typeId): Result | Удаляет все записи, связанные с процессом $typeId. Возвращает объект Bitrix\Main\Result. |

Поля таблицы

Поле | Описание | Тип | Обяз.
ID | Идентификатор. | Int | Да
TYPE_ID | Идентификатор процесса. | Int | Да
ITEM_ID | Идентификатор элемента. | Int | Да
CREATED_TIME | Время добавления записи. | Datetime | Да
USER_ID | Идентификатор пользователя, добавившего запись. Может быть пустым. | Int |
TITLE | Заголовок записи. | String |
DESCRIPTION | Текстовое содержимое записи. | Int |
ACTION | Идентификатор типа действия. | Int |
IS_FIXED | Булевый флаг того, что запись зафиксирована в таймлайне. Y - true, N - false. | Boolean |
DATA | Сериализованное поле для хранения структурированной информации о записи. | String |


Type

ORM-объект для работы с процессом.

Имеет набор геттеров-сеттеров для системных полей.

Является наследником базового класса.

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

Цепочка наследования

class Type extends Bitrix\Main\UserField\Internal\Type implements Bitrix\Rpa\Permission\Containable

Методы

Метод | Описание | С версии
public function getStages(): EO_Stage_Collection Возвращает коллекцию стадий процесса.

Стадии в коллекции отсортированы по индексу сортировки, но в конце всегда идёт сначала успешная стадия, а за ней все провальные.

Рекомендуется использовать этот метод для получения стадий процесса везде. Делает запрос к базе данных только один раз.
public function getStage(int $stageId): ?Stage | Возвращает стадию по её $stageId. Рекомендуется использовать этот метод для получения стадии процесса везде.
public function resortStages(): Type Выполняет пересортировку стадий в коллекции стадий этого процесса. Этот метод надо использовать, если сортировка была изменена.

Возвращает $this

public function getFirstStage(): ?Stage | Возвращает первую стадию процесса.
public function getSuccessStage(): ?Stage | Возвращает успешную стадию процесса.
public function getFailStages(): EO_Stage_Collection | Возвращает коллекцию провальных стадий процесса.
public function getFinalStages(): EO_Stage_Collection | Возвращает коллекцию финальных стадий процесса.
public function createStage(): Stage | Создает новый объект стадии.
public function createItem(): Item | Создает новый объект элемента.
public function getItem(int $itemId): ?Item | Возвращает элемент по его $itemId.
public function getItems(array $parameters = []): Collection | Возвращает коллекцию элементов. $parameters - стандартный для getList набор параметров.
public function getItemsCount(array $filter = []): int | Возвращает количество элементов процесса для фильтра $filter.
public function getItemUserFieldsEntityId(): string | Возвращает строковый идентификатор пользовательских полей элементов процесса.
public function getUserFieldCollection(): UserFieldCollection | Возвращает коллекцию настроек пользовательских полей [link=]с видимостями[/link], которые привязаны ко всему процессу.
public function getItemUfNameFieldName(): string | Возвращает код пользовательского поля, в котором хранится заголовок элемента.


TypeTable

Описание и методы

Класс-таблет для работы с таблицей процессов.

ORM-объект Bitrix\Rpa\Model\Type.

Подробнее о хранении значений пользовательских полей.

Цепочка наследования

Bitrix\Rpa\Model\TypeTable extends Bitrix\Main\UserField\Internal\TypeDataManager

Методы

Класс имеет набор методов-обработчиков событий. В этих обработчиках проверяется состояние связанных таблиц и могут прерываться некоторые действия.

Например, нельзя удалить процесс, если с ним есть элементы. Наличие стадий не проверяется.

После удаления процесса из связанных таблиц удаляются все данные, привязанные к этому процессу. Также удаляются таблица элементов и таблица полнотекстового индекса.

При создании новой записи создаются связанные таблицы, генерируются значения системных полей.

Метод | Описание | С версии
public static function createItemIndexTable($type): Result | Создает таблицу для хранения полнотекстового индекса элементов процесса. Возвращает объект \Bitrix\Main\Result. |

Поля таблицы

Поле | Описание | Тип | Обяз.
ID | Идентификатор. | Int | Да
NAME | Строковый идентификатор процесса. Генерируется автоматически. | String | Да
TABLE_NAME | Название таблицы, где хранятся элементы этого процесса. Генерируется автоматически. | String | Да
TITLE | Заголовок процесса. | String | Да
IMAGE | Изображение процесса. Пока что там строка-код из предустановленного списка иконок. | String | Да
CREATED_BY | Идентификатор пользователя, который создал процесс. | Int | Да
SETTINGS | Сериализованное поле для хранения второстепенных настроек процесса. | String | Да


Scenario

Абстрактный класс сценария Bitrix\Rpa\Scenario.

Сейчас в модуле есть четыре сценария:

  • Bitrix\Rpa\Scenario\DefaultStages
  • Bitrix\Rpa\Scenario\DraftType
  • Bitrix\Rpa\Scenario\TypeAutomation
  • Bitrix\Rpa\Scenario\TypeFieldSettings

Методы

Метод | Описание | С версии
abstract public function play(): Result; | Абстрактный метод запуска сценария. Должен возвращать объект Bitrix\Main\Result. |


Collection

Класс, реализующий коллекцию сценариев.

Bitrix\Rpa\Scenario\Collection implements \Iterator, \Countable

Методы

Метод | Описание | С версии
public function __construct(array $scenarios) | Конструктор. На вход принимает массив сценариев. |
public function playAll(): Result | Последовательно запускает все сценарии коллекции. Если во время выполнения одного из сценариев произошла ошибка, то выполнение прерывается. Возвращает объект Bitrix\Main\Result, где будут данные из всех сценариев |


DefaultStages

Сценарий, создающий стадии по умолчанию.

Цепочка наследования

class Bitrix\Rpa\Scenario\DefaultStages extends Bitrix\Rpa\Scenario


DraftType

Сценарий, создающий черновик процесса

Этот метод:

  1. Создает новый процесс. На событии создания процесса создаются таблицы для элементов, индекса и т.д.;
  2. Создает права доступа по умолчанию - все могут всё;
  3. Создает пользовательское поле для названия элементов;
  4. Добавляет это поле в быструю форму создания элемента.

Цепочка наследования

class Bitrix\Rpa\Scenario\DraftType extends Bitrix\Rpa\Scenario


TypeAutomation

Сценарий, создающий роботов по умолчанию.

Если при создании процесса стояла галочка Перемещать элементы во вторую стадию после создания, то этот сценарий добавит на первую стадию робота, который будет сдвигать все элементы с первой стадии на следующую.

Цепочка наследования

class Bitrix\Rpa\Scenario\TypeAutomation extends Bitrix\Rpa\Scenario


TypeFieldSettings

Сценарий, добавляющий все добавленные при создании процесса пользовательские поля в карточку на канбане.

Цепочка наследования

class Bitrix\Rpa\Scenario\TypeFieldSettings extends Bitrix\Rpa\Scenario


UI

Пространство имен UI содержит классы:

Класс | Описание | С версии
Icon | Класс хранит список доступных иконок. |


Icon

Класс хранит список доступных иконок.

Пример:

class Icon
{
    public static function getCodes(): array
    {
        return [
            'list',
            'settings',
            'math',
            'tick',
            'plane',
            'piece',
            'vacation',
        ];
    }
}


UrlManager

Класс выполняет две задачи:

  • имеет набор именованных методов для генерации ссылок;
  • определяет по адресу страницы, какой компонент и с какими параметрами надо подключить.

С помощью опций можно переопределить адреса страниц.

Методы

Метод | Описание | С версии
public function setUserId(int $userId): UrlManager | Позволяет установить идентификатор пользователя $userId для которого будут определяться адреса, зависящие от пользователя. |
public function getUserId(): int | Возвращает идентификатор пользователя. |
public function setRoot(string $root): UrlManager | Устанавливает корневую папку, от которой будут строиться ссылки. |
public function getRoot(): string | Возвращает корневую папку. |
public function setSefMode(bool $isSefMode): UrlManager | Включает / выключает "ЧПУ" режим работы. |
public function isSefMode(): bool | Возвращает текущий статус "ЧПУ" режима работы. |
public function setSiteId(string $siteId): UrlManager | Устанавливает идентификатор сайта, в рамках которого будут строиться адреса. |
public function getSiteId(): ?string | Возвращает идентификатор сайта. |
public function getDefaultUrlTemplates(): array | Возвращает массив шаблонов ссылок по умолчанию, где имя - название компонента, а значение - адрес. |
public function saveCustomUrlTemplates(array $templates): void | Позволяет сохранить свой набор шаблонов ссылок. |
public function getCustomUrlTemplates(): array | Возвращает массив переопределенных шаблонов ссылок. |
public function getPreparedTemplates(): array | Возвращает набор подготовленных шаблонов ссылок, с учетом корня и корня сайта. |
public function parseRequest(HttpRequest $httpRequest = null): ParseResult | Определяет необходимые параметры из запроса $httpRequest. Если он не передан, берется текущий. Возвращает объект Bitrix\Rpa\UrlManager\ParseResult |
public function getPanelUrl(): ?Uri | Возвращает ссылку на корневой раздел публичной части модуля. |
public function getKanbanUrl(int $typeId): ?Uri | Возвращает ссылку на канбан процесса $typeId. |
public function getAutomationUrl(int $typeId = null): ?Uri | Возвращает ссылку на настройки роботов процесса $typeId. |
public function getAutomationEditRobotUrl(int $typeId = null): ?Uri | Возвращает ссылку на страницу настроек робота процесса $typeId. |
public function getTypeDetailUrl(int $typeId = null): ?Uri | Возвращает ссылку на страницу настроек процесса $typeId. Если $typeId не передена, то это будет ссылка на страницу создания процесса |
public function getStageDetailUrl(int $stageId = null): ?Uri | Возвращает ссылку на страницу настроек стадии $stageId. Не используется. |
public function getItemDetailUrl(int $typeId, int $itemId = null, int $stageId = null): ?Uri | Возвращает ссылку на карточку элемента $itemId процесса $typeId. Если $itemId не передан, то это будет ссылка на страницу добавления элемента |
public function getTasksUrl(): ?Uri | Возвращает ссылку на список заданий. |
public function getTaskUrl(int $typeId, int $elementId): ?Uri | Возвращает ссылку на страницу задания элемента $elementId процесса $typeId. |
public function getItemsListUrl(int $typeId): ?Uri | Возвращает ссылку на страницу грида элементов процесса $typeId. |
public function getStageListUrl(int $typeId): Uri | Возвращает ссылку на страницу настроек стадий процесса $typeId. |
public function getUserPersonalUrl(int $userId): Uri | Возвращает ссылку на профиль пользователя $userId. |
public function getFieldsListTemplateUrl(): ?string | Возвращает шаблон ссылки страницы списка настроек пользовательских полей. |
public function getFieldsDetailTemplateUrl(): ?string | Возвращает шаблон ссылки страницы настроек пользовательского поля. |
public function getTypeFieldsListUrl(int $typeId): ?Uri | Возвращает ссылку на страницу списка настроек пользовательских полей процесса $typeId. |
public function getFieldDetailUrl(int $typeId, int $fieldId): ?Uri | Возвращает ссылку на страницу настроек пользовательского поля $fieldId процесса $typeId. |
public function getUserItemsUrl(int $typeId): ?Uri | Возвращает ссылку на список элементов процесса $typeId того вида (список или канбан), который пользователь посещал последним. |
public function getUserItemListView(int $typeId): ?string | Возвращает идентификатор представления списка элементов процесса $typeId пользователя. |
public function setUserItemListView(int $typeId, string $view): UrlManager | Устанавливает идентификатор представления $view списка элементов процесса $typeId пользователя. Возвращает $this |
public function getUserTypesUrl(): ?Uri | Возвращает ссылку на список процессов того вида (список или плитка), который пользователь посещал последним. |
public function getUserTypeListView(): ?string | Возвращает идентификатор представления списка процессов пользователя. |
public function setUserTypeListView(string $view): UrlManager | Устанавливает идентификатор представления $view списка процессов пользователя Возвращает $this. |
public function getUserItemsUrlWithTasks(int $typeId): ?Uri | Возвращает ссылку на список элементов процесса $typeId пользователя с установленным фильтром по элементам, на которых есть задания пользователя. |
public function getUserTypesUrlWithTasks(): ?Uri< | Возвращает ссылку на список процессов пользователя с установленным фильтром по процессам, на которых есть задания пользователя. |


ParseResult

Класс, представляющий результаты парсинга запроса классом Bitrix\Rpa\UrlManager.

Методы

Метод | Описание | С версии
public function __construct(string $componentName = null, array $componentParameters = null, string $templateName = null) Конструктор.
  • $componentName - имя компонента
  • $componentParameters - параметры компонента
  • $templateName - шаблон компонента
public function isFound(): bool | Возвращает true, если был определен компонент.
public function getComponentName(): ?string | Возвращает имя компонента.
public function getComponentParameters(): ?array | Возвращает массив параметров компонента.
public function getTemplateName(): ?string | Возвращает название шаблона компонента.


UserField

Пространство имен UserField содержит классы для работы с пользовательским полями.

Класс | Описание | С версии
Display | Класс для отрисовки значений пользовательских полей. |
UserField | Класс, предоставляющий интерфейс для работы с настройками пользовательских полей. |
UserFieldCollection | Коллекция настроек пользовательских полей. |


Display

Класс для отрисовки значений пользовательских полей.

Класс Bitrix\Rpa\UserField\Display предназначен для работы в рамках одного процесса. Если надо отрисовать значения пользовательских полей для нескольких процессов, надо использовать отдельный экземпляр на каждый процесс.

Методы

Метод | Описание | С версии
public function __construct(UserFieldCollection $userFieldCollection, array $values = []) Констуктор.
  • $userFieldCollection - коллекция полей;
  • массив в формате ключ - ид элемента, значение - массив значений пользовательских полей этого элемента.
public function addValues(int $itemId, array $values): Display Метод позволяет добавить значения полей $values у элемента $itemId.

Возвращает $this
public function getAllValues(): array | Метод возвращает набор отрисованных значений в формате ключ - ид элемента, значение - набор отрисованных значений.
public function getValues(int $itemId): ?array | Метод возвращает набор отрисованных значений элемента $itemId. Если для этого элемента не были добавлены значения, то метод вернет null.
public function getValue(int $itemId, string $fieldName): ?string | Метод возвращает отрисованное значение поля $fieldName элемента $itemId.


UserField

Класс, предоставляющий интерфейс для работы с настройками пользовательских полей.

class Bitrix\Rpa\UserField\UserField implements \ArrayAccess

Методы

Метод | Описание | С версии
public function __construct(array $data, array $visibility) Конструктор.
  • $data - массив с описанием пользовательского поля. Этот массив можно получить с помощью \CUserTypeManager::GetUserFields()
[
    'ID' => 1, // id поля
    'FIELD_NAME' => 'UF_RPA_1_FIELDNAME', // код поля
    'EDIT_FORM_LABEL' => 'Название', // языковое имя поля
    'USER_TYPE_ID' => 'string', // идентификатор типа поля
    'SETTINGS' => [], // массив дополнительных настроек
    'MANDATORY' => 'N', // флаг обязательности
    'MULTIPLE' => 'N', // флаг множественности
    'USER_TYPE' => [], // массив описания типа
];
  • $visibility - массив настроек видимости этого поля здесь ключ - тип видимости поля, а значение - true/false
public function getName(): string | Возвращает код поля.
public function getTitle(): string | Возвращает языковое название поля.
public function toArray(): array | Возвращает массив с полным описанием поля.
public function getUserTypeId(): string | Возвращает строковый идентификатор типа.
public function getSettings(): ?array | Возвращает массив с описанием поля.
public function isVisible(): bool | Возвращает true, если поле доступно для отображения.
public function isEditable(): bool | Возвращает true, если поле доступно для изменения.
public function isMandatory(): bool | Возвращает true, если поле является обязательным согласно [link=fieldtable]настройкам полей[/link].
public function isMandatoryByDefault(): bool | Возвращает true, если поле является обязательным согласно общим настройкам поля.
public function isMultiple(): bool | Возвращает true, если поле является множественным.
public function isKanbanVisible(): bool | Возвращает true, если поле должно отображаться в карточке канбана.
public function isAvailableOnCreate(): bool | Возвращает true, если поле должно присутствовать в быстрой форме создания.
public function isBaseTypeFile(): bool | Возвращает true, если поле является файлом.
public function isBaseTypeDate(): bool | Возвращает true, если поле является датой.


UserFieldCollection

Коллекция настроек пользовательских полей.

class Bitrix\Rpa\UserField\UserFieldCollection implements \Iterator, \ArrayAccess, \Countable

Методы

Метод | Описание | С версии
public function __construct(array $fields, array $visibility = [], array $defaultVisibility = null) Конструктор.
  • $fields массив с описаниями настроек пользовательских полей (как в UserField)
  • $visibility массив с настройками полей, который можно получить через FieldTable::getGroupedList()
  • $defaultVisibility - массив с настройками полей по умолчанию.
public function getByName(string $fieldName): ?UserField | Возвращает объект пользовательского поля по его коду.
public function toArray(): array | Возвращает массив описаний всех пользовательских полей коллекции.


Социальная сеть

Раздел содержит информацию о классах модуля Социальная сеть, относящихся к ядру D7 и находящихся соответственно в пространстве имен \Bitrix\Socialnetwork.

Перед использованием модуля необходимо проверить, установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('socialnetwork');

Класс, пространство имен | Описание
Item | Пространство имён для работы с сущностями на более высоком уровне, чем непосредственно с записями в таблице.
Ui | Пространство имён пользовательских интерфейсов.
UserToGroupTable | Класс API низкого уровня для работы с отношениями пользователь-группа (роль пользователя в группе).
Util | Класс вспомогательных методов, служащих различным целям в рамках реализации логики социальной сети.
WorkgroupFavoritesTable | Класс для методов работы с избранными рабочими группами.


Социальная сеть в старом ядре

Классы

Класс | Описание | С версии
CSocNetUserRelations | Класс для работы со связями между пользователями. | 7.1.0
CSocNetUserPerms | Класс для обработки прав на доступ к профайлам пользователей. | 8.0.7
CSocNetUserToGroup | Класс для работы со связями между пользователями и группами. | 7.0.5
CSocNetUser | Вспомогательный класс, содержащий методы поиска и обработки пользователей социальной сети. | 7.0.5
CSocNetSmile | Класс управления смайлами. | 8.0.7
CSocNetMessages | Класс для работы с сообщениями социальной сети. | 7.0.6
CSocNetLogEvents | Класс подписки на события социальной сети. | 7.1.0
CSocNetLog | Класс для управления логом событий социальной сети. | 7.1.0
CSocNetGroupSubject | Класс тем рабочих групп. | 8.0.7
CSocNetFeaturesPerms | Класс обработки прав на доступ к дополнительному функционалу социальной сети. | 7.0.6
CSocNetFeatures | Класс управления дополнительным функционалом социальной сети. | 7.0.6
CSocNetGroup | Класс для работы с рабочими группами. | 7.0.5
CSocNetTools | Вспомогательный класс. | 7.0.6
CSocNetTextParser | Парсер текстов сообщений. | 7.0.6

Константы

  • SONET_RELATIONS_FRIEND
  • SONET_RELATIONS_REQUEST
  • SONET_RELATIONS_BAN

  • SONET_ROLES_OWNER
  • SONET_ROLES_MODERATOR
  • SONET_ROLES_USER
  • SONET_ROLES_BAN
  • SONET_ROLES_REQUEST
  • SONET_ROLES_ALL

  • SONET_RELATIONS_TYPE_ALL
  • SONET_RELATIONS_TYPE_FRIENDS2
  • SONET_RELATIONS_TYPE_FRIENDS
  • SONET_RELATIONS_TYPE_NONE

  • SONET_INITIATED_BY_USER
  • SONET_INITIATED_BY_GROUP

  • SONET_MESSAGE_SYSTEM
  • SONET_MESSAGE_PRIVATE

  • SONET_ENTITY_GROUP
  • SONET_ENTITY_USER

События

Событие | Вызывается | Метод | С версии
OnBeforeSocNetUserToGroupDelete | перед удалением связи между пользователем и рабочей группой. | CSocNetUserToGroup::Delete | 7.0.5
OnSocNetUserToGroupDelete | в момент удаления связи между пользователем и рабочей группой. | CSocNetUserToGroup::Delete | 7.0.5
OnBeforeSocNetGroupAdd | перед созданием рабочей группы. | CSocNetGroup::Add | 7.0.5
OnSocNetGroupAdd | после добавления новой рабочей группы. | CSocNetGroup::Add | 7.0.5
OnBeforeSocNetGroupUpdate | перед изменением параметров рабочей группы. | CSocNetGroup::Update | 7.0.5
OnSocNetGroupUpdate | после изменения рабочей группы. | CSocNetGroup::Update | 7.0.5
OnFillSocNetFeaturesList | при инициализации модуля социальной сети после заполнения массива дополнительного функционала. | CSocNetAllowed::RunEventForAllowedFeature | 7.0.6
OnBeforeSocNetGroupDelete | перед удалением рабочей группы. | CSocNetGroup::Delete | 7.0.6
OnSocNetGroupDelete | в момент удаления рабочей группы. | CSocNetGroup::Delete | 7.0.6
OnBeforeSocNetFeatures | перед удалением дополнительного функционала. | CSocNetFeatures::Delete | 7.0.6
OnSocNetFeatures | в момент удаления дополнительного функционала. | CSocNetFeatures::Delete | 7.0.6
OnBeforeSocNetFeaturesUpdate | перед изменением параметров дополнительного функционала. | CSocNetFeatures::Update | 7.0.6
OnSocNetFeaturesUpdate | после изменения записи дополнительного функционала. | CSocNetFeatures::Update | 7.0.6
OnBeforeSocNetFeaturesPermsDelete | перед удалением прав на дополнительный функционал. | CSocNetFeaturesPerms::Delete | 7.0.6
OnSocNetFeaturesPermsDelete | в момент удаления права на дополнительный функционал. | CSocNetFeaturesPerms::Delete | 7.0.6
OnBeforeSocNetFeaturesPermsUpdate | в методе изменения параметров права на доступ к дополнительному функционалу до изменения. | CSocNetFeaturesPerms::Update | 7.0.6
OnSocNetFeaturesPermsUpdate | после изменения права на дополнительный функционал. | CSocNetFeaturesPerms::Update | 7.0.6
OnBeforeSocNetMessagesDelete | перед удалением сообщения. | CSocNetMessages::Delete | 7.0.6
OnSocNetMessagesDelete | в момент удаления сообщения. | CSocNetMessages::Delete | 7.0.6
OnBeforeSocNetFeaturesAdd | перед созданием новой записи дополнительного функционала. | CSocNetFeatures::Add | 7.0.6
OnSocNetFeaturesAdd | после добавления нового дополнительного функционала. | CSocNetFeatures::Add | 7.0.6
OnBeforeSocNetFeaturesPermsAdd | перед созданием записи права на дополнительный функционал. | CSocNetFeaturesPerms::Add | 7.0.6
OnSocNetFeaturesPermsAdd | после добавления новой записи права на дополнительный функционал. | CSocNetFeaturesPerms::Add | 7.0.6
OnBeforeSocNetMessagesAdd | перед созданием сообщения. | CSocNetMessages::Add | 7.0.6
OnSocNetMessagesAdd | после добавления нового сообщения. | CSocNetMessages::Add | 7.0.6
OnBeforeSocNetMessagesUpdate | перед изменением параметров сообщения. | CSocNetMessages::Update | 7.0.6
OnSocNetMessagesUpdate | после изменения сообщения. | CSocNetMessages::Update | 7.0.6
OnBeforeSocNetUserToGroupAdd | перед созданием связи между пользователем и рабочей группой. | CSocNetUserToGroup::Add | 7.0.6
OnSocNetUserToGroupAdd | после добавления новой связи между пользователем и рабочей группой. | CSocNetUserToGroup::Add | 7.0.6
OnBeforeSocNetUserToGroupUpdate | перед изменением параметров связи между пользователем и рабочей группой. | CSocNetUserToGroup::Update | 7.0.6
OnSocNetUserToGroupUpdate | после изменения связи между пользователем и рабочей группой. | CSocNetUserToGroup::Update | 7.0.6
OnBeforeSocNetUserRelationsAdd | перед созданием связи между пользователями. | CSocNetUserRelations::Add | 7.1.0
OnSocNetUserRelationsAdd | после добавления новой связи между пользователями. | CSocNetUserRelations::Add | 7.1.0
OnBeforeSocNetUserRelationsUpdate | перед изменением параметров связи между пользователями. | CSocNetUserRelations::Update | 7.1.0
OnSocNetUserRelationsUpdate | после изменения связи между пользователями. | CSocNetUserRelations::Update | 7.1.0
OnSocNetUserRelationsDelete | в момент удаления связи между пользователями. | CSocNetUserRelations::Delete | 7.1.0
OnBeforeSocNetUserRelationsDelete | перед удалением связи между пользователями. | CSocNetUserRelations::Delete | 7.1.0
OnParseSocNetComponentPath при включенной поддержке ЧПУ компонента социальной сети в самом начале работы компонента. Позволяет подключить свои пути для ЧПУ в комплексном компоненте соцсети.
OnParseSocNetComponentPathHandler (&$arDefaultUrlTemplates404, &$arCustomPagesPath, $arParams) {
}
OnFillSocNetAllowedSubscribeEntityTypes | добавляет тип сущности Живой ленты. | CSocNetAllowed::RunEventForAllowedEntityType | 10.0.0
OnBeforeSocNetLogRightsAdd | при добавлении прав на запись Живой ленты. | CSocNetLogRights::Add | 11.0.11
OnBeforeSocNetLogRightsUpdate | при изменении прав на запись Живой ленты. | CSocNetLogRights::Update | 11.0.11
OnSocNetSendRequestToJoinGroup | при отправке запроса на вступление в группу соцсети | CSocNetUserToGroup::SendRequestToJoinGroup | 11.0.15
OnSocNetUserConfirmRequestToBeMember | при получении подтверждения запроса о членстве в группе соцсети | CSocNetUserToGroup::UserConfirmRequestToBeMember | 11.0.15
OnSocNetUserRejectRequestToBeMember | при получении отклонении запроса о членстве в группе соцсети | CSocNetUserToGroup::UserRejectRequestToBeMember | 11.0.15
OnBeforeSocNetLogCommentAdd | перед добавлением комментария в Живую ленту. | CSocNetLogComments::Add | 11.0.16
OnAfterSocNetLogCommentAdd | после добавления комментария в Живую ленту. | CSocNetLogComments::Add | 11.0.16
OnAfterSocNetLogUpdate | после изменения записи Живой ленты. | CSocNetLog::Update | 16.5.5
OnAfterSocNetLogAdd | после добавлении записи Живой ленты. | CSocNetLog::Add | 16.5.5
OnSocNetGroupSubjectAdd | после создания темы рабочих групп. | CSocNetGroupSubject::Add
OnSocNetGroupSubjectDelete | перед удалением темы рабочих групп. | CSocNetGroupSubject::Delete
OnSocNetGroupSubjectUpdate | вызывается после изменения темы рабочих групп. | CSocNetGroupSubject::Update


Item

Item - пространство имён для работы с сущностями на более высоком уровне, чем непосредственно с записями в таблице.

Класс | Описание | С версии
ContentViewHandler | Класс содержит методы обработки контента. | 17.5.7
WorkgroupFavorites | Класс для работы с избранными рабочими группами. |


ContentViewHandler

ContentViewHandler - класс содержит методы обработки контента.

Метод | Описание | С версии
[link=6901533]onContentViewed[/link] | Метод обрабатывает событие просмотра контента, отмечая уведомления IM как прочитанные. . | 17.5.7


onContentViewed

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Социальная сеть>Item>ContentViewHandler>onContentViewed (с версии 17.5.7)

ContentViewHandler::onContentViewed

integer|false public static
\Bitrix\Socialnetwork\Item\ContentViewHandler::onContentViewed(
 \Bitrix\Main\Event $event
);

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

Параметры

Параметр | Описание | Версия
$event | Событие. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


WorkgroupFavorites

WorkgroupFavorites - класс для работы с избранными рабочими группами.

Метод | Описание | С версии
[link=6808791]delete[/link] | Метод удаляет группу из списка избранных для указанного пользователя. |
[link=6808787]set[/link] | Метод добавляет или удаляет группу в(из) списка избранных для указанного пользователя. |


delete

boolean public static
\Bitrix\Socialnetwork\Item\WorkgroupFavorites::delete(
 array $params
);

Метод удаляет группу из списка избранных для указанного пользователя. Метод статический.

Параметры

Параметр | Описание | Версия
$params | Идентификатор группы, идентификатор пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


set

boolean public static
\Bitrix\Socialnetwork\Item\WorkgroupFavorites::set(
 array $params
);

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

Параметры

Параметр | Описание | Версия
$params | Идентификатор группы, идентификатор пользователя. |

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Ui

UI - пространство имён пользовательских интерфейсов.

Класс | Описание | С версии
Preview | Подпространство имён для работы с сообщениями блога. |


Preview

Preview - подпространство имён для работы с сообщениями блога.

Класс | Описание | С версии
Post | Класс для работы с сообщениями блога. |


Post

Post - класс для работы с сообщениями блога.

Метод | Описание | С версии
[link=1762559]buildPreview[/link] | Метод возвращает HTML-код для предварительного просмотра сообщения в блоге. |
[link=1762563]checkUserReadAccess[/link] | Метод возвращает 'true', если текущий пользователь имеет доступ для чтения к сообщению в блоге. |
[link=6808771]getImAttach[/link] | Метод возвращает прикрепленный файл для отображения в мессенджере. |


buildPreview

string public static
\Bitrix\Socialnetwork\Ui\Preview\Post::buildPreview(
 array $params
);

Метод возвращает HTML-код для предварительного просмотра сообщения в блоге. Метод статический.

Параметры

Параметр | Описание | Версия
$params | Ожидаемые ключи: postId, userId. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkUserReadAccess

boolean public static
\Bitrix\Socialnetwork\Ui\Preview\Post::checkUserReadAccess(
 array $params,
 integer $userId
);

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

Параметры

Параметр | Описание | Версия
$params | Допустимые ключи: postId, userId. |
$userId | Идентификатор текущего пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getImAttach

\CIMMessageParamAttach public static
\Bitrix\Socialnetwork\Ui\Preview\Post::getImAttach(
 array $params
);

Метод возвращает прикрепленный файл для отображения в мессенджере. Метод статический.

Параметры

Параметр | Описание | Версия
$params | Ожидаемые ключи: postId, userId |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


UserToGroupTable

UserToGroupTable - класс для работы с таблицей пользователей группы.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
[link=1762465]add[/link] | Метод добавляет строку в таблицу БД. |
[link=1762473]delete[/link] | Метод удаляет строку в таблице сущностей по первичному ключу. |
[link=5386223]getInitiatedByAll[/link] | Метод возвращает набор всех значений INITIATED_BY. | 16.6.1
[link=1762461]getMap[/link] | Метод возвращает список полей для таблицы пользователей группы. |
[link=5386215]getRolesAll[/link] | Метод возвращает набор всех возможных ролей пользователя в рабочей ггруппе. | 16.6.1
[link=5386219]getRolesMember[/link] | Метод возвращает набор ролей пользователя в рабочей группе. | 16.6.1
[link=1762457]getTableName[/link] | Метод возвращает название таблицы базы данных для сущности. |
[link=1762469]update[/link] | Метод обновляет данные в строке таблицы сущности по основным ключам. |


add

\Bitrix\Main\Entity\AddResult public static
\Bitrix\Socialnetwork\UserToGroupTable::add(
 array $data
);

Статический метод добавляет строку в таблицу БД.

Параметры

Параметр | Описание | Версия
$data | Массив данных для добавления |

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delete

\Bitrix\Main\Entity\DeleteResult public static
\Bitrix\Socialnetwork\UserToGroupTable::delete(
 mixed $primary
);

Статический метод удаляет строку в таблице сущностей по первичному ключу.

Параметры

Параметр | Описание | Версия
$primary | Ключ. |

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getInitiatedByAll

array public static
\Bitrix\Socialnetwork\UserToGroupTable::getInitiatedByAll(
);

Метод возвращает набор всех значений INITIATED_BY. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

 public static
\Bitrix\Socialnetwork\UserToGroupTable::getMap(
);

Статический метод возвращает список полей для таблицы пользователей группы.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRolesAll

array public static
\Bitrix\Socialnetwork\UserToGroupTable::getRolesAll(
);

Метод возвращает набор всех возможных ролей пользователя в рабочей группе. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRolesMember

array public static
\Bitrix\Socialnetwork\UserToGroupTable::getRolesMember(
);

Метод возвращает набор ролей пользователя в рабочей группе. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Socialnetwork\UserToGroupTable::getTableName(
);

Статический метод возвращает название таблицы Базы данных для сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


update

\Bitrix\Main\Entity\UpdateResult public static
\Bitrix\Socialnetwork\UserToGroupTable::update(
 mixed $primary,
 array $data
);

Статический метод обновляет данные в строке таблицы сущности по основным ключам.

Параметры

Параметр | Описание | Версия
$primary |  |
$data | Массив данных для обновления |

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Util

Util - класс вспомогательных методов, служащих различным целям в рамках реализации логики социальной сети. Используется также в вызовах из старого ядра.

Метод | Описание | С версии
[link=6901507]isShowVideoMessageSpotLight[/link] | Метод возвращает "true", если кнопка видео-сообщения должна быть подсвечена.. |


isShowVideoMessageSpotLight

boolean public static
\Bitrix\Socialnetwork\Util::isShowVideoMessageSpotLight(
);

Метод возвращает "true", если кнопка видео-сообщения должна быть подсвечена. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


WorkgroupFavoritesTable

WorkgroupFavoritesTable - класс для методов работы с таблицей избранных рабочих групп.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы избранных групп. |
set | Метод добавляет рабочую группу в список избранных групп |


getMap

array public static
\Bitrix\Socialnetwork\WorkgroupFavoritesTable::getMap(
);

Статический метод возвращает список полей для таблицы избранных групп.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


set

boolean public static
\Bitrix\Socialnetwork\WorkgroupFavoritesTable::set(
 array $params.
);

Статический метод добавляет GROUP_ID рабочей группы в список избранных групп пользователя USER_ID.

Параметры

Параметр | Описание | Версия
$params. | Массив параметров GROUP_ID - список групп, USER_ID - пользователь, DATA_ADD. |

Исключения

  • \Bitrix\Main\SystemException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Телефония

Модуль для работы с облачной телефонией.

\Bitrix\Main\Loader::includeModule('voximplant');

Класс | Описание | С версии
BlacklistTable | Класс для работы с таблицей Черный список. | 15.1.1
QueueTable | Класс для работы с таблицей Очереди звонков. |
SipTable | Класс для работы с таблицей Настройки подключения к sip-серверу. |
AddressVerification | Класс для работы с верификацией адреса. | 16.0.8
Security | Классы для управления правами доступа телефонии. | 16.5.1
Tts | Параметры произнесения речи. | 16.5.0

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

Смотрите также

  • Телефония (пользовательская документация)
  • Телефония (API для работы со старой версией ядра)
  • Учебный курс "Телефония в Битрикс24"
  • Телефония - Учебный курс "Администратор сервиса Битрикс24 (коробочная версия)"


Телефония в старом ядре

События

Список событий модуля Телефония в старом ядре

Событие | Вызывается
onCallInit | при инициализации звонка (о поступлении или начале исходящего звонка).
onCallStart | при начале разговора (ответе оператора при входящем и ответе абонента при исходящем).
onCallEnd | при окончании разговора (запись в историю).

Дополнительно

  • Справочников кодов и типов


AddressVerification

AddressVerification - класс для работы с верификацией адреса.

Метод | Описание | С версии
getAvailableVerifications | Возвращает подтверждения доступных адресов для связи с телефонным номером. |
Конструктор AddressVerification | Создает экземпляр класса. |
getError | Возвращает последнюю ошибку. |
getVerifications | Возвращает подтверждения адреса аккаунта. |
setFilledByUser | Сохраняет идентификатор последнего пользователя, заполнявшего документы. | 16.0.9
notifyUserWithVerifyResult | Уведомляет пользователя, который прислал документы, о завершении процесса подтверждения. | 16.0.9
getFilledByUser | Возвращает идентификатор пользователя, последнего заполнявшего документы. | 16.0.9


getAvailableVerifications

array|false public
\Bitrix\VoxImplant\AddressVerification::getAvailableVerifications(
 string $countryCode,
 string $categoryName,
 string $regionCode = ''
);

Нестатический метод возвращает подтверждения доступных адресов для связи с телефонным номером.

Параметры

Параметр | Описание | Версия
$countryCode | Двухбуквенный код страны. |
$categoryName | Имя категории телефона. |
$regionCode | Код региона телефона. Обязательно для подтверждения для типа LOCAL. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getError

\CVoxImplantError public
\Bitrix\VoxImplant\AddressVerification::getError(
);

Нестатический метод возвращает последнюю ошибку.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFilledByUser

integer|false public
\Bitrix\VoxImplant\AddressVerification::getFilledByUser(
);

Нестатический метод возвращает идентификатор пользователя, последнего заполнявшего документы.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getVerifications

array|false public
\Bitrix\VoxImplant\AddressVerification::getVerifications(
 string $countryCode = '',
 string $phoneCategoryName = '',
 string $phoneRegionCode = '',
 null $verified = null,
 null $inProgress = null
);

Нестатический метод возвращает подтверждения адреса аккаунта.

Параметры

Параметр | Описание | Версия
$countryCode | Двухбуквенный код страны. |
$phoneCategoryName | Имя категории телефона. |
$phoneRegionCode | Код региона телефона. Обязательно для подтверждения для типа LOCAL. |
$verified | Возвращать только подтвержденные адреса. |
$inProgress | Показывать только подтверждения адресов, находящиеся в процессе. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


notifyUserWithVerifyResult

void public
\Bitrix\VoxImplant\AddressVerification::notifyUserWithVerifyResult(
 array $params
);

Нестатический метод уведомляет пользователя, который прислал документы, о завершении процесса подтверждения.

Параметры

Параметр | Описание | Версия
$params | Массив параметров уведомления. |

Исключения

  • LoaderException (\Bitrix\Main\LoaderException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setFilledByUser

void public
\Bitrix\VoxImplant\AddressVerification::setFilledByUser(
 integer $userId
);

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

Параметры

Параметр | Описание | Версия
$userId | Идентификатор пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор AddressVerification

 public
\Bitrix\VoxImplant\AddressVerification::__construct(
);

Нестатический метод создает экземпляр класса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


BlacklistTable

BlacklistTable - класс для работы с таблицей Черный список.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Возвращает список полей с типами. |
getTableName | Возвращает таблицу базы данных, соответствующую данной сущности. |
validatePhoneNumber | Возвращает валидаторы поля PHONE_NUMBER. |


getMap

array public static
\Bitrix\Voximplant\BlacklistTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Voximplant\BlacklistTable::getTableName(
);

Статический метод возвращает таблицу базы данных, соответствующую данной сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validatePhoneNumber

array public static
\Bitrix\Voximplant\BlacklistTable::validatePhoneNumber(
);

Статический метод возвращает валидаторы поля PHONE_NUMBER.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


QueueTable

QueueTable - класс для работы с таблицей Очереди звонков.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getFilePath | Возвращает путь к файлу, содержащему описание файла. |
getMap | Возвращает список полей с типами. |
getTableName | Возвращает имя таблицы базы данных, соответствующей данной сущности. |
validateSearchId | Возвращает валидаторы поля SEARCH_ID. |
validateStatus | Статический метод возвращает валидаторы для поля STATUS. |


getFilePath

string public static
\Bitrix\Voximplant\QueueTable::getFilePath(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Voximplant\QueueTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Voximplant\QueueTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateSearchId

array public static
\Bitrix\Voximplant\QueueTable::validateSearchId(
);

Статический метод возвращает валидаторы поля SEARCH_ID.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateStatus

array public static
\Bitrix\Voximplant\QueueTable::validateStatus(
);

Статический метод возвращает валидаторы для поля STATUS.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Security

Security - классы для управления правами доступа телефонии.

Класс/Пространство имен | Описание | С версии
Permissions | Представление прав пользователя. | 16.5.5
RoleManager | Менеджер ролей. |


Permissions

Permissions - представление прав пользователя.

Метод | Описание | С версии
createWithUserId | Создает экземпляр класса для определенного пользователя. |
createWithCurrentUser | Создает экземпляр класса для текущего пользователя. |
getPermission | Возвращает код разрешения, основываясь на разрешении пользователя. |
canPerform | Возвращает true, если пользователь может выполнять определенное действие над сущностью. |
getNormalizedPermissions | Возвращает нормализованный массив разрешений. |
getUserId | Возвращает идентификатор пользователя. |
getActionName | Возвращает название действия по его коду. |
getEntityName | Возвращает название сущности по ее коду. |
getPermissionName | Возвращает название разрешения по его коду. |
canModifyLines | Проверяет наличие разрешения MODIFY в ENTITY_LINE. |
canModifySettings | Проверяет наличие разрешения MODIFY в ENTITY_SETTINGS. |


canModifyLines

boolean public
\Bitrix\Voximplant\Security\Permissions::canModifyLines(
);

Нестатический метод проверяет наличие разрешения MODIFY в ENTITY_LINE.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


canModifySettings

boolean public
\Bitrix\Voximplant\Security\Permissions::canModifySettings(
);

Нестатический метод проверяет наличие разрешения MODIFY в ENTITY_SETTINGS.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


canPerform

boolean public
\Bitrix\Voximplant\Security\Permissions::canPerform(
 string $entityCode,
 string $actionCode,
 string $minimumPermission = null
);

Нестатический метод возвращает true, если пользователь может выполнять определенное действие над сущностью.

Параметры

Параметр | Описание | Версия
$entityCode | Код сущности. |
$actionCode | Код действия. |
$minimumPermission | Код разрешения. |

Исключения

  • ArgumentException (\Bitrix\Main\ArgumentException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createWithCurrentUser

\Bitrix\Voximplant\Security\Permissions public static
\Bitrix\Voximplant\Security\Permissions::createWithCurrentUser(
);

Статический метод создает экземпляр класса для текущего пользователя.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createWithUserId

\Bitrix\Voximplant\Security\Permissions public static
\Bitrix\Voximplant\Security\Permissions::createWithUserId(
 integer $userId
);

Статический метод создает экземпляр класса для определенного пользователя.

Параметры

Параметр | Описание | Версия
$userId | Идентификатор пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getActionName

string public static
\Bitrix\Voximplant\Security\Permissions::getActionName(
 string $action
);

Статический метод возвращает название действия по его коду.

Параметры

Параметр | Описание | Версия
$action | Код действия. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEntityName

string public static
\Bitrix\Voximplant\Security\Permissions::getEntityName(
 string $entity
);

Статический метод возвращает название сущности по ее коду.

Параметры

Параметр | Описание | Версия
$entity | Код сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getNormalizedPermissions

array public static
\Bitrix\Voximplant\Security\Permissions::getNormalizedPermissions(
 array $permissions
);

Статический метод возвращает нормализованный массив разрешений.

Параметры

Параметр | Описание | Версия
$permissions | Ненормализованный массив изменений. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPermission

string public
\Bitrix\Voximplant\Security\Permissions::getPermission(
 string $entityCode,
 string $actionCode
);

Нестатический метод возвращает код разрешения, основываясь на разрешении пользователя.

Параметры

Параметр | Описание | Версия
$entityCode | Код сущности. |
$actionCode | Код действия. |

Исключения

  • ArgumentException (\Bitrix\Main\ArgumentException)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPermissionName

string public static
\Bitrix\Voximplant\Security\Permissions::getPermissionName(
 string $permission
);

Статический метод возвращает название разрешения по его коду.

Параметры

Параметр | Описание | Версия
$permission | Код разрешения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUserId

integer public
\Bitrix\Voximplant\Security\Permissions::getUserId(
);

Нестатический метод возвращает идентификатор пользователя.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


RoleManager

RoleManager - менеджер ролей.

Метод | Описание | С версии
deleteRole | Удаляет роль и все зависимые записи. |


deleteRole

null public static
\Bitrix\Voximplant\Security\RoleManager::deleteRole(
 integer $roleId
);

Статический метод удаляет роль и все зависимые записи.

Параметры

Параметр | Описание | Версия
$roleId | Идентификатор роли. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SipTable

SipTable - класс для работы с таблицей Настройки подключения к sip-серверу.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Возвращает список полей с типами. |
getTableName | Возвращает имя таблицы базы данных, соответствующей данной сущности. |
validateAppId | Возвращает валидаторы для поля APP_ID. | 15.1.2
validateIncomingLogin | Возвращает валидаторы для поля INCOMING_LOGIN. | 15.0.6
validateIncomingPassword | Возвращает валидаторы для поля INCOMING_PASSWORD. | 15.0.6
validateIncomingServer | Возвращает валидаторы для поля INCOMING_SERVER. | 15.0.6
validateLogin | Возвращает валидаторы для поля LOGIN. |
validatePassword | Возвращает валидаторы для поля PASSWORD. |
validateServer | Возвращает валидаторы для поля SERVER. |
validateType | Возвращает валидаторы для поля SERVER. | 15.0.6


getMap

array public static
\Bitrix\Voximplant\SipTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Voximplant\SipTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateAppId

array public static
\Bitrix\Voximplant\SipTable::validateAppId(
);

Статический метод возвращает валидаторы для поля APP_ID.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateIncomingLogin

array public static
\Bitrix\Voximplant\SipTable::validateIncomingLogin(
);

Статический метод возвращает валидаторы для поля INCOMING_LOGIN.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateIncomingPassword

array public static
\Bitrix\Voximplant\SipTable::validateIncomingPassword(
);

Статический метод возвращает валидаторы для поля INCOMING_PASSWORD.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateIncomingServer

array public static
\Bitrix\Voximplant\SipTable::validateIncomingServer(
);

Статический метод возвращает валидаторы для поля INCOMING_SERVER.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateLogin

array public static
\Bitrix\Voximplant\SipTable::validateLogin(
);

Статический метод возвращает валидаторы для поля LOGIN.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validatePassword

array public static
\Bitrix\Voximplant\SipTable::validatePassword(
);

Статический метод возвращает валидаторы для поля PASSWORD.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateServer

array public static
\Bitrix\Voximplant\SipTable::validateServer(
);

Статический метод возвращает валидаторы для поля SERVER.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateType

array public static
\Bitrix\Voximplant\SipTable::validateType(
);

Статический метод возвращает валидаторы для поля SERVER.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Tts

Tts - параметры произнесения речи.

Класс/Пространство имен | Описание | С версии
Volume | Параметры громкости. | 16.5.1
Speed | Параметры темпа произнесения. | 16.5.1
Language | Параметры языка. |


Language

Language - параметры языка.

Метод | Описание | С версии
getList | Возвращает список голосов, доступных для использования в операциях синтеза голоса (TTS). |
getDefaultVoice | Возвращает выбранный для TTS по умолчанию голос для идентификатора языка. |


getDefaultVoice

string public static
\Bitrix\Voximplant\Tts\Language::getDefaultVoice(
 string $lang = 'ru'
);

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

Возвращаемое значение: string.

Параметры

Параметр | Описание | Версия
$lang | Идентификатор языка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getList

array public static
\Bitrix\Voximplant\Tts\Language::getList(
);

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

Возвращаемое значение: array.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Speed

Speed - параметры темпа произнесения.

Метод | Описание | С версии
getList | Возвращает массив доступных для tts скоростей. |
getDefault | Возвращает выбранную для tts по умолчанию скорость. |


getDefault

string public static
\Bitrix\Voximplant\Tts\Speed::getDefault(
);

Статический метод возвращает выбранную для tts по умолчанию скорость.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getList

array public static
\Bitrix\Voximplant\Tts\Speed::getList(
);

Статический метод возвращает массив доступных для tts скоростей.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Volume

Volume - параметры громкости.

Метод | Описание | С версии
getList | Возвращает массив доступных для tts громкостей. |
getDefault | Возвращает выбранную для tts по умолчанию громкость. |


getDefault

string public static
\Bitrix\Voximplant\Tts\Volume::getDefault(
);

Статический метод возвращает выбранную для tts по умолчанию громкость.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getList

array public static
\Bitrix\Voximplant\Tts\Volume::getList(
);

Статический метод возвращает массив доступных для tts громкостей.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Торговый каталог

\Bitrix\Catalog - пространство имен модуля Торговый каталог.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('catalog');

Класс, пространство имен | Описание
CatalogIblockTable | Класс для работы с таблицей инфоблоков, являющимися торговыми каталогами.
CatalogViewedProductTable | Класс для работы с таблицей просмотренных на сайте товаров.
Discount | Пространство имен содержит классы для работы со скидками на товары.
DiscountCouponTable | Класс для работы с таблицей купонов скидок.
DiscountModuleTable | Класс для работы с таблицей модулей, необходимых для скидки.
DiscountRestrictionTable | Класс для работы с таблицей ограничений на применение скидок.
DiscountTable | Класс для работы с таблицей скидок на товары.
Ebay | Пространство содержит классы для интеграции с Ebay.
ExtraTable | Класс для работы с таблицей наценок.
GroupAccessTable | Класс для работы с таблицей прав доступа групп пользователей на просмотр и покупку товаров по имеющимся в системе типам цен.
GroupLangTable | Класс для работы с таблицей языкозависимых параметров типов цен.
GroupTable | Класс для работы с таблицей типов цен.
Helpers | Пространство вспомогательных классов.
MeasureRatioTable | Класс для работы с таблицей единиц измерения товаров.
MeasureTable | Класс, описывающий таблицу единиц измерений.
PriceTable | Класс для работы с таблицей ценовых предложений товаров.
Product | Пространство содержит классы для работы с товарами и их торговыми предложениями.
ProductGroupAccessTable | Класс для работы с таблицей продажи прав доступа к контенту.
ProductTable | Класс для работы с таблицей товаров торговых каталогов.
RoundingTable | Класс для работы с таблицей правил округления цен.
StoreBarcodeTable | Класс для работы с таблицей штрихкодов.
StoreProductTable | Класс для работы с таблицей хранящихся на складах товаров.
StoreTable | Класс для работы с таблицей складов.
SubscribeAccessTable | Класс для работы с таблицей данных для аутентификации подписавшихся на товары без регистрации пользователей.
SubscribeTable | Класс для работы с таблицей подписок на отсутствующие товары.
VatTable | Класс для работы с таблицей ставок НДС.


Торговый каталог в старом ядре

Отправить отзыв по этому разделу
Пространство имён Bitrix>Торговый каталог>Торговый каталог в старом ядре

Торговый каталог::Торговый каталог в старом ядре

Классы

Класс | Описание | С версии
CCatalog | Содержит методы для подключения/отключения информационного блока к модулю торгового каталога (т.е. для указания, что информационный блок является каталогом). | 3.2.1
CCatalogDiscount | Класс для управления скидками. | 4.0.4
CCatalogDiscountCoupon | Класс для работы с купонами скидок. | 5.1.0
CCatalogExport | Класс для работы с профилями экспорта. | 3.3.3
CCatalogGroup | Класс для управления типами цен торгового каталога. | 3.3.5
CCatalogIBlockParameters | Класс используется в файле .parameters.php компонентов модулей Информационные блоки и Торговый каталог. | 12.5.4
CCatalogImport | Класс для работы с профилями импорта. | 4.0.8
CCatalogProduct | Класс для управления свойствами (параметрами) товара, которые относятся к товару как к таковому (вес, количество на складе и т.п.). | 3.3.5
CCatalogProductGroups | Используется функционалом продажи доступа к контенту. Управляет информацией о том, к каким группам и на какой срок получит доступ клиент после покупки доступа. | 4.0.4
CCatalogProductProvider | Класс провайдер. Устарел с версии 17.5.0 модуля catalog. | 12.5.0
CCatalogProductSet | Класс для работы с наборами и комплектами. | 14.0.0
CCatalogSKU | Служебный класс для получения информации об инфоблоках, работающих в режиме SKU. | 11.0.2
CCatalogStore | Класс для работы со складами. | 12.0.0
CCatalogStoreProduct | Класс для работы со остатками товара на складах. | 12.0.0
CCatalogVat | Класс для работы со ставками НДС. | 7.0.0
CExtra | Класс для управления величинам наценок, которые могут быть использованы для генерации цен различных типов из базовой. | 3.1.1
CPrice | Класс для работы с ценами товаров (т.е. с предложениями). | 3.2.1

События и функции

События

  • Список событий

Функции

Список функций модуля Торговый каталог в ядре D7

Функция | Описание
CatalogGetPriceTableEx | Функция для получения цен.

Дополнительно

  • Взаимодействие торгового каталога и магазина
  • Добавление в корзину
  • Показ цен
  • Шаблоны экспорта (для разработчиков)
  • Шаблоны импорта (для разработчиков)
  • Кастомизация импорта из CommerceML
  • Структура таблиц модуля торгового каталога


CatalogIblockTable

CatalogIblockTable - класс для работы с таблицей инфоблоков, являющихся торговыми каталогами.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы инфоблоков, являющихся торговыми каталогами. | 15.0.1
getTableName | Метод возвращает название таблицы инфоблоков, являющихся торговыми каталогами. | 15.0.1

Поля таблицы инфоблоков, являющихся торговыми каталогами

Поле | Описание | Тип | Обяз.
IBLOCK_ID | Идентификатор инфоблока. | Int | Да
YANDEX_EXPORT | Флаг "Экспортировать в Яндекс.Товары" (Y/N). Используется при выгрузке на агенте, а не просто для экспорта в Яндекс. | Char(1) | Нет
SUBSCRIPTION | Флаг "Продажа контента" (Y/N). | Char(1) | Нет
VAT_ID | Идентификатор типа НДС. | Int | Нет
PRODUCT_IBLOCK_ID | Идентификатор инфоблока товаров (для инфоблока торговых предложений). | Int | Нет
SKU_PROPERTY_ID | Идентификатор свойства привязки к инфоблоку товаров (для инфоблока торговых предложений). | Int | Нет


getMap

Отправить отзыв по этому разделу
Пространство имён Bitrix>Торговый каталог>CatalogIblockTable>getMap (доступен с 15.0.1)

CatalogIblockTable::getMap

array public static
\Bitrix\Catalog\CatalogIblockTable::getMap(
);

Метод возвращает список полей для таблицы инфоблоков, являющихся торговыми каталогами. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

Отправить отзыв по этому разделу
Пространство имён Bitrix>Торговый каталог>CatalogIblockTable>getTableName (доступен с 15.0.1)

CatalogIblockTable::getTableName

string public static
\Bitrix\Catalog\CatalogIblockTable::getTableName(
);

Метод возвращает название таблицы инфоблоков, являющихся торговыми каталогами. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


CatalogViewedProductTable

Описание и методы

CatalogViewedProductTable - класс для работы с таблицей просмотренных на сайте товаров.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
clear | Метод очищает устаревшие данные из таблицы просмотренных на сайте товаров. | 14.5.1
clearAgent | Агент для очистки устаревших данных из таблицы просмотренных на сайте товаров. | 14.5.2
getMap | Метод возвращает список полей для таблицы просмотренных на сайте товаров. | 14.5.1
getProductSkuMap | Метод возвращает карту вида: товар - торговое предложение. | 15.0.0
getProductsMap | Метод возвращает список идентификаторов товаров в следующем формате: ключ - код торгового предложения, значение - код товара. | 14.5.3
getTableName | Метод возвращает название таблицы просмотренных на сайте товаров. | 14.5.1
refresh | Общий метод для изменения или вставки записи о просмотренном товаре в таблицу. | 14.5.1
validateRecommendation | Метод возвращает валидатор для поля RECOMMENDATION. | 16.5.2
validateSiteId | Метод возвращает валидатор для поля SITE_ID. | 16.5.2

Поля таблицы просмотренных товаров

Поле | Описание | Тип | Обяз.
ID | Идентификатор записи. | Int | Да
FUSER_ID | Идентификатор покупателя. | Int | Да
DATE_VISIT | Дата и время последнего просмотра товара. | Datetime | Да
PRODUCT_ID | Идентификатор товара (торгового предложения). | Int | Да
ELEMENT_ID | Идентификатор родительского товара. | Int | Да
SITE_ID | Идентификатор сайта. | Char(2) | Да
VIEW_COUNT | Количество просмотров | Int | Да
RECOMMENDATION | Тип рекомендации. | Varchar(40) | Нет


clear

Отправить отзыв по этому разделу
Пространство имён Bitrix>Торговый каталог>CatalogViewedProductTable>clear (доступен с 14.5.1)

CatalogViewedProductTable::clear

void public static
\Bitrix\Catalog\CatalogViewedProductTable::clear(
 integer $liveTime = 10
);

Метод очищает устаревшие данные из таблицы просмотренных на сайте товаров. Метод статический.

Параметры

Параметр | Описание | Версия
$liveTime | Период времени (в днях), через который данные считаются устаревшими. |

Примеры

Очистить все старше 1 дня.

\Bitrix\Main\Loader::includeModule('catalog');
\Bitrix\Catalog\CatalogViewedProductTable::clear(1);


clearAgent

Отправить отзыв по этому разделу
Пространство имён Bitrix>Торговый каталог>CatalogViewedProductTable>clearAgent (доступен с 14.5.2)

CatalogViewedProductTable::clearAgent

string public static
\Bitrix\Catalog\CatalogViewedProductTable::clearAgent(
);

Агент для очистки устаревших данных из таблицы просмотренных на сайте товаров. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

Отправить отзыв по этому разделу
Пространство имён Bitrix>Торговый каталог>CatalogViewedProductTable>getMap (доступен с 14.5.1)

CatalogViewedProductTable::getMap

array public static
\Bitrix\Catalog\CatalogViewedProductTable::getMap(
);

Метод возвращает список полей для таблицы просмотренных на сайте товаров. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getProductSkuMap

Отправить отзыв по этому разделу
Пространство имён Bitrix>Торговый каталог>CatalogViewedProductTable>getProductSkuMap (доступен с 15.0.0)

CatalogViewedProductTable::getProductSkuMap

array public static
\Bitrix\Catalog\CatalogViewedProductTable::getProductSkuMap(
 integer $iblockId,
 integer $sectionId,
 integer $fuserId,
 integer $excludeProductId,
 integer $limit,
 integer $depth,
 string|null $siteId = null
);

Метод возвращает карту вида: товар - торговое предложение. Метод статический.

Параметры

Параметр | Описание | Версия
$iblockId | Идентификатор инфоблока. |
$sectionId | Идентификатор раздела. |
$fuserId | Идентификатор покупателя. |
$excludeProductId | Идентификатор товара, который надо исключить из выборки. |
$limit | Максимальное количество. |
$depth | Глубина вложенности. |
$siteId | Идентификатор сайта. |

Примеры

Пример работы, для текущего пользоваетля, инфоблок 2.

\Bitrix\Main\Loader::includeModule('catalog');
$data = \Bitrix\Catalog\CatalogViewedProductTable::getProductSkuMap(
   $iblockId=2,
   $sectionId=false,
   $USER->getId(),
   $excludeIds=[],
   $limit=0,
   $depth=0,
   SITE_ID);
echo '<pre>'.print_r($data, 1).'</pre>';

Array
(
   [104] => 9
   [97] => 8
)


getProductsMap

Отправить отзыв по этому разделу
Пространство имён Bitrix>Торговый каталог>CatalogViewedProductTable>getProductsMap (доступен с 14.5.3)

CatalogViewedProductTable::getProductsMap

array public static
\Bitrix\Catalog\CatalogViewedProductTable::getProductsMap(
 array $originalIds = array()
);

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

Параметры

Параметр | Описание | Версия
$originalIds | Массив введенных идентификаторов товаров. |

Примеры

\Bitrix\Main\Loader::includeModule('catalog');
$data = \Bitrix\Catalog\CatalogViewedProductTable::getProductsMap([97, 119]);

Array(
    [97] => 8
    [119] => 12
)


getTableName

Отправить отзыв по этому разделу
Пространство имён Bitrix>Торговый каталог>CatalogViewedProductTable>getTableName (доступен с 14.5.1)

CatalogViewedProductTable::getTableName

string public static
\Bitrix\Catalog\CatalogViewedProductTable::getTableName(
);

Метод возвращает название таблицы просмотренных на сайте товаров. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


refresh

Отправить отзыв по этому разделу
Пространство имён Bitrix>Торговый каталог>CatalogViewedProductTable>refresh (доступен с 14.5.1)

CatalogViewedProductTable::refresh

integer public static
\Bitrix\Catalog\CatalogViewedProductTable::refresh(
 integer $productId,
 integer $fuserId,
 string|mixed $siteId = SITE_ID,
 integer $elementId,
 string $recommendationId = ''
);

Общий метод для изменения или вставки записи о просмотренном товаре в таблицу. Метод статический.

Параметры

Параметр | Описание | Версия
$productId | Идентификатор товара. |
$fuserId | Идентификатор владельца корзины. |
$siteId | Идентификатор сайта. |
$elementId | Идентификатор родительского элемента. | 15.0.0
$recommendationId | Идентификатор персональной рекомендации. | 15.0.0

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRecommendation

Отправить отзыв по этому разделу
Пространство имён Bitrix>Торговый каталог>CatalogViewedProductTable>validateRecommendation (доступен с 16.5.2)

CatalogViewedProductTable::validateRecommendation

array public static
\Bitrix\Catalog\CatalogViewedProductTable::validateRecommendation(
);

Метод возвращает валидатор для поляRECOMMENDATION. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateSiteId

Отправить отзыв по этому разделу
Пространство имён Bitrix>Торговый каталог>CatalogViewedProductTable>validateSiteId (доступен с 16.5.2)

CatalogViewedProductTable::validateSiteId

array public static
\Bitrix\Catalog\CatalogViewedProductTable::validateSiteId(
);

Метод возвращает валидатор для поля SITE_ID. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Discount

Пространство имен \Bitrix\Catalog\Discount содержит классы для работы со скидками на товары.

Класс | Описание
DiscountManager | Класс для работы со скидками в рамках заказов.


DiscountManager

DiscountManager - класс для работы со скидками в рамках заказов.

Методы класса

Метод | Описание | С версии
applyDiscount | Метод используется для расчета скидок на товары при оформлении и редактировании заказа. | 15.5.1
calculateApplyCoupons | Метод применяет к товарам корзины скидки, чьи купоны были переданы. Предназначен для расчета скидок купонов, добавленных к уже существующему заказу. | 16.0.7
catalogDiscountManager | Возвращает методы, необходимые для работы со скидками на товары в рамках заказа. | 15.5.1
extendOrderData | Метод дополняет товары корзины данными, необходимыми для применения правил корзины. | 15.5.1
getEditUrl | Метод возвращает адрес страницы редактирования скидки на товар в административном разделе сайта. | 15.5.1
prepareData | Метод возвращает информацию о скидке, необходимую для ее дальнейшего использования в рамках созданного заказа. | 15.5.1
roundPrice | Метод округляет цену товарной позиции в корзине. | 16.5.4
[link=6319859]roundBasket[/link] | Метод округляет цены в корзине и возвращает массив цен. | 17.0.11
[link=6319863]clearProductPropertiesCache[/link] | Метод очищает кэш свойств товара. | 17.0.11
[link=6319867]clearProductsCache[/link] | Метод очищает кэш товаров. | 17.0.11
[link=6319871]clearProductPricesCache[/link] | Метод очищает кэш цен товаров. | 17.0.11


applyDiscount

void public static
\Bitrix\Catalog\Discount\DiscountManager::applyDiscount(
 array &$product,
 array $discount
);

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

Параметры

Параметр | Описание | Версия
&$product | Параметры товара. |
$discount | Массив параметров скидки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


calculateApplyCoupons

array public static
\Bitrix\Catalog\Discount\DiscountManager::calculateApplyCoupons(
 array $couponsList,
 array $basket,
 array $params
);

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

Параметры

Параметр | Описание | Версия
$couponsList | Массив купонов. |
$basket | Массив параметров корзины. |
$params | Массив параметров расчета. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


catalogDiscountManager

\Bitrix\Main\EventResult public static
\Bitrix\Catalog\Discount\DiscountManager::catalogDiscountManager(
 \Bitrix\Main\Event $event
);

Возвращает методы, необходимые для работы со скидками на товары в рамках заказа. Метод статический.

Параметры

Параметр | Описание | Версия
$event | Данные события. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearProductPricesCache

void public static
\Bitrix\Catalog\Discount\DiscountManager::clearProductPricesCache(
);

Статический метод очищает кэш цен товаров. Метод ничего не возвращает.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearProductPropertiesCache

void public static
\Bitrix\Catalog\Discount\DiscountManager::clearProductPropertiesCache(
);

Статический метод очищает кэш свойств товара. Метод ничего не возвращает.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearProductsCache

void public static
\Bitrix\Catalog\Discount\DiscountManager::clearProductsCache(
);

Статический метод очищает кэш товаров. Метод ничего не возвращает.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


extendOrderData

\Bitrix\Main\EventResult public static
\Bitrix\Catalog\Discount\DiscountManager::extendOrderData(
 \Bitrix\Main\Event $event
);

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

Параметры

Параметр | Описание | Версия
$event | Данные события. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEditUrl

string public static
\Bitrix\Catalog\Discount\DiscountManager::getEditUrl(
 array $discount
);

Метод возвращает адрес страницы редактирования скидки на товар в административном разделе сайта. Метод статический.

Параметры

Параметр | Описание | Версия
$discount | Массив параметров скидки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareData

array|boolean public static
\Bitrix\Catalog\Discount\DiscountManager::prepareData(
 array $discount,
 array $params = array()
);

Метод возвращает информацию о скидке, необходимую для ее дальнейшего использования в рамках созданного заказа. Метод статический.

Параметры

Параметр | Описание | Версия
$discount | Массив параметров скидки. |
$params | Дополнительные параметры. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


roundBasket

array public static
\Bitrix\Catalog\Discount\DiscountManager::roundBasket(
 array $basket,
 array $basketRoundData = array(),
 array $orderData
);

Статический метод округляет цены в корзине и возвращает массив цен.

Параметры

Параметр | Описание | Версия
$basket | Информация о корзине. |
$basketRoundData | Массив с правилами округления. |
$orderData | Массив с информацией о сортировке.. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


roundPrice

array public static
\Bitrix\Catalog\Discount\DiscountManager::roundPrice(
 array $basketItem,
 array $roundData = array()
);

Метод округляет цену товарной позиции в корзине. Метод статический.

Параметры

Параметр | Описание | Версия
$basketItem | Массив данных товарной позиции в корзине. |
$roundData | Массив данных правила округления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DiscountCouponTable

Описание и методы

DiscountCouponTable - класс для работы с таблицей купонов скидок.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
checkCoupon | Метод проверяет, что купон с таким кодом уникален в рамках всего продукта. | 15.0.4
checkDiscountId | Метод проверяет, что идентификатор скидки больше нуля. | 15.5.2
couponManager | Возвращает методы работы с купонами каталога для менеджера купона. Самостоятельное использование метода не является необходимым. | 15.0.4
getCouponTypes | Возвращает массив имеющихся типов купонов. | 15.0.7
getData | Метод возвращает массив параметров купона либо false, если купон не найден. Самостоятельное использование метода не является необходимым. | 15.0.4
getMap | Метод возвращает список полей для таблицы купонов скидок. | 15.0.4
getTableName | Метод возвращает название таблицы купонов скидок. | 15.0.4
isExist | Метод проверяет существование купона. В случае наличия купона возвращает массив его параметров, иначе - false. | 15.0.9
onBeforeAdd | Является обработчиком по умолчанию события onBeforeAdd. | 15.5.2
onBeforeUpdate | Является обработчиком по умолчанию события onBeforeUpdate. | 15.5.2
saveApplied | Метод сохраняет примененные купоны. Самостоятельное использование метода не является необходимым. | 15.0.4
validateCoupon | Метод возвращает валидатор для поля COUPON (код купона). | 15.0.4
validateDiscountId | Метод возвращает валидатор для поля DISCOUNT_ID (код скидки). | 15.5.2

Поля купонов скидок

Поле | Описание | Тип | Обяз.
ID | Идентификатор купона. | Int | Да
DISCOUNT_ID | Идентификатор скидки. | Int | Да
ACTIVE | Флаг активности. | Char(1) | Нет
COUPON | Код купона. | String | Да
DATE_APPLY | Дата применения купона. | Datetime | Нет
ONE_TIME | Тип купона. | Char(1) | Да
TIMESTAMP_X | Дата изменения купона. | Datetime | Нет
MODIFY_BY | Кем изменен. | Int | Нет
DATE_CREATE | Дата и время создания купона. | Datetime | Нет
CREATED_BY | Код пользователя, создавшего купон. | Int | Нет
DESCRIPTION | Комментарий к купону. | String | Нет


checkCoupon

boolean|string public static
\Bitrix\Catalog\DiscountCouponTable::checkCoupon(
 integer $value,
 array|integer $primary,
 array $row,
 \Bitrix\Main\Entity\Field $field
);

Метод проверяет, что купон с таким кодом уникален в рамках всего продукта. Метод статический.

Параметры

Параметр | Описание | Версия
$value | Купон. |
$primary | Первичный ключ. |
$row | Текущие данные. |
$field | Объект \Bitrix\Main\Entity\Field. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkDiscountId

boolean|string public static
\Bitrix\Catalog\DiscountCouponTable::checkDiscountId(
 integer $value,
 array|integer $primary,
 array $row,
 \Bitrix\Main\Entity\Field $field
);

Метод проверяет, что идентификатор скидки больше нуля. В случае успеха возвращает true, в противном случае - сообщение о том, что идентификатор скидки неверен. Метод статический.

Параметры

Параметр | Описание | Версия
$value | Идентификатор скидки. |
$primary | Первичный ключ. |
$row | Массив текущих данных. |
$field | Объект класса \Bitrix\Main\Entity\Field. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


couponManager

\Bitrix\Main\EventResult public static
\Bitrix\Catalog\DiscountCouponTable::couponManager(
 \Bitrix\Main\Event $event
);

Возвращает методы работы с купонами каталога для менеджера купона. Метод статический. Самостоятельное использование метода не является необходимым.

Параметры

Параметр | Описание | Версия
$event | Событие менеджера купона. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCouponTypes

array public static
\Bitrix\Catalog\DiscountCouponTable::getCouponTypes(
 boolean $extendedMode = false
);

Возвращает массив имеющихся типов купонов. Метод статический.

Параметры

Параметр Описание Версия
$extendedMode Параметр определяет в каком виде возвращать массив типов купонов:
  • в кратком (false) - вернется массив, содержащий идентификаторы типов купонов в качестве элементов массива;
  • в развернутом (true) - идентификаторы типов купонов будут ключами массива, а значениями - названия типов.

Примеры

\Bitrix\Main\Loader::includeModule('catalog');
// в развернутом виде
$data = \Bitrix\Catalog\DiscountCouponTable::getCouponTypes(true);

Array(
    [Y] => Купон на одну позицию заказа
    [O] => Купон на один заказ
    [N] => Многоразовый купон
)


getData

array|false public static
\Bitrix\Catalog\DiscountCouponTable::getData(
 string $coupon
);

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

Параметры

Параметр | Описание | Версия
$coupon | Код купона. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Catalog\DiscountCouponTable::getMap(
);

Метод возвращает список полей для таблицы купонов скидок. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Catalog\DiscountCouponTable::getTableName(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isExist

array|false public static
\Bitrix\Catalog\DiscountCouponTable::isExist(
 string $coupon
);

Метод проверяет существование купона. В случае наличия купона возвращает массив его параметров, иначе - false. Метод статический.

Параметры

Параметр | Описание | Версия
$coupon | Проверяемый купон. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onBeforeAdd

\Bitrix\Main\Entity\EventResult public static
\Bitrix\Catalog\DiscountCouponTable::onBeforeAdd(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onBeforeAdd.

Параметры

Параметр | Описание | Версия
$event | Данные для добавления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onBeforeUpdate

\Bitrix\Main\Entity\EventResult public static
\Bitrix\Catalog\DiscountCouponTable::onBeforeUpdate(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onBeforeUpdate.

Параметры

Параметр | Описание | Версия
$event | Данные для изменения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


saveApplied

array|boolean public static
\Bitrix\Catalog\DiscountCouponTable::saveApplied(
 array $coupons,
 integer $userId,
 \Bitrix\Main\Type\DateTime $currentTime
);

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

Параметры

Параметр | Описание | Версия
$coupons | Массив купонов. |
$userId | Идентификатор пользователя. |
$currentTime | Текущая дата и время. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCoupon

array public static
\Bitrix\Catalog\DiscountCouponTable::validateCoupon(
);

Метод возвращает валидатор для поля COUPON (код купона). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateDiscountId

array public static
\Bitrix\Catalog\DiscountCouponTable::validateDiscountId(
);

Метод возвращает валидатор для поля DISCOUNT_ID (код скидки). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DiscountModuleTable

DiscountModuleTable - класс для работы с таблицей модулей, необходимых для скидки.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание
[link=6319815]validateModuleId[/link] | Метод возвращает массив валидаторов для поля MODULE_ID.
[link=6319819]deleteByDiscount[/link] | Метод удаляет значения модулей из таблицы по идентификатору скидки.
[link=6319807]getTableName[/link] | Метод возвращает название таблицы модулей, необходимых для скидки.
[link=6319811]getMap[/link] | Метод возвращает список полей для таблицы модулей, необходимых для скидки.


deleteByDiscount

void public static
\Bitrix\Catalog\DiscountModuleTable::deleteByDiscount(
 integer $discount
);

Статический метод удаляет значения модулей из таблицы по идентификатору скидки.

Параметры

Параметр | Описание | Версия
$discount | ID скидки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Catalog\DiscountModuleTable::getMap(
);

Статический метод возвращает список полей для таблицы модулей, необходимых для скидки.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Catalog\DiscountModuleTable::getTableName(
);

Статический метод возвращает название таблицы модулей, необходимых для скидки.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateModuleId

array public static
\Bitrix\Catalog\DiscountModuleTable::validateModuleId(
);

Статический метод возвращает массив валидаторов для поля MODULE_ID.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DiscountRestrictionTable

DiscountRestrictionTable - класс для работы с таблицей ограничений на применение скидок.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы ограничений на применение скидок. | 16.0.7
getTableName | Метод возвращает название таблицы ограничений на применение скидок. | 16.0.7
[link=6319791]changeActiveByDiscount[/link] | Метод устанавливает флаг активности в таблице по ID скидки. | 17.0.10
[link=6319795]deleteByDiscount[/link] | Метод удаляет список ограничений по ID скидки. | 17.0.10

Поля таблицы ограничений

Поле | Описание | Тип | Обяз.
ID | Идентификатор ограничения. | Int | Да
DISCOUNT_ID | Идентификатор скидки. | Int | Да
ACTIVE | Флаг активности (Y/N). | Char(1) | Нет
USER_GROUP_ID | Идентификатор группы пользователей. | Int | Нет
PRICE_TYPE_ID | Идентификатор типа цены. | Int | Нет


changeActiveByDiscount

void public static
\Bitrix\Catalog\DiscountRestrictionTable::changeActiveByDiscount(
 integer $discount,
 string $active
);

Статический метод устанавливает флаг активности в таблице по ID скидки. Метод ничего не возвращает.

Параметры

Параметр | Описание | Версия
$discount | ID скидки. |
$active | Флаг активности скидки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteByDiscount

void public static
\Bitrix\Catalog\DiscountRestrictionTable::deleteByDiscount(
 integer $discount
);

Статический метод удаляет список ограничений по ID скидки. Метод ничего не возвращает.

Параметры

Параметр | Описание | Версия
$discount | ID скидки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Catalog\DiscountRestrictionTable::getMap(
);

Метод возвращает список полей для таблицы ограничений на применение скидок. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Catalog\DiscountRestrictionTable::getTableName(
);

Метод возвращает название таблицы ограничений на применение скидок. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DiscountTable

Описание и методы

DiscountTable - класс для работы с таблицей скидок на товары.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
add | Метод добавляет новую скидку в соответствии с данными из массива $data. | 15.0.8
checkType | Метод проверяет поле TYPE (вид скидки: обычная или накопительная). | 15.0.4
convertCurrency | Метод пересчитывает параметры скидки в другой валюте (валюте магазина). | 15.0.8
delete | Метод удаляет скидку с первичным ключом $primary. | 15.0.8
getMap | Метод возвращает список полей для таблицы скидок на товары. | 15.0.4
getTableName | Метод возвращает название таблицы скидок на товары. | 15.0.4
update | Метод изменяет параметры скидки с ключом $primary в соответствии с данными из массива $data. | 15.0.4
validateCoupon | Метод возвращает валидатор для поля COUPON (код купона). | 15.0.8
validateCurrency | Метод возвращает валидатор для поля CURRENCY (код валюты). | 15.0.4
validateName | Метод возвращает валидатор для поля NAME (название скидки). | 15.0.4
validateNotes | Метод возвращает валидатор для поля NOTES (краткое описание скидки). | 15.0.4
validateSiteId | Метод возвращает валидатор для поля SITE_ID (идентификатор сайта). | 15.0.4
validateType | Метод возвращает валидатор для поля TYPE (вид скидки: обычная или накопительная). | 15.0.4
validateXmlId | Метод возвращает валидатор для поля XML_ID (внешний код). | 15.0.4

Поля скидок на товары

Поле | Описание | Тип | Обяз.
ID | Идентификатор скидки. | Int | Да
XML_ID | Внешний код. | Varchar(255) | Нет
SITE_ID | Идентификатор сайта. | Char(2) | Да
TYPE | Вид скидки: обычная или накопительная. | Int | Да
ACTIVE | Флаг активности. | Char(1) | Да
ACTIVE_FROM | Дата начала действия скидки. | Datetime | Нет
ACTIVE_TO | Дата окончания действия скидки. | Datetime | Нет
RENEWAL | Флаг "Применяется к продлению подписки". | Char(1) | Да
NAME | Название скидки. | Varchar(255) | Нет
SORT | Порядок сортировки. | Int | Да
MAX_DISCOUNT | Максимальная величина скидки. | Decimal(18,4) | Нет
VALUE_TYPE | Тип скидки (P - в процентах, F - фиксированная величина, S - Установить цену на товар). | Char(1) | Да
VALUE | Величина скидки. | Decimal(18,4) | Да
CURRENCY | Валюта. | Char(3) | Да
TIMESTAMP_X | Дата и время изменения скидки. | Datetime | Да
COUNT_PERIOD | Период для расчета скидок (U - за все время, P - за последние дни/месяцы/годы, D - за период). | Char(1) | Да
COUNT_SIZE | Длина периода, за который выбираются оплаченные заказы. | Int | Да
COUNT_TYPE | Тип периода (D - день, M - месяц, Y - год). | Char(1) | Да
COUNT_FROM | Дата начала периода для расчета скидок. | Datetime | Нет
COUNT_TO | Дата окончания периода для расчета скидок. | Datetime | Нет
ACTION_SIZE | Период действия скидок. | Int | Да
ACTION_TYPE | Срок действия скидок. | Char(1) | Да
MODIFIED_BY | Идентификатор последнего изменившего скидку. | Int | Нет
DATE_CREATE | Дата и время создания скидки. | Datetime | Нет
CREATED_BY | Код пользователя, создавшего скидку. | Int | Нет
PRIORITY | Приоритет применимости. | Int | Да
LAST_DISCOUNT | Флаг "Прекратить дальнейшее применение скидок" (Y/N). | Char(1) | Да
VERSION | Версия движка скидок. Поле только для чтения. | Int | Да
NOTES | Краткое описание. | Varchar(255) | Нет
CONDITIONS | Условия применения скидки. | Text | Нет
UNPACK | Php-код условия применения скидки. Поле только для чтения. | Text | Нет


add

\Bitrix\Main\Entity\AddResult public static
\Bitrix\Catalog\DiscountTable::add(
 array $data
);

Метод добавляет новую скидку в соответствии с данными из массива $data. Метод статический и является методом-заглушкой, порождающим исключения для добавления скидок. В настоящий момент необходимо использовать АПИ старого ядра [image].

Параметры

Параметр | Описание | Версия
$data | Массив параметров новой скидки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkType

boolean|string public static
\Bitrix\Catalog\DiscountTable::checkType(
 integer $value,
 integer|array $primary,
 array $row,
 \Bitrix\Main\Entity\Field $field
);

Метод проверяет поле TYPE (вид скидки: обычная или накопительная). Метод статический.

Параметры

Параметр | Описание | Версия
$value | Текущее значение поля. |
$primary | Первичный ключ записи. |
$row | Массив обновляемых значений. |
$field | Поле объекта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


convertCurrency

void public static
\Bitrix\Catalog\DiscountTable::convertCurrency(
 array &$discount,
 string $currency
);

Метод пересчитывает параметры скидки в другой валюте (валюте магазина). Метод статический.

Параметры

Параметр | Описание | Версия
&$discount | Массив с параметрами скидки. |
$currency | Новая валюта. |

Примеры

Есть скидка 100 рублей, нужно пересчитать в евро/

$discount = [
   'VALUE_TYPE' => \Bitrix\Catalog\DiscountTable::VALUE_TYPE_FIX,
   'CURRENCY' => 'RUB',
   'VALUE' => 100
];
\Bitrix\Catalog\DiscountTable::convertCurrency(
   $discount,
   'EUR'
);
echo '<pre>'.print_r($discount, 1).'</pre>';
Array(
   [VALUE_TYPE] => F
   [CURRENCY] => EUR
   [VALUE] => 1.28
)


delete

\Bitrix\Main\Entity\DeleteResult public static
\Bitrix\Catalog\DiscountTable::delete(
 mixed $primary
);

Метод удаляет скидку с первичным ключом $primary. Метод статический и является методом-заглушкой, порождающим исключения для удаления скидок. В настоящий момент необходимо использовать АПИ старого ядра [image].

Параметры

Параметр | Описание | Версия
$primary | Первичный ключ скидки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Catalog\DiscountTable::getMap(
);

Метод возвращает список полей для таблицы скидок на товары. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Catalog\DiscountTable::getTableName(
);

Метод возвращает название таблицы скидок на товары. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


update

\Bitrix\Main\Entity\UpdateResult public static
\Bitrix\Catalog\DiscountTable::update(
 mixed $primary,
 array $data
);

Метод изменяет параметры скидки с ключом $primary в соответствии с данными из массива $data. Метод статический и является методом-заглушкой, порождающим исключения для изменения скидок. В настоящий момент необходимо использовать АПИ старого ядра [image].

Параметры

Параметр | Описание | Версия
$primary | Первичный ключ скидки. |
$data | Массив параметров скидки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCoupon

array public static
\Bitrix\Catalog\DiscountTable::validateCoupon(
);

Метод возвращает валидатор для поля COUPON (код купона). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCurrency

array public static
\Bitrix\Catalog\DiscountTable::validateCurrency(
);

Метод возвращает валидатор для поля CURRENCY (код валюты). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateName

array public static
\Bitrix\Catalog\DiscountTable::validateName(
);

Метод возвращает валидатор для поля NAME (название скидки). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateNotes

array public static
\Bitrix\Catalog\DiscountTable::validateNotes(
);

Метод возвращает валидатор для поля NOTES (краткое описание скидки). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateSiteId

array public static
\Bitrix\Catalog\DiscountTable::validateSiteId(
);

Метод возвращает валидатор для поля SITE_ID (идентификатор сайта). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateType

array public static
\Bitrix\Catalog\DiscountTable::validateType(
);

Метод возвращает валидатор для поля TYPE (тип скидки). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateXmlId

array public static
\Bitrix\Catalog\DiscountTable::validateXmlId(
);

Метод возвращает валидатор для поля XML_ID (внешний код). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Ebay

Пространство имен \Bitrix\Catalog\Ebay содержит классы для интеграции с Ebay.

Примечание: Интеграция c Ebay в настоящее время недоступна. Методы класса ExportOffer работают в том числе с торговой площадкой Вконтакте.

Класс | Описание
ExportOffer | Класс содержит методы для выгрузки товаров в торг. площадку Вконтакте.


ExportOffer

ExportOffer - класс содержит методы для выгрузки торговых предложений в торговую площадку ВКонтакте.

Методы класса

Метод | Описание | С версии
current | Метод возвращает текущий элемент. |
getRub | Метод возвращает код валюты "рубль". |
key | Метод возвращает ключ текущего элемента. |
next | Метод выполняет переход к следующему элементу. |
rewind | Метод возвращает итератор на первый элемент. | 16.5.2
valid | Метод проверяет валидность текущей позиции. |


current

array public
\Bitrix\Catalog\Ebay\ExportOffer::current(
);

Метод возвращает текущий элемент. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRub

string public static
\Bitrix\Catalog\Ebay\ExportOffer::getRub(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


key

integer public
\Bitrix\Catalog\Ebay\ExportOffer::key(
);

Метод возвращает ключ текущего элемента. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


next

void public
\Bitrix\Catalog\Ebay\ExportOffer::next(
);

Метод выполняет переход к следующему элементу. Нестатический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


rewind

void public
\Bitrix\Catalog\Ebay\ExportOffer::rewind(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setOnlyAvailableFlag

 public
\Bitrix\Catalog\Ebay\ExportOffer::setOnlyAvailableFlag(
 boolean $flag
);

Метод устанавливает флаг "Экспортировать только доступные товары" в значение $flag. Нестатический метод.

Параметры

Параметр | Описание | Версия
$flag | Значение флага. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


valid

boolean public
\Bitrix\Catalog\Ebay\ExportOffer::valid(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ExtraTable

ExtraTable - класс для работы с таблицей наценок.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы наценок. |
validateName | Метод возвращает валидатор для поля NAME (название наценки). |
getTableName | Метод возвращает название таблицы наценок. |

Поля наценок

Поле | Описание | Тип | Обяз.
ID | Идентификатор наценки. | Int | Да
NAME | Название наценки. | Varchar(50) | Да
PERCENTAGE | Величина наценки. | Decimal(18,2) | Да


getMap

array public static
\Bitrix\Catalog\ExtraTable::getMap(
);

Метод возвращает список полей для таблицы наценок. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Catalog\ExtraTable::getTableName(
);

Метод возвращает название таблицы наценок. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateName

array public static
\Bitrix\Catalog\ExtraTable::validateName(
);

Метод возвращает валидатор для поля NAME (название наценки). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


GroupAccessTable

GroupAccessTable - класс для работы с таблицей прав доступа групп пользователей на просмотр и покупку товаров по имеющимся в системе типам цен.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы прав доступа групп пользователей на просмотр и покупку товаров по имеющимся в системе типам цен. | 16.0.14
getTableName | Метод возвращает название таблицы прав доступа групп пользователей на просмотр и покупку товаров по имеющимся в системе типам цен. | 16.0.14

Поля таблицы

Поле | Описание | Тип | Обяз.
ID | Идентификатор записи. | Int | Да
CATALOG_GROUP_ID | Идентификатор типа цены. | Int | Да
GROUP_ID | Идентификатор группы пользователей. | Int | Да
ACCESS | Флаг "покупка/просмотр" (Y - покупка, N - просмотр). | Char(1) | Да


getMap

array public static
\Bitrix\Catalog\GroupAccessTable::getMap(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Catalog\GroupAccessTable::getTableName(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


GroupLangTable

GroupLangTable - класс для работы с таблицей языкозависимых параметров типов цен.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы языкозависимых параметров типов цен. | 15.0.2
getTableName | Метод возвращает название таблицы языкозависимых параметров типов цен. | 15.0.2
validateLang | Метод возвращает валидатор для поля LID (код языка интерфейса). | 15.0.2
validateName | Метод возвращает валидатор для поля NAME (название типа цен в зависимости от языка интерфейса). | 15.0.2

Поля языкозависимых параметров типов цен

Поле | Описание | Тип | Обяз.
ID | Идентификатор записи. | Int | Да
CATALOG_GROUP_ID | Идентификатор типа цены. | Int | Да
LANG | Идентификатор языка интерфейса. | Char(2) | Да
NAME | Название типа цены. | Varchar(100) | Нет


getMap

array public static
\Bitrix\Catalog\GroupLangTable::getMap(
);

Метод возвращает список полей для таблицы языкозависимых параметров типов цен. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Catalog\GroupLangTable::getTableName(
);

Метод возвращает название таблицы языкозависимых параметров типов цен. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateLang

array public static
\Bitrix\Catalog\GroupLangTable::validateLang(
);

Метод возвращает валидатор для поля LID (код языка интерфейса). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateName

array public static
\Bitrix\Catalog\GroupLangTable::validateName(
);

Метод возвращает валидатор для поля NAME (название типа цен в зависимости от языка интерфейса). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


GroupTable

GroupTable - класс для работы с таблицей типов цен.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы типов цен. | 15.0.2
getTableName | Метод возвращает название таблицы типов цен в базе данных. | 15.0.2
validateName | Метод возвращает валидатор для поля NAME (внутреннее название типа цены). | 15.0.2
validateXmlId | Метод возвращает валидатор для поля XML_ID (внешний код). | 15.0.2

Поля типов цен

Поле | Описание | Тип | Обяз.
ID | Идентификатор типа цены. | Int | Да
NAME | Название типа цены. | Varchar(100) | Да
BASE | Флаг (Y/N) является ли тип базовым. | Сhar(1) | Да
SORT | Порядок сортировки. | Int | Да
XML_ID | Внешний код. | Varchar(255) | Нет
TIMESTAMP_X | Дата и время изменения типа цены. | Datetime | Нет
MODIFIED_BY | Идентификатор последнего изменившего тип цен. | Int | Нет
DATE_CREATE | Дата и время создания типа цены. | Datetime | Нет
CREATED_BY | Идентификатор пользователя, создавшего тип цены. | Int | Нет


getMap

array public static
\Bitrix\Catalog\GroupTable::getMap(
);

Метод возвращает список полей для таблицы типов цен. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Catalog\GroupTable::getTableName(
);

Метод возвращает название таблицы типов цен в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateName

array public static
\Bitrix\Catalog\GroupTable::validateName(
);

Метод возвращает валидатор для поля NAME (внутреннее название типа цены). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateXmlId

array public static
\Bitrix\Catalog\GroupTable::validateXmlId(
);

Метод возвращает валидатор для поля XML_ID (внешний код). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Helpers

Пространство имен \Bitrix\Catalog\Helpers содержит вспомогательные классы.

Подпространства и классы

Пространство имен | Описание
Admin | Пространство содержит классы для выполнения операций в административной части.


Admin

Пространство имен \Bitrix\Catalog\Helpers\Admin содержит классы для выполнения операций в административной части.

Классы

Класс | Описание
IblockPriceChanger | Класс содержит методы для группового изменения цен в списке товаров.
RoundEdit | Класс для работы с правилами округления.
Tools | Класс содержит вспомогательные методы.


IblockPriceChanger

IblockPriceChanger - класс содержит методы для группового изменения цен в списке товаров.

Методы класса

Метод | Описание | С версии
setUserDialogParams | Метод устанавливает параметры, которые были определены методами класса CAdminDialog. | 16.0.14
updatePrices | Метод изменяет цены выбранных с помощью групповых операций товаров. | 16.0.14
Конструктор IblockPriceChanger | Конструктор класса. | 16.0.14


setUserDialogParams

array|boolean public
\Bitrix\Catalog\Helpers\Admin\IblockPriceChanger::setUserDialogParams(
 array $userDialogParams
);

Метод устанавливает параметры, которые были определены методами класса CAdminDialog. Нестатический метод.

Параметры

Параметр | Описание | Версия
$userDialogParams | Массив параметров диалога. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


updatePrices

\Bitrix\Main\Result public
\Bitrix\Catalog\Helpers\Admin\IblockPriceChanger::updatePrices(
 array $productsIdList
);

Метод изменяет цены выбранных с помощью групповых операций товаров. Нестатический метод.

Параметры

Параметр | Описание | Версия
$productsIdList | Массив идентификаторов элементов (товаров). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор IblockPriceChanger

 public
\Bitrix\Catalog\Helpers\Admin\IblockPriceChanger::__construct(
 array $userDialogParams,
 integer $iblockId
);

Конструктор класса.

Параметры

Параметр | Описание | Версия
$userDialogParams | Массив параметров пользовательского диалога. |
$iblockId | Идентификатор инфоблока. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


RoundEdit

RoundEdit - класс для работы с правилами округления.

Методы класса

Метод | Описание | С версии
getPresetRoundValues | Метод возвращает набор значений округления для формы. |
prepareFields | Метод преобразует поля из формы так, чтобы методы add/update нового ядра могли выполниться корректно. |


getPresetRoundValues

array public static
\Bitrix\Catalog\Helpers\Admin\RoundEdit::getPresetRoundValues(
 boolean $dropdownList = false
);

Метод возвращает набор значений округления для формы. Метод статический.

Параметры

Параметр | Описание | Версия
$dropdownList | Если параметр принимает true, то ключами будут те же значения. В противном случае, ключи - 0,1,2,3,4 и т.д. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareFields

void public static
\Bitrix\Catalog\Helpers\Admin\RoundEdit::prepareFields(
 array &$fields
);

Метод преобразует поля из формы так, чтобы методы add/update нового ядра могли выполниться корректно. Метод статический.

Параметры

Параметр | Описание | Версия
&$fields | Поля для методов add/update. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Tools

Tools - класс содержит вспомогательные методы.

Методы класса

Метод | Описание | С версии
getPriceTypeLinkList | Метод возвращает массив с адресами страниц редактирования для всех типов цен. |
getPriceTypeList | Метод возвращает перечень типов цен для выпадающего списка. |


getPriceTypeLinkList

array public static
\Bitrix\Catalog\Helpers\Admin\Tools::getPriceTypeLinkList(
);

Метод возвращает массив с адресами страниц редактирования для всех типов цен. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPriceTypeList

array public static
\Bitrix\Catalog\Helpers\Admin\Tools::getPriceTypeList(
 boolean $codeIndex = false
);

Метод возвращает перечень типов цен для выпадающего списка. Метод статический.

Параметры

Параметр | Описание | Версия
$codeIndex | Если параметр принимает true, то для результирующего индекса будет использоваться символьный код типа цены. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


MeasureRatioTable

MeasureRatioTable - класс для работы с таблицей единиц измерения товаров.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getCurrentRatio | Метод возвращает массив коэффициентов единиц измерения для списка товаров. | 15.5.8
getMap | Метод возвращает список полей для таблицы единиц измерения товаров. | 15.5.8
getTableName | Метод возвращает название таблицы единиц измерения товаров. | 15.5.8

Поля единиц измерения товаров

Поле | Описание | Тип | Обяз.
ID | Идентификатор записи. | Int | Да
PRODUCT_ID | Идентификатор товара. | Int | Да
RATIO | Коэффициент единицы измерения. | Double | Да


getCurrentRatio

array|boolean public static
\Bitrix\Catalog\MeasureRatioTable::getCurrentRatio(
 array|integer $product
);

Метод возвращает массив коэффициентов единиц измерения для заданного списка товаров. Метод статический.

Параметры

Параметр | Описание | Версия
$product | Массив идентификаторов товаров. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Catalog\MeasureRatioTable::getMap(
);

Метод возвращает список полей для таблицы единиц измерения товаров. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Catalog\MeasureRatioTable::getTableName(
);

Метод возвращает название таблицы единиц измерения товаров. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


MeasureTable

MeasureTable - класс, описывающий таблицу единиц измерений.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getTableName | Метод возвращает имя таблицы Базы данных для сущности. |
getMap | Метод возвращает список полей для таблицы единиц измерения. |
validateMeasureTitle | Метод возвращает валидаторы для поля MEASURE_TITLE. |
validateSymbol | Метод возвращает валидаторы для поля SYMBOL. |
validateSymbolIntl | Метод возвращает валидаторы для поля SYMBOL_INTL |
validateSymbolLetterIntl | Метод возвращает валидаторы для поля SYMBOL_LETTER_INTL |


getMap

array public static
\Bitrix\Catalog\MeasureTable::getMap(
);

Статический метод возвращает список полей для таблицы единиц измерения.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Catalog\MeasureTable::getTableName(
);

Статический метод возвращает имя таблицы Базы данных для сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateMeasureTitle

array public static
\Bitrix\Catalog\MeasureTable::validateMeasureTitle(
);

Статический метод возвращает валидаторы для поля MEASURE_TITLE.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateSymbol

array public static
\Bitrix\Catalog\MeasureTable::validateSymbol(
);

Статический метод возвращает валидаторы для поля SYMBOL.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateSymbolIntl

array public static
\Bitrix\Catalog\MeasureTable::validateSymbolIntl(
);

Статический метод возвращает валидаторы для поля SYMBOL_INTL.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateSymbolLetterIntl

array public static
\Bitrix\Catalog\MeasureTable::validateSymbolLetterIntl(
);

Статический метод возвращает валидаторы для поля SYMBOL_LETTER_INTL.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


PriceTable

Описание и методы

PriceTable - класс для работы с таблицей ценовых предложений товаров.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы ценовых предложений товаров. | 16.0.3
getTableName | Метод возвращает название таблицы ценовых предложений товаров. | 16.0.3
validateCurrency | Метод возвращает валидатор для поля CURRENCY (код валюты). | 16.0.3
validateTmpId | Метод возвращает валидатор для поля TMP_ID (временный символьный идентификатор, используемый для служебных целей). | 16.0.3

Поля ценовых предложений

Поле | Описание | Тип | Обяз.
ID | Код (ID) ценового предложения. | Int | Да
PRODUCT_ID | Код товара или торгового предложения (ID элемента инфоблока). | Int | Да
EXTRA_ID | Код (ID) типа наценки. | Int | Нет
CATALOG_GROUP_ID | Код (ID) типа цен. | Int | Да
PRICE | Величина цены. | Decimal(18,2) | Да
CURRENCY | Код валюты цены. | Char(3) | Да
TIMESTAMP_X | Время модификации записи. | Datetime | Да
QUANTITY_FROM | Минимальное количество товара, на которое распространяется предложение. | Int | Нет
QUANTITY_TO | Максимальное количество товара, на которое распространяется предложение. | Int | Нет
TMP_ID | Временный строковый идентификатор, используемый для служебных целей. | Varchar(40) | Нет
PRICE_SCALE | Цена в базовой валюте. Поле доступно только для чтения, пересчитывается автоматически. | Decimal(26,12) | Нет

Пример

Вывод цены у одного товара в Интернет-Магазине.

\Bitrix\Main\Loader::includeModule("catalog");

$allProductPrices = \Bitrix\Catalog\PriceTable::getList([
  "select" => ["*"],
  "filter" => [
       "=PRODUCT_ID" => $arResult['ID'],
  ],
   "order" => ["CATALOG_GROUP_ID" => "ASC"]
])->fetchAll();


getMap

array public static
\Bitrix\Catalog\PriceTable::getMap(
);

Метод возвращает список полей для таблицы ценовых предложений товаров. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Catalog\PriceTable::getTableName(
);

Метод возвращает название таблицы ценовых предложений товаров. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCurrency

array public static
\Bitrix\Catalog\PriceTable::validateCurrency(
);

Метод возвращает валидатор для поля CURRENCY (код валюты). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateTmpId

array public static
\Bitrix\Catalog\PriceTable::validateTmpId(
);

Метод возвращает валидатор для поля TMP_ID (временный символьный идентификатор, используемый для служебных целей). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Product

Пространство имен \Bitrix\Catalog\Product содержит классы для работы с товарами и их торговыми предложениями.

Класс | Описание
Price | Класс для работы с ценами товаров.
Search | Класс содержит методы для поиска по товарам.
Sku | Класс для работы с торговыми предложениями.
SubscribeManager | Класс для работы с подписками.
Viewed | Класс для работы с просмотренными товарами.


Basket

\Bitrix\Catalog\Product\Basket - класс для добавления товаров в корзину.

Класс работает только с физическими товарами и везде требует наличия PRODUCT_ID в отличие от \Bitrix\Sale\Basket. Кроме этого, при добавлении в корзину через \Bitrix\Catalog\Product\Basket выполняется, например, проверка активности, прав доступа, типа товара и так далее, чего не делают методы собственно корзины.

Методы класса

Метод | Описание | С версии
addProduct | Метод для добавления товара в текущую корзину (не заказ) пользователя на сайте. Разработан для публичных компонентов как замена функции Add2BasketByProductID. | 17.5.9
addProductToBasket | Метод для добавления в произвольную корзину товара без проверки прав текущего пользователя. | 17.5.9
addProductToBasketWithPermissions | Метод для добавления в произвольную корзину товара с проверкой прав текущего пользователя. | 17.5.9
isNotCrawler | Метод возвращает результат проверки того, что текущий пользователь не является поисковым роботом. |


addProduct

\Bitrix\Main\Result public static
\Bitrix\Catalog\Product\Basket::addProduct(
 array $product,
 array $basketFields = array(),
 array $options = array()
);

Метод для добавления товара в текущую корзину (не заказ) пользователя на сайте. Разработан для публичных компонентов как замена функции Add2BasketByProductID. Метод статический.

Параметры

Параметр | Описание | Версия
$product | Массив параметров товара (вместе со свойствами). |
$basketFields | Массив параметров корзины (если используется). |
$options | Массив дополнительных параметров. |

Исключения

  • \Bitrix\Main\LoaderException
  • \Bitrix\Main\ObjectNotFoundException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addProductToBasket

\Bitrix\Main\Result public static
\Bitrix\Catalog\Product\Basket::addProductToBasket(
 \Bitrix\Sale\BasketBase $basket,
 array $fields,
 array $context
);

Метод для добавления в произвольную корзину товара без проверки прав текущего пользователя. Метод статический.

Параметры

Параметр | Описание | Версия
$basket | Объект корзины. |
$fields | Массив с параметрами добавляемого товара. |
$context | Массив параметров рабочего контента (сайт, пользователь). |

Исключения

  • \Bitrix\Main\LoaderException
  • \Bitrix\Main\ObjectNotFoundException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addProductToBasketWithPermissions

\Bitrix\Main\Result public static
\Bitrix\Catalog\Product\Basket::addProductToBasketWithPermissions(
 \Bitrix\Sale\BasketBase $basket,
 array $fields,
 array $context,
 boolean $useMerge = true
);

Метод для добавления в произвольную корзину товара с проверкой прав текущего пользователя. Метод статический.

Параметры

Параметр | Описание | Версия
$basket | Объект корзины. |
$fields | Массив параметров добавляемого товара. |
$context | Массив с параметрами рабочего контента (сайт, пользователь). |
$useMerge | Метод проверяет существующую запись в корзине перед добавлением товара. |

Исключения

  • \Bitrix\Main\LoaderException
  • \Bitrix\Main\ObjectNotFoundException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isNotCrawler

boolean public static
\Bitrix\Catalog\Product\Basket::isNotCrawler(
);

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

Примечание: на редакции Малый бизнес всегда вернет true.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Price

Price - класс для работы с ценами товаров.

Методы класса

Метод | Описание | С версии
clearRoundRulesCache | Метод сбрасывает кеш правил округления для заданного типа цены. | 16.5.4
getRoundRules | Метод возвращает список правил округления для заданного типа цены. | 16.5.4
handlerAfterUpdateCurrencyBaseRate | Является обработчиком события onAfterUpdateCurrencyBaseRate для изменения поля PRICE_SCALE после изменения курса валюты. | 16.0.3
roundPrice | Метод выполняет округление цены. | 16.5.4
roundValue | Метод округляет значение в соответствии с заданной точностью и типом округления. | 16.5.4
searchRoundRule | Метод возвращает правило округления для заданной величины цены. | 16.5.4
loadRoundRules | Метод получения правил округления нескольких типов цен.. | 17.0.10


clearRoundRulesCache

void public static
\Bitrix\Catalog\Product\Price::clearRoundRulesCache(
 integer $priceType
);

Метод сбрасывает кеш правил округления для заданного типа цены. Метод статический.

Параметры

Параметр | Описание | Версия
$priceType | Идентификатор типа цены. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRoundRules

array public static
\Bitrix\Catalog\Product\Price::getRoundRules(
 integer $priceType
);

Метод возвращает список правил округления для заданного типа цены. Метод статический.

Параметры

Параметр | Описание | Версия
$priceType | Идентификатор типа цены. |

Примеры

// Правила для цены с типом 1
\Bitrix\Main\Loader::includeModule('catalog');
$rules = \Bitrix\Catalog\Product\Price::getRoundRules(1);

Array(
    [0] => Array
        (
            [PRICE] => 100.0000
            [ROUND_TYPE] => 2
            [ROUND_PRECISION] => 1.0000
            [CATALOG_GROUP_ID] => 1


handlerAfterUpdateCurrencyBaseRate

void public static
\Bitrix\Catalog\Product\Price::handlerAfterUpdateCurrencyBaseRate(
 \Bitrix\Main\Event $event
);

Является обработчиком события onAfterUpdateCurrencyBaseRate для изменения поля PRICE_SCALE после изменения курса валюты.

Параметры

Параметр | Описание | Версия
$event | Параметры события (старый и новый курс валюты). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


loadRoundRules

void public static
\Bitrix\Catalog\Product\Price::loadRoundRules(
 array $priceTypes
);

Статический метод для получения правил округления нескольких типов цен. Метод служебный, используется для снижения числа запросов на странице в том случае, когда идет расчет цен нескольких типов (примеры - страницы товаров, корзина).

Параметры

Параметр | Описание | Версия
$priceTypes | Идентификаторы типов цен. |

Примеры

Загрузить в статический кеш ВСЕ правила округления для типов цен с ID = 7 и 12 (если такие правила существуют).

\Bitrix\Catalog\Product\Price::loadRoundRules(array(7,12));


roundPrice

float|integer public static
\Bitrix\Catalog\Product\Price::roundPrice(
 integer $priceType,
 float|integer $price,
 string $currency
);

Метод выполняет округление цены. Метод статический.

Параметры

Параметр | Описание | Версия
$priceType | Идентификатор типа цены. |
$price | Величина цены. |
$currency | Валюта. |

Примеры

// Округлим цену с типом 1 в рублях
echo \Bitrix\Catalog\Product\Price::roundPrice(
   1,
   555.2,
   'RUB'
);
// 556


roundValue

float|integer public static
\Bitrix\Catalog\Product\Price::roundValue(
 float|integer $value,
 float|integer $precision,
 integer $type
);

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

Параметры

Параметр | Описание | Версия
$value | Округляемое значение. |
$precision | Точность округления. |
$type | Тип округления. |

Примеры

// Округлене в пользу клиента
echo \Bitrix\Catalog\Product\Price::roundValue(
   $value=555.9,
   $precision=1,
   $roundType=4
); // 555


searchRoundRule

array public static
\Bitrix\Catalog\Product\Price::searchRoundRule(
 integer $priceType,
 float|integer $price,
 string $currency = ''
);

Метод возвращает правило округления для заданной величины цены. Метод статический.

Параметры

Параметр | Описание | Версия
$priceType | Идентификатор типа цены. |
$price | Величина цены. |
$currency | Валюта цены. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Search

Search - класс содержит методы для поиска по товарам.

Методы класса

Метод | Описание | С версии
onBeforeIndex | Метод сохраняет список разделов товара перед созданием поискового индекса. |


onBeforeIndex

array public static
\Bitrix\Catalog\Product\Search::onBeforeIndex(
 array $fields
);

Метод сохраняет список разделов товара перед созданием поискового индекса. Метод статический.

Параметры

Параметр | Описание | Версия
$fields | Массив параметров. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Sku

Sku - класс для работы с торговыми предложениями.

Константы класса

Константа | Описание
\Bitrix\Catalog\Product\Sku::OFFERS_ERROR | Неверные данные товара или инфоблока.
\Bitrix\Catalog\Product\Sku::OFFERS_NOT_EXIST | Предложений не существует.
\Bitrix\Catalog\Product\Sku::OFFERS_NOT_AVAILABLE | Предложения существуют, но нет доступных к покупке.
\Bitrix\Catalog\Product\Sku::OFFERS_AVAILABLE | Есть торговые предложения, доступные к покупке.

Методы класса

Метод | Описание | С версии
allowedUpdateAvailable | Метод возвращает true, если разрешено автоматическое обновление доступности товара к покупке. | 16.0.3
disableUpdateAvailable | Метод отключает автоматическое обновление доступности товара к покупке. | 16.0.3
enableUpdateAvailable | Метод включает автоматическое обновление доступности товара к покупке. | 16.0.3
getDefaultParentSettings | Метод возвращает настройки по умолчанию для товаров, имеющих торговые предложения, в зависимости от значения флага $state. | 16.0.3
getOfferState | Метод возвращает флаг общего состояния торговых предложений товара с кодом $productId для метода [link=1759701]Sku::getDefaultParentSettings[/link]. | 16.0.3
handlerAfterIblockElementAdd | Является обработчиком события OnAfterIBlockElementAdd. Не используется напрямую. | 16.0.3
handlerAfterIblockElementDelete | Является обработчиком события OnAfterIBlockElementDelete. Не используется напрямую. | 16.0.3
handlerAfterIBlockElementSetPropertyValues | Является обработчиком события OnAfterIBlockElementSetPropertyValues. Не используется напрямую. | 16.0.3
handlerAfterIblockElementUpdate | Является обработчиком события OnAfterIBlockElementUpdate. Не используется напрямую. | 16.0.3
handlerIblockElementAdd | Является обработчиком события OnIBlockElementAdd. Не используется напрямую. | 16.0.3
handlerIblockElementDelete | Является обработчиком события OnIBlockElementDelete. Не используется напрямую. | 16.0.3
handlerIblockElementSetPropertyValues | Является обработчиком события OnIBlockElementSetPropertyValues. Не используется напрямую. | 16.0.3
handlerIblockElementUpdate | Является обработчиком события OnIBlockElementUpdate. Не используется напрямую. | 16.0.3
updateAvailable | Метод изменяет флаг доступности товара к покупке. | 16.0.3 (устарел с 17.6.0)
calculateComplete | Метод вызывается, если необходимо обновить тип товара, доступность, сортировку по ценам товара с торговыми предложениями. В качестве аргумента принимает ID головного товара или ID торгового предложения. | 17.6.0
calculatePrice | Метод служит только для обновления сортировки по ценам торговых предложений (предполагается, что доступность и тип товара уже правильные). | 17.6.0
calculate | Собственно процедура пересчета. Если включен режим отложенных расчетов, ее необходимо будет вызывать самостоятельно. Необходимые данные должны быть подготовлены в Sku::calculateComplete или Sku::calculatePrice. | 17.6.0
enableDeferredCalculation | Метод включает отложенный пересчет доступности товара и цен. | 17.6.0
disableDeferredCalculation | Метод отключает отложенный пересчет доступности товара и цен. | 17.6.0
usedDeferredCalculation | Метод возвращает true, если разрешен отложенный пересчет доступности товара и цен. | 17.6.0


allowedUpdateAvailable

boolean public static
\Bitrix\Catalog\Product\Sku::allowedUpdateAvailable(
);

Метод возвращает true, если разрешено автоматическое обновление доступности товара к покупке. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


calculate

void public static
\Bitrix\Catalog\Product\Sku::calculate(
);

Собственно процедура пересчета. Если включен режим отложенных расчетов, ее необходимо будет вызывать самостоятельно. Необходимые данные должны быть подготовлены в Sku::calculateComplete или Sku::calculatePrice. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


calculateComplete

void public static
\Bitrix\Catalog\Product\Sku::calculateComplete(
 integer $id,
 null|integer $iblockId = null,
 null|integer $type = null
);

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

Параметры

Параметр | Описание | Версия
$id | Идентификатор товара (sku, предложения). |
$iblockId | Инфоблок товара (если значение неизвестно, устанавливается 0). |
$type | Тип товара (если значение неизвестно, устанавливается 0). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


calculatePrice

void public static
\Bitrix\Catalog\Product\Sku::calculatePrice(
 integer $id,
 null|integer $iblockId = null,
 null|integer $type = null,
 array $priceTypes
);

Метод служит только для обновления сортировки по ценам торговых предложений (предполагается, что доступность и тип товара уже правильные). Метод статический.

Параметры

Параметр | Описание | Версия
$id | Идентификатор товара (sku, предложения). |
$iblockId | Инфоблок товара (если значение неизвестно, устанавливается 0). |
$type | Тип товара (если значение неизвестно, устанавливается 0). |
$priceTypes | Идентификаторы типов цен (не заполняется, если нужно указать все типы). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


disableDeferredCalculation

void public static
\Bitrix\Catalog\Product\Sku::disableDeferredCalculation(
);

Метод отключает отложенный пересчет доступности товара и цен. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


disableUpdateAvailable

void public static
\Bitrix\Catalog\Product\Sku::disableUpdateAvailable(
);

Метод отключает автоматическое обновление доступности товара к покупке. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


enableDeferredCalculation

void public static
\Bitrix\Catalog\Product\Sku::enableDeferredCalculation(
);

Метод включает отложенный пересчет доступности товара и цен. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


enableUpdateAvailable

void public static
\Bitrix\Catalog\Product\Sku::enableUpdateAvailable(
);

Метод включает автоматическое обновление доступности товара к покупке. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDefaultParentSettings

array public static
\Bitrix\Catalog\Product\Sku::getDefaultParentSettings(
 integer $state
);

Метод возвращает настройки по умолчанию для товаров, имеющих торговые предложения, в зависимости от значения флага состояния $state. Метод статический.

Параметры

Параметр | Описание | Версия
$state | Флаг состояния. Может принимать значение любой из констант OFFERS_ERROR, OFFERS_NOT_EXIST, OFFERS_NOT_AVAILABLE, OFFERS_AVAILABLE. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOfferState

integer public static
\Bitrix\Catalog\Product\Sku::getOfferState(
 integer $productId,
 integer $iblockId
);

Метод возвращает флаг общего состояния торговых предложений товара с кодом $productId для метода [link=1759701]Sku::getDefaultParentSettings[/link]. Метод статический.

Параметры

Параметр | Описание | Версия
$productId | Идентификатор товара. |
$iblockId | Идентификатор инфоблока. |

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

Возвращается одна из констант self::OFFERS_XXX.

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


handlerAfterIblockElementAdd

void public static
\Bitrix\Catalog\Product\Sku::handlerAfterIblockElementAdd(
 array &$fields
);

Является обработчиком события OnAfterIBlockElementAdd. Не используется напрямую.

Параметры

Параметр | Описание | Версия
&$fields | Массив с параметрами элемента. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


handlerAfterIblockElementDelete

void public static
\Bitrix\Catalog\Product\Sku::handlerAfterIblockElementDelete(
 array $elementData
);

Является обработчиком события OnAfterIBlockElementDelete. Не используется напрямую.

Параметры

Параметр | Описание | Версия
$elementData | Массив с параметрами элемента. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


handlerAfterIBlockElementSetPropertyValues

void public static
\Bitrix\Catalog\Product\Sku::handlerAfterIBlockElementSetPropertyValues(
 integer $elementId,
 integer $iblockId,
 array $newValues,
 integer|string|false $propertyIdentifyer
);

Является обработчиком события OnAfterIBlockElementSetPropertyValues. Не используется напрямую.

Параметры

Параметр | Описание | Версия
$elementId | Идентификатор элемента. |
$iblockId | Идентификатор инфоблока. |
$newValues | Массив с новыми значениями свойства. |
$propertyIdentifyer | Идентификатор свойства. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


handlerAfterIblockElementUpdate

void public static
\Bitrix\Catalog\Product\Sku::handlerAfterIblockElementUpdate(
 array &$fields
);

Является обработчиком события OnAfterIBlockElementUpdate. Не используется напрямую.

Параметры

Параметр | Описание | Версия
&$fields | Массив с новыми параметрами элемента. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


handlerIblockElementAdd

void public static
\Bitrix\Catalog\Product\Sku::handlerIblockElementAdd(
 array $fields
);

Является обработчиком события OnIBlockElementAdd. Не используется напрямую.

Параметры

Параметр | Описание | Версия
$fields | Массив с параметрами элемента. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


handlerIblockElementDelete

void public static
\Bitrix\Catalog\Product\Sku::handlerIblockElementDelete(
 integer $elementId,
 array $elementData
);

Является обработчиком события OnIBlockElementDelete. Не используется напрямую.

Параметры

Параметр | Описание | Версия
$elementId | Идентификатор элемента. |
$elementData | Массив параметров элемента. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


handlerIblockElementSetPropertyValues

void public static
\Bitrix\Catalog\Product\Sku::handlerIblockElementSetPropertyValues(
 integer $elementId,
 integer $iblockId,
 array $newValues,
 integer|string|false $propertyIdentifyer,
 array $propertyList,
 array $currentValues
);

Является обработчиком события OnIBlockElementSetPropertyValues. Не используется напрямую.

Параметры

Параметр | Описание | Версия
$elementId | Идентификатор элемента. |
$iblockId | Идентификатор инфоблока. |
$newValues | Массив новых значений свойств. |
$propertyIdentifyer | Идентификатор свойства. |
$propertyList | Массив изменяемых свойств. |
$currentValues | Массив с текущими значениями свойств. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


handlerIblockElementUpdate

void public static
\Bitrix\Catalog\Product\Sku::handlerIblockElementUpdate(
 array $newFields,
 array $oldFields
);

Является обработчиком события OnIBlockElementUpdate. Не используется напрямую.

Параметры

Параметр | Описание | Версия
$newFields | Массив новых параметров элемента. |
$oldFields | Массив текущих параметров элемента. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


updateAvailable

boolean public static
\Bitrix\Catalog\Product\Sku::updateAvailable(
 integer $productId,
 integer $iblockId,
 array $productFields = array()
);

Метод изменяет флаг доступности товара к покупке. Метод статический.

Параметры

Параметр | Описание | Версия
$productId | Идентификатор товара. |
$iblockId | Идентификатор инфоблока (опционально). |
$productFields | Массив параметров товара (опционально). |

Исключения

  • \Bitrix\Main\ArgumentException
  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


usedDeferredCalculation

boolean public static
\Bitrix\Catalog\Product\Sku::usedDeferredCalculation(
);

Метод возвращает true, если разрешен отложенный пересчет доступности товара и цен. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SubscribeManager

SubscribeManager - класс для работы с подписками.

Методы класса

Метод | Описание | С версии
activateSubscription | Метод активирует подписку на товар путем очистки поля DATE_TO или указания срока действия подписки. |
addSubscribe | Метод добавляет новую подписку. |
authorizeSubscriber | Метод авторизует анонимного подписчика. |
checkAccessToSubscription | Метод проверяет доступ к подписке с помощью идентификатора пользователя или кода доступа. Администраторам всегда предоставлен доступ. |
checkSubscriptionActivity | Метод проверяет активность подписки по значению поля DATE_TO. |
deactivateSubscription | Метод деактивирует подписки, устанавливая в поле DATE_TO текущее значение даты и времени. |
deleteManySubscriptions | Метод, получая список идентификаторов подписок, удаляет множество подписок, проверяя права доступа. |
runSubscriberIdentification | Метод запускает процесс идентификации анонимного подписчика. |
setSessionOfSibscribedProducts | Метод записывает в сессию идентификатор товара, на который подписался пользователь, чтобы проверить подписан ли уже пользователь на этот товар. |
unSubscribe | Метод отписывает подписчика с помощью определенных входных данных. |


activateSubscription

boolean public
\Bitrix\Catalog\Product\SubscribeManager::activateSubscription(
 array $listSubscribeId,
 integer $timePeriod
);

Метод активирует подписку на товар путем очистки поля DATE_TO или указания срока действия подписки. Нестатический метод.

Параметры

Параметр | Описание | Версия
$listSubscribeId | Список идентификаторов подписок. |
$timePeriod | Период подписки в секундах. |

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addSubscribe

boolean|integer public
\Bitrix\Catalog\Product\SubscribeManager::addSubscribe(
 array $subscribeData
);

Метод добавляет новую подписку. Нестатический метод.

Параметры

Параметр | Описание | Версия
$subscribeData | Массив параметров подписки. Перечень ключей массива доступен в таблице. |

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\ArgumentNullException
  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


authorizeSubscriber

boolean public
\Bitrix\Catalog\Product\SubscribeManager::authorizeSubscriber(
 array $authorizationData
);

Метод авторизует анонимного подписчика. Нестатический метод.

Параметры

Параметр | Описание | Версия
$authorizationData | Массив с данными для авторизации. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkAccessToSubscription

boolean public
\Bitrix\Catalog\Product\SubscribeManager::checkAccessToSubscription(
 integer $subscribeId
);

Метод проверяет доступ к подписке с помощью идентификатора пользователя или кода доступа. Администраторам всегда предоставлен доступ. Нестатический метод.

Параметры

Параметр | Описание | Версия
$subscribeId | Идентификатор подписки. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkSubscriptionActivity

boolean public
\Bitrix\Catalog\Product\SubscribeManager::checkSubscriptionActivity(
 mixed $dateTo
);

Метод проверяет активность подписки по значению поля DATE_TO. Нестатический метод.

Параметры

Параметр | Описание | Версия
$dateTo | Пустое значение или экземпляр объекта DateTime. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deactivateSubscription

boolean public
\Bitrix\Catalog\Product\SubscribeManager::deactivateSubscription(
 array $listSubscribeId
);

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

Параметры

Параметр | Описание | Версия
$listSubscribeId | Список идентификаторов подписок. |

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteManySubscriptions

boolean public
\Bitrix\Catalog\Product\SubscribeManager::deleteManySubscriptions(
 array $listSubscribeId,
 integer $itemId
);

Метод, получая список идентификаторов подписок, удаляет множество подписок, проверяя права доступа. Нестатический метод.

Параметры

Параметр | Описание | Версия
$listSubscribeId | Список идентификаторов подписок. |
$itemId | Если этот параметр передается, очищается запись в сессии. |

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


runSubscriberIdentification

boolean public
\Bitrix\Catalog\Product\SubscribeManager::runSubscriberIdentification(
 array $subscriberData,
 boolean $sendLetter = true
);

Метод запускает процесс идентификации анонимного подписчика. . Нестатический метод.

Параметры

Параметр | Описание | Версия
$subscriberData | Массив с необходимыми для идентификации данными. |
$sendLetter | Флаг, определяющий необходимо ли отправлять письмо. |

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setSessionOfSibscribedProducts

 public
\Bitrix\Catalog\Product\SubscribeManager::setSessionOfSibscribedProducts(
 integer $itemId
);

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

Параметры

Параметр | Описание | Версия
$itemId | Идентификатор товара. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unSubscribe

boolean public
\Bitrix\Catalog\Product\SubscribeManager::unSubscribe(
 array $data
);

Метод отписывает подписчика с помощью определенных входных данных. Нестатический метод.

Параметры

Параметр | Описание | Версия
$data | Массив входных данных. |

Исключения

  • \Bitrix\Main\ArgumentException
  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Viewed

Viewed - класс для работы с просмотренными товарами.

Методы класса

Метод | Описание | С версии
getParentSection | Метод возвращает идентификатор родительского раздела с необходимой глубиной вложенности. |


getParentSection

integer|null public static
\Bitrix\Catalog\Product\Viewed::getParentSection(
 integer $sectionId,
 integer $depth
);

Метод возвращает идентификатор родительского раздела с необходимой глубиной вложенности. Метод статический.

Параметры

Параметр | Описание | Версия
$sectionId | Идентификатор раздела. |
$depth | Глубина вложенности. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

На демоверсии: 14 - это раздел Ремни женские. При глубине 2 - будет раздел Ремни. При глубине 1 - раздел Аксессуары

$sectionId = \Bitrix\Catalog\Product\Viewed::getParentSection($sectionId=14, $depth=2);
var_dump($data); // 13


ProductGroupAccessTable

ProductGroupAccessTable - класс для работы с таблицей продажи прав доступа к контенту.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getAccessPeriods | Метод возвращает массив поддерживаемых периодов. |
getMap | Метод возвращает список полей для таблицы продажи прав доступа. |
getTableName | Метод возвращает название таблицы продажи прав доступа. |


getAccessPeriods

array public static
\Bitrix\Catalog\ProductGroupAccessTable::getAccessPeriods(
 boolean $descr = false
);

Метод возвращает массив поддерживаемых периодов. Метод статический.

Параметры

Параметр | Описание | Версия
$descr | Если параметр принимает true, то периоды будут возвращаться с описанием. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Catalog\ProductGroupAccessTable::getMap(
);

Метод возвращает список полей для таблицы продажи прав доступа. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Catalog\ProductGroupAccessTable::getTableName(
);

Метод возвращает название таблицы продажи прав доступа. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ProductTable

Описание и методы

ProductTable - класс для работы с таблицей товаров торговых каталогов. Не предназначен для модификации данных.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
calculateAvailable | Метод возвращает флаг Y/N доступности товара к покупке для переданного массива товара. | 16.0.0
clearProductCache | Метод сбрасывает внутренний кеш на хите. | 15.5.2
getCurrentRatioWithMeasure | Метод возвращает коэффициент и код единиц измерения для товаров. | 15.5.8
getDefaultAvailableSettings | Метод возвращает доступные по умолчанию настройки. | 16.0.3
getMap | Метод возвращает список полей для таблицы товаров торговых каталогов. | 15.0.8
getPaymentPeriods | Метод возвращает список периодов оплаты. | 16.5.1
getPaymentTypes | Метод возвращает список типов оплаты. | 16.5.1
getProductTypes | Метод возвращает список типов товаров. | 16.0.3
getTableName | Метод возвращает название таблицы товаров торговых каталогов. | 15.0.8
isExistProduct | Метод проверяет наличие информации о товаре с кодом $product. | 15.5.2
loadDefaultProductSettings | Метод выбирает значения параметров товаров по умолчанию из настроек модуля. | 15.0.8
prepareCanBuyZero | Метод получает значение поля CAN_BUY_ZERO и, если оно равно D, то вместо текущего значения возвращает настройку поля CAN_BUY_ZERO из модуля. | 15.0.8
prepareQuantityTrace | Метод получает значение поля QUANTITY_TRACE и, если оно равно D, то вместо текущего значения возвращает настройку поля QUANTITY_TRACE из модуля. | 15.0.8
prepareSubscribe | Метод получает значение поля SUBSCRIBE и, если оно равно D, то вместо текущего значения возвращает настройку поля SUBSCRIBE из модуля. | 15.0.8
validatePriceType | Метод возвращает валидатор для поля PRICE_TYPE. | 15.0.8
validatePurchasingCurrency | Метод возвращает валидатор для поля PURCHASING_CURRENCY. | 15.0.8
validateRecurSchemeType | Метод возвращает валидатор для поля RECUR_SCHEME_TYPE. | 15.0.8
validateTmpId | Метод возвращает валидатор для поля TMP_ID. | 15.0.8

Поля товаров торговых каталогов

Поле | Описание | Тип | Обяз.
ID | Код (ID) продукта. | Int | Да
QUANTITY | Количество товара на складе. В совокупности с полем QUANTITY_TRACE позволяет вести учет количества для разрешения/запрещения покупки. | Double | Да
QUANTITY_TRACE | Флаг "Включить количественный учет" (Y/N/D) . | Char(1) | Да
WEIGHT | Вес единицы товара. | Double | Да
TIMESTAMP_X | Дата и время модификации записи. | Datetime | Да
PRICE_TYPE Тип цены. Используется для организации подписок. Варианты значений:
  • S - одноразовый платеж,
  • R - регулярные платежи,
  • T - пробная подписка
 Char(1) Да
RECUR_SCHEME_LENGTH | Длина периода подписки | Int | Нет
RECUR_SCHEME_TYPE Тип периода подписки. Варианты значений:
  • "H" - час,
  • "D" - сутки,
  • "W" - неделя,
  • "M" - месяц,
  • "Q" - квартал,
  • "S" - полугодие,
  • "Y" - год
 Char(1) Да
TRIAL_PRICE_ID | Код (ID) товара, для которого данный товар является пробным. | Int | Нет
WITHOUT_ORDER | Флаг "Продление подписки без оформления заказа" (Y/N). | Char(1) | Да
VAT_ID | Идентификатор ставки НДС, привязанной к товару. | Int | Нет
VAT_INCLUDED | Флаг "НДС включен в цену" (Y/N). | Char(1) | Нет
CAN_BUY_ZERO | Флаг "Разрешить покупку при отсутствии товара" (Y/N/D). | Char(1) | Да
TMP_ID | Временный строковый идентификатор, используемый для служебных целей. | Varchar(40) | Нет
PURCHASING_PRICE | Закупочная цена. | Decimal(18,2) | Нет
PURCHASING_CURRENCY | Валюта закупочной цены. | Char(3) | Нет
BARCODE_MULTI | Флаг определяет каждый ли экземпляр товара имеет собственный штрихкод (Y/N). | Char(1) | Да
QUANTITY_RESERVED | Зарезервированное количество. | Double | Нет
SUBSCRIBE | Флаг "Разрешить подписку при отсутствии товара" (Y/N/D). | Char(1) | Нет
WIDTH | Ширина товара (в мм). | Double | Нет
LENGTH | Длина товара (в мм). | Double | Нет
HEIGHT | Высота товара (в мм). | Double | Нет
MEASURE | Идентификатор единицы измерения. | Int | Нет
TYPE | Тип товара. | Int | Нет
AVAILABLE | Флаг доступности товара (Y/N). | Char(1) | Нет
BUNDLE | Признак наличия набора у товара (Y/N). | Char(1) | Нет

Типы товаров

Основные | Описание | С версии
\Bitrix\Catalog\ProductTable::TYPE_PRODUCT | Простой товар | 14.0.0
\Bitrix\Catalog\ProductTable::TYPE_SET | Комплект | 14.0.0
\Bitrix\Catalog\ProductTable::TYPE_SKU | Товар с торговыми предложениями | 16.0.3
\Bitrix\Catalog\ProductTable::TYPE_OFFER | Торговое предложение | 16.0.3
Дополнительные | Описание | С версии
\Bitrix\Catalog\ProductTable::TYPE_FREE_OFFER | Торговое предложение, у которого нет товара (не указан или удален). | 16.0.3
\Bitrix\Catalog\ProductTable::TYPE_EMPTY_SKU | Специфический тип, означает невалидный товар с торговыми предложениями. | 16.0.3
Добавляемые в корзину | Описание | С версии
\Bitrix\Catalog\ProductTable::TYPE_PRODUCT | Простой товар | 14.0.0
\Bitrix\Catalog\ProductTable::TYPE_SET | Комплект | 14.0.0
\Bitrix\Catalog\ProductTable::TYPE_OFFER | Торговое предложение | 16.0.3


calculateAvailable

string public static
\Bitrix\Catalog\ProductTable::calculateAvailable(
 array $fields
);

Метод возвращает флаг Y/N доступности товара к покупке для переданного массива товара. Метод статический.

Параметры

Параметр | Описание | Версия
$fields | Массив полей товара. В массиве обязательно должны быть заданы следующие ключи: QUANTITY, QUANTITY_TRACE и CAN_BUY_ZERO. |

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearProductCache

void public static
\Bitrix\Catalog\ProductTable::clearProductCache(
 integer $product
);

Метод сбрасывает внутренний кеш на хите (в рамках самого класса). Метод статический.

Параметры

Параметр | Описание | Версия
$product | Идентификатор товара или ноль, если следует сбросить кеш всех товаров. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrentRatioWithMeasure

array|boolean public static
\Bitrix\Catalog\ProductTable::getCurrentRatioWithMeasure(
 array|integer $product
);

Метод возвращает коэффициент и код единиц измерения для товаров. Метод статический.

Параметры

Параметр | Описание | Версия
$product | Идентификаторы товаров. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDefaultAvailableSettings

array public static
\Bitrix\Catalog\ProductTable::getDefaultAvailableSettings(
);

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

Без параметров

Примеры

$data = \Bitrix\Catalog\ProductTable::getDefaultAvailableSettings();

Array(
    [AVAILABLE] => N
    [QUANTITY] => 0
    [QUANTITY_TRACE] => Y
    [CAN_BUY_ZERO] => N
)


getMap

array public static
\Bitrix\Catalog\ProductTable::getMap(
);

Метод возвращает список полей для таблицы товаров торговых каталогов. Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPaymentPeriods

array public static
\Bitrix\Catalog\ProductTable::getPaymentPeriods(
 boolean $descr = false
);

Метод возвращает список периодов оплаты. Метод статический.

Параметры

Параметр | Описание | Версия
$descr | Если параметр принимает значение true, то список периодов оплаты будет возвращен с описанием. |

Примеры

$data = \Bitrix\Catalog\ProductTable::getPaymentPeriods(true);

Array
(
    [H] => час
    [D] => сутки
    [W] => неделя
    [M] => месяц
    [Q] => квартал
    [S] => полугодие
    [Y] => год
)


getPaymentTypes

array public static
\Bitrix\Catalog\ProductTable::getPaymentTypes(
 boolean $descr = false
);

Метод возвращает список типов оплаты. Метод статический.

Параметры

Параметр | Описание | Версия
$descr | Если параметр принимает значение true, то список типов оплаты будет возвращен с описанием. |

Примеры

$data = \Bitrix\Catalog\ProductTable::getPaymentTypes(true);

/*Array(
    [S] => одноразовая
    [R] => регулярная
    [T] => пробный период
)*/


getProductTypes

array public static
\Bitrix\Catalog\ProductTable::getProductTypes(
 boolean $descr = false
);

Метод возвращает список типов товаров. Метод статический.

Параметры

Параметр | Описание | Версия
$descr | Если параметр принимает значение true, то список будет возвращен с описанием. |

Примеры

$data = \Bitrix\Catalog\ProductTable::getProductTypes(true);
/*
Array(
    [1] => простой
    [2] => комплект
    [3] => товар с предложениями
    [4] => предложение
    [5] => предложение без товара
)*/


getTableName

string public static
\Bitrix\Catalog\ProductTable::getTableName(
);

Метод возвращает название таблицы товаров торговых каталогов. Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isExistProduct

boolean public static
\Bitrix\Catalog\ProductTable::isExistProduct(
 integer $product
);

Метод проверяет наличие информации о товаре с кодом $product. Метод статический.

Параметры

Параметр | Описание | Версия
$product | Идентификатор товара. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

use \Bitrix\Catalog\ProductTable;
$res = ProductTable::isExistProduct(9999);
var_dump($res);
// false


loadDefaultProductSettings

void public static
\Bitrix\Catalog\ProductTable::loadDefaultProductSettings(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareCanBuyZero

string public static
\Bitrix\Catalog\ProductTable::prepareCanBuyZero(
 string $value
);

Метод получает значение поля CAN_BUY_ZERO (разрешение покупки при отсутствии) и, если оно равно D, то вместо текущего значения возвращает настройку поля CAN_BUY_ZERO из модуля. Является служебным статическим методом.

Параметры

Параметр | Описание | Версия
$value | Значение поля CAN_BUY_ZERO. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareQuantityTrace

string public static
\Bitrix\Catalog\ProductTable::prepareQuantityTrace(
 string $value
);

Метод получает значение поля QUANTITY_TRACE (включить количественный учет) и, если оно равно D, то вместо текущего значения возвращает настройку поля QUANTITY_TRACE из модуля. Является служебным статическим методом.

Параметры

Параметр | Описание | Версия
$value | Значение поля QUANTITY_TRACE. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareSubscribe

string public static
\Bitrix\Catalog\ProductTable::prepareSubscribe(
 string $value
);

Метод получает значение поля SUBSCRIBE (разрешение подписки) и, если оно равно D, то вместо текущего значения возвращает настройку поля SUBSCRIBE из модуля. Является служебным статическим методом.

Параметры

Параметр | Описание | Версия
$value | Значение поля SUBSCRIBE. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validatePriceType

array public static
\Bitrix\Catalog\ProductTable::validatePriceType(
);

Метод возвращает валидатор для поля PRICE_TYPE (тип цены). Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validatePurchasingCurrency

array public static
\Bitrix\Catalog\ProductTable::validatePurchasingCurrency(
);

Метод возвращает валидатор для поля PURCHASING_CURRENCY (валюта закупочной цены). Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRecurSchemeType

array public static
\Bitrix\Catalog\ProductTable::validateRecurSchemeType(
);

Метод возвращает валидатор для поля RECUR_SCHEME_TYPE. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateTmpId

array public static
\Bitrix\Catalog\ProductTable::validateTmpId(
);

Метод возвращает валидатор для поля TMP_ID (временный символьный идентификатор, используемый для служебных целей). Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


RoundingTable

Описание и методы

RoundingTable - класс для работы с таблицей правил округления цен.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
allowClearCache | Метод разрешает сбросить кеш после нескольких использований методов add/update/delete. Всегда работает в паре с методом [link=3624479]disallowClearCache[/link]. |
clearCache | Метод сбрасывает управляемый кеш. |
clearPriceTypeIds | Метод очищает массив идентификаторов типов цен, которые были в работе при использовании методов add/update. |
deleteByPriceType | Метод удаляет правила округления для типа цен с кодом $priceType. |
disallowClearCache | Метод запрещает сбрасывать кеш после нескольких использований методов add/update/delete. Всегда работает в паре с методом [link=3624471]allowClearCache[/link]. |
getMap | Метод возвращает список полей для таблицы правил округления цен. |
getRoundTypes | Метод возвращает массив типов округления. |
getTableName | Метод возвращает название таблицы правил округления цен. |
isAllowedClearCache | Метод проверяет разрешен ли сброс кеша или нет. |
onAfterAdd | Является обработчиком по умолчанию события onAfterAdd. |
onAfterDelete | Является обработчиком по умолчанию события onAfterDelete. |
onAfterUpdate | Является обработчиком по умолчанию события onAfterUpdate. |
onBeforeAdd | Является обработчиком по умолчанию события onBeforeAdd. |
onBeforeUpdate | Является обработчиком по умолчанию события onBeforeUpdate. |
onDelete | Является обработчиком по умолчанию события onDelete. |
onUpdate | Является обработчиком по умолчанию события onUpdate. |
setPriceTypeIds | Метод формирует список типов цен, для которых будут добавлены/изменены/удалены правила округления. |

Поля правил округления

Поле | Описание | Тип | Обяз.
ID | Идентификатор правила. | Int | Да
CATALOG_GROUP_ID | Идентификатор типа цены. | Int | Да
PRICE | Минимальная цена. | Decimal(18, 4) | Да
ROUND_TYPE | Тип округления. | Int | Да
ROUND_PRECISION | Точность округления. | Decimal(18, 4) | Да
CREATED_BY | Код пользователя, создавшего правило. | Int | Нет
DATE_CREATE | Дата и время создания правила. | Datetime | Нет
MODIFY_BY | Код последнег изменившего правило. | Int | Нет
DATE_MODIFY | Дата и время последнего изменения правила. | Datetime | Нет


allowClearCache

void public static
\Bitrix\Catalog\RoundingTable::allowClearCache(
);

Метод разрешает сбросить кеш после нескольких использований методов add/update/delete. Всегда работает в паре с методом [link=3624479]disallowClearCache[/link]. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearCache

void public static
\Bitrix\Catalog\RoundingTable::clearCache(
);

Метод сбрасывает управляемый кеш. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearPriceTypeIds

void public static
\Bitrix\Catalog\RoundingTable::clearPriceTypeIds(
);

Метод очищает массив идентификаторов типов цен, которые были в работе при использовании методов add/update. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteByPriceType

void public static
\Bitrix\Catalog\RoundingTable::deleteByPriceType(
 string|integer $priceType
);

Метод удаляет правила округления для типа цен с кодом $priceType. Метод статический.

Параметры

Параметр | Описание | Версия
$priceType | Идентификатор типа цен. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


disallowClearCache

void public static
\Bitrix\Catalog\RoundingTable::disallowClearCache(
);

Метод запрещает сбрасывать кеш после нескольких использований методов add/update/delete. Всегда работает в паре с методом [link=3624471]allowClearCache[/link]. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Catalog\RoundingTable::getMap(
);

Метод возвращает список полей для таблицы правил округления цен. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getRoundTypes

array public static
\Bitrix\Catalog\RoundingTable::getRoundTypes(
 boolean $full = false
);

Метод возвращает массив типов округления. Метод статический.

Параметры

Параметр | Описание | Версия
$full | Если параметр принимает true, то типы будут возвращаться вместе с описанием. |

Примеры

$data = \Bitrix\Catalog\RoundingTable::getRoundTypes(true);

Array(
    [1] => Математическое
    [2] => В пользу магазина
    [4] => В пользу клиента
)


getTableName

string public static
\Bitrix\Catalog\RoundingTable::getTableName(
);

Метод возвращает название таблицы правил округления цен. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isAllowedClearCache

boolean public static
\Bitrix\Catalog\RoundingTable::isAllowedClearCache(
);

Метод проверяет разрешен ли сброс кеша или нет. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onAfterAdd

void public static
\Bitrix\Catalog\RoundingTable::onAfterAdd(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onAfterAdd.

Параметры

Параметр | Описание | Версия
$event | Данные для добавления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onAfterDelete

void public static
\Bitrix\Catalog\RoundingTable::onAfterDelete(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onAfterDelete.

Параметры

Параметр | Описание | Версия
$event | Данные для удаления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onAfterUpdate

void public static
\Bitrix\Catalog\RoundingTable::onAfterUpdate(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onAfterUpdate.

Параметры

Параметр | Описание | Версия
$event | Данные для изменения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onBeforeAdd

\Bitrix\Main\Entity\EventResult public static
\Bitrix\Catalog\RoundingTable::onBeforeAdd(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onBeforeAdd.

Параметры

Параметр | Описание | Версия
$event | Данные для добавления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onBeforeUpdate

\Bitrix\Main\Entity\EventResult public static
\Bitrix\Catalog\RoundingTable::onBeforeUpdate(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onBeforeUpdate.

Параметры

Параметр | Описание | Версия
$event | Данные для изменения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onDelete

void public static
\Bitrix\Catalog\RoundingTable::onDelete(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onDelete.

Параметры

Параметр | Описание | Версия
$event | Данные для удаления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onUpdate

void public static
\Bitrix\Catalog\RoundingTable::onUpdate(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onUpdate.

Параметры

Параметр | Описание | Версия
$event | Данные для обновления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setPriceTypeIds

void public static
\Bitrix\Catalog\RoundingTable::setPriceTypeIds(
 string|integer|array $priceTypes
);

Метод формирует список типов цен, для которых будут добавлены/изменены/удалены правила округления. Метод статический.

Параметры

Параметр | Описание | Версия
$priceTypes | Типы цен. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


StoreBarcodeTable

StoreBarcodeTable - класс для работы с таблицей штрихкодов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы штрихкодов товаров. |
getTableName | Метод возвращает название таблицы штрихкодов товаров. |
validateBarcode | Метод возвращает валидатор для поля BARCODE. |


getMap

array public static
\Bitrix\Catalog\StoreBarcodeTable::getMap(
);

Метод возвращает список полей для таблицы штрихкодов товаров. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Catalog\StoreBarcodeTable::getTableName(
);

Метод возвращает название таблицы штрихкодов товаров. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateBarcode

array public static
\Bitrix\Catalog\StoreBarcodeTable::validateBarcode(
);

Метод возвращает валидатор для поля BARCODE. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


StoreProductTable

StoreProductTable - класс для работы с таблицей хранящихся на складах товаров.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы хранящихся на складах товаров. |
getTableName | Метод возвращает название таблицы хранящихся на складах товаров. |

Поля таблицы хранящихся на складах товаров

Поле | Описание | Тип | Обяз.
ID | Идентификатор записи. | Int | Да
PRODUCT_ID | Идентификатор товара. | Int | Да
AMOUNT | Количество товара. | Double | Да
STORE_ID | Идентификатор склада. | Int | Да


getMap

array public static
\Bitrix\Catalog\StoreProductTable::getMap(
);

Метод возвращает список полей для таблицы хранящихся на складах товаров. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Catalog\StoreProductTable::getTableName(
);

Метод возвращает название таблицы хранящихся на складах товаров. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


StoreTable

Описание и методы

StoreTable - класс для работы с таблицей складов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы складов. | 12.5.1
getTableName | Метод возвращает название таблицы складов в базе данных. | 12.5.1
getUfId | Метод возвращает идентификатор объекта, для которого запрашиваются пользовательские поля. | 15.5.8
validateAddress | Метод возвращает валидатор для поля ADDRESS (адрес склада). | 16.0.3
validateEmail | Метод возвращает валидатор для поля EMAIL (адрес электронной почты). | 16.0.3
validateGpsN | Метод возвращает валидатор для поля GPS_N (GPS широта). | 16.0.3
validateGpsS | Метод возвращает валидатор для поля GPS_S (GPS долгота). | 16.0.3
validateImageId | Метод возвращает валидатор для поля IMAGE_ID (код изображения). | 16.0.3
validatePhone | Метод возвращает валидатор для поля PHONE (телефон склада). | 16.0.3
validateSchedule | Метод возвращает валидатор для поля SCHEDULE (график работы). | 16.0.3
validateSiteId | Метод возвращает валидатор для поля SITE_ID (код сайта). | 16.0.3
validateTitle | Метод возвращает валидатор для поля TITLE (название склада). | 16.0.3
validateXmlId | Метод возвращает валидатор для поля XML_ID (внешний код). | 16.0.3
validateCode | Метод возвращает валидатор для поля CODE. | 17.0.4

Поля складов

Поле | Описание | Тип | Обяз.
ID | Код (ID) склада. | Int | Да
TITLE | Название склада. | Varchar(75) | Нет
ACTIVE | Признак активности (Y/N). | Char(1) | Да
ADDRESS | Адрес склада. | Varchar(245) | Да
DESCRIPTION | Описание. | Text | Нет
GPS_N | GPS широта. | Varchar(15) | Нет
GPS_S | GPS долгота. | Varchar(15) | Нет
IMAGE_ID | Идентификатор изображения в таблице файлов. | Varchar(45) | Нет
LOCATION_ID | Идентификатор местоположения. | Int | Нет
DATE_MODIFY | Дата и время последнего изменения параметров склада. | Datetime | Да
DATE_CREATE | Дата и время создания склада. | Datetime | Нет
USER_ID | Код пользователя, создавшего склад. | Int | Нет
MODIFIED_BY | Код последнего изменившего склад. | Int | Нет
PHONE | Телефон склада. | Varchar(45) | Нет
SCHEDULE | График работы склада. | Varchar(255) | Нет
XML_ID | Внешний код. | Varchar(255) | Нет
SORT | Индекс сортировки. | Int | Да
EMAIL | Электронный адрес. | Varchar(255) | Нет
ISSUING_CENTER | Флаг "Пункт выдачи" (Y/N). | Char(1) | Да
SHIPPING_CENTER | Флаг "Для отгрузки" (Y/N). | Char(1) | Да
SITE_ID | Идентификатор сайта. | Char(2) | Нет


getMap

array public static
\Bitrix\Catalog\StoreTable::getMap(
);

Метод возвращает список полей для таблицы складов. Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Catalog\StoreTable::getTableName(
);

Метод возвращает название таблицы складов в базе данных. Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUfId

string public static
\Bitrix\Catalog\StoreTable::getUfId(
);

Метод возвращает идентификатор объекта, для которого запрашиваются пользовательские поля. Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateAddress

array public static
\Bitrix\Catalog\StoreTable::validateAddress(
);

Метод возвращает валидатор для поля ADDRESS (адрес склада). Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCode

array public static
\Bitrix\Catalog\StoreTable::validateCode(
);

Статический метод возвращает валидаторы для поля CODE.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateEmail

array public static
\Bitrix\Catalog\StoreTable::validateEmail(
);

Метод возвращает валидатор для поля EMAIL (адрес электронной почты). Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateGpsN

array public static
\Bitrix\Catalog\StoreTable::validateGpsN(
);

Метод возвращает валидатор для поля GPS_N (GPS широта). Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateGpsS

array public static
\Bitrix\Catalog\StoreTable::validateGpsS(
);

Метод возвращает валидатор для поля GPS_S (GPS долгота). Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateImageId

array public static
\Bitrix\Catalog\StoreTable::validateImageId(
);

Метод возвращает валидатор для поля IMAGE_ID (код изображения). Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validatePhone

array public static
\Bitrix\Catalog\StoreTable::validatePhone(
);

Метод возвращает валидатор для поля PHONE (телефон склада). Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateSchedule

array public static
\Bitrix\Catalog\StoreTable::validateSchedule(
);

Метод возвращает валидатор для поля SCHEDULE (график работы). Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateSiteId

array public static
\Bitrix\Catalog\StoreTable::validateSiteId(
);

Метод возвращает валидатор для поля SITE_ID (код сайта). Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateTitle

array public static
\Bitrix\Catalog\StoreTable::validateTitle(
);

Метод возвращает валидатор для поля TITLE (название склада). Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateXmlId

array public static
\Bitrix\Catalog\StoreTable::validateXmlId(
);

Метод возвращает валидатор для поля XML_ID (внешний код). Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SubscribeAccessTable

SubscribeAccessTable - класс для работы с таблицей данных для аутентификации подписавшихся на товары без регистрации пользователей.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
clearOldRows | Метод удаляет из таблицы записи с данными, для которых закончилось время жизни кода доступа. |
getMap | Метод возвращает список полей для таблицы с данными для аутентификации подписавшихся на товары без регистрации пользователей. |
getTableName | Метод возвращает название таблицы данных для аутентификации подписавшихся на товары без регистрации пользователей. |
validateToken | Метод возвращает валидатор для поля TOKEN. |

Поля таблицы данных для аутентификации пользователей

Поле | Описание | Тип | Обяз.
ID | Код записи. | Int | Да
DATE_FROM | Дата и время получения кода доступа. | Datetime | Да
USER_CONTACT | Контакт пользователя. | Varchar(255) | Да
TOKEN | Код доступа. | Char(6) | Да


clearOldRows

void public static
\Bitrix\Catalog\SubscribeAccessTable::clearOldRows(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Catalog\SubscribeAccessTable::getMap(
);

Метод возвращает список полей для таблицы с данными для аутентификации подписавшихся на товары без регистрации пользователей. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Catalog\SubscribeAccessTable::getTableName(
);

Метод возвращает название таблицы данных для аутентификации подписавшихся на товары без регистрации пользователей. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateToken

array public static
\Bitrix\Catalog\SubscribeAccessTable::validateToken(
);

Метод возвращает валидатор для поля TOKEN. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SubscribeTable

Описание и методы

SubscribeTable - класс для работы с таблицей подписок на отсутствующие товары.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
checkPermissionSubscribe | Метод проверяет разрешение подписки на товар. |
getContactTypes | Метод возвращает все доступные типы контактов пользователя для подписки. |
getMap | Метод возвращает список полей для таблицы подписок на отсутствующие товары. |
getTableName | Метод возвращает название таблицы подписок на отсутствующие товары. |
onAddContactType | Обработчик события onAddContactType. Добавляет новый тип контакта пользователя. |
onIblockElementDelete | Обработчик события onIblockElementDelete. Удаляет данные по подписке в случае удаления товара. |
onProductSetAvailableUpdate | Обработчик события onProductSetAvailableUpdate. Отправляет уведомление подписчикам о поступлении товара (событие для комплектов). |
onProductUpdate | Обработчик события onProductUpdate. Отправляет уведомление подписчикам о поступлении товара (событие для простых товаров). |
onSaleOrderSaved | Обработчик события OnSaleOrderSaved. Удаляет подписку пользователя на товар при оформлении им заказа. |
onUserDelete | Обработчик события onUserDelete. Изменяет данные о подписках при удалении пользователя. |
runAgentToSendNotice | Метод запускает агент по отправке уведомлений подписчикам. |
runAgentToSendRepeatedNotice | Метод запускает агент по отправке повторных уведомлений подписчикам. |
sendNotice | Является агентом. Получает необходимые данные и отправляет уведомления пользователям. |
sendRepeatedNotice | Является агентом. Получает необходимые данные и отправляет повторные уведомления пользователям. |
setOldProductAvailable | Метод сохраняет старое значение доступности товара в статическую переменную для того, чтобы позднее проверить, как эта доступность была изменена. |
validateNeedSending | Метод возвращает валидатор для поля NEED_SENDING. |
validateSiteId | Метод возвращает валидатор для поля SITE_ID. |

Поля подписок на отсутствующие товары

Поле | Описание | Тип | Обяз.
ID | Код подписки. | Int | Да
DATE_FROM | Дата подписки на товар. | Datetime | Да
DATE_TO | Дата окончания подписки. | Datetime | Нет
USER_CONTACT | Контакт пользователя. | Varchar(255) | Да
CONTACT_TYPE | Тип контакта. | Smallint | Да
USER_ID | Идентификатор пользователя. | Int | Нет
ITEM_ID | Код товара. | Int | Да
NEED_SENDING | Активность подписки. | Char(1) | Да
SITE_ID | Идентификатор сайта. | Char(2) | Да


checkPermissionSubscribe

boolean public static
\Bitrix\Catalog\SubscribeTable::checkPermissionSubscribe(
 string $subscribe
);

Метод проверяет разрешение подписки на товар. Метод статический.

Параметры

Параметр | Описание | Версия
$subscribe | Значение поля SUBSCRIBE для продукта. |

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getContactTypes

array public static
\Bitrix\Catalog\SubscribeTable::getContactTypes(
);

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

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Catalog\SubscribeTable::getMap(
);

Метод возвращает список полей для таблицы подписок на отсутствующие товары. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Catalog\SubscribeTable::getTableName(
);

Метод возвращает название таблицы подписок на отсутствующие товары. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onAddContactType

void public static
\Bitrix\Catalog\SubscribeTable::onAddContactType(
 array &$contactTypes
);

Обработчик события onAddContactType. Добавляет новый тип контакта пользователя.

Параметры

Параметр | Описание | Версия
&$contactTypes | Тип контакта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onIblockElementDelete

boolean public static
\Bitrix\Catalog\SubscribeTable::onIblockElementDelete(
 integer $productId
);

Обработчик события onIblockElementDelete. Удаляет данные по подписке в случае удаления товара.

Параметры

Параметр | Описание | Версия
$productId | Идентификатор товара. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onProductSetAvailableUpdate

boolean public static
\Bitrix\Catalog\SubscribeTable::onProductSetAvailableUpdate(
 integer $productId,
 array $fields
);

Обработчик события onProductSetAvailableUpdate. Отправляет уведомление подписчикам о поступлении товара (событие для комплектов).

Параметры

Параметр | Описание | Версия
$productId | Идентификатор товара. |
$fields | Массив данных события. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onProductUpdate

boolean public static
\Bitrix\Catalog\SubscribeTable::onProductUpdate(
 integer $productId,
 array $fields
);

Обработчик события onProductUpdate. Отправляет уведомление подписчикам о поступлении товара (событие для простых товаров).

Параметры

Параметр | Описание | Версия
$productId | Идентификатор товара. |
$fields | Массив данных события. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onSaleOrderSaved

void public static
\Bitrix\Catalog\SubscribeTable::onSaleOrderSaved(
 \Bitrix\Main\Event $event
);

Обработчик события OnSaleOrderSaved. Удаляет подписку пользователя на товар при оформлении им заказа.

Параметры

Параметр | Описание | Версия
$event | Объект события. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onUserDelete

boolean public static
\Bitrix\Catalog\SubscribeTable::onUserDelete(
 integer $userId
);

Обработчик события onUserDelete. Изменяет данные о подписках при удалении пользователя.

Параметры

Параметр | Описание | Версия
$userId | Идентификатор пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


runAgentToSendNotice

boolean public static
\Bitrix\Catalog\SubscribeTable::runAgentToSendNotice(
 integer $productId
);

Метод запускает агент по отправке уведомлений подписчикам. Метод статический.

Параметры

Параметр | Описание | Версия
$productId | Идентификатор товара. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


runAgentToSendRepeatedNotice

boolean public static
\Bitrix\Catalog\SubscribeTable::runAgentToSendRepeatedNotice(
 integer $productId
);

Метод запускает агент по отправке повторных уведомлений подписчикам. Метод статический.

Параметры

Параметр | Описание | Версия
$productId | Идентификатор товара. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


sendNotice

string public static
\Bitrix\Catalog\SubscribeTable::sendNotice(
);

Является агентом. Получает необходимые данные и отправляет уведомления пользователям.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


sendRepeatedNotice

string public static
\Bitrix\Catalog\SubscribeTable::sendRepeatedNotice(
);

Является агентом. Получает необходимые данные и отправляет повторные уведомления пользователям.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setOldProductAvailable

boolean public static
\Bitrix\Catalog\SubscribeTable::setOldProductAvailable(
 integer $productId,
 string $available
);

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

Параметры

Параметр | Описание | Версия
$productId | Идентификатор товара. |
$available | Значение поля доступности товара к покупке. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateNeedSending

array public static
\Bitrix\Catalog\SubscribeTable::validateNeedSending(
);

Метод возвращает валидатор для поля NEED_SENDING. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateSiteId

array public static
\Bitrix\Catalog\SubscribeTable::validateSiteId(
);

Метод возвращает валидатор для поля SITE_ID. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


VatTable

VatTable - класс для работы с таблицей ставок НДС.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы ставок НДС. | 15.0.2
getTableName | Метод возвращает название таблицы ставок НДС в базе данных. | 15.0.2
validateName | Метод возвращает валидатор для поля NAME. | 15.0.2

Поля ставок НДС

Поле | Описание | Тип | Обяз.
ID | Код (ID) ставки НДС. | Int | Да
TIMESTAMP_X | Дата и время последнего изменения ставки НДС. | Datetime | Да
ACTIVE | Признак активности (Y/N). | Char(1) | Да
C_SORT | Индекс сортировки. | Int | Да
NAME | Название ставки НДС. | Varchar(50) | Да
RATE | Величина ставки. | Decimal(18,2) | Да


getMap

array public static
\Bitrix\Catalog\VatTable::getMap(
);

Метод возвращает список полей для таблицы ставок НДС. Статический метод.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Catalog\VatTable::getTableName(
);

Метод возвращает название таблицы ставок НДС в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateName

array public static
\Bitrix\Catalog\VatTable::validateName(
);

Метод возвращает валидатор для поля NAME (название ставки). Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Универсальные списки

Универсальные списки - модуль для организации работы с различной информацией из публичной части сайта.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('lists');

Класс | Описание | С версии
Error | Структура хранения ошибок. |
ErrorCollection | Словарь хранения ошибок |
IErrorable | Интерфейс реализации методов для работы с ошибками. |

Смотрите также:

  • Универсальные списки (пользовательская документация)
  • Универсальные списки (учебный курс)


Error

Error - структура для хранения ошибок. При создании экземпляра класса, происходит запись в свойства code и message.

Метод | Описание | С версии
getCode | Возвращает код ошибки. |
getMessage | Возвращает сообщение об ошибке. |
Конструктор Error | Создает новую ошибку. |


getCode

integer|string public
$error = new \Bitrix\Lists\Internals\Error\Error($message, $code);
$error->getCode();

Нестатический метод возвращает код ошибки.

Без параметров

Примеры

$errorCollection->add(array(new \Bitrix\Lists\Internals\Error\Error('Text error', 'ERROR_LISTS')));


getMessage

string public
$error = new \Bitrix\Lists\Internals\Error\Error($message, $code);
$error->getMessage();

Нестатический метод возвращает сообщение об ошибке.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Конструктор Error

 public
\Bitrix\Lists\Internals\Error\Error::__construct(
 string $message,
 integer|string $code
);

Нестатический метод создает новую ошибку.

Параметры

Параметр | Описание | Версия
$message | Сообщение об ошибке. |
$code | Код ошибки. |

Примеры

$error = new \Bitrix\Lists\Internals\Error\Error($message, $code);


ErrorCollection

ErrorCollection - словарь хранения ошибок, где сохраняются ошибки. Ошибки в необходимом формате добавляются в него и могут быть получены по необходимости.

Метод | Описание | С версии
addOne | Добавляет ошибку коллекцию. |
getErrorByCode | Возвращает ошибку с необходимым кодом. |
getErrorsByCode | Возвращает массив ошибок с необходимым кодом. |


addOne

 public
\Bitrix\Lists\Internals\Error\ErrorCollection::addOne(
 \Bitrix\Lists\Internals\Error\Error $error
);

Нестатический метод добавляет ошибку в коллекцию.

Параметры

Параметр | Описание | Версия
$error | Объект ошибок. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrorByCode

array public
\Bitrix\Lists\Internals\Error\ErrorCollection::getErrorByCode(
  $code
);

Нестатический метод возвращает ошибку с необходимым кодом.

Параметры

Параметр | Описание | Версия
$code | Код ошибки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrorsByCode

array public
\Bitrix\Lists\Internals\Error\ErrorCollection::getErrorsByCode(
  $code
);

Нестатический метод получает массив ошибок с необходимым кодом.

Параметры

Параметр | Описание | Версия
$code | Код ошибки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


IErrorable

IErrorable - интерфейс реализации методов для работы с ошибками.

Метод | Описание | С версии
getErrorByCode | Получает ошибку с необходимым кодом. |
getErrors | Возвращает массив ошибок. |
getErrorsByCode | Возвращает массив ошибок с необходимым кодом. |


getErrorByCode

array public
\Bitrix\Lists\Internals\Error\IErrorable::getErrorByCode(
 string $code
);

Нестатический метод получает ошибку с необходимым кодом.

Параметры

Параметр | Описание | Версия
$code | Код ошибки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrors

array public
\Bitrix\Lists\Internals\Error\IErrorable::getErrors(
);

Нестатический метод возвращает массив ошибок.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getErrorsByCode

array public
\Bitrix\Lists\Internals\Error\IErrorable::getErrorsByCode(
 string $code
);

Нестатический метод возвращает массив ошибок с необходимым кодом.

Параметры

Параметр | Описание | Версия
$code | Код ошибки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Масштабирование

Раздел содержит информацию о классах модуля Масштабирование, относящихся к ядру D7 и находящихся соответственно в пространстве имен \Bitrix\Scale.

Перед использованием модуля необходимо проверить, установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('scale');


Action

Action - класс для работы c запусками заданий BitrixVM.

Методы класса

Классы | Описание | С версии
start | Возвращает результат запуска задания BitrixVM. | 14.5.0


start

integer public
\Bitrix\Scale\Action::start(
 array $inputParams = array()
);

Возвращает результат запуска задания BitrixVM. Метод нестатический.

Параметры

Параметр Описание Версия
$inputParams Массив параметров предыдущих запусков. Ключи массива:
  • NAME - название задания;
  • RESULT - статус: OK или ERROR,
  • OUTPUT - результат на выходе задания:
    • TEXT - текст задания,
    • DATA - данные задания.
  • ERROR - ошибка.

Исключения

  • \Bitrix\Main\ArgumentTypeException
  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ActionModifyer

ActionModifyer - класс для работы c модификаторами параметров заданий BitrixVM.

Методы класса

Классы | Описание | С версии
checkExtraDbExist | Проверяет, существует ли дополнительные ядра сайтов. Если существуют, добавляет к параметрам CHECK_EXTRA_DB_USER_ASK" = "Y". | 14.5.1
mysqlAddSlave | Модификатор параметра MYSQL_ADD_SLAVE (добавить slave БД) задания BitrixVM. | 14.5.1


checkExtraDbExist

array public static
\Bitrix\Scale\ActionModifyer::checkExtraDbExist(
 string $actionId,
 array $actionParams,
 string $hostname
);

Проверяет, существует ли дополнительные ядра сайтов. Если существуют, добавляет к параметрам CHECK_EXTRA_DB_USER_ASK" = "Y". Метод статический.

Параметры

Параметр | Описание | Версия
$actionId | ID задания BitrixVM. |
$actionParams | Массив параметров задания. |
$hostname | Имя хоста. |

Исключения

  • \Bitrix\Scale\NeedMoreUserInfoException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


mysqlAddSlave

array public static
\Bitrix\Scale\ActionModifyer::mysqlAddSlave(
 string $actionId,
 array $actionParams,
 string $hostname
);

Модификатор параметра MYSQL_ADD_SLAVE (добавить slave БД) задания BitrixVM. Метод статический.

Параметры

Параметр | Описание | Версия
$actionId | ID задания BitrixVM. |
$actionParams | Параметры задания. |
$hostname | Имя хоста. |

Исключения

  • \Bitrix\Scale\NeedMoreUserInfoException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ActionsData

ActionsData - класс для работы c данными заданий BitrixVM.

Методы класса

Методы | Описание | С версии
checkRunningAction | Проверяет выполняется ли какое-либо задание BitrixVM после обновления страницы или при переходе на страницу. | 14.5.0
getActionState | Возвращает состояние заданий. | 14.5.0
getList | Возвращает список заданий BitrixVM. | 14.5.0


checkRunningAction

array public static
\Bitrix\Scale\ActionsData::checkRunningAction(
);

Проверяет выполняется ли какое-либо задание BitrixVM после обновления страницы или при переходе на страницу. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getActionState

array public static
\Bitrix\Scale\ActionsData::getActionState(
 string $bid
);

Возвращает состояние заданий. Метод статический.

Параметры

Параметр | Описание | Версия
$bid | Cтрока с ID задания. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getList

array public static
\Bitrix\Scale\ActionsData::getList(
 boolean $checkConditions = false
);

Возвращает список заданий BitrixVM. Метод статический.

Параметры

Параметр | Описание | Версия
$checkConditions | Массив состояний заданий. |

Исключения

  • \Bitrix\Main\IO\FileNotFoundException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


GraphData

GraphData - класс для работы с графиками нагрузки.

Методы класса

Методы | Описание | С версии
getGraphs | Возвращает информацию, необходимую для получения данных для вывода графиков. | 14.5.0


getGraphs

array public static
\Bitrix\Scale\GraphData::getGraphs(
 string $graphCategory
);

Возвращает информацию, необходимую для получения данных для вывода графиков. Метод статический.

Параметры

Параметр | Описание | Версия
$graphCategory | Категория графика. |

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Monitoring

Monitoring - класс для мониторинга нагрузки.

Методы класса

Методы | Описание | С версии
getLoadBarValue | Возвращает значение для индикатора загрузки роли сервера. | 14.5.0
sDatabaseCreated | Проверяет созданы ли файлы мониторинга базы данных BitrixVM. | 14.5.0
isEnabled | Проверяет включен ли мониторинг в BitrixVM. | 14.5.0


getLoadBarValue

boolean|float public static
\Bitrix\Scale\Monitoring::getLoadBarValue(
  $hostname,
  $roleId
);

Возвращает значение для индикатора загрузки роли сервера в административном интерфейсе Панели управления масштабированием. Метод статический.

Параметры

Параметр | Описание | Версия
$hostname | Имя хоста. |
$roleId | ID роли. |

Исключения

  • \Bitrix\Main\ArgumentNullException
  • \Exception
  • \Bitrix\Main\IO\FileNotFoundException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isDatabaseCreated

boolean public static
\Bitrix\Scale\Monitoring::isDatabaseCreated(
);

Проверяет созданы ли файлы мониторинга базы данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isEnabled

boolean public static
\Bitrix\Scale\Monitoring::isEnabled(
);

Проверяет включен ли мониторинг. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Provider

Provider - класс для работы с провайдерами, предоставляющими аренду виртуальных машин BitrixVM.

Методы класса

Методы | Описание | С версии
addToPullFromOrder | Добавляет хост из заказа в пул серверов. | 14.5.2


addToPullFromOrder

integer public static
\Bitrix\Scale\Provider::addToPullFromOrder(
 string $providerId,
 string $taskId
);

Добавляет хост из заказа в пул серверов. Метод статический.

Параметры

Параметр | Описание | Версия
$providerId | ID провайдера. |
$taskId | ID задания. |

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


RolesData

RolesData - класс для работы с ролями хостов BitrixVM.

Методы класса

Методы | Описание | С версии
getRole | Возвращает роль. | 14.5.0


getRole

array public static
\Bitrix\Scale\RolesData::getRole(
 string $roleId
);

Возвращает роль. Метод статический.

Параметры

Параметр | Описание | Версия
$roleId | ID роли сервера. |

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ShellAdapter

ShellAdapter - класс для работы с консолью виртуальной машины BitrixVM.

Методы класса

Методы | Описание | С версии
asyncExec | Выполняет команду в консоли. | 14.5.0
syncExec | Выполняет консольную команду и возвращает результат выполнения консольной команды. | 14.5.0


asyncExec

\Bitrix\Scale\true; public
\Bitrix\Scale\ShellAdapter::asyncExec(
  $command
);

Выполняет команду в консоли. Метод нестатический.

Параметры

Параметр | Описание | Версия
$command | Консольная команда. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


syncExec

boolean public
\Bitrix\Scale\ShellAdapter::syncExec(
 string $command
);

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

Параметры

Параметр | Описание | Версия
$command | Консольная команда. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Forum

Раздел содержит информацию о классах модуля Форум, относящихся к ядру D7 и находящихся соответственно в пространстве имен \Bitrix\Forum.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('forum');

Класс, пространство имён | Описание
UserTable | Классы для работы с таблицей пользователей форума. Связь с таблицей пользователей - один к одному.
MessageTable | Классы для работы с таблицей сообщений. Связь с таблицей тем форумов - один к одному.
Comments | Классы для работы с форумными данными, как с комментариями.
ForumTable | Классы для работы с таблицей форумов. Связь с таблицей групп форумов - много к одному.
GroupTable | Классы для работы с таблицей групп форумов.
ForumSiteTable | Классы для работы с таблицей, связывающей форум с конкретным сайтом. Привязка форума к сайту по типу многие ко многим.
Replica | Пространство имён для классов репликации модуля Форум.


Форум в старом ядре

Классы

Класс | Описание | С версии | До версии
CFilterDictionary | Класс для работы cо словарями нецензурных слов. | 5.1.0 |
CFilterLetter | Класс для работы cо словарями букв. | 5.1.0 |
CFilterUnquotableWords | Класс для работы cо словарями cлов. | 5.1.0 |
CForumGroup | Класс для работы с группами форумов. | 3.3.3 |
CForumMessage | Класс для работы с сообщениями форумов. | 3.3.3 |
CForumNew | Класс для работы с форумами. | 3.3.3 |
CForumPMFolder | Класс для работы папками пользователя. | 4.0.3 |
CForumPoints | Класс для работы со званиями (статусами) форума. | 3.3.7 |
CForumPoints2Post | Класс для работы с картой соответствий между количеством сообщений пользователя на форуме и количеством баллов, которое пользователь получает за одно сообщение. | 3.3.7 |
CForumPrivateMessage | Класс для работы с приватными сообщениями. | 4.0.3 |
CForumSubscribe | Класс для работы с подпиской на новые сообщения форума и темы. | 3.3.3 |
CForumTopic | Класс для работы с темами форумов. | 3.3.3 |
CForumUser | Класс для работы с профайлами посетителей форума. | 3.3.3 |
CForumUserPoints | Класс для работы с голосованиями пользователей. | 3.3.7 |
textParser | Класс, предназначенный для форматирования сообщений форума. Осуществляет замену спецсимволов и заказных тегов на реальные HTML-теги, обработку ссылок, отображение смайлов. | 3.0.20 |

События

Событие | Вызывается | Метод | С версии
GetAuditTypesForum |  | CEventForum::GetAuditTypes | 11.0.0
OnAfterForumDelete | после удаления форума. | CForumNew::Delete |
onAfterForumAdd | после добавления форума. | CForumNew::Add |
onAfterForumUpdate | после редактирования форума. | CForumNew::Update |
onAfterGroupForumsAdd | после добавления группы форума. | CForumGroup::Add |
onAfterGroupForumsUpdate | после редактирования группы форума. | CForumGroup::Update |
onAfterMessageAdd | после добавления сообщения форума. | CForumMessage::Add |
onAfterMessageDelete | после удаления сообщения форума. | CForumMessage::Delete |
onAfterMessageUpdate | после редактирования сообщения форума. | CForumMessage::Update |
onAfterPMCopy | после копирования персонального сообщения. | CForumPrivateMessage::Copy | 11.5.1
onAfterPMSend | после отправки персонального сообщения. | CForumPrivateMessage::Send | 11.5.1
onAfterTopicAdd | после добавления темы форума. | CForumTopic::Add |
onAfterTopicDelete | после удаления темы форума. | CForumTopic::Delete |
onAfterTopicUpdate | после редактирования темы форума. | CForumTopic::Update |
onAfterUserAdd | после добавления пользователя форума. | CForumUser::Add |
onAfterUserDelete | после удаления пользователя форума. | CForumUser::Delete |
onAfterUserUpdate | после редактирования пользователя форума. | CForumUser::Update |
onBeforeForumAdd | перед добавлением форума. | CForumNew::Add |
OnBeforeForumDelete | перед удалением форума. | CForumNew::Delete |
onBeforeForumUpdate | перед редактированием форума. | CForumNew::Update |
onBeforeGroupForumsAdd | перед созданием группы форумов. | CForumGroup::Add |
onBeforeGroupForumsUpdate | перед редактированием группы форумов. | CForumGroup::Update |
onBeforeMailMessageSend | перед отправкой сообщения на почту. | CForumMessage::SendMailMessage | 12.5.1
onBeforeMessageAdd | перед добавлением сообщения форума. | CForumMessage::Add |
onBeforeMessageDelete | перед удалением сообщения форума. | CForumMessage::Delete |
onBeforeMessageUpdate | перед редактированием сообщения форума. | CForumMessage::Update | 11.5.1
onBeforePMCopy | перед копированием персонального сообщения. | CForumPrivateMessage::Copy | 11.5.1
onBeforePMDelete | перед удалением персонального сообщения. | CForumPrivateMessage::Delete | 11.5.1
onBeforePMMakeRead | перед чтением персонального сообщения. | CForumPrivateMessage::MakeRead | 11.5.1
onBeforePMSend | перед отправкой персонального сообщения. | CForumPrivateMessage::Send | 11.5.1
onBeforePMUpdate | перед редактированием персонального сообщения. | CForumPrivateMessage::Update | 11.5.1
onBeforeTopicAdd | перед добавлением темы форума. | CForumTopic::Add |
onBeforeTopicDelete | перед удалением темы форума. | CForumTopic::Delete |
onBeforeTopicUpdate | перед редактированием темы форума. | CForumTopic::Update |
onBeforeUserAdd | перед добавлением пользователя форума. | CForumUser::Add |
onBeforeUserDelete | перед удалением пользователя форума. | CForumUser::Delete |
onBeforeUserUpdate | перед редактированием пользователя форума. | CForumUser::Update |
OnForumDelete | при удалении форума. | CForumNew::Delete |
onMessageModerate | при модерировании сообщения форума. | ForumModerateMessage | 12.0.2

Функции

Функция | Описание
ForumCurrUserPermissions | Возвращает права текущего посетителя на доступ к форуму.
ForumSubscribeNewMessages | Подписка текущего пользователя на новые сообщения заданной темы.
ForumAddMessage | Добавление и изменение нового сообщения и темы.
ForumModerateMessage | Публикация и скрытие сообщения.

Дополнительно

  • Структура таблиц модуля форумов [image].


Comments

Comments - пространство имён для классов, использующихся для работы с комментариями.

Классы

Метод | Описание
BaseObject | Класс для работы с базовым объектом класса.
Comment | Класс для работы с одиночным комментарием.
Entity | Класс для работы с событиями.
EventManager | Класс кратко- и долгосрочной регистрации обработчиков событий.
Feed | Класс для управления комментариями.
TaskEntity | Класс класс для работы с задачами событий.


BaseObject

BaseObject - класс для работы с базовым объектом класса.

Методы класса

Метод | Описание
[link=1759983]getEntity[/link] | Метод возвращает сущность, обладающую всеми правами. К примеру, тему форума или задачу.
[link=1759987]getTopic[/link] | Метод возвращает информацию о теме форума.
[link=1759991]getForum[/link] | Метод возвращает информацию о форуме.
[link=1759995]setForumFields[/link] | Метод переопределяет параметры форума.


getEntity

\Bitrix\Forum\Comments\Entity public
\Bitrix\Forum\Comments\BaseObject::getEntity(
);

Метод возвращает сущность, обладающую всеми правами. К примеру, тему форума или задачу.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getForum

array public
\Bitrix\Forum\Comments\BaseObject::getForum(
);

Метод возвращает информацию о форуме.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTopic

array public
\Bitrix\Forum\Comments\BaseObject::getTopic(
);

Метод возвращает информацию о теме форума.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setForumFields

\Bitrix\Forum\Comments\BaseObject public
\Bitrix\Forum\Comments\BaseObject::setForumFields(
 array $params
);

Метод переопределяет параметры форума.

Параметры

Параметр | Описание | Версия
$params | Ассоциативный массив новых параметров. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Comment

Comment - класс для работы с отдельным комментарием.

Методы класса

Метод | Описание
[link=1760013]add[/link] | Метод добавляет новый комментарий.
[link=1760021]edit[/link] | Метод для изменения комментария.


add

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Форум>Comments>Comment>add

Comment::add

array|false public
\Bitrix\Forum\Comments\Comment::add(
 array $params
);

Метод добавляет новый комментарий. Возвращает созданный комментарий или false в случае неудачи.

Параметры

Параметр | Описание | Версия
$params | Массив данных для создания комментария. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


create

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Форум>Comments>Comment>create

Comment::create

\Bitrix\Forum\Comments\Comment public static
\Bitrix\Forum\Comments\Comment::create(
 \Bitrix\Forum\Comments\Feed $feed,
  $id
);

Creates new

Параметры

Параметр | Описание | Версия
$feed |  |
$id |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createFromId

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Форум>Comments>Comment>createFromId

Comment::createFromId

\Bitrix\Forum\Comments\Comment public static
\Bitrix\Forum\Comments\Comment::createFromId(
 \Bitrix\Forum\Comments\Feed $feed,
  $id
);

Creates new

Параметры

Параметр | Описание | Версия
$feed |  |
$id |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


edit

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>Форум>Comments>Comment>edit

Comment::edit

array|false public
\Bitrix\Forum\Comments\Comment::edit(
 array $params
);

Метод изменяет параметры комментария. Возвращает комментарий или false в случае неудачи.

Параметры

Параметр | Описание | Версия
$params |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Entity

Entity - класс для работы с событиями.

Метод | Описание
[link=5050087]onMessageIsIndexed[/link] | Обработчик события перед индексацией сообщения.


onMessageIsIndexed

boolean public static
\Bitrix\Forum\Comments\Entity::onMessageIsIndexed(
 integer $id,
 array $message,
 array
);

Обработчик события перед индексацией сообщения. Метод статический.

Параметры

Параметр | Описание | Версия
$id | Идентификатор сообщения. |
$message | Данные сообщения. |
&$index | Поиск индексного массива. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


EventManager

EventManager - класс кратко- и долгосрочной регистрации обработчиков событий.

Метод | Описание
[link=5050095]onMessageIsIndexed[/link] | Обработчик события перед индексацией сообщения.


onMessageIsIndexed

boolean public static
\Bitrix\Forum\Comments\EventManager::onMessageIsIndexed(
 integer $id,
 array $message,
 array
);

Обработчик события перед индексацией сообщения. Метод статический.

Параметры

Параметр | Описание | Версия
$id | Идентификатор сообщения. |
$message | Данные сообщения. |
&$index | Поиск индексного массива. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Feed

Feed - класс для управления комментариями.

Методы класса

Метод | Описание
[link=1760345]canAdd[/link] | Метод возвращает true, если сущность разрешает добавлять комментарий.
[link=1760353]canEdit[/link] | Метод возвращает true, если сущность разрешает изменять комментарий.
[link=1760349]canRead[/link] | Метод возвращает true, если сущность разрешает просматривать комментарий.
[link=1760361]add[/link] | Метод для добавления комментария
[link=1760357]canDelete[/link] | Метод возвращает true, если сущность разрешает удалять комментарий.
[link=1760365]edit[/link] | Метод для изменения комментария.
[link=1760369]delete[/link] | Метод для удаления комментария.
[link=1760373]moderate[/link] | Метод для модерации комментария.
[link=1760377]setPermission[/link] | Метод устанавливает уровень доступа для сущности форума.
[link=1760381]getPermission[/link] | Метод возвращает текущий уровень доступа для сущности форума.


add

array|boolean public
\Bitrix\Forum\Comments\Feed::add(
 array $params
);

Метод добавляет новый комментарий. Возвращает созданный комментарий или false в случае неудачи.

Параметры

Параметр | Описание | Версия
$params | Параметры нового комментария для добавления новой строки в таблицу table b_forum_message. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


canAdd

boolean public
\Bitrix\Forum\Comments\Feed::canAdd(
);

Метод возвращает true, если сущность разрешает добавлять комментарий. В ином случае возвращает false.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


canDelete

boolean public
\Bitrix\Forum\Comments\Feed::canDelete(
);

Метод возвращает true, если сущность разрешает удалять комментарий. В ином случае возвращает false.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


canEdit

boolean public
\Bitrix\Forum\Comments\Feed::canEdit(
);

Метод возвращает true, если сущность разрешает редактировать комментарий. В ином случае возвращает false.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


canRead

boolean public
\Bitrix\Forum\Comments\Feed::canRead(
);

Метод возвращает true, если сущность разрешает просматривать комментарий. В ином случае возвращает false.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delete

array|boolean public
\Bitrix\Forum\Comments\Feed::delete(
 integer $id
);

Метод для удаления комментария. Возвращает удаленное сообщение или false в случае неудачи.

Параметры

Параметр | Описание | Версия
$id | ID сообщения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


edit

array|boolean public
\Bitrix\Forum\Comments\Feed::edit(
 integer $id,
 array $params
);

Метод для редактирования существующего комментария. Возвращает комментарий или false в случае неудачи.

Параметры

Параметр | Описание | Версия
$id | ID сообщения |
$params | Массив новых параметров комментария. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPermission

string public
\Bitrix\Forum\Comments\Feed::getPermission(
);

Метод возвращает текущий уровень доступа из списка: A < E < I < M < Q < U < Y.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


moderate

array|boolean public
\Bitrix\Forum\Comments\Feed::moderate(
 integer $id,
 boolean $show
);

Метод для модерации комментария. Возвращает комментарий или false в случае неудачи.

Параметры

Параметр | Описание | Версия
$id | ID сообщения. |
$show | Параметр модерации: true - show, false - hide. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setPermission

\Bitrix\Forum\Comments\Feed public
\Bitrix\Forum\Comments\Feed::setPermission(
 string $permission
);

Метод устанавливает уровень доступа для сущности. Возвращает сущность. Уровни доступа:

  • А - нет доступа
  • E - только чтение
  • I - ответ
  • M - создание темы
  • Q - модерация
  • U - редактировать сообщение
  • Y - полный доступ
Порядок уровней доступа: A < E < I < M < Q < U < Y.

Параметры

Параметр | Описание | Версия
$permission | Уровень доступа: A,E,I,M,Q,U,Y. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


TaskEntity

TaskEntity - класс для работы с задачами событий.

Метод | Описание
[link=5050077]onMessageIsIndexed[/link] | Обработчик события перед индексацией сообщения.


onMessageIsIndexed

boolean public static
\Bitrix\Forum\Comments\TaskEntity::onMessageIsIndexed(
 integer $id,
 array $message,
 array
);

Обработчик события перед индексацией сообщения. Метод статический.

Параметры

Параметр | Описание | Версия
$id | Идентификатор сообщения. |
$message | Данные сообщения. |
&$index | Поиск индексного массива. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ForumSiteTable

ForumSiteTable - класс для работы с таблицей, связывающей форум с конкретным сайтом.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание
[link=1760109]getTableName[/link] | Метод возвращает название таблицы в базе данных.
[link=1760113]getMap[/link] | Метод возвращает список полей для таблицы.
[link=1760105]getFilePath[/link] | Метод возвращает путь к файлу, который содержит определение класса.


getFilePath

string public static
\Bitrix\Forum\ForumSiteTable::getFilePath(
);

Статический метод возвращает путь к файлу, который содержит определение класса.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Forum\ForumSiteTable::getMap(
);

Статический метод возвращает список полей для таблицы.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Forum\ForumSiteTable::getTableName(
);

Статический метод возвращает название таблицы в базе данных.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ForumTable

ForumTable - класс для работы с таблицей форумов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание
[link=1759961]getTableName[/link] | Метод возвращает название таблицы форумов в базе данных.
[link=1759965]getMap[/link] | Метод возвращает список полей для таблицы форумов.
[link=1759969]validateFileExt[/link] | Метод возвращает валидатор для поля ALLOW_UPLOAD_EXT.


getMap

array public static
\Bitrix\Forum\ForumTable::getMap(
);

Метод возвращает список полей для таблицы форумов.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Forum\ForumTable::getTableName(
);

Метод возвращает название таблицы форумов в базе данных.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateFileExt

array public static
\Bitrix\Forum\ForumTable::validateFileExt(
);

Статический метод возвращает валидатор для поля ALLOW_UPLOAD_EXT.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


GroupTable

GroupTable - класс для работы с таблицей групп форумов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание
[link=1760045]getTableName[/link] | Метод возвращает название таблицы групп форумов в базе данных.
[link=1760049]getMap[/link] | Метод возвращает список полей для таблицы групп форумов.
[link=1760057]validateCode[/link] | Метод возвращает валидатор для поля CODE.
[link=1760053]validateIblockTypeId[/link] | Метод возвращает валидатор для поля IBLOCK_TYPE_ID.
[link=1760061]validateName[/link] | Метод возвращает валидатор для поля NAME.
[link=1760073]validateDetailPageUrl[/link] | Метод возвращает валидатор для поля DETAIL_PAGE_URL.
[link=1760065]validateListPageUrl[/link] | Метод возвращает валидатор для поля LIST_PAGE_URL.
[link=1760081]validateCanonicalPageUrl[/link] | Метод возвращает валидатор для поля CANONICAL_PAGE_URL.
[link=1760077]validateSectionPageUrl[/link] | Метод возвращает валидатор для поля SECTION_PAGE_URL.
[link=1760089]validateTmpId[/link] | Метод возвращает валидатор для поля TMP_ID.
[link=1760085]validateXmlId[/link] | Метод возвращает валидатор для поля XML_ID.
[link=1760097]validateEditFileAfter[/link] | Метод возвращает валидатор для поля EDIT_FILE_AFTER.
[link=1760093]validateEditFileBefore[/link] | Метод возвращает валидатор для поля EDIT_FILE_BEFORE.


getMap

array public static
\Bitrix\Forum\GroupTable::getMap(
);

Статический метод возвращает список полей для таблицы групп форумов.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Forum\GroupTable::getTableName(
);

Статический метод возвращает название таблицы групп форумов в базе данных.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCanonicalPageUrl

array public static
\Bitrix\Forum\GroupTable::validateCanonicalPageUrl(
);

Статический метод возвращает валидатор для поля CANONICAL_PAGE_URL.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateCode

array public static
\Bitrix\Forum\GroupTable::validateCode(
);

Статический метод возвращает валидатор для поля CODE.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateDetailPageUrl

array public static
\Bitrix\Forum\GroupTable::validateDetailPageUrl(
);

Статический метод возвращает валидатор для поля DETAIL_PAGE_URL.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateEditFileAfter

array public static
\Bitrix\Forum\GroupTable::validateEditFileAfter(
);

Статический метод возвращает валидатор для поля EDIT_FILE_AFTER.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateEditFileBefore

array public static
\Bitrix\Forum\GroupTable::validateEditFileBefore(
);

Статический метод возвращает валидатор для поля EDIT_FILE_BEFORE.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateIblockTypeId

array public static
\Bitrix\Forum\GroupTable::validateIblockTypeId(
);

Статический метод возвращает валидатор для поля IBLOCK_TYPE_ID.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateListPageUrl

array public static
\Bitrix\Forum\GroupTable::validateListPageUrl(
);

Статический метод возвращает валидатор для поля LIST_PAGE_URL.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateName

array public static
\Bitrix\Forum\GroupTable::validateName(
);

Статический метод возвращает валидатор для поля NAME.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateSectionPageUrl

array public static
\Bitrix\Forum\GroupTable::validateSectionPageUrl(
);

Статический метод возвращает валидатор для поля SECTION_PAGE_URL.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateTmpId

array public static
\Bitrix\Forum\GroupTable::validateTmpId(
);

Статический метод возвращает валидатор для поля TMP_ID.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateXmlId

array public static
\Bitrix\Forum\GroupTable::validateXmlId(
);

Статический метод возвращает валидатор для поля XML_ID.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


MessageTable

MessageTable - класс для работы с таблицей сообщений форума.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание
[link=5050039]delete[/link] | Метод удаляет сообщение.
[link=5050031]add[/link] | Метод добавляет новое сообщение.
[link=5050035]update[/link] | Метод для обновления информации о сообщении.
[link=5050019]validateEditorName[/link] | Метод возвращает валидатор для поля EDITOR_NAME.
[link=5050023]validateEditorEmail[/link] | Метод возвращает валидатор для поля EDITOR_EMAIL.
[link=5050027]validateXmlId[/link] | Метод возвращает валидатор для поля XML_ID.
[link=5050011]validateAuthorIp[/link] | Метод возвращает валидатор для поля AUTHOR_IP.
[link=5050015]validateAuthorRealIp[/link] | Метод возвращает валидатор для поля AUTHOR_REAL_IP.
[link=5049997]validateParam1[/link] | Метод возвращает валидатор для поля PARAM1.
[link=5050001]validateAuthorName[/link] | Метод возвращает валидатор для поля AUTHOR_NAME.
[link=5050005]validateAuthorEmail[/link] | Метод возвращает валидатор для поля AUTHOR_EMAIL.
[link=5049987]validateSourceId[/link] | Метод возвращает валидатор для поля SOURCE_ID.
[link=5049993]validatePostMessageCheck[/link] | Метод возвращает валидатор для поля POST_MESSAGE_CHECK.
[link=5049979]getTableName[/link] | Метод возвращает название таблицы сообщений в базе данных.
[link=5049983]getMap[/link] | Метод возвращает список полей для таблицы сообщений.


add

\Bitrix\Main\Entity\AddResult public static
\Bitrix\Forum\MessageTable::add(
 array $data
);

Статический метод добавляет новое сообщение в таблицу.

Параметры

Параметр | Описание | Версия
$data | Массив с данными сообщения. |

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delete

\Bitrix\Main\Entity\DeleteResult public static
\Bitrix\Forum\MessageTable::delete(
 mixed $primary
);

Статический метод удаляет информацию о сообщении по первичному ключу.

Параметры

Параметр | Описание | Версия
$primary | Первичный ключ |

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Forum\MessageTable::getMap(
);

Статический метод возвращает список полей для таблицы сообщений.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Forum\MessageTable::getTableName(
);

Статический метод возвращает название таблицы сообщений в базе данных.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


update

\Bitrix\Main\Entity\UpdateResult public static
\Bitrix\Forum\MessageTable::update(
 mixed $primary,
 array $data
);

Обновляет информацию о сообщении по первичному ключу.

Параметры

Параметр | Описание | Версия
$primary | Первичный ключ |
$data | Массив с информацией для обновления. |

Исключения

  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateAuthorEmail

array public static
\Bitrix\Forum\MessageTable::validateAuthorEmail(
);

Статический метод возвращает валидатор для поля AUTHOR_EMAIL.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateAuthorIp

array public static
\Bitrix\Forum\MessageTable::validateAuthorIp(
);

Статический метод возвращает валидатор для поля AUTHOR_IP.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateAuthorName

array public static
\Bitrix\Forum\MessageTable::validateAuthorName(
);

Статический метод возвращает валидатор для поля AUTHOR_NAME.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateAuthorRealIp

array public static
\Bitrix\Forum\MessageTable::validateAuthorRealIp(
);

Статический метод возвращает валидатор для поля AUTHOR_REAL_IP.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateEditorEmail

array public static
\Bitrix\Forum\MessageTable::validateEditorEmail(
);

Статический метод возвращает валидатор для поля EDITOR_EMAIL.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateEditorName

array public static
\Bitrix\Forum\MessageTable::validateEditorName(
);

Статический метод возвращает валидатор для поля EDITOR_NAME.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateParam1

array public static
\Bitrix\Forum\MessageTable::validateParam1(
);

Статический метод возвращает валидатор для поля PARAM1.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validatePostMessageCheck

array public static
\Bitrix\Forum\MessageTable::validatePostMessageCheck(
);

Статический метод возвращает валидатор для поля POST_MESSAGE_CHECK.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateSourceId

array public static
\Bitrix\Forum\MessageTable::validateSourceId(
);

Статический метод возвращает валидатор для поля SOURCE_ID.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateXmlId

array public static
\Bitrix\Forum\MessageTable::validateXmlId(
);

Статический метод возвращает валидатор для поля XML_ID.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Replica

Replica - пространство имён для классов репликации модуля Форум.

Класс | Описание | С версии
Bind | Класс для привязки модуля к логической репликации |
ForumMessageAttachmentHandler | Класс для обработки вложений сообщений форума |
MessageHandler | Класс для обработки сообщений форума. |
TopicHandler | Класс для обработки тем форума. |


Bind

Bind - класс для привязки модуля к логической репликации

Метод | Описание | С версии
[link=5050159]start[/link] | Метод инициализирует процесс репликации на стороне главного модуля. |


start

void public
\Bitrix\Forum\Replica\Bind::start(
);

Метод инициализирует процесс репликации на стороне главного модуля. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ForumMessageAttachmentHandler

ForumMessageAttachmentHandler - класс для обработки вложений сообщений форума.

Метод | Описание
[link=5050111]getUserField[/link] | Метод возвращает массив вложений для данного объекта.
[link=5050115]onExecuteDescriptionFix[/link] | Удаленный обработчик событий.
[link=5050107]updateUserField[/link] | Метод добавляет вложение к значению пользовательского поля для данного объекта.


getUserField

\Bitrix\Forum\Replica\array[]\Bitrix\Disk\AttachedObject public static
\Bitrix\Forum\Replica\ForumMessageAttachmentHandler::getUserField(
 integer $messageId
);

Возвращает массив вложений для данного объекта. Метод статический.

Параметры

Параметр | Описание | Версия
$messageId | Идентификатор сообщения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onExecuteDescriptionFix

void public
\Bitrix\Forum\Replica\ForumMessageAttachmentHandler::onExecuteDescriptionFix(
 \Bitrix\Main\Event $event
);

Удаленный обработчик событий. Метод нестатический.

Параметры

Параметр | Описание | Версия
$event | Содержит два параметра: 0 - id, 1 - данные. |

См. также

  • \Bitrix\Replica\Client\AttachmentHandler::onAfterAdd
  • \Bitrix\Replica\Client\AttachmentHandler::onAfterUpdate

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


updateUserField

void public static
\Bitrix\Forum\Replica\ForumMessageAttachmentHandler::updateUserField(
 integer $messageId,
 integer $diskAttachId
);

Добавляет вложение к значению пользовательского поля для данного объекта. Метод статический.

Параметры

Параметр | Описание | Версия
$messageId | Идентификатор сообщения. |
$diskAttachId | Идентификатор диска вложения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


MessageHandler

MessageHandler - класс для обработки сообщений форума.

Метод | Описание
[link=5050167]__construct[/link] | Конструктор класса MessageHandler.
[link=5050211]afterDeleteTrigger[/link] | Метод будет вызываться после удаления записи БД.
[link=5050203]afterInsertTrigger[/link] | Метод будет вызываться после ввода новой записи БД.
[link=5050207]afterUpdateTrigger[/link] | Метод будет вызываться после обновления БД.
[link=5050195]afterWriteMissing[/link] | Метод будет вызываться после фиксирования пропущенной записи.
[link=5050199]beforeInsertTrigger[/link] | Метод будет вызываться перед вводом новой записи БД.
[link=5050223]beforeLogFormat[/link] | Метод вызывается перед записью, преобразованной для записи в лог.
[link=5050219]beforeLogInsert[/link] | Метод вызывается перед записью в лог. Если вернётся false, то записи в лог не произошло.
[link=5050215]beforeUpdateTrigger[/link] | Метод будет вызван перед тем, как будет обновлена запись БД.
[link=5050171]initDataManagerEvents[/link] | Метод регистрирует обработчики событий для операций с базами данных, таких как: добавление новых, обновление или удаление.
[link=5050175]onAfterMessageAdd[/link] | Является обработчиком события onAfterMessageAdd.
[link=5050191]onAfterMessageDelete[/link] | Является обработчиком события onAfterMessageDelete.
[link=5050183]onAfterMessageUpdate[/link] | Является обработчиком события onAfterMessageUpdate.
[link=5050187]onBeforeMessageDelete[/link] | Является обработчиком события onBeforeMessageDelete.
[link=5050179]onBeforeMessageUpdate[/link] | Является обработчиком события onBeforeMessageUpdate.


__construct

 public
\Bitrix\Forum\Replica\MessageHandler::__construct(
);

Конструктор класса MessageHandler.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


afterDeleteTrigger

void public
\Bitrix\Forum\Replica\MessageHandler::afterDeleteTrigger(
 array $oldRecord
);

Метод будет вызываться после удаления записи БД. Метод нестатический.

Параметры

Параметр | Описание | Версия
$oldRecord | Все поля перед удалением. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


afterInsertTrigger

void public
\Bitrix\Forum\Replica\MessageHandler::afterInsertTrigger(
 array $newRecord
);

Метод будет вызываться после ввода новой записи БД. Метод нестатический.

Параметры

Параметр | Описание | Версия
$newRecord | Все поля вставленной записи. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


afterUpdateTrigger

void public
\Bitrix\Forum\Replica\MessageHandler::afterUpdateTrigger(
 array $oldRecord,
 array $newRecord
);

Метод будет вызываться после обновления БД. Метод нестатический.

Параметры

Параметр | Описание | Версия
$oldRecord | Все поля перед обновлением. |
$newRecord | Все поля после обновления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


afterWriteMissing

void public
\Bitrix\Forum\Replica\MessageHandler::afterWriteMissing(
 array $record
);

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

Параметры

Параметр | Описание | Версия
$record | Все поля записи. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


beforeInsertTrigger

null|array public
\Bitrix\Forum\Replica\MessageHandler::beforeInsertTrigger(
 array
);

Метод будет вызываться перед вводом новой записи БД.

Когда массив с данными возвращается, вставка записей будет отменена и будет добавлен map для возвращенной записи. Метод нестатический.

Параметры

Параметр | Описание | Версия
&$newRecord | Все поля вставленной записи. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


beforeLogFormat

void public
\Bitrix\Forum\Replica\MessageHandler::beforeLogFormat(
 array
);

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

Параметры

Параметр | Описание | Версия
&$record | Запись БД. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


beforeLogInsert

boolean public
\Bitrix\Forum\Replica\MessageHandler::beforeLogInsert(
 array $record
);

Метод вызывается перед записью в лог. Если вернётся false, то записи в лог не произошло. Метод нестатический.

Параметры

Параметр | Описание | Версия
$record | Запись БД. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


beforeUpdateTrigger

void public
\Bitrix\Forum\Replica\MessageHandler::beforeUpdateTrigger(
 array $oldRecord,
 array
);

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

Параметры

Параметр | Описание | Версия
$oldRecord | Все поля перед обновлением. |
&$newRecord | Все поля после обновления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


initDataManagerEvents

void public
\Bitrix\Forum\Replica\MessageHandler::initDataManagerEvents(
);

Метод регистрирует обработчики событий для операций с базами данных, таких как: добавление новых, обновление или удаление. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onAfterMessageAdd

void public
\Bitrix\Forum\Replica\MessageHandler::onAfterMessageAdd(
 integer ,
 array $message,
 array $topicInfo,
 array $forumInfo,
 array $fields
);

Является обработчиком события onAfterMessageAdd.

Параметры

Параметр | Описание | Версия
&$id | Идентификатор сообщения форума. |
$message | Запись сообщения. |
$topicInfo | Поля темы форума. |
$forumInfo | Поля форума. |
$fields | Запись сообщения перед добавлением. |

См. также

  • \CForumMessage::Add()

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onAfterMessageDelete

void public
\Bitrix\Forum\Replica\MessageHandler::onAfterMessageDelete(
 integer $id,
 array $message
);

Является обработчиком события onAfterMessageDelete.

Параметры

Параметр | Описание | Версия
$id | Идентификатор сообщения форума. |
$message | Запись сообщения перед удалением. |

См. также

  • \CForumMessage::Delete()

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onAfterMessageUpdate

void public
\Bitrix\Forum\Replica\MessageHandler::onAfterMessageUpdate(
 integer ,
 array ,
 array $oldMessage
);

Является обработчиком события onAfterMessageUpdate.

Параметры

Параметр | Описание | Версия
&$id | Идентификатор сообщения форума. |
&$newMessage | Запись сообщения. |
$oldMessage | Запись сообщения перед обновлением. |

См. также

  • \CForumMessage::Update()

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onBeforeMessageDelete

void public
\Bitrix\Forum\Replica\MessageHandler::onBeforeMessageDelete(
 integer $id
);

Является обработчиком события onBeforeMessageDelete.

Параметры

Параметр | Описание | Версия
$id | Идентификатор сообщения форума. |

См. также

  • \CForumMessage::Delete()

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onBeforeMessageUpdate

void public
\Bitrix\Forum\Replica\MessageHandler::onBeforeMessageUpdate(
 integer ,
 array ,
 string
);

Является обработчиком события onBeforeMessageUpdate.

Параметры

Параметр | Описание | Версия
&$id | Идентификатор сообщения форума. |
&$fields | Запись сообщения. |
&$uploadDir | Поля темы форума. |

См. также

  • \CForumMessage::Update()

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


TopicHandler

TopicHandler - класс для обработки тем форума.

Метод | Описание
[link=5050123]__construct[/link] | Конструктор класса TopicHandler.
[link=5050139]beforeInsertTrigger[/link] | Метод будет вызываться перед вводом новой записи БД.
[link=5050151]beforeLogFormat[/link] | Метод вызывается перед записью, преобразованной для записи в лог.
[link=5050147]beforeLogInsert[/link] | Метод вызывается перед записью в лог. Если вернётся false, то записи в лог не произошло.
[link=5050143]beforeUpdateTrigger[/link] | Метод будет вызван до того, как будет обновлена запись БД.
[link=5050127]onAfterTopicAdd[/link] | Является обработчиком события onAfterTopicAdd.
[link=5050135]onAfterTopicDelete[/link] | Является обработчиком события onAfterTopicDelete.
[link=5050131]onAfterTopicUpdate[/link] | Является обработчиком события onAfterTopicUpdate.


__construct

 public
\Bitrix\Forum\Replica\TopicHandler::__construct(
);

Конструктор класса TopicHandler.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


beforeInsertTrigger

null|array public
\Bitrix\Forum\Replica\TopicHandler::beforeInsertTrigger(
 array
);

Метод будет вызываться перед вводом новой записи БД.

Когда массив с данными возвращается, вставка записей будет отменена и будет добавлен map для возвращенной записи. Метод нестатический.

Параметры

Параметр | Описание | Версия
&$newRecord | Все поля вставленной записи. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


beforeLogFormat

void public
\Bitrix\Forum\Replica\TopicHandler::beforeLogFormat(
 array
);

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

Параметры

Параметр | Описание | Версия
&$record | Запись БД. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


beforeLogInsert

boolean public
\Bitrix\Forum\Replica\TopicHandler::beforeLogInsert(
 array $record
);

Метод вызывается перед записью в лог. Если вернётся false, то записи в лог не произошло. Метод нестатический.

Параметры

Параметр | Описание | Версия
$record | Запись в БД. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


beforeUpdateTrigger

void public
\Bitrix\Forum\Replica\TopicHandler::beforeUpdateTrigger(
 array $oldRecord,
 array
);

Метод будет вызван до того, как будет обновлена запись БД. Метод нестатический.

Параметры

Параметр | Описание | Версия
$oldRecord | Все поля перед обновлением. |
&$newRecord | Все поля после обновления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onAfterTopicAdd

void public
\Bitrix\Forum\Replica\TopicHandler::onAfterTopicAdd(
 integer $id,
 array
);

Является обработчиком события onAfterTopicAdd.

Параметры

Параметр | Описание | Версия
$id | Идентификатор темы форума. |
&$data | Запись темы. |

См. также

  • \CForumTopic::Add()

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onAfterTopicDelete

void public
\Bitrix\Forum\Replica\TopicHandler::onAfterTopicDelete(
 integer ,
 array $topic
);

Является обработчиком события onAfterTopicDelete.

Параметры

Параметр | Описание | Версия
&$id | Идентификатор темы форума. |
$topic | Запись темы перед удалением. |

См. также

  • \CForumTopic::Delete()

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onAfterTopicUpdate

void public
\Bitrix\Forum\Replica\TopicHandler::onAfterTopicUpdate(
 integer $id,
 array $newTopic,
 array $oldTopic
);

Является обработчиком события onAfterTopicUpdate.

Параметры

Параметр | Описание | Версия
$id | Идентификатор темы форума. |
$newTopic | Запись темы после обновления. |
$oldTopic | Запись темы перед обновлением. |

См. также

  • \CForumTopic::Update()

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


UserTable

UserTable - класс для работы с таблицей пользователей форума.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание
[link=5050059]getMap[/link] | Метод возвращает список полей для таблицы пользователей форума.
[link=5050055]getTableName[/link] | Метод возвращает название таблицы пользователей форума в базе данных.


getMap

array public static
\Bitrix\Forum\UserTable::getMap(
);

Статический метод возвращает список полей для таблицы пользователей форума.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Forum\UserTable::getTableName(
);

Статический метод возвращает название таблицы пользователей форума в базе данных.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


CRM

Раздел содержит информацию о классах модуля CRM, относящихся к ядру D7 и находящихся соответственно в пространстве имен \Bitrix\Crm.

Базовые методы сущностей:

  • CCrmLead - лиды,
  • CCrmDeal - сделки,
  • CCrmCompany - компании,
  • CCrmContact - контакты,
  • CCrmQuote - предложения,
  • CCrmInvoice - счета.

Классы CCrmQuote и CCrmInvoice не имеют методов getListEx, но имеют полностью аналогичный getList.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('crm');

Класс, пространство имён | Описание
[link=72297]Activity[/link] | Пространство имён содержит классы для работы с делами в CRM.
Automation | Пространство имён cодержит классы для автоматизации продаж в CRM.
BankDetailTable | Класс предназначен для работы с банковскими реквизитами.
Binding | Пространство имён классов для множественных привязок сущностей CRM.
CallList | Подпространство имён содержит классы для работы со звонками.
Category | Пространство имён классов для работы с Направлениями.
Color | Пространство имён классов для хранения цветовых схем стадий Сделки, статусов Лида и Предложения в CRM.
CommunicationType | класс для работы с типами связей.
CompanyAddress | Класс для хранения адресов Компаний.
Config | Пространство имён классов для хранения пользовательских настроек в контексте определенной сущности.
ContactAddress | Класс для хранения адресов Контактов.
Conversion | Пространство имён классов для конвертации сущностей CRM.
Entity | Пространство имён содержит классы для работы с сущностями.
EntityAddress | Класс для хранения адресов сущностей.
EntityBankDetail | Класс для работы с банковскими реквизитами.
EntityRequisite | Класс для работы с реквизитами сущности.
Entry | Пространство имён содержит классы для хранения отдельных записей.
Integration | Пространство имён классов для для взаимодействия с другими модулями - интеграции.
Integrity | Пространство имён содержит классы для контроля, поиска, отслеживания и объединения дубликатов.
InvoiceTable | Класс предназначен для работы с таблицей счетов.
Kanban | Пространство имён содержит классы для работы с канбаном.
LeadAddress | Класс для хранения адресов Лидов.
Merger | Пространство имён классов, используемых при управлении дубликатами, при конвертации и для объединения полей сущностей.
PresetTable | Класс ORM для работы с шаблонами реквизитов CRM.
Preview | Пространство имён классов, используемых при формировании "богатых ссылок" на сущности CRM.
Requisite | Пространство имён классов, используемых для конвертации реквизитов из сущностей.
RequisiteAddress | Класс для хранения адресов реквизитов.
RequisiteTable | Класс для работы с реквизитами сущностей.
Restriction | Пространство имён содержит классы для работы с ограничениями.
Settings | Пространство имён классов и методов для выполнения различных неосновных настроек системы CRM.
Statistics | Пространство имён классов, используемых для сбора данных для построения аналитических отчетов.
Synchronization | Пространство имён классов, используемых для синхронизации наборов пользовательских полей между различными типами сущностей.
Widget | Виджеты, используемые для построения аналитических отчётов.


Структура таблиц

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>Структура таблиц

CRM::Структура таблиц

  • Сделки
  • Лиды
  • Компании
  • Контакты

Важно! Настоятельно рекомендуется при обновлении адреса передавать полный набор полей адреса в метод обновления. Частичное обновление поддерживается, но нежелательно из-за возможных конкурирующих запросов на обновление адреса другими приложениями.

Пример

Допустим, у компании был адрес "г. Калининград, ул. Фридриха Маркса, д. 50, кв. 5".

Чужое приложение: чтение адреса "г. Калининград, ул. Фридриха Маркса, д. 50, кв. 5".
Ваше приложение: чтение адреса "г. Калининград, ул. Фридриха Маркса, д. 50, кв. 5".

Чужое приложение: сохранение адреса "г. Светлогорск, ул. Ленина, д. 100, кв. 10" (исправление ошибки - полная замена адреса на адрес другого филиала).
Ваше приложение: сохранение части адреса "ул. Карла Маркса" (исправление ошибки - корректировка названия улицы, а на самом деле создание новой ошибки).

В результате двух конкурирующих запросов на обновление адрес компании стал "г. Светлогорск, ул. Карла Маркса, д. 100, кв. 10".
Таким образом, мы можем получить неконсистентный адрес.

Сделки

Поле | Описание | Чтение | Запись
ID | Идентификатор сделки. Создается автоматически и уникален в рамках БД. | Да | Нет
TITLE | Название сделки. Обязательное поле. | Да | Да
TYPE_ID | Идентификатор типа сделки. | Да | Да
STAGE_ID | Идентификатор этапа сделки | Да | Да
PROBABILITY | Вероятность заключения сделки (в %) | Да | Да
CURRENCY_ID | Валюта сделки | Да | Да
OPPORTUNITY | Сумма в валюте сделки | Да | Да
COMPANY_ID | Идентификатор компании-контрагента сделки | Да | Да
CONTACT_ID | Идентификатор контактного лица | Да | Да
BEGINDATE | Дата открытия сделки | Да | Да
CLOSEDATE | Дата закрытия сделки | Да | Да
OPENED | Флаг "Сделка доступна для всех" | Да | Да
CLOSED | Флаг "Сделка закрыта" | Да | Да
COMMENTS | Комментарии | Да | Да
ASSIGNED_BY_ID | Идентификатор ответственного за сделку | Да | Да
CREATED_BY_ID | Идентификатор создавшего сделку | Да | Нет
MODIFY_BY_ID | Идентификатор изменившего сделку | Да | Нет
DATE_CREATE | Дата создания | Да | Нет
DATE_MODIFY | Дата изменения | Да | Нет
LEAD_ID | Идентификатор лида | Да | Нет
ADDITIONAL_INFO | Дополнительная информация | Да | Да
ORIGINATOR_ID | Идентификатор внешней информационной базы. Назначение поля может меняться конечным разработчиком. | Да | Да
ORIGIN_ID | Внешний ключ, используется для операций обмена. Идентификатор объекта внешней информационной базы. Назначение поля может меняться конечным разработчиком. | Да | Да

Лиды

Поле | Описание | Чтение | Запись
ID | Идентификатор лида. | Да | Нет
TITLE | Название лида. Обязательное поле. | Да | Да
NAME | Имя контакта | Да | Да
SECOND_NAME | Отчество контакта | Да | Да
LAST_NAME | Фамилия | Да | Да
COMPANY_TITLE | Название компании | Да | Да
SOURCE_ID | Идентификатор источника | Да | Да
SOURCE_DESCRIPTION | Дополнительно об источнике | Да | Да
STATUS_ID | Идентификатор статуса лида | Да | Да
STATUS_DESCRIPTION | Дополнительная информация о статусе | Да | Да
POST | Должность | Да | Да
ADDRESS | Улица, дом, корпус, строение | Да | Да
ADDRESS_2 | Квартира, офис | Да | Да
ADDRESS_CITY | Город | Да | Да
ADDRESS_POSTAL_CODE | Почтовый индекс | Да | Да
ADDRESS_REGION | Район | Да | Да
ADDRESS_PROVINCE | Область | Да | Да
ADDRESS_COUNTRY | Страна | Да | Да
ADDRESS_COUNTRY_CODE | Код страны | Да | Да
CURRENCY_ID | Идентификатор валюты | Да | Да
OPPORTUNITY | Предполагаемая сумма | Да | Да
OPENED | Флаг "Доступен для всех" | Да | Да
COMMENTS | Комментарии | Да | Да
ASSIGNED_BY_ID | Ответственный | Да | Да
CREATED_BY_ID | Создан | Да | Нет
MODIFY_BY_ID | Изменен | Да | Нет
DATE_CREATE | Дата создания | Да | Нет
DATE_MODIFY | Дата изменения | Да | Нет
COMPANY_ID | Идентификатор компании | Да | Нет
CONTACT_ID | Идентификатор контакта | Да | Нет
DATE_CLOSED | Дата закрытия | Да | Нет
PHONE | PHONE | Да | Да
EMAIL | e-mail | Да | Да
WEB | веб-сайт | Да | Да
IM | Контакт в службе обмена мгновенными сообщениями | Да | Да
ORIGINATOR_ID | Идентификатор внешней информационной базы. Назначение поля может меняться конечным разработчиком. | Да | Да
ORIGIN_ID | Внешний ключ, используется для операций обмена. Идентификатор объекта внешней информационной базы. Назначение поля может меняться конечным разработчиком. | Да | Да

Компании

Поле | Описание | Чтение | Запись
ID | Идентификатор компании. Создается автоматически и уникален в рамках БД. | Да | Нет
TITLE | Название компании. Обязательное поле.. | Да | Да
COMPANY_TYPE | Тип компании. Выбирается из списка | Да | Да
LOGO | Логотип компании | Да | Да
ADDRESS | Улица, дом, корпус, строение (фактический адрес) | Да | Да
ADDRESS_2 | Квартира / офис (фактический адрес) | Да | Да
ADDRESS_CITY | Город (фактический адрес) | Да | Да
ADDRESS_POSTAL_CODE | Почтовый индекс (фактический адрес) | Да | Да
ADDRESS_REGION | Район (фактический адрес) | Да | Да
ADDRESS_PROVINCE | Область (фактический адрес) | Да | Да
ADDRESS_COUNTRY | Страна (фактический адрес) | Да | Да
ADDRESS_COUNTRY_CODE | Код Страны (фактический адрес) | Да | Да
REG_ADDRESS | Улица, дом, корпус, строение (юридический адрес) | Да | Да
REG_ADDRESS_2 | Квартира / офис (юридический адрес) | Да | Да
REG_ADDRESS_CITY | Город (юридический адрес) | Да | Да
REG_ADDRESS_POSTAL_CODE | Почтовый индекс (юридический адрес) | Да | Да
REG_ADDRESS_REGION | Район (юридический адрес) | Да | Да
REG_ADDRESS_PROVINCE | Область (юридический адрес) | Да | Да
REG_ADDRESS_COUNTRY | Страна (юридический адрес) | Да | Да
REG_ADDRESS_COUNTRY_CODE | Код Страны (юридический адрес) | Да | Да
ADDRESS_LEGAL | Юридический адрес | Да | Да
BANKING_DETAILS | Банковские реквизиты | Да | Да
INDUSTRY | Сфера деятельности. Выбирается из списка. | Да | Да
EMPLOYEES | Количество сотрудников. Выбирается из списка | Да | Да
CURRENCY_ID | Валюта расчетов | Да | Да
REVENUE | Годовой оборот | Да | Да
OPENED | Флаг "Доступна для всех" | Да | Да
COMMENTS | Комментарии | Да | Да
ASSIGNED_BY_ID | Идентификатор ответственного | Да | Да
CREATED_BY_ID | Создал | Да | Нет
MODIFY_BY_ID | Изменил | Да | Нет
DATE_CREATE | Дата создания | Да | Нет
DATE_MODIFY | Дата изменения | Да | Нет
LEAD_ID | Идентификатор лида | Да | Нет
ORIGINATOR_ID | Идентификатор внешней информационной базы. Назначение поля может меняться конечным разработчиком. | Да | Да
ORIGIN_ID | Внешний ключ, используется для операций обмена. Идентификатор объекта внешней информационной базы. Назначение поля может меняться конечным разработчиком. | Да | Да
PHONE | PHONE | Да | Да
EMAIL | e-mail | Да | Да
WEB | веб-сайт | Да | Да
IM | Контакт в службе обмена мгновенными сообщениями | Да | Да

Контакты

Поле | Описание | Чтение | Запись
ID | Идентификатор контакта. Создается автоматически и уникален в пределах БД | Да | Да
NAME | Имя контакта. Обязательное поле | Да | Да
SECOND_NAME | Отчество контакта. Обязательное поле | Да | Да
LAST_NAME | Фамилия Контакта. Обязательное поле | Да | Да
PHOTO | Фотография контакта | Да | Да
BIRTHDATE | Дата рождения контакта | Да | Да
TYPE_ID | Тип контакта | Да | Да
SOURCE_ID | Источник | Да | Да
SOURCE_DESCRIPTION | Подробнее об источнике | Да | Да
POST | Должность | Да | Да
ADDRESS | Улица, дом, корпус, строение | Да | Да
ADDRESS_2 | Квартира, офис | Да | Да
ADDRESS_CITY | Город | Да | Да
ADDRESS_POSTAL_CODE | Почтовый индекс | Да | Да
ADDRESS_REGION | Район | Да | Да
ADDRESS_PROVINCE | Область | Да | Да
ADDRESS_COUNTRY | Страна | Да | Да
ADDRESS_COUNTRY_CODE | Код страны | Да | Да
OPENED | Флаг "Доступен для всех" | Да | Да
COMMENTS | Комментарии | Да | Да
EXPORT | Флаг разрешения экспорта | Да | Да
ASSIGNED_BY_ID | Идентификатор ответственного | Да | Да
CREATED_BY_ID | Создан | Да | Нет
MODIFY_BY_ID | Изменен | Да | Нет
DATE_CREATE | Дата создания | Да | Нет
DATE_MODIFY | Дата изменения | Да | Нет
COMPANY_ID | Идентификатор компании | Да | Да
LEAD_ID | Идентификатор лида | Да | Нет
PHONE | PHONE | Да | Да
EMAIL | e-mail | Да | Да
WEB | веб-сайт | Да | Да
IM | Контакт в службе обмена мгновенными сообщениями | Да | Да
ORIGINATOR_ID | Идентификатор внешней информационной базы. Назначение поля может меняться конечным разработчиком. | Да | Да
ORIGIN_ID | Внешний ключ, используется для операций обмена. Идентификатор объекта внешней информационной базы. Назначение поля может меняться конечным разработчиком. | Да | Да


Новое API CRM

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>Новое API CRM (с версии 21.400.0)

CRM::Новое API CRM

Критерии и цели

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

Критерии, на которые мы ориентировались, при проектировании нового API:

  • Уменьшение дублирования кода.
  • Уменьшение связности классов.
  • Покрытие тестами.

Основные цели, которые были поставлены:

  • Повышение качества кода.
  • Уменьшение количества ошибок.
  • Ускорение процесса разработки и внедрения нового функционала.

Чтобы сделать код более структурированным, было решено разбить его на [link=141514]сервисы[/link].

Сервис - это объект, как правило, в единственном экземпляре, который выполняет небольшую обособленную часть логики.

Сервисы должны строго следовать принципу единой ответственности. Это означает, что их должно быть довольно много.

Экземпляры сервисов получаются через Service\Container.

Категории

Помимо сервисов, было написано и существенное количество вспомогательного кода. Весь код можно разделить на несколько категорий:

  • Сервисы
    • \Bitrix\Crm\Service\Accounting
    • \Bitrix\Crm\Service\Container
    • \Bitrix\Crm\Service\Context
    • \Bitrix\Crm\Service\Converter
    • \Bitrix\Crm\Service\Director
    • \Bitrix\Crm\Service\DynamicTypesMap
    • \Bitrix\Crm\Service\EditorAdapter
    • \Bitrix\Crm\Service\EventHandler
    • \Bitrix\Crm\Service\EventHistory
    • \Bitrix\Crm\Service\Factory
    • \Bitrix\Crm\Service\FileUploader
    • \Bitrix\Crm\Service\Localization
    • \Bitrix\Crm\Service\ParentFieldManager
    • \Bitrix\Crm\Service\Router
    • \Bitrix\Crm\Service\Scenario
    • \Bitrix\Crm\Service\TypesMap
    • \Bitrix\Crm\Service\UserPermissions
  • Доступ к данным
    • \Bitrix\Crm\Item
    • \Bitrix\Crm\Category\Entity\Category
    • \Bitrix\Crm\Service\TypePreset
    • \Bitrix\Crm\Service\Broker
    • Идентификаторы
    • Связи
  • Операции над элементами
    • \Bitrix\Crm\Field
    • \Bitrix\Crm\Service\Operation
  • Интерфейсы
    • \Bitrix\Crm\Service\EditorAdapter
    • \Bitrix\Crm\Component\EntityDetails\FactoryBased
    • crm.item-details-component
    • crm.model

Точкой входа при работе с новым API является Service\Container.

Через него получается нужный сервис и у него вызываются нужные методы.

В том случае, если логика программы привязана к какому-то конкретному типу сущности, точкой входа является Service\Factory.

Концепции

Ниже приведены некоторые базовые концепции, которые надо иметь в виду при работе с этим API.

Developer Experience

При проектировании API большое внимание уделялось положительному Developer Experience.

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

Тут много субъективного, и не все решения могут понравиться. Ниже приведены некоторые из особенностей, которые прослеживаются во всём коде.

Правила именования

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

  • Базовый класс находится в "общем" неймспейсе. Например, \Bitrix\Crm\Service\Operation.
  • Его наследники находятся в папке с таким же названием, как и имя базового класса. Например, \Bitrix\Crm\Service\Operation\Add.
  • При использовании реализаций базового класса в коде необходимо указывать родительский неймспейс. Например,
    use Bitrix\Crm\Service\Operation;

$addOperation = new Operation\Add();

Сервисы

В CRM сосредоточено большое количество функционала. Чтобы уменьшить связность между классами, большая часть функционала была разбита на сервисы.

Каждый сервис решает какую-то одну задачу. Сервисов получилось довольно много, но так с ними легче работать.

Отделение бизнес-логики

При проектировании API большое внимание уделялось расслоению классов по трем базовым слоям.

  • Данные.
  • Бизнес-логика.
  • Интерфейсы.

Классы и методы работы с бизнес-логикой не должны сами загружать данные. Данные должны приходить на вход в уже готовом виде, это существенно облегчает процесс покрытия тестами.

Unit-тесты

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

Мы написали довольно много тестов для новых классов (и для некоторых старых тоже).

Обработка ошибок

Большая часть методов, которые выполняют какие-либо изменения, возвращает объект Bitrix\Main\Result или его наследников.

Это позволяет корректно обработать/отобразить возникшие при работе ошибки.

Дополнительно

  • Сообщение в блоге разработчика: Смарт-процессы и новое API CRM


Новые счета

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>Новые счета (21.1300.0)

CRM::Новые счета

В обновлении crm 21.1300.0 добавлен новый тип сущности в CRM, который должен заменить собой старые счета.

Как смарт-процесс

Технически элементы новой сущности работают точно так же, как элементы смарт-процессов. Но это не смарт-процесс в чистом виде. Можно сказать, что новые счета — это зафиксированный тип смарт-процесса, с некоторыми оговорками.

У новых счетов нельзя управлять настройками этого смарт-процесса и есть ряд других ограничений.

Направления

Новые счета на данный момент не используют направления. Но так как они основаны на смарт-процессах, направления поддерживаются на уровне API.

Т.е. элементы новых счетов ведут себя идентично элементам смарт-процесса, у которого в интерфейсе отключены направления.

Стадии

Всё, как в смарт-процессах, кроме идентификаторов. Кроме того, у новых счетов другой набор стадий при создании (такой же, как в старых счетах).

Элементы

Данные об элементах хранятся точно так же, как в смарт-процессах. Класс-наследник \Bitrix\Main\ORM\Data\DataManager для работы с БД через ORM [image] компилируется в рантайме.

При этом в рантайме же в таблет добавляются два дополнительных поля, которых нет у смарт-процессов:

  • ACCOUNT_NUMBER - номер счета. По механизму работы похож на поле QUOTE_NUMBER у предложений.
  • COMMENTS - html-поле с комментариями.

Пользовательские поля

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

Работа с настройками пользовательских полей так же идентична смарт-процессам.

Идентификаторы

Подробнее об идентификаторах

  • Идентификатор типа сущности - \CCrmOwnerType::SmartInvoice = 31
  • \CCrmOwnerType::isPossibleDynamicTypeId(31) возвращает false
  • Добавлены новые методы:
    Метод Описание С версии
    \CCrmOwnerType::isUseFactoryBasedApproach(
    int $entityTypeId
): bool
             Возвращает true, если новое API для типа сущности полностью реализовано и можно вообще не трогать старое.
    \CCrmOwnerType::isUseDynamicTypeBasedApproach(
    int $entityTypeId
): bool
             Возвращает true, если API основано на API смарт-процессов (или если это сам смарт-процесс). Можно воспринимать как проверку на то, что данный тип работает на "движке" смарт-процессов.
    \CCrmOwnerType::isDynamicTypeBasedStaticEntity(
    int $entityTypeId
): bool
             Возвращает true, если тип сущности основан на API смарт-процессов, но сам таковым не является (Пример: новые счета).
    \CCrmOwnerType::getDynamicTypeBasedStaticEntityTypeIds(): array
             Возвращает массив идентификаторов типов, которые основаны на смарт-процессах, но таковыми не являются (Пример: новые счета).

  • У нового типа свой набор идентификаторов почти для всего
    • \CCrmOwnerType::SmartInvoice = 31 - идентификатор типа сущности
    • \CCrmOwnerType::SuspendedSmartInvoice = 32 - идентификатор типа сущности для корзины
    • \CCrmOwnerType::SmartInvoiceName = "SMART_INVOICE" - строковый код нового типа сущности
    • \CCrmOwnerType::SuspendedSmartInvoiceName = "SUS_SMART_INVOICE" - строковый код нового типа сущности для корзины
    • \CCrmOwnerTypeAbbr::SmartInvoice = "SI" - короткое обозначения типа.
    • Идентификатор ENTITY_ID для пользовательских полей - \Bitrix\Crm\Service\Factory\SmartInvoice::USER_FIELD_ENTITY_ID = "CRM_SMART_INVOICE"
    • Идентификатор ENTITY_ID для пользовательских полей в корзине - \Bitrix\Crm\Service\Factory\SmartInvoice::SUSPENDED_USER_FIELD_ENTITY_ID = "CRM_SMART_INVOICE_SPD"
    • Идентификатор ENTITY_ID для стадий формируется как SMART_INVOICE_STAGE_{categoryId}
    • Префикс поля STATUS_ID для стадий формируется также, как для смарт-процессов - DT31_{categoryId}

Общие рекомендации

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

Если приходится делать различия (например, в время переходного периода, когда новый API реализован не для всех типов сущностей), то стоит пользоваться следующим алгоритмом:

  • Если нужно узнать, поддерживает ли тип новый API, то используется метод \CCrmOwnerType::isUseFactoryBasedApproach(int $entityTypeId): bool
  • Если нужно понять, имеем ли мы дело со смарт-процессами, используется метод \CCrmOwnerType::isUseDynamicTypeBasedApproach(int $entityTypeId): bool
  • Метод \CCrmOwnerType::isPossibleDynamicTypeId(int $entityTypeId): bool используется крайне редко, только при наличии полного понимания, что необходим именно он. Метод возвращает true только в том случае, если entityTypeId принадлежит "настоящему" смарт-процессу. Т.е. исключаются все статические типы, основанные на смарт-процессах (например, новые счета). Чаще всего, это нежелательное поведение.

Настройки отображения раздела

На момент выхода обновления crm 21.1300.0 имеет место переходный период со старых счетов на новые. Сейчас в интерфейсах могут показываться старые счета, новые счета или сразу оба.

Для упрощения работы были добавлены некоторые методы. Их задача — дать ответ на вопрос, нужно ли показывать определенную часть интерфейса, так как точные детали могут меняться со временем.

use Bitrix\Crm\Settings\InvoiceSettings;

\Bitrix\Main\Loader::includeModule('crm');

$isShowOldInvoices = InvoiceSettings::getCurrent()->isOldInvoicesEnabled(); // показывать старые счета или нет
$isShowSmartInvoices = InvoiceSettings::getCurrent()->isSmartInvoiceEnabled(); // показывать новые счета или нет

Перед показом новых счетов в интерфейсе надо обязательно проверять, надо их показывать или нет. Также рекомендуется скрывать старые счета, если InvoiceSettings::isOldInvoicesEnabled возвращает false.


Комплексные идентификаторы

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>Комплексные идентификаторы (с версии 20.700.0)

CRM::Комплексные идентификаторы

\Bitrix\Crm\ItemIdentifier и \Bitrix\Crm\RelationIdentifier хранят данные, по которым можно однозначно идентифицировать что-либо. В случае с ItemIdentifier - это конкретный элемент какой-либо сущности (например, конкретная сделка с ID = 74). А в случае с RelationIdentifier - конкретный тип связи.

Объекты обоих классов являются объектами-значениями [image] и поэтому неизменяемы. Значения их параметров передаются в __construct и после не могут быть установлены заново. Если же нужно изменить какое-либо значение, нужно создать новый объект на основе старого.

При создании объектов обоих классов данные валидируются.

Оба класса доступны с обновления crm 20.700.0. Не забудьте поставить зависимость!

ItemIdentifier

Объект ItemIdentifier хранит в себе entityTypeId и entityId, по которым можно однозначно идентифицировать элемент.

Конструктор имеет следующую сигнатуру:

__construct(int $entityTypeId, int $entityId)
  • entityTypeId - константа \CCrmOwnerType, например \CCrmOwnerType::Lead. Значение должно соответствовать реально существующему типу сущности (\CCrmOwnerType::IsDefined). Иначе будет выброшено исключение.
  • entityId - ID элемента. Например, ID конкретной сделки. Должен быть больше 0, иначе будет выброшено исключение.

Также объект может быть создан на основании \Bitrxi\Crm\Item с помощью метода \Bitrix\Crm\ItemIdentifier::createByItem.

RelationIdentifier

Объект RelationIdentifier хранит в себе parentEntityTypeId и childEntityTypeId, по которым можно однозначно идентифицировать тип связи.

Конструктор имеет следующую сигнатуру:

__construct(int $parentEntityTypeId, int $childEntityTypeId)
  • parentEntityTypeId - константа \CCrmOwnerType, например \CCrmOwnerType::Lead. Указывает, какой тип сущности является родительским в данной связи. Должно быть больше нуля, иначе будет выброшено исключение.
  • childEntityTypeId - аналогично parentEntityTypeId. Указывает, какой тип сущности является потомком в данной связи. Должно быть больше нуля, иначе будет выброшено исключение.


Пресет настроек смарт-процесса

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>Пресет настроек смарт-процесса (с версии 21.400.0)

CRM::Пресет настроек смарт-процесса

Класс находится в разработке и будет подвергнут рефакторингу. Не рекомендуется использовать напрямую.

Класс служит для доступа к данным о пресетах, а также для их запаковывания / распаковывания из json.

Каждый пресет состоит из двух "наборов" данных.

Первый набор относится к данным о самом пресете - его название, описание, иконка и т.д.

Второй набор - это собственно пресет настроек смарт-процесса.

Применение настроек смарт-процессов осуществляется на фронтенде через модель.

Класс воспроизводит интерфейс \JsonSerializable.

Пресеты не хранятся в базе данных. Набор предустановленных пресетов захардкожен прямо в брокере.

Методы

Метод Описание С версии
public function __construct(array $fields, array $data)

  • $fields- данные о пресете. Массив имеет следующую структуру:
    • title - название пресета;
    • id - идентификатор пресета. Должен строиться по правилу {venorName}:{code};
    • disabled - флаг того, доступен пресет к использованию или нет;
    • category - строковый идентификатор раздела пресетов;
    • description - описание пресета;
    • icon - абсолютный путь к иконке.
  • $data- настройки смарт-процесса. Может содержать любые доступные к изменению поля в camelCase нотации.
 Конструктор.
public static function createFromJson
(string $json): ?TypePreset
 Если строка $json имеет правильную структуру, то метод вернет новый объект пресета.
public function jsonSerialize(): array
 Вернет описание пресета в виде json.
public function getTitle(): string
 Вернет название пресета.
public function setTitle(string $title): self
Установит название пресета $title.
public function getCategory(): string
 Вернет код раздела.
public function setCategory(string $category): self
Установит код раздела $category.
public function getDescription(): ?string
 Вернет описание пресета.
public function setDescription(string $description): self
Установит описание пресета $description.
public function getIcon(): string
Вернет путь к иконке.
public function setIcon(string $icon): self
Установит путь к иконке $icon.
public function getData(): array
Вернет поля настроек смарт-процесса.
public function setData(array $data): self
Установит поля настроек смарт-процесса $data.
public function getId(): string
Вернет идентификатор пресета.
public function setId(string $id): self
Установит идентификатор пресета $id.
public function isDisabled(): bool
Вернет флаг доступности пресета.
public function setDisabled(bool $isDisabled): TypePreset
Установит флаг доступности пресета $isDisabled.


Связи

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>Связи (с версии 20.700.000)

CRM::Связи

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

API связей между сущностями код доступен с обновления CRM 20.700.0.

Терминология

Термины, используемые в документации.

  • Тип сущности (сущность) - сущность CRM. Например, Сделка, Лид, конкретный тип Смарт-процесса.
  • Элемент - элемент сущности CRM. Это может быть конкретная сделка (например, сделка с ID = 14), конкретное коммерческое предложение или конкретный элемент смарт-процесса.
  • Тип связи - если существует тип связи между двумя типами сущностей CRM, то это значает, что элементы этих сущностей можно связать между собой. Например, если существует тип связи Сделка - Предложение, то мы можем привязать конкретную сделку к конкретному предложению.
  • Связь - связь между конкретными элементами сущностями. Например, связь между сделкой с ID = 14 и предложением с ID = 62
  • Родительская сущность - тип сущности, к элементам которого привязывается элемент-потомок.
  • Сущность-потомок - тип сущности, элементы которого привязываются к элементу-родителю.
  • entityTypeId - константа класса \CCrmOwnerType (например, \CCrmOwnerType::Lead), которая однозначно идентифицирует какой-то тип сущности.
  • entityId - ID элемента. Например, ID конкретной сделки.

Основной концепт

Чтобы организовать работу со связями между сущностями в едином формате используется API из пространства имён \Bitrix\Crm\Relation. Основная идея заключается в следующем:

\Bitrix\Crm\Relation\RelationManager - сервис, получаемый через контейнер. Он является "точкой входа" всего API. Через него можно проверить, есть ли тип связи между сущностями, создать новый тип связи или связать элементы.

Объект класса \Bitrix\Crm\Relation представляет собой конкретный тип связи между сущностями, например, Сделка — Предложение

Объект класса \Bitrix\Crm\ItemIdentifier хранит данные, по которым можно однозначно идентифицировать конкретный элемент любой сущности CRM

Объект класса \Bitrix\Crm\RelationIdentifier, по аналогии с ItemIdentifier, хранит данные, по которым можно однозначно идентифицировать конкретный тип связи между сущностями

Для ознакомления описан \Bitrix\Crm\Service\ParentFieldManager - объект-сервис, получаемый через контейнер.

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

Сниппеты для типовых вариантов использования API.

Создать новый тип связи:

use Bitrix\Crm\Relation;
use Bitrix\Crm\Service\Container;

$newRelation = Relation::create(\CCrmOwnerType::Deal, \CCrmOwnerType::Activity);

/** @var Bitrix\Main\Result $result */
$result = Container::getInstance()->getRelationManager()->bindTypes($newRelation);

Связать два элемента:

use Bitrix\Crm\ItemIdentifier;
use Bitrix\Crm\Service\Container;

$parent = new ItemIdentifier(\CCrmOwnerType::Deal, 1);
$child = new ItemIdentifier(\CCrmOwnerType::Activity, 1);

/** @var Bitrix\Main\Result $result */
$result = Container::getInstance()->getRelationManager()->bindItems($parent, $child);

Проверить, связаны ли элементы

use Bitrix\Crm\ItemIdentifier;
use Bitrix\Crm\Service\Container;

$parent = new ItemIdentifier(\CCrmOwnerType::Deal, 1);
$child = new ItemIdentifier(\CCrmOwnerType::Activity, 1);

/** @var bool $result */
$result = Container::getInstance()->getRelationManager()->areItemsBound($parent, $child);

Получить все родительские элементы, привязанные к элементу

use Bitrix\Crm\ItemIdentifier;
use Bitrix\Crm\Service\Container;

$child = new ItemIdentifier(\CCrmOwnerType::Activity, 1);

/** @var ItemIdentifier[] $parents */
$parents = Container::getInstance()->getRelationManager()->getParentElements($child);

Получить все типы связей, где данная сущность является родителем:

use Bitrix\Crm\Relation;
use Bitrix\Crm\Service\Container;

/** @var Relation\Collection $childRelations */
$childRelations = Container::getInstance()->getRelationManager()->getChildRelations(\CCrmOwnerType::Deal);

Получить все стандартные типы связи для данной сущности:

use Bitrix\Crm\Relation;
use Bitrix\Crm\Service\Container;

/** @var Relation\Collection $relations */
$relations = Container::getInstance()->getRelationManager()->getRelations(\CCrmOwnerType::Deal);
/** @var Relation\Collection $predefinedRelations */
$predefinedRelations = $relations->filterOutCustomRelations();


Клиент в CRM

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>Клиент в CRM

CRM::Клиент в CRM

У нескольких типов сущностей CRM существует поле Клиент, позволяющее привязать к элементам данной сущности Контакт и Компанию. В зависимости от реализации, к одному элементу можно привязать от одного до нескольких Контактов и (или) Компаний.

Простой случай - одиночная привязка

В самом простом случае, к одному элементу можно привязать только одну клиентскую сущность. Чаще всего эта реализация применяется к Компании.

Связь обеспечивается посредством записи ID клиентской сущности в колонку CONTACT_ID для Контактов и COMPANY_ID для Компаний.

Пример подобной реализации - привязка Компании к сделке (таблица b_crm_deal).

Сложный случай - множественная привязка

К нескольким типам сущностей (Сделка, Предложение, Лид) можно привязать несколько Контактов. Один из них будет являться основным, остальные - дополнительными.

Со стороны БД

Для этого обеспечивается связь M:N между элементами сущностей и Контактов посредствам специальной таблицы. Для каждой сущности имеется отдельная таблица с названием вида b_crm_entity_type_name_contacts (например, b_crm_deal_contacts, b_crm_quote_contacts). Таблица имеет следующую структуру (на примере b_crm_deal_contacts):

Имя поля | Описание | С Комментарий
DEAL_ID | INT(1) UNSIGNED NOT NULL | Ссылка на элемент сущности
CONTACT_ID | INT(1) UNSIGNED NOT NULL | Ссылка на контакт
SORT | INT NOT NULL |
ROLE_ID | TINYINT(1) NOT NULL |
IS_PRIMARY | CHAR(1) NOT NULL | Является ли контакт основным

ID основного контакта (IS_PRIMARY === 'Y') также дополнительно помещается в колонку CONTACT_ID связанной сущности.

У Заказа (order) реализована множественная привязка как Контактов, так и Компаний. Структура таблицы (b_crm_contact_company) и API в случае с данным типом сущности отличается от остального CRM, поэтому здесь он рассмотрен не будет.

Со стороны API

Для работы со связанными сущностями в CRM существует отдельный неймспейс Bitrix\Crm\Binding. Множественная связь с клиентами реализуется здесь же. В неймспейсе находятся таблеты промежуточных таблиц (DealContactTable и др.), и классы, обрабатывающие специальные массивы связи, которые будут рассмотрены ниже - EntityBinding и BindingHelper.

Массивы связи (bindings)

Информация о связях внутри CRM передается в формате массивов специальной структуры - массивов связи (bindings). Они формируются и обрабатываются с помощью методов класса EntityBinding.

Массив имеет следующую структуру:

$bindings = [
    [
        'CONTACT_ID' => 1, // Ссылка на клиентскую сущность. В случае с Компанией используется COMPANY_ID
        'SORT' => 10,
        'ROLE_ID' => 0,
        'IS_PRIMARY' => 'Y',
    ],
    // В массиве как минимум присутствуют поля CONTACT_ID (COMPANY_ID) и SORT
    [
        'CONTACT_ID' => 2,
        'SORT' => 20,
    ],
];

Как добавить/удалить клиента

Добавить/удалить клиента можно при создании или обновлении сущности через соответствующий ей класс (CCrmDeal и т.п.). Для этого в параметре $arFields нужно передать соответствующие значения.

$deal = new \CCrmDeal();
$newDealId = $deal->Add([
    'COMPANY_ID' => 1,

    // Для привязки контакта можно передать любой из ключей ниже. Если передана один, другие не нужны
    'CONTACT_ID' => 12, // Привязка одного контакта
    'CONTACT_IDS' => [1, 2, 3], // Привязка нескольких контактов. Первый контакт будет сохранен как основной
    'CONTACT_BINDINGS' => [ // Привязка нескольких контактов. Позволяет в явном виде задать основной контакт, сортировку и др
        'CONTACT_ID' => 1,
        'SORT' => 10,
        'ROLE_ID' => 0,
        'IS_PRIMARY' => 'Y',
    ],
    [
        'CONTACT_ID' => 2,
        'SORT' => 20,
    ],
]);

При обновлении (CCrmDeal::Update) в параметре $arFields можно передать те же ключи, новые значения заменят старые. Если же при обновлении не передавать ничего, связанного с контактами или компанией, текущие значения останутся неизменными.

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


Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>Работа с элементами (с версии 21.1300)

CRM::Работа с элементами

Работа с элементами

  • Класс для работы с элементом любого типа сущности - \Bitrix\Crm\Item
  • Получение объектов осуществляется через методы фабрики \Bitrix\Crm\Service\Factory
  • Выполнение действий (создание / изменение / удаление и другие) оборачивается в операции \Bitrix\Crm\Service\Operation
  • Особенности работы с коллекциями элемента раскрыты в отдельной статье
  • Немного про структуру данных с привязками

Создание элемента

$entityTypeId = \CCrmOwnerType::Deal;

$factory = \Bitrix\Crm\Service\Container::getInstance()->getFactory($entityTypeId);
if (!$factory)
{
    echo 'factory not found';
    return;
}

// пустой элемент, у которого заполнены значения полей по умолчанию. В том числе направление, стадия, кем создан и т.д.
$item = $factory->createItem();

// метод вернет данные об элементе в виде массива, идентичного по структуре "старому" API
// $item->getCompatibleData();

// теперь надо записать новые значения полей
$item
    ->setAssignedById($newAssigned)
    ->setMycompanyId($newMycompanyId)
;

// можно данные записать массивом, аналогичным по структуре "старому" API

$item->setFromCompatibleData([
    \Bitrix\Crm\Item::FIELD_NAME_ASSIGNED => $newAssigned,
    \Bitrix\Crm\Item::FIELD_NAME_MYCOMPANY_ID => $newMycompanyId,
])

// данные нигде не сохранены, они только хранятся внутри $item
// чтобы сохранить изменения в БД без выполнения всех связанных действий, достаточно вызвать
// $item->save();
// НО ДЕЛАТЬ ТАК НЕ РЕКОМЕНДУЕТСЯ.
// Все связанные действия, часто обеспечивающие работоспособность функционала crm будут пропущены (обновления счетчиков,
// прав доступа, поисковых индексов, т.д.)

// если необходимо переопределить контекст выполнения, это надо сделать в явном виде
$context = new \Bitrix\Crm\Service\Context();
$context->setUserId($userId);

// операция производится от пользователя $userId с выполнением всех проверок
$operation = $factory->getAddOperation($item, $context);
$result = $operation->launch();

Изменение элемента

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

$entityTypeId = \CCrmOwnerType::Deal;
$entityId = 261;

$factory = \Bitrix\Crm\Service\Container::getInstance()->getFactory($entityTypeId);
// нет смысла выполнять код дальше, если у сущности нет поля "Клиент"
if (!$factory || !$factory->isClientEnabled())
{
    echo 'factory not found';
    return;
}

$item = $factory->getItem($entityId);
if (!$item)
{
    echo 'item not found';
    return;
}

// $item->getContacts() вернет массив orm-объектов из таблицы b_crm_contact, привязанных к этому элементу
// он может быть полезен, когда необходимо прочитать данные привязанных контактов.

// здесь хранится простой массив с данными о привязках к контактам
//$existingBindings = $item->getContactBindings();

// добавить связь с контактом с ид = 4
$item->bindContacts(\Bitrix\Crm\Binding\EntityBinding::prepareEntityBindings(\CCrmOwnerType::Contact, [4]));
// удалить связь с контактом с ид = 3
$item->unBindContacts(\Bitrix\Crm\Binding\EntityBinding::prepareEntityBindings(\CCrmOwnerType::Contact, [3]));

// данные о новых привязках ещё нигде не сохранены, они только хранятся внутри $item
// чтобы сохранить изменения в БД без выполнения всех связанных действий, достаточно вызвать
// $item->save();
// НО ДЕЛАТЬ ТАК НЕ РЕКОМЕНДУЕТСЯ.
// Все связанные действия, часто обеспечивающие работоспособность функционала crm будут пропущены (обновления счетчиков,
// прав доступа, поисковых индексов, т.д.)

// если необходимо переопределить контекст выполнения, это надо сделать в явном виде
// $context = new \Bitrix\Crm\Service\Context();
// $context->setUserId($userId);

$operation = $factory->getUpdateOperation($item);
$operation->disableAllChecks();

$result = $operation->launch();

Удаление элемента

$entityTypeId = \CCrmOwnerType::Deal;
$entityId = 260;

$factory = \Bitrix\Crm\Service\Container::getInstance()->getFactory($entityTypeId);
if (!$factory)
{
    echo 'factory not found';
    return;
}

$item = $factory->getItem($entityId);
if (!$item)
{
    echo 'item not found';
    return;
}

// удалить элемент без выполнения дополнительных проверок и действий можно через
// $item->delete();
// НО ТАК ДЕЛАТЬ НЕ РЕКОМЕНДУЕТСЯ!
// В таблицах останутся лишние записи (индексы, связи и т.д.)

$result = $factory->getDeleteOperation($item)->launch();


CRM в старом ядре

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>CRM в старом ядре

CRM::CRM в старом ядре

  • Основные методы работы [image];
  • CRM-формы и Виджет на сайт [image].

Классы

Список классов модуля CRM в старом ядре.

Класс | Описание | С версии
CCrmActivity | Класс для работы с Моими Делами. | 12.0.2

Константы

Список констант модуля CRM в старом ядре.

Константа | Проверяется | С версии
ADMIN_SECTION | CCrmWebDavHelper::SaveEmailAttachment | 12.0.4
BX_UTF | CCrmExternalSaleProxy::RequestToString | 11.5.0
CRM_ERROR_LOG | CCrmExternalSaleImport::AddMessage2Log | 11.5.0
LANG_CHARSET | CCrmActivityEmailSender::TrySendEmail | 12.5.9

События

Список событий модуля CRM в старом ядре.

Событие | Вызывается | Метод | С версии
Дела
OnActivityAdd | при добавлении дела к сущности. | CCrmActivity::Add | 12.0.2
OnActivityDelete | при удалении дела. | CCrmActivity::Delete | 12.0.2
OnActivityUpdate | при изменении дела. | CCrmActivity::Update | 12.0.2
OnBeforeActivityDelete | перед удалением дела. | CCrmActivity::Delete | 12.0.2
Каталог товаров
OnBeforeCrmCatalogDelete | перед удалением каталога товаров crm. | CCrmCatalog::Delete | 11.5.0
OnCrmCatalogDelete | при удалении каталога товаров CRM. | OnCrmCatalogDelete | 11.5.0
Почтовый шаблон
OnBeforeMailTemplateDelete | перед удалением почтового шаблона. | CCrmMailTemplate::Delete | 12.5.0
OnMailTemplateAdd | при добавлении почтового шаблона. | CCrmMailTemplate::Add | 12.5.0
OnMailTemplateDelete | при удалении почтового шаблона. | CCrmMailTemplate::Delete | 12.5.0
OnMailTemplateUpdate | при изменении почтового шаблона. | CCrmMailTemplate::Update | 12.5.0
Товары
OnBeforeCrmProductDelete | перед удалением товара crm. | CCrmProduct::Delete | 11.5.0
OnCrmProductDelete | при удалении товара CRM. | CCrmProduct::Delete | 11.5.0
OnAfterCrmProductUpdate | после обвноления товара CRM. | CCrmProduct::Update | 11.5.0
Компании
OnAfterCrmCompanyAdd | после добавления компании. | CCrmCompany::Add | 10.0.1
OnAfterCrmCompanyUpdate | после изменения компании. | CCrmCompany::Update | 10.0.1
OnBeforeCrmCompanyDelete | перед удалением компании. | CCrmCompany::Delete | 10.0.1
OnBeforeCrmCompanyAdd | перед добавлением компании | CCrmCompany::Add | 10.0.1
OnBeforeCrmCompanyUpdate | перед изменением компании | CCrmCompany::Update | 10.0.1
OnAfterCrmCompanyDelete | после удаления компании. | CCrmCompany::Delete | 10.0.1
OnAfterExternalCrmCompanyAdd | после добавления внешней компании. | CCrmCompany::Add | 10.0.1
Контакты
OnAfterCrmContactAdd | после добавления контакта. | CCrmContact::Add | 10.0.1
OnAfterCrmContactUpdate | после изменения контакта. | CCrmContact::Update | 10.0.1
OnBeforeCrmContactDelete | перед удалением контакта. | CCrmContact::Delete | 10.0.1
OnBeforeCrmContactAdd | перед добавлением контакта. | CCrmContact::Add | 10.0.1
OnBeforeCrmContactUpdate | перед изменением контакта. | CCrmContact::Update | 10.0.1
OnAfterExternalCrmContactAdd | после добавления внешнего контакта. | CCrmContact::Add | 10.0.1
OnAfterCrmContactDelete | после удаления контакта. | CCrmContact::Delete | 10.0.1
Сделки
OnAfterCrmDealAdd | после добавления сделки. | CCrmDeal::Add | 10.0.1
OnAfterCrmDealUpdate | после изменения сделки. | CCrmDeal::Update | 10.0.1
OnBeforeCrmDealDelete | перед удалением сделки. | CCrmDeal::Delete | 10.0.1
OnBeforeCrmDealAdd | перед добавлением сделки. | CCrmDeal::Add | 10.0.1
OnBeforeCrmDealUpdate | перед изменением сделки. | CCrmDeal::Update | 10.0.1
OnAfterCrmDealDelete | после удаления сделки. | CCrmDeal::Delete | 10.0.1
OnAfterExternalCrmDealAdd | после добавления внешней сделки. | CCrmDeal::Add | 10.0.1
OnAfterCrmDealProductRowsSave | после добавления товара в сделку. | CCrmDeal::SaveProductRows | 10.0.1
Лиды
OnAfterCrmLeadAdd | после добавления лида. | CCrmLead::Add | 10.0.0
OnAfterCrmLeadUpdate | после изменения лида. | CCrmLead::Update | 10.0.0
OnBeforeCrmLeadDelete | перед удалением лида. | CCrmLead::Delete | 10.0.0
OnBeforeCrmLeadAdd | перед добавлением лида. | CCrmLead::Add | 10.0.0
OnBeforeCrmLeadUpdate | перед изменением лида. | CCrmLead::Update | 10.0.0
OnAfterCrmLeadDelete | после удалениея лида. | CCrmLead::Delete | 10.0.0
OnAfterExternalCrmLeadAdd | после добавления внешнего лида. | CCrmLead::Add | 10.0.0
OnAfterCrmLeadProductRowsSave | после добавления товара в лид. | CCrmLead::SaveProductRows | 10.0.0
Коммерческие предложения
OnBeforeCrmQuoteAdd | перед добавлением коммерческого предложения | CCrmQuote::Add |
OnAfterCrmQuoteAdd | после добавления коммерческого предложения | CCrmQuote::Add |
OnBeforeCrmQuoteUpdate | перед обновлением коммерческого предложения | CCrmQuote::Update |
OnAfterCrmQuoteUpdate | после обновления коммерческого предложения | CCrmQuote::Update |
OnBeforeCrmQuoteDelete | перед удалением коммерческого предложения | CCrmQuote::Delete |
OnAfterCrmQuoteDelete | после удаления коммерческого предложения | CCrmQuote::Delete |
OnBeforeCrmQuoteNumberSet | перед присвоением номера коммерческому предложению | CCrmQuote::SetQuoteNumber |
OnAfterCrmQuoteProductRowsSave | после добавления товара в коммерческое предложение | CCrmQuote::SaveProductRows |
Счета
OnBeforeCrmInvoiceUpdate | перед обновлением счёта | CCrmInvoice::Add |
OnBeforeCrmInvoiceAdd | перед добавлением счёта | CCrmInvoice::Add |
OnBeforeCrmInvoiceDelete | перед удалением счёта | CCrmInvoice::Delete |
OnAfterCrmInvoiceDelete | после удаления счёта | CCrmInvoice::Delete |
OnBeforeCrmInvoiceSetStatus | перед установкой статуса счёта | CCrmInvoice::SetStatus |
OnAfterCrmInvoiceSetStatus | после установки статуса счёта | CCrmInvoice::SetStatus |
Корзина
OnAfterMoveToRecycleBin | после перемещения документа в корзину | BaseController::fireAfterMoveToBinEvent |
OnAfterRecoverFromRecycleBin | после восстановления документа из корзины | BaseController::fireAfterRecoverEvent |
OnAfterEraseFromRecycleBin | после очистки корзины | BaseController::fireAfterEraseEvent |
Другие события
OnGetEntityTypes | после построения списка типов сущностей. | CCrmStatus::GetEntityTypes | 11.5.0
OnAfterCrmAddEvent | после добавления события. | CCrmEvent::Add | 10.0.6
OnGetActivityProviders | при получении списка активных провайдеров | ProviderManager::getProviders |
OnBeforeCrmAddEvent | перед добавлением события. | CCrmEvent::Add | 10.0.6
OnBeforeCrmEventDelete | перед удалением события. | CCrmEvent::Delete | 10.0.6
OnBeforeCrmEventDeleteByElement | перед удалением всех событий, связанных с конкретной сущностью. | CCrmEvent::DeleteByElement | 10.0.6
*OnCrmStatusGetList | при запросе CCrmStatus::GetStatus | OnCrmStatusGetList | 12.5.7
* используется для переопределения статусов в базе данных. Рекомендуется не использовать.


Типы сущностей CRM

В CRM есть большое количество данных самых разных типов.

Рассмотрим только основные типы сущностей CRM, элементы которых имеют свою карточку / таймлайн.

Основные типы это:

  • Лиды;
  • Сделки;
  • Контакты;
  • Компании;
  • Счета;
  • Предложения;
  • Заказы.

Кроме этого набора статических сущностей есть набор динамических, т.е. смарт-процессы.

Несмотря на унифицированные интерфейсы управления элементами этих сущностей, под капотом они устроены довольно по-разному.

Новое API CRM было спроектировано таким образом, чтобы максимально скрыть внутреннее устройство элементов разных типов.

На момент выхода crm 21.1300.0 это API поддерживается не всеми типами сущностей, а где-то поддерживается, но не полностью.

Ситуация усугубляется тем, что в CRM появились новые счета, которые по факту являются элементами смарт-процесса. Но только это не совсем смарт-процесс, т.к. его настройки и идентификаторы - фиксированы.

  • Идентификаторы;
  • API для работы с идентификаторами;
  • Определение внутреннего способа реализации.


Идентификаторы

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>Типы сущностей CRM>Идентификаторы

Типы сущностей CRM::Идентификаторы

Каждый тип сущности имеет свои идентификаторы. И этих идентификаторов много. Ниже перечислены основные типы

  • entityTypeId - идентификатор типа сущности, int
  • entityName - строковый идентификатор типа сущности, string
  • entityTypeAbbr - сокращенный строковый идентификатор типа, string не больше 3х символов
  • userFieldEntityId - идентификатор сущности для настроек пользовательских полей, string
  • statusEntityId - значение колонки ENTITY_ID таблицы b_crm_status для стадий и статусов, string
  • permissionEntity - идентификатор типа элемента, используемый при проверке прав, string
  • suspendedEntityTypeId - идентификатор типа сущности для корзины, int
  • suspendedEntityTypeName - строковый идентификатор типа сущности для корзины, string
  • suspendedUserFieldEntityId - идентификатор сущности для настроек пользовательских полей в корзине, string

Для тех сущностей, которые имеют направления (сделки, смарт-процессы), некоторые идентификаторы будут уникальны в рамках направления

Когда элемент определенного типа сущности помещается в корзину, то часть его идентификаторов меняется, они отражены в общем списке.

Основной - это entityTypeId. Зная этот идентификатор типа, можно (не всегда просто) получить остальную информацию

На фронте есть похожий хелпер, BX.CrmEntityType в файле crm/install/js/crm/common.js

Числовой и строковый идентификаторы можно получить через константы / методы класса \CCrmOwnerType.

Список основных идентификаторов:

  • Лид
    • entityTypeId = \CCrmOwnerType::Lead = 1
    • entityTypeName = \CCrmOwnerType::LeadName = 'LEAD'
    • entityTypeAbbr = \CCrmOwnerTypeAbbr::Lead = 'L'
    • userFieldEntityId = \CAllCrmLead::USER_FIELD_ENTITY_ID = 'CRM_LEAD'
    • statusEntityId = 'STATUS'
    • permissionEntity = 'LEAD'
    • suspendedEntityTypeId = \CCrmOwnerType::SuspendedLead = 18
    • suspendedEntityTypeName = \CCrmOwnerType::SuspendedLeadName = 'SUS_LEAD
    • suspendedUserFieldEntityId = \CAllCrmLead::SUSPENDED_USER_FIELD_ENTITY_ID = 'CRM_LEAD_SPD'

  • Сделка в направлении по умолчанию.
    • entityTypeId = \CCrmOwnerType::Deal = 2
    • entityTypeName = \CCrmOwnerType::DealName = 'DEAL'
    • entityTypeAbbr = \CCrmOwnerTypeAbbr::Deal = 'D'
    • userFieldEntityId = \CAllCrmDeal::USER_FIELD_ENTITY_ID = 'CRM_DEAL'
    • statusEntityId = 'DEAL_STAGE'
    • permissionEntity = 'DEAL'
    • suspendedEntityTypeId = \CCrmOwnerType::SuspendedDeal = 19
    • suspendedEntityTypeName = \CCrmOwnerType::SuspendedDealName = 'SUS_DEAL
    • suspendedUserFieldEntityId = \CAllCrmDeal::SUSPENDED_USER_FIELD_ENTITY_ID = 'CRM_DEAL_SPD'

  • Сделка в направлении с идентификатором 3
    • entityTypeId = \CCrmOwnerType::Deal = 2
    • entityTypeName = \CCrmOwnerType::DealName = 'DEAL'
    • entityTypeAbbr = \CCrmOwnerTypeAbbr::Deal = 'D'
    • userFieldEntityId = \CAllCrmDeal::USER_FIELD_ENTITY_ID = 'CRM_DEAL'
    • statusEntityId = 'DEAL_STAGE_3'
    • permissionEntity = 'DEAL_C3'
    • suspendedEntityTypeId = \CCrmOwnerType::SuspendedDeal = 19
    • suspendedEntityTypeName = \CCrmOwnerType::SuspendedDealName = 'SUS_DEAL
    • suspendedUserFieldEntityId = \CAllCrmDeal::SUSPENDED_USER_FIELD_ENTITY_ID = 'CRM_DEAL_SPD'

  • Контакт
    • entityTypeId = \CCrmOwnerType::Contact = 3
    • entityTypeName = \CCrmOwnerType::ContactName = 'CONTACT'
    • entityTypeAbbr = \CCrmOwnerTypeAbbr::Contact = 'C'
    • userFieldEntityId = \CAllCrmContact::USER_FIELD_ENTITY_ID = 'CRM_CONTACT'
    • statusEntityId - отсутствует
    • permissionEntity = 'CONTACT'
    • suspendedEntityTypeId = \CCrmOwnerType::SuspendedContact = 20
    • suspendedEntityTypeName = \CCrmOwnerType::SuspendedContactName = 'SUS_CONTACT
    • suspendedUserFieldEntityId = \CAllCrmContact::SUSPENDED_USER_FIELD_ENTITY_ID = 'CRM_CONTACT_SPD'

  • Компания
    • entityTypeId = \CCrmOwnerType::Company = 4
    • entityTypeName = \CCrmOwnerType::CompanyName = 'COMPANY'
    • entityTypeAbbr = \CCrmOwnerTypeAbbr::Company = 'CO'
    • userFieldEntityId = \CAllCrmCompany::USER_FIELD_ENTITY_ID = 'CRM_COMPANY'
    • statusEntityId - отсутствует
    • permissionEntity = 'COMPANY'
    • suspendedEntityTypeId = \CCrmOwnerType::SuspendedCompany = 21
    • suspendedEntityTypeName = \CCrmOwnerType::SuspendedCompanyName = 'SUS_COMPANY
    • suspendedUserFieldEntityId = \CAllCrmCompany::SUSPENDED_USER_FIELD_ENTITY_ID = 'CRM_COMPANY_SPD'

  • Счета (старая версия)
    • entityTypeId = \CCrmOwnerType::Invoice = 5
    • entityTypeName = \CCrmOwnerType::InvoiceName = 'INVOICE'
    • entityTypeAbbr = \CCrmOwnerTypeAbbr::Invoice = 'I'
    • userFieldEntityId = \CAllCrmInvoice::USER_FIELD_ENTITY_ID = 'CRM_INVOICE'
    • statusEntityId = 'INVOICE_STATUS'
    • permissionEntity = 'INVOICE'
    • suspendedEntityTypeId = \CCrmOwnerType::SuspendedInvoice = 23
    • suspendedEntityTypeName = \CCrmOwnerType::SuspendedInvoiceName = 'SUS_INVOICE
    • suspendedUserFieldEntityId = \CAllCrmInvoice::SUSPENDED_USER_FIELD_ENTITY_ID = 'CRM_INVOICE_SPD'

  • Предложения
    • entityTypeId = \CCrmOwnerType::Quote = 7
    • entityTypeName = \CCrmOwnerType::QuoteName = 'QUOTE'
    • entityTypeAbbr = \CCrmOwnerTypeAbbr::Quote = 'Q'
    • userFieldEntityId = \CAllCrmQuote::USER_FIELD_ENTITY_ID = 'CRM_QUOTE'
    • statusEntityId = 'QUOTE_STATUS'
    • permissionEntity = 'QUOTE'
    • suspendedEntityTypeId = \CCrmOwnerType::SuspendedQuote = 22
    • suspendedEntityTypeName = \CCrmOwnerType::SuspendedQuoteName = 'SUS_QUOTE
    • suspendedUserFieldEntityId = \CAllCrmQuote::SUSPENDED_USER_FIELD_ENTITY_ID = 'CRM_QUOTE_SPD'

  • Заказы
    • entityTypeId = \CCrmOwnerType::Quote = 14
    • entityTypeName = \CCrmOwnerType::OrderName = 'ORDER'
    • entityTypeAbbr = \CCrmOwnerTypeAbbr::Order = 'O'
    • userFieldEntityId = \Bitrix\Crm\Order\Manager::getUfId() = 'ORDER'
    • statusEntityId - отсутствует, т.к. статусы заказа хранятся в b_sale_status
    • permissionEntity = 'ORDER'
    • suspendedEntityTypeId = \CCrmOwnerType::SuspendedOrder = 24 - не используется, заказы не поддерживают корзину
    • suspendedEntityTypeName = \CCrmOwnerType::SuspendedOrderName = 'SUS_ORDER - не используется, заказы не поддерживают корзину
    • suspendedUserFieldEntityId - отсутствует, заказы не поддерживают корзину

  • Счета, у которых направление по умолчанию имеет ид = 10
    • entityTypeId = \CCrmOwnerType::SmartInvoice = 31
    • entityTypeName = \CCrmOwnerType::SmartInvoiceName = 'SMART_INVOICE'
    • entityTypeAbbr = \CCrmOwnerTypeAbbr::SmartInvoice = 'SI'
    • userFieldEntityId = \Bitrix\Crm\Service\Factory\SmartInvoice::USER_FIELD_ENTITY_ID = 'CRM_SMART_INVOICE'
    • statusEntityId = 'SMART_INVOICE_STAGE_10'
    • permissionEntity = 'SMART_INVOICE_C10'
    • suspendedEntityTypeId = \CCrmOwnerType::SuspendedSmartInvoice = 32
    • suspendedEntityTypeName = \CCrmOwnerType::SuspendedSmartInvoiceName = 'SUS_SMART_INVOICE
    • suspendedUserFieldEntityId = \Bitrix\Crm\Service\Factory\SmartInvoice::SUSPENDED_USER_FIELD_ENTITY_ID = 'CRM_SMART_INVOICE_SPD'

  • Смарт-процесс с идентификатором типа 128 и идентификатором 1 (колонка ID в b_crm_dynamic_type), направление по умолчанию которого имеет id = 20
    • entityTypeId = 128
    • entityTypeName = 'DYNAMIC_128'
    • entityTypeAbbr = 'T80'
    • userFieldEntityId = 'CRM_1'
    • statusEntityId = 'DYNAMIC_128_STAGE_20'
    • permissionEntity = 'DYNAMIC_128_C20'
    • suspendedEntityTypeId = 192
    • suspendedEntityTypeName = 'SUS_DYNAMIC_128
    • suspendedUserFieldEntityId = 'CRM_1_SPD'

Идентификаторы типа смарт-процессов находятся в промежутке от 128 до 191 (включительно).

Идентификаторы типа смарт-процессов, удаленных в корзину, находятся в промежутке от 192 до 255 (включительно).


API для работы с идентификаторами

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>Типы сущностей CRM>API для работы с идентификаторами

Типы сущностей CRM::API для работы с идентификаторами

API для получения идентификаторов

Метод Описание С версии
\CCrmOwnerType::IsDefined(
    int $entityTypeId
): bool
 Вернет true, если $entityTypeId является валидным идентификатором типа сущности. Идентификаторы типа для корзины тоже являются валидными идентификаторами.

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

\CCrmOwnerType::ResolveName(
    int $entityTypeId
): string
 Вернет строковый идентификатор типа.

Если такого типа не существует, вернет пустую строку

\CCrmOwnerType::ResolveID(
    string $entityTypeName
): int
 Вернет идентификатор типа по его строковому идентификатору.

Если такого типа нет, то вернет 0

\CCrmOwnerType::ResolveUserFieldEntityID(
    int $entityTypeId
): string
 Вернет идентификатор сущности для настроек пользовательских полей.

Если такого типа нет, то вернет пустую строку.

\CCrmOwnerType::ResolveIDByUFEntityID(
    string $userFieldEntityId
): int
 Вернет идентификатор типа сущности по идентификатору сущности для настроек пользовательских полей.

Если передан неизвестный идентификатор, вернет 0.

\CCrmOwnerTypeAbbr::ResolveByTypeID(
    int $entityTypeId
): string
 Вернет сокращенный строковый идентификатор типа сущности.

Если такого типа нет, то вернет пустую строку.

\CCrmOwnerTypeAbbr::ResolveByTypeName(
    string $entityTypeName
): string
 Вернет сокращенный строковый идентификатор типа сущности по строковому идентификатору.
\CCrmOwnerTypeAbbr::ResolveName(
    string $entityTypeAbbr
): string
 Вернет строковый идентификатор типа сущности по сокращенному строковому идентификатору.
\CCrmStatus::GetEntityTypes()
 Вернет описание типов для статусов. Ключ - идентификатор statusEntityId, а entityTypeId будет доступен по ключу ENTITY_TYPE_ID.

Его там может не быть, т.к. не все статусы являются стадиями для сущностей.

\Bitrix\Crm\Service\Factory::getStagesEntityId(
    ?int $categoryId = null
): ?string
 Вернет идентификатор statusEntityId у фабрики типа по ID направления
\Bitrix\Crm\Service\UserPermissions::getPermissionEntityType(
    int $entityTypeId,
    int $categoryId = 0
): string
 Вернет идентификатор типа элемента, используемый при проверке прав
\CCrmOwnerType::ResolveSuspended(
    int $entityTypeId
): int
 Вернет идентификатор типа для корзины

Языкозависимые названия

Метод Описание С версии
\CCrmOwnerType::GetAllDescriptions(): array
 Метод вернет массив с языковыми названиями типов сущностей в единственном числе.
\CCrmOwnerType::GetAllCategoryCaptions(): array
 Метод вернет массив с языковыми названиями типов сущностей в множественном числе.
\CCrmOwnerType::GetDescription(
    int $entityTypeId
): ?string
 Метод вернет языковое название типа по его идентификатору.
\CCrmOwnerType::GetCategoryCaption(
    int $entityTypeId
): ?string
 Метод вернет языковое название типа во множественном числе по его идентификатору.


Определение внутреннего способа реализации

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>Типы сущностей CRM>Определение внутреннего способа реализации

Типы сущностей CRM::Определение внутреннего способа реализации

На данный момент в CRM есть несколько вариантов API для работы с разными типами сущностей

Лучше всего использовать новое API, но оно не везде поддерживается. Или поддерживается, но не полностью.

На момент выхода CRM 21.1300.0 новое API полностью поддерживается в:

  • Сделках;
  • Предложениях;
  • Счетах (новой версии);
  • Смарт-процессах.

Новое API в режиме чтения поддерживается дополнительно в:

  • Лидах;
  • Контактах;
  • Компаниях.

Ниже представлены дополнительные методы, которые помогут разобраться, для какого типа какое API можно использовать

Метод Описание С версии
\CCrmOwnerType::isUseFactoryBasedApproach(
    int $entityTypeId
): bool
 Метод вернет true, если тип полностью поддерживает работу с новым API.
\CCrmOwnerType::isUseDynamicTypeBasedApproach(
    int $entityTypeId
): bool
 Метод вернет true, если внутреннее устройство типа сущности основано на смарт-процессах.
\CCrmOwnerType::isDynamicTypeBasedStaticEntity(
    int $entityTypeId
): bool
 Метод вернет true, если тип сущности основан на смарт-процессах, но при этом сам не является смарт-процессом. На данный момент это только новые счета.
\CCrmOwnerType::getDynamicTypeBasedStaticEntityTypeIds(
): array
 Метод вернет массив идентификаторов типа сущности, которые основаны на смарт-процессах, но сами не являются смарт-процессом. На данный момент это только новые счета.


Системные компоненты

В разделе содержится информация о работе с системными компонентами.

Внимание! Компоненты являются системными и в визуальном редакторе не отображаются. В физической структуре сайта их можно найти в папке /bitrix/components/bitrix/[название_компонента]

Компонент | Описание
crm.entity.details | Компонент формирует набор вкладок в детальной карточке элемента сущности crm.


crm.entity.details

С версии 20.5.500 модуля CRM доступно управление вкладками в детальной карточке элемента сущности crm.

Компонент crm.entity.details формирует набор вкладок в детальной карточке элемента сущности crm. После того, как компонент сформировал набор вкладок, бросается php-событие, с помощью которого их можно изменить.

Пример

Пример обработчика, который добавляет пустую вкладку "custom" :

Bitrix\Main\EventManager::getInstance()->addEventHandler(
    'crm',
    'onEntityDetailsTabsInitialized',
    static function(\Bitrix\Main\Event $event) {
        $tabs = $event->getParameter('tabs');
        $tabs[] = [
                'id' => 'custom',
                'name' => 'custom',
            ];

        return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, [
            'tabs' => $tabs,
        ]);
    }
);

На вход обработчика приходят следующие параметры:

  • entityID - идентификатор сущности;
  • entityTypeID - идентификатор типа сущности;
  • guid - строковый идентификатор карточки;
  • tabs - массив с описанием вкладок.

Событие должно вернуть новый набор табов по ключу tabs.

Реализацию можно посмотреть в методе: \CCrmEntityPopupComponent::updateTabsByEvent()


Смарт-процессы

Одна из основных функций CRM - отслеживание, хранение и удобное отображение коммуникаций. При этом не всегда коммуникации - это продажи. Это могут быть какие-то внутренние процессы, обработка обращений в техподдержку, закупки и т.д. В этом случае есть потребность хранить и обрабатывать информацию и коммуникации не внутри лидов/сделок, а отдельно. Кроме того, часто в CRM хочется хранить много связанной информации, которая относится к продажам, но не является лидом/сделкой. Чтобы закрыть эту потребность в CRM с версии 20.700.0 появились смарт-процессы.

Что такое смарт-процесс

Каждый смарт-процесс - это новая сущность в рамках CRM, для которой создается новый раздел со своим интерфейсом, набором функционала, полями, элементами и т.д.

По-другому смарт-процесс можно назвать "Кастомная сущность CRM", "Универсальная сущность CRM" или "Динамический тип сущности CRM".

Смарт-процессы встроены в новое API CRM.

Данные

Концептуально смарт-процессы похожи на инфоблоки (универсальные списки). Каждый смарт-процесс - это тип инфоблока.

Ещё больше с точки зрения данных смарт-процессы похожи на rpa.

Механизм хранения значений пользовательских полей такой же, как в rpa и highloadblock.

  • Таблица смарт-процессов и EntityObject для них;
  • Таблица направлений смарт-процессов
  • Правила формирования идентификаторов для таблицы статусов (см. таб Стадии смарт-процессов);
  • Абстрактный таблет элементов смарт-процессов и [link= 13967510]EntityObject[/link] для них;
  • Абстрактный таблет полнотекстового поиска по элементам смарт-процессов;
  • Таблица связей с контактами.

Примечание: В структуру таблиц заложена возможность указания множественных ответственных для элементов смарт-процессов. Но на данный момент этот функционал ещё не готов до конца.

Особенности хранения данных элементов

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

Большая часть кода, отвечающего за хранение элементов и значений пользовательских свойств сосредоточена в папке modules/main/lib/userfield/internal

В этой статье можно прочитать подробно про общие процессы динамического создания таблиц и колонок.

Системные поля

Все таблицы элементов смарт-процессов имеют набор системных полей, см подробнее \Bitrix\Crm\Model\Dynamic\PrototypeItem.

Несмотря на то, что часть полей элементов смарт-процесса можно скрыть через настройки смарт-процесса, сами колонки для хранения этих полей, а также их текущие значения, не удаляются.

Они остаются там же, где были. Они только перестают отображаться в интерфейсе, а также перестает работать часть завязанной на эти поля бизнес-логики.

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

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

Подробнее про системные поля можно посмотреть тут.

Полнотекстовый индекс

Для каждого процесса помимо таблицы элементов создается динамически таблица для хранения полнотекстовского индекса.

Класс \Bitrix\Crm\Model\Dynamic\PrototypeItemIndex.

Сами таблицы создаются тут \Bitrix\Crm\Model\Dynamic\TypeTable::onAfterAdd.

Стадии смарт-процессов

ENTITY_ID

Данные о стадиях хранятся в таблице b_crm_status

Поле ENTITY_ID формируется как

'DYNAMIC_' + {entityTypeId} + '_STAGE_' + {categoryId}

Через API значение этого поля можно получить в методе \Bitrix\Crm\Service\Factory::getStagesEntityId()

Например, для смарт-процесса с идентификатором 150 и направлением 3 поле будет

DYNAMIC_150_STAGE_3

STATUS_ID

Префикс для STATUS_ID формируется как

'DT' + {entityTypeId} + '_' + {categoryId} + ':'

Например, для финальной стадии по умолчанию для смарт-процесса с идентификатором 150 в направлении с идентификатором 3 поле будет

DT150_3:SUCCESS

Через API префикс для смарт-процесса можно получить в методе \CCrmStatus::getDynamicEntityStatusPrefix()

Остальной функционал

  • Связи между элементами разных типов;
  • Показ смарт-процессов вне CRM.

Дополнительно

Дополнительно

  • Сообщение в блоге разработчика: Смарт-процессы и новое API CRM
  • Посмотреть доклад ведущего разработчика по смарт-процессам можно в Youtub'е [image].


Показ смарт-процессов вне CRM

В обновлении crm 21.25.1 в настройках смарт-процесса появился пункт "Показ вне CRM", который позволяет вынести данный процесс в новый раздел в левом меню. В случае включения этой настройки, смарт-процесс пропадет из основного раздела "CRM" и будет доступен через отдельный пункт в левом меню.

Данный функционал использует механизм настраиваемых разделов модуля Intranet.

Общий подход

Роутинг смарт-процессов осуществляется через \Bitrix\Crm\Service\Router. Именно он генерирует ссылки на грид, канбан и карточки элементов, которые потом подставляются в верстку. И через него решается, какой компонент с какими параметрами необходимо подключить.

При выделении смарт-процесса в отдельный раздел, роутер начинает генерировать ссылки для него с учетом нового адреса. Во всех ссылках на этот смарт-процесс стандартный корень /crm/ заменяется на тот, который генерируется Интранетом (см. \Bitrix\Crm\Integration\IntranetManager::getUrlForCustomSectionPage). Аналогично с js-роутером BX.Crm.Router.

Если смарт-процесс выделен в отдельный раздел, то он не показывается в основном разделе CRM. Т.е. он исчезает из верхнего меню CRM, все ссылки на этот процесс открываются в отдельном разделе.

Детали реализации

Интеграция с настраиваемыми разделами Интранета обеспечивается через \Bitrix\Crm\Integration\Intranet\CustomSectionProvider.

На странице настраиваемого раздела подключается компонент crm.router, которому в параметрах передается текущий корень. Дальше жизненный цикл не отличается от обычной страницы CRM в новом API

Если текущий открытый смарт-процесс выделен в отдельный раздел, то не подключается верхняя панель CRM (\Bitrix\Crm\Component\Base::addTopPanel).


Примеры кастомизации

Несколько примеров кастомизации.

Добавить / заменить фразу

$localization = new class extends Service\Localization {
   public function loadMessages (): array
   {
      $messages = parent:: loadMessages ();
      $messages['CRM_MY_NEW_COMMON_MESSAGE' ] = 'Some Messages' ;
      return $messages;
   }
};
DI\ServiceLocator ::getInstance ()->addInstance (
   'crm.service.localization' ,
   $localization
);

Замена контейнера и фабрики

use Bitrix\Crm\Service;
use Bitrix\Main\DI;

define('SUPER_ENTITY_TYPE_ID', 150);
// our new custom container
$container = new class extends Service\Container {
    public function getFactory(int $entityTypeId): ?Factory
    {
        // it is the same as
        // DI\ServiceLocator::getInstance()->addInstance('Crm.Service.Factory.Dynamic.150',$factory);
        if ($entityTypeId === SUPER_ENTITY_TYPE_ID)
        {
            $type = $this->getTypeByEntityTypeId($entityTypeId);
            // our new custom factory class
            $factory = new class($type) extends Factory\Dynamic {

            };

            return $factory;
        }

      return parent::getFactory($entityTypeId);
    }
};
// here we change the container
DI\ServiceLocator::getInstance()->addInstance('crm.service.container', $container);

Сделать поле только для чтения

use Bitrix\Crm\Service\Factory;

$factory = new class($type) extends Factory\Dynamic {
    public function getUserFieldsInfo(): array
    {
        $fields = parent::getUserFieldsInfo();
        $fields['UF_CRM_150_STRING']['ATTRIBUTES'][] = \CCrmFieldInfoAttr::Immutable;

        return $fields;
    }
};

Аналогично, с необходимостью скрыть поле или сделать его обязательным. Только используется:

  • \CCrmFieldInfoAttr::NotDisplayed - скрыть поле
  • \CCrmFieldInfoAttr::Required - обязательное поле

Логгирование удаления элементов

use Bitrix\Crm\Item;
use Bitrix\Crm\Service;
use Bitrix\Crm\Service\Context;
use Bitrix\Crm\Service\Factory;
use Bitrix\Crm\Service\Operation;
use Bitrix\Main\Result;
use Bitrix\Main\Web\Json;

$factory = new class($type) extends Factory\Dynamic {
    public function getDeleteOperation(Item $item, Context $context = null): Operation\Delete
    {
        $operation = parent::getDeleteOperation($item, $context);

        return $operation->addAction(
            Operation::ACTION_AFTER_SAVE,
            new class extends Operation\Action {
                public function process(Item $item): Result
                {
                    $userId = Service\Container::getInstance()->getContext()->getUserId();
                    AddMessage2Log(Json::encode([
                        'userId' => $userId,
                        'entityTypeId' => $item->getEntityTypeId(),
                        'id' => $item->getId(),
                    ]));

                    return new Result();
                }
            }
        );
    }
};

Запретить менять стадию пользователю

use Bitrix\Crm\Item;
use Bitrix\Crm\Service;
use Bitrix\Crm\Service\Context;
use Bitrix\Crm\Service\Factory;
use Bitrix\Crm\Service\Operation;
use Bitrix\Main\Result;

$factory = new class ($type) extends Factory\Dynamic {
    public function getUpdateOperation(Item $item, Context $context = null): Operation\Update
    {
        $operation = parent::getUpdateOperation($item, $context);

        return $operation->addAction(
            Operation::ACTION_BEFORE_SAVE,
            new class extends Operation\Action {
                public function process(Item $item): Result
                {
                    $result = new Result();
                    $userId = Service\Container::getInstance()->getContext()->getUserId();

                    if (
                        $userId === 222
                        && $item->isChangedStageId()
                        && $item->getStageId() === 'D150_3:CLIENT'
                        && $item->remindActual(Item::FIELD_NAME_STAGE_ID) === 'D150_3:PREPARATION'
                    )
                    {
                        $result->addError(new Error('Stage updating is prohibited'));
                    }

                    return $result;
                }
            }
        );
    }
}

Заменить компонент карточки:

use Bitrix\Crm\Service;
use Bitrix\Main\HttpRequest;
use Bitrix\Crm\Service\Router\ParseResult;

define('SUPER_ENTITY_TYPE_ID', 150);

$router = new class extends Service\Router {
    public function parseRequest(HttpRequest $httpRequest = null): ParseResult
    {
          $result = parent::parseRequest($httpRequest);

          if ($result->getComponentName() === 'bitrix:crm.item.details')
          {
            $parameters = $result->getComponentParameters();
             $entityTypeId = $parameters['ENTITY_TYPE_ID'] ?? $parameters['entityTypeId'] ?? null;
             if ((int)$entityTypeId === SUPER_ENTITY_TYPE_ID)
             {
                $result = new ParseResult(
                       'dev:crm.item.details',
                       $parameters,
                       $result->getTemplateName()
                );
             }
          }

          return $result;
    }
};

DI\ServiceLocator::getInstance()->addInstance('crm.service.router', $router);


Классы

Раздел содержит информацию о классах смарт-процессов, находящихся в пространстве имен \Bitrix\Crm\Model\Dynamic\ .

Класс, пространство имен | Описание | С версии
EntityContactTable | Класс-таблет для работы с привязкой контактов к элементам смарт-процессов. |
Item | ORM-объект для работы с элементами смарт-процессов. |
ItemCategory | Класс-таблет для работы с таблицей направлений смарт-процессов. |
PrototypeItem | Базовый класс таблета элементов. |
PrototypeItemIndex | Базовый класс для работы с таблицей полнотекстового индекса элементов. |
Type | ORM-объект для работы со смарт-процессом. |
TypeTable | Класс-таблет для работы с таблицей смарт-процессов. |


Item

ORM-объект для работы с элементами смарт-процессов.

Имеет набор геттеров-сеттеров для системных полей.

Цепочка наследования

Является наследником базового класса Bitrix\Main\UserField\Internal\Item.

class Bitrix\Crm\Model\Dynamic\Item extends Bitrix\Main\UserField\Internal\Item implements \JsonSerializable

Методы класса

Метод Описание С версии
public function getEntityTypeId(): int
Метод вернет идентификатор типа смарт-процесса, к которому относится элемент.
public function getFactory(): \Bitrix\Crm\Service\Factory
Метод вернет сервис фабрики смарт-процесса, к которому относится элемент.
public function getDefaultTitle(): string
Метод генерирует название элемента по умолчанию.


ItemCategory

Класс-таблет для работы с таблицей направлений смарт-процессов.

Подробнее о работе с направлениями в новом api.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image].

\Bitrix\Crm\Model\ItemCategoryTable extends \Bitrix\Main\ORM\Data\DataManager

Поля таблицы

Поле | Описание | Обяз.
ID | Идентификатор. | Да
ENTITY_TYPE_ID | Идентификатор типа в рамках CRM. Параметр неизменяемый, можно указать только при создании. |
IS_DEFAULT | Флаг, является ли направление направлением по умолчанию. Для набора направлений с одинаковым ENTITY_TYPE_ID может быть только одна запись с IS_DEFAULT = 'Y'. |
CREATED_DATE | Время создания направления. |
NAME | Название направления. |
SORT | Индекс сортировки. |

На данный момент таблица используется для хранения направлений только смарт-процессов.

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

После создания нового направления в onAfterAdd запускаются сценарии.

Методы класса

Генерация значений полей

Метод Описание С версии
public static function deleteByEntityTypeId(
    int $entityTypeId
): Result
Метод удаляет все записи, привязанные к идентификатору $entityTypeId.


PrototypeItem

Базовый класс таблета элементов.

Цепочка наследования

Является наследником класса Main\UserField\Internal\PrototypeItemDataManager.

abstract class Bitrix\Crm\Model\Dynamic\PrototypeItem extends Bitrix\Main\UserField\Internal\PrototypeItemDataManager

Поля таблицы

Поле | Описание | Обяз.
ID | Идентификатор элемента. |
XML_ID | Внешний код элемента. |
TITLE | Название элемента. |
CREATED_BY | ID пользователя, создавшего элемент. | Да
UPDATED_BY | ID пользователя, изменившего элемент. |
MOVED_BY | ID пользователя, сменившего стадию элемента. |
CREATED_TIME | Время создания элемента. | Да
UPDATED_TIME | Время обновления элемента. |
MOVED_TIME | Время смены стадии элемента. |
CATEGORY_ID | Идентификатор направления элемента. По умолчанию направление по умолчанию. | Да
OPENED | Флаг "Доступен для всех". |
>STAGE_ID | Строковый идентификатор стадии элемента. По умолчанию первая стадия направления. |
PREVIOUS_STAGE_ID | Строковый идентификатор предыдущей стадии элемента. |
BEGINDATE | Дата начала. По умолчанию дата создания. |
CLOSEDATE | Дата окончания. По умолчанию дата создания + 7 дней. |
COMPANY_ID | Идентификатор компании. Подробнее о связях. |
CONTACT_ID | Идентификатор основного контакта. Подробнее о связях, также о множественных контактах. |
OPPORTUNITY | Сумма. |
IS_MANUAL_OPPORTUNITY | Флаг "Режим расчета суммы". По умолчанию "N" - сумма рассчитывается автоматически. |
TAX_VALUE | Идентификатор смарт-процесса. |
CURRENCY_ID | Идентификатор валюты. |
OPPORTUNITY_ACCOUNT | Сумма для отчетов. |
TAX_VALUE_ACCOUNT | Сумма налогов для отчетов. |
ACCOUNT_CURRENCY_ID | Валюты для отчетов. |
MYCOMPANY_ID | Идентификатор моей компании. |
SOURCE_ID | Идентификатор источника. |
SOURCE_DESCRIPTION | Дополнительно об источнике. |
WEBFORM_ID | Идентификатор crm-формы. |

Плюс к этому: Отдельная колонка для каждого пользовательского поля. Если поле множественное, то в этой колонке хранится набор значений в сериализованном виде, а в отдельной таблице - набор множественных значений. Подробнее о хранении значений пользовательских полей.

Необходимо понимать, что этот класс - абстрактный. Для каждого смарт-процесса конкретный класс компилируется в рантайме. Здесь в рамках таблицы ID - это ID с привязкой уже к конкретному смарт-процессу, эта привязка определена в конкретном классе.

Класс EntityObject.

Методы класса

Метод Описание С версии
public static function getFactory(): ?\Bitrix\Crm\Service\Factory
Метод вернет сервис фабрики, привязанной к смарт-процессу.
public static function prepareGetListParameters(
    array $parameters = []
): array
 Метод подготавливает параметры для передачи в getList родительского класса. Этот метод вызывается автоматически в PrototypeItem::getList, его не надо вызывать отдельно.
public static function getFullTextDataClass(): string
Метод вернет FQN класса таблета для полнотекстового поиска.
public static function getFullTextReferenceField(
    string $referenceName = 'FULL_TEXT'
): Reference
 Возвращает объект Bitrix\Main\ORM\Fields\Relations\Reference для связи с таблицей полнотекстового поиска.
public static function getDefaultCategoryId(): ?int
 Метод вернет идентификатор направления по умолчанию для смарт-процесса.
public static function getDefaultStageId(): ?string
 Метод вернет идентификатор стадии по умолчанию для смарт-процесса.
public static function getDefaultCloseDate(): Date
 Метод вернет дату закрытия по умолчанию.
public static function disableUserFieldsCheck(): void
 Метод отключает проверку корректности значений пользовательских полей на время выполнения следующей операции записи.


PrototypeItemIndex

Базовый класс для работы с таблицей полнотекстового индекса элементов. На каждый смарт-процесс динамически создается своя таблица полнотекстового индекса в методе \Bitrix\Crm\Model\Dynamic\TypeTable::compileItemIndexEntity.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image].

abstract class Bitrix\Crm\Model\Dynamic\PrototypeItemIndex extends Bitrix\Main\ORM\Data\DataManager

Поля таблицы

Поле | Описание | Обяз.
ITEM_ID | Идентификатор элемента. Primary Key. | Да
UPDATED_TIME | Время добавления / изменения записи. | Да
SEARCH_CONTENT | Текст для построения индекса. |

Необходимо понимать, что этот класс - абстрактный. Для каждого процесса конкретный класс компилируется в рантайме. Здесь в рамках таблицы ITEM_ID - это ID элемента с привязкой уже к конкретному смарт-процессу, эта привязка определена в конкретном классе.

Методы класса

Метод Описание С версии
public static function merge(
    int $itemId,
    string $searchContent
): Result
Записывает данные о полнотекстовом индексе в таблицу. Возвращает объект Bitrix\Main\Result.


Type

ORM-объект для работы со смарт-процессом

Имеет набор геттеров-сеттеров для системных полей.

Цепочка наследования

Является наследником базового класса Bitrix\Main\UserField\Internal\Type.

class Bitrix\Crm\Model\Dynamic\Type extends Bitrix\Main\UserField\Internal\Type implements \JsonSerializable

Методы класса

Метод Описание С версии
public function jsonSerialize(): array
Метод возвращает массив с подготовленными данными для отображения на фронте через crm.type-model.
public function isNew(): bool
Возвращает true, если объект ещё не сохранен в базу данных.


TypeTable

Класс-таблет для работы с таблицей смарт-процессов

ORM-объект: \Bitrix\Crm\Model\Dynamic\Type.

Подробнее о хранении значений пользовательских полей.

Цепочка наследования

Является наследником базового класса Bitrix\Main\UserField\Internal\TypeDataManager.

Bitrix\Crm\Model\Dynamic\TypeTable extends Bitrix\Main\UserField\Internal\TypeDataManager

Методы класса

Генерация значений полей

Метод Описание С версии
public static function generateName(
    string $title = null,
    int $try = 0
): ?string
Метод генерирует новое значение для колонки NAME на основе заголовка смарт-процесса $title. Метод рекурсивный, поэтому в $try лежит счетчик вызовов. Метод вернет значение поля или null.
public static function getNextAvailableEntityTypeId(): ?int
Метод возвращает следующий возможный идентификатор типа смарт-процесса. Если метод вернул null, значит, доступные идентификаторы закончились.

Чтение данных

Метод Описание С версии
public static function getByEntityTypeId(
    int $entityTypeId
): QueryResult
Метод вернет результат запроса к таблице с фильтром по $entityTypeId

Обработчики событий

Класс имеет набор методов-обработчиков событий. В этих обработчиках проверяется состояние связанных таблиц и могут прерываться некоторые действия. Например, нельзя удалить смарт-процесс, если у него есть элементы.

После удаления смарт-процесса из связанных таблиц удаляются все данные, привязанные к этому смарт-процессу. Также удаляются таблица элементов и таблица полнотекстового индекса.

При создании новой записи создаются связанные таблицы, генерируются значения системных полей.

Метод Описание С версии
public static function createItemIndexTable(
    $type
): Result
Создает таблицу для хранения полнотекстового индекса элементов процесса. Возвращает объект \Bitrix\Main\Result

Поля таблицы

Поле | Описание | Обяз.
ID | Идентификатор смарт-процесса. | Да
NAME | Строковый идентификатор смарт-процесса. Генерируется автоматически. | Да
TABLE_NAME | Название таблицы, где хранятся элементы этого смарт-процесса. Генерируется автомтически как b_crm_dynamic_items_{ENTITY_TYPE_ID}. | Да
TITLE | Заголовок смарт-процесса. | Да
CODE | Символьный код смарт-процесса, который можно заполнить через REST. |
CREATED_BY | Идентификатор пользователя, который создал смарт-процесс. | Да
ENTITY_TYPE_ID | Идентификатор типа смарт-процесса в рамках CRM. |
IS_CATEGORIES_ENABLED | Включены ли направления у смарт-процесса. |
IS_STAGES_ENABLED | Включены ли стадии у смарт-процесса. |
IS_BEGIN_CLOSE_DATES_ENABLED | Включены ли поля "Дата начала" и "Дата окончания". |
IS_CLIENT_ENABLED | Включено ли поле "Клиент" (привязка к компании и контактам). |
IS_USE_IN_USERFIELD_ENABLED | Доступен ли смарт-процесс в пользовательском поле типа "Привязка к элементам CRM". |
IS_LINK_WITH_PRODUCTS_ENABLED | Включен ли функционал товаров. |
IS_CRM_TRACKING_ENABLED | Включена ли работа с utm-метками (пока не используется). |
IS_MYCOMPANY_ENABLED | Включено ли поле "Реквизиты моей компании". |
IS_DOCUMENTS_ENABLED | Включена ли печать документов. |
IS_SOURCE_ENABLED | Включено ли поле "Источник" и "Подробнее об источнике". |
IS_OBSERVERS_ENABLED | Включено ли поле "Наблюдатели". |
IS_RECYCLEBIN_ENABLED | Включен ли функционал корзины. |
IS_AUTOMATION_ENABLED | Включены ли роботы и триггеры. |
IS_BIZ_PROC_ENABLED | Включен ли дизайнер бизнес-процессов. |
IS_SET_OPEN_PERMISSIONS | Открывать ли доступ к новому направлению всем ролям. |

Примечание: На данный момент поле ENTITY_TYPE_ID может принимать значения от 128 до 192. Это связано с тем, что соответствующая колонка в некоторых таблицах имеет размерность TINYINT (например, поле OWNER_TYPE_ID в таблице b_crm_act). В будущем планируется изменение структуры таблиц и расширение диапазона возможных значений, чтобы снять ограничение на 64 возможных смарт-процесса.


Отправить отзыв по этому разделу

Activity

  • BindingSelector
  • CommunicationStatistics
  • Entity
  • Provider


BindingSelector

BindingSelector - класс для выбора и настройки привязок.

Метод | Описание | С версии
[link=7162537]sortBindings[/link] | Метод сортирует привязки. |
[link=7162541]__construct[/link] | Конструктор класса BindingSelector. |
[link=7162545]hasBindings[/link] | Метод возвращает true, если привязка найдена. |
[link=7162549]getBindingEntityId[/link] | Метод получает идентификатор привязки по идентификатору типа сущности. |
[link=7162553]getbindings[/link] | Метод получает упорядоченные привязки. |
[link=7162557]getEntitySelector[/link] | Метод получает текущий селектор сущностей. |
[link=7162565]findBindings[/link] | Метод возвращает список привязок к текущему селектору сущности. |
[link=7162533]create[/link] | Метод создает экземпляр класса. |


__construct

 public
\Bitrix\Crm\Activity\BindingSelector::__construct(
 \Bitrix\Crm\Integrity\ActualEntitySelector $selector = null
);

Конструктор класса BindingSelector.

Параметры

Параметр | Описание | Версия
$selector | Текущий селектор объектов. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


create

static public static
\Bitrix\Crm\Activity\BindingSelector::create(
 array $fields,
 array $searchParameters
);

Метод создает экземпляр класса. Метод статический.

Параметры

Параметр | Описание | Версия
$fields | Поля сущности. |
$searchParameters | Параметры поиска для поиска дубликатов. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


findBindings

array public static
\Bitrix\Crm\Activity\BindingSelector::findBindings(
 \Bitrix\Crm\Integrity\ActualEntitySelector $selector
);

Метод возвращает список привязок к текущему селектору сущности. Метод статический.

Параметры

Параметр | Описание | Версия
$selector | Селектор сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBindingEntityId

integer|null public
\Bitrix\Crm\Activity\BindingSelector::getBindingEntityId(
 integer $entityTypeId
);

Метод получает идентификатор привязки по идентификатору типа сущности. Метод нестатический.

Параметры

Параметр | Описание | Версия
$entityTypeId | Идентификатор типа сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBindings

array public
\Bitrix\Crm\Activity\BindingSelector::getBindings(
);

Метод получает упорядоченные привязки. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEntitySelector

\Bitrix\Crm\Integrity\ActualEntitySelector public
\Bitrix\Crm\Activity\BindingSelector::getEntitySelector(
);

Метод получает текущий селектор сущностей. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


hasBindings

boolean public
\Bitrix\Crm\Activity\BindingSelector::hasBindings(
);

Метод возвращает true, если привязка найдена.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


sortBindings

array public static
\Bitrix\Crm\Activity\BindingSelector::sortBindings(
 array $bindings
);

Статический метод сортирует привязки.

Первая - сделка, вторая - лид, следующая - другие.

Параметры

Параметр | Описание | Версия
$bindings | Список привязок. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


CommunicationStatistics

CommunicationStatistics - класс для статистики связей.

Метод | Описание | С версии
[link=4417035]getLoadAverages[/link] | Метод получает средние значения коммуникационной нагрузки. |


getLoadAverages

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Activity>CommunicationStatistics>getLoadAverages (с версии 16.5.7)

CommunicationStatistics::getLoadAverages

array public static
\Bitrix\Crm\Activity\CommunicationStatistics::getLoadAverages(
 integer $ownerTypeId,
 null|integer $ownerId = null
);

Метод получает средние значения коммуникационной нагрузки. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerTypeId | Идентификатор типа владельца (см. Тип основной сущности, к которой привязывается дело. |
$ownerId | Идентификатор владельца. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Entity

Пространство имен \CRM\Activity\Entity содержит классы для сущностей.

Класс | Описание
CustomTypeTable | Класс содержит методы работы с таблицей пользовательских типов.


CustomTypeTable

CustomTypeTable - класс содержит методы работы с таблицей пользовательских типов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
[link=5104443]validateName[/link] | Метод создает валидатор для поля NAME. |


validateName

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Activity>Entity>CustomTypeTable>validateName (с версии 17.0.2)

CustomTypeTable::validateName

array public static
\Bitrix\Crm\Activity\Entity\CustomTypeTable::validateName(
);

Статический метод, создает валидатор для поля NAME.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Provider

Подпространство имён \Bitrix\Crm\Provider содержит классы для работы с провайдером дел.

Класс | Описание | С версии
Base | Базовый класс для работы с провайдером дел. | 16.5.5
Call | Класс для работы со звонками. |
CallList | Класс для работы с обзвоном. | 17.0.12
ExternalChannel | Класс для работы с внешними каналами. | 17.0.2
Livefeed | Класс для работы с историей в карточке сущности CRM.. | 17.5.20
OpenLine | Класс для работы с открытыми линиями. |
ProviderManager | Класс для работы с провайдерами дел. | 17.5.0
Sms | Класс для работы с СМС. | 17.5.20
Visit | Класс для работы с офлайновыми посещениями клиентов. | 17.0.2
Wait | Класс для работы с делом Ждать. | 17.5.0
WebForm | Класс для работы с веб-формами. |

Для того, чтобы зарегистрировать провайдер дела, необходимо подписаться на событие OnGetActivityProviders:

RegisterModuleDependences('crm', 'OnGetActivityProviders', 'my_module', 'myClass', 'getActivityProviders');

ваш метод myClass::getActivityProviders должен вернуть массив в формате:

array(
    'MY_MODULE_PROVIDER_ID' => '\Bitrix\MyModule\Activity\Provider\MyProvider'
)

где ключом массива будет ID провайдера, а значением - название класса провайдера (должен быть наследником \Bitrix\Crm\Activity\Provider\Base).


Base

Base - базовый класс для работы с провайдером дел.

Метод | Описание | С версии
canKeepReassignedInCalendar | Метод определяет, сохранять ли запись в календаре о переназначенном на другого ответственного деле. |
canUseCalendarEvents | Метод определяет, может ли дело использовать календарные события (для уведомлений и планировщика). |
checkCompletePermission | Метод проверяет, может ли пользователь влиять на статус выполнения дела. |
checkFields | Метод вызывается при добавлении или обновлении дела. |
createLiveFeedLog | Метод вызывается при регистрации (добавлении/обновлении) дела в Живой ленте CRM. |
[link=7163447]checkUpdatePermission[/link] | Метод проверяет разрешение на обновление дела для данного пользователя. | 17.5.0
deleteAssociatedEntity | Метод вызывается при удалении дела для удаления связанной сущности. |
fillDefaultActivityFields | Метод проставляет значения по-умолчанию при планировании дела. |
generateSubject | Метод для автоматической генерации темы (названия) дела. |
getCommunicationType | Метод запрашивает тип коммуникации. |
getFieldsForEdit | Метод возвращает массив полей, которые доступны для редактирования при создании/изменении дела через планировщик. |
getPlannerActions | Метод возвращает массив с описанием параметров, если дело может быть запланировано. |
getPlannerTitle | Метод возвращает заголовок для окна планировщика. |
[link=3623859]getStatusAnchor[/link] | Метод запрашивает описание статуса провайдера. |
getTypes | Метод возвращает массив генерируемых провайдером типов дел. |
[link=3623855]isActive[/link] | Метод проверяет, активен ли провайдер. |
[link=7164041]isCompletable[/link] | Метод проверяет, может ли дело выполняться пользователем интерактивно. | 17.5.20
isTypeEditable | Метод определяет, можно ли редактировать такой тип дела. |
postForm | Метод вызывается перед сохранением дела через форму планировщика. |
[link=7163443]processCreation[/link] | Метод запускает создание дела. | 17.5.0
updateAssociatedEntity | Метод вызывается при обновлении дела для обновления связанной сущности. |


canKeepReassignedInCalendar

boolean public static
\Bitrix\Crm\Activity\Provider\Base::canKeepReassignedInCalendar(
$providerTypeId = null
);

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

Параметры

Параметр | Описание | Версия
$providerTypeId | Идентификатор типа дела. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


canUseCalendarEvents

boolean public static
\Bitrix\Crm\Activity\Provider\Base::canUseCalendarEvents(
$providerTypeId = null
);

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

Параметры

Параметр | Описание | Версия
$providerTypeId | Идентификатор типа дела. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkCompletePermission

boolean public static
\Bitrix\Crm\Activity\Provider\Base::checkCompletePermission(
$entityId, array $activity, $userId
);

Метод проверяет, может ли пользователь влиять на статус выполнения дела. Если возвращает null, проверка идет в зависимости от прав пользователя на связанную сущность в CRM. Метод статический.

Параметры

Параметр | Описание | Версия
$entityId | Идентификатор сущности. |
$activity | Массив дела. |
$userId | Идентификатор пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkFields

 \Bitrix\Main\Result public
\Bitrix\Crm\Activity\Provider\Base::checkFields(
$action, &$fields, $id, $params = null
);

Метод вызывается при добавлении или обновлении дела, возвращает экземпляр класса \Bitrix\Main\Result. Может модифицировать поля дела при необходимости (например, вычислить логическое поле дедлайн). Метод статический.

Параметры

Параметр | Описание | Версия
$action | Строка, ADD|UPDATE. |
$fields | Поля добавляемого/обновляемого дела. |
$id | Идентификатор дела. |
$params | Дополнительные параметры, с которыми вызывается главный метод CCrmActivity [image] ::CheckFields. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkUpdatePermission

boolean public static
\Bitrix\Crm\Activity\Provider\Base::checkUpdatePermission(
 array $activityFields,
 integer $userId = null
);

Метод проверяет разрешение на обновление дела для данного пользователя. Метод статический.

Параметры

Параметр | Описание | Версия
$activityFields | Поля дела. |
$userId | Идентификатор пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createLiveFeedLog

integer public static
\Bitrix\Crm\Activity\Provider\Base::createLiveFeedLog(
$entityId, array $activity, array &$logFields
);

Метод вызывается при регистрации (добавлении/обновлении) дела в Живой ленте CRM. Если возвращает 0, логику создания записи дело берет на себя. Метод статический.

Параметры

Параметр | Описание | Версия
$entityId | Идентификатор сущности. |
$activity | Массив дела. |
$logFields | Данные записи Живой ленты. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteAssociatedEntity

 \Bitrix\Main\Result public
\Bitrix\Crm\Activity\Provider\Base::deleteAssociatedEntity(
$entityId, array $activity, array $options = array()
);

Метод вызывается при удалении дела для удаления связанной сущности, возвращает экземпляр класса \Bitrix\Main\Result. Метод статический.

Параметры

Параметр | Описание | Версия
$entityId | Идентификатор сущности. |
$activity | Массив дела. |
$options | Массив дополнительных опций. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


fillDefaultActivityFields

void public static
\Bitrix\Crm\Activity\Provider\Base::fillDefaultActivityFields(
array &$activity
);

Метод проставляет значения по-умолчанию при планировании дела. Метод статический.

Параметры

Параметр | Описание | Версия
$activity | Массив дела. |

Примеры

Пример установки значения напоминания для Встречи:

/**
 * @param array $activity
 */
public static function fillDefaultActivityFields(array &$activity)
{
   $activity['NOTIFY_TYPE'] = \CCrmActivityNotifyType::Hour;
   $activity['NOTIFY_VALUE'] = 1;
}


generateSubject

string public static
\Bitrix\Crm\Activity\Provider\Base::generateSubject(
$providerTypeId = null, $direction = \CCrmActivityDirection::Undefined, array $replace = null
);

Метод для автоматической генерации темы (названия) дела. Метод статический.

Параметры

Параметр | Описание | Версия
$providerTypeId | Идентификатор типа дела.
$direction | Направление дела (входящее, исходящее).
$replace Массив параметров дела.
array(
   '#DATE#'=> <Дата начала дела>,
   '#TITLE#' => <Имя>,
   '#COMMUNICATION#' => <Номер телефона/Email/...>
)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCommunicationType

string public static
\Bitrix\Crm\Activity\Provider\Base::getCommunicationType(
$providerTypeId = null
);

Метод запрашивает тип коммуникации. Метод статический.

Поддерживаются на данный момент:

  • \Bitrix\Crm\Activity\Provider\Base::COMMUNICATION_TYPE_UNDEFINED - коммуникации по-умолчанию с конкретной персоной;
  • \Bitrix\Crm\Activity\Provider\Base::COMMUNICATION_TYPE_PHONE - коммуникации по телефону;
  • \Bitrix\Crm\Activity\Provider\Base::COMMUNICATION_TYPE_EMAIL - коммуникации по почте.

Параметры

Параметр | Описание | Версия
$providerTypeId | Идентификатор типа дела. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFieldsForEdit

array public static
\Bitrix\Crm\Activity\Provider\Base::getFieldsForEdit(
array $activity
);

Метод возвращает массив полей, которые доступны для редактирования при создании/изменении дела через планировщик. Метод статический.

Вид массива:

return array(
   array(
      'LABEL' => 'Тема встречи',
      'TYPE' => 'SUBJECT',
      'VALUE' => isset($activity['SUBJECT']) ? $activity['SUBJECT'] : ''
   ),
   array(
      'LABEL' => 'Место встречи',
      'TYPE' => 'LOCATION',
      'VALUE' => isset($activity['LOCATION']) ? $activity['LOCATION'] : ''
   )
);

Поддерживаются на данный момент следующие типы:

  • SUBJECT - стандартное поле темы (названия) дела;
  • LOCATION - стандартное поле "Место проведения";
  • TEXT - обычный текстовый инпут;
  • TEXTAREA - текстовое поле.

В массиве можно передать ключ HTML при необходимости генерировать HTML самостоятельно.

Параметры

Параметр | Описание | Версия
$activity | Массив дела. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPlannerActions

array public static
\Bitrix\Crm\Activity\Provider\Base::getPlannerActions(
);

Если дело может быть запланировано (создано через планировщик дел), то метод возвращает массив с описанием параметров в виде:

array(
   'NAME' => 'Мое дело',
   'PROVIDER_ID' => 'VOXIMPLANT_CALL',
   //'PROVIDER_TYPE_ID' => ''
)

Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPlannerTitle

string public static
\Bitrix\Crm\Activity\Provider\Base::getPlannerTitle(
array $activity
);

Метод возвращает заголовок для окна планировщика. Метод статический.

Параметры

Параметр | Описание | Версия
$activity | Массив дела. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getStatusAnchor

array public static
\Bitrix\Crm\Activity\Provider\Base::getStatusAnchor(
);

Метод запрашивает описание статуса провайдера. Метод статический.

Используется в виджете статуса провайдера. Возвращает массив:

return array(
            'TEXT' => '',
            'URL' => '',
            //'HTML' => '' TEXT & URL or HTML
        );

Параметры

Параметр | Описание | Версия
TEXT | Текст статуса (Подключено, Не подключено). |
URL | Ссылка на настройки, если не подключено. |
HTML | Произвольный HTML-код. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTypes

array public static
\Bitrix\Crm\Activity\Provider\Base::getTypes(
);

Метод возвращает массив генерируемых провайдером типов дел. Метод статический.

Без параметров.

Примеры

public static function getTypes()
{
   return array(
      array(
         'NAME' => 'Сообщение ЖЛ',
         'PROVIDER_ID' => 'CRM_LF_MESSAGE',
         'PROVIDER_TYPE_ID' => 'LOG_ENTRY',
         'DIRECTIONS' => array(
            \CCrmActivityDirection::Outgoing => 'Сообщение ЖЛ'
          )
      ),
      array(
         'NAME' => 'Комментарий к сообщению ЖЛ',
         'PROVIDER_ID' => 'CRM_LF_MESSAGE',
         'PROVIDER_TYPE_ID' => 'LOG_COMMENT',
         'DIRECTIONS' => array(
            \CCrmActivityDirection::Incoming => 'Комментарий к сообщению ЖЛ'
         )
      ),
   );
}


isActive

boolean public static
\Bitrix\Crm\Activity\Provider\Base::isActive(
);

Метод проверяет, активен ли провайдер. Под активностью подразумевается, например, настроена ли телефония, настроены ли ОЛ, интеграция с 1С и т.п. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isCompletable

boolean public static
\Bitrix\Crm\Activity\Provider\Base::isCompletable(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isTypeEditable

boolean public static
\Bitrix\Crm\Activity\Provider\Base::isTypeEditable(
$providerTypeId = null, $direction = \CCrmActivityDirection::Undefined
);

Метод определяет, можно ли редактировать такой тип дела. Метод статический.

Параметры

Параметр | Описание | Версия
$providerTypeId | Идентификатор типа дела. |
$direction | Направление дела (входящее, исходящее). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


postForm

 \Bitrix\Main\Result public
\Bitrix\Crm\Activity\Provider\Base::postForm(
array &$activity, array $formData
);

Метод вызывается перед сохранением дела через форму планировщика, возвращает экземпляр класса \Bitrix\Main\Result. Здесь можно обработать поля формы, сгенерированные через getFieldsForEdit, установить специальные поля дела PROVIDER_PARAMS и/или PROVIDER_DATA. Метод статический.

Параметры

Параметр | Описание | Версия
$activity | Массив дела. |
$formData | Данные формы. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


processCreation

 public static
\Bitrix\Crm\Activity\Provider\Base::processCreation(
 array $activityFields,
 array|null $params = null
);

Метод запускает создание дела. Метод статический

Параметры

Параметр | Описание | Версия
$activityFields | Поля дела. |
$params | Параметры дела. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


updateAssociatedEntity

 \Bitrix\Main\Result public
\Bitrix\Crm\Activity\Provider\Base::updateAssociatedEntity(
$entityId, array $activity, array $options = array()
);

Метод вызывается при обновлении дела для обновления связанной сущности, возвращает экземпляр класса \Bitrix\Main\Result. Метод статический.

Параметры

Параметр | Описание | Версия
$entityId | Идентификатор сущности. |
$activity | Массив дела. |
$options | Массив дополнительных опций. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Call

Call - класс для работы со звонками.

Метод | Описание | С версии
getTypes | Метод возвращает список поддерживаемых типов звонков. |


getTypes

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Activity>Provider>Call>getTypes (доступен с 16.2.2)

Call::getTypes

array public static
\Bitrix\Crm\Activity\Provider\Call::getTypes(
);

Метод возвращает список поддерживаемых типов звонков. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


CallList

CallList - класс для работы с Обзвоном.

Метод | Описание | С версии
[link=7163439]checkUpdatePermission[/link] | Метод возвращает разрешение на обновление для дела Обзвон. |
[link=7162107]getTypesFilterPresets[/link] | Метод возвращает список поддерживаемых типов Обзвонов для использования в фильтре дел. |
[link=7162103]getTypes[/link] | Метод возвращает список поддерживаемых типов Обзвонов. |


checkUpdatePermission

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Activity>Provider>CallList>checkUpdatePermission (с версии 17.5.0)

CallList::checkUpdatePermission

boolean public static
\Bitrix\Crm\Activity\Provider\CallList::checkUpdatePermission(
 array $activityFields,
 null $userId = null
);

Статический метод, возвращает разрешение на обновление для дела Обзвон. Возвращает true, если указанный пользователь имеет разрешение на обновление, по крайней мере, одного связанного объекта.

Параметры

Параметр | Описание | Версия
$activityFields | Поля дела. |
$userId | Идентификатор пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTypes

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Activity>Provider>CallList>getTypes (с версии 17.0.12)

CallList::getTypes

array public static
\Bitrix\Crm\Activity\Provider\CallList::getTypes(
);

Метод возвращает список поддерживаемых типов Обзвонов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTypesFilterPresets

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Activity>Provider>CallList>getTypesFilterPresets (с версии 17.0.12)

CallList::getTypesFilterPresets

array public static
\Bitrix\Crm\Activity\Provider\CallList::getTypesFilterPresets(
);

Метод возвращает список поддерживаемых типов Обзвонов для использования в фильтре дел. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ExternalChannel

ExternalChannel - класс для работы с внешними каналами.

Метод | Описание | С версии
[link=5104465]isInUse[/link] | Метод проверят статус типа внешнего канала. |
[link=5104461]isActive[/link] | Метод проверяет активность внешнего канала. |


isActive

boolean public static
\Bitrix\Crm\Activity\Provider\ExternalChannel::isActive(
);

Метод проверяет активность внешнего канала. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isInUse

boolean public static
\Bitrix\Crm\Activity\Provider\ExternalChannel::isInUse(
);

Метод проверят статус типа внешнего канала. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Livefeed

Livefeed - класс для работы с историей в карточке сущности CRM.

Метод | Описание | С версии
[link=7164049]isCompletable[/link] | Метод проверяет, может ли дело быть выполнено пользователем интерактивно. |


isCompletable

boolean public static
\Bitrix\Crm\Activity\Provider\Livefeed::isCompletable(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


OpenLine

OpenLine - класс для работы с открытыми линиями.

Метод | Описание | С версии
getTypes | Метод возвращает список поддерживаемых типов Открытых линий. |


getTypes

array public static
\Bitrix\Crm\Activity\Provider\OpenLine::getTypes(
);

Метод возвращает список поддерживаемых типов Открытых линий. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ProviderManager

ProviderManager - класс для работы с провайдерами дел.

Метод | Описание | С версии
[link=7164037]getCompletableProviderList[/link] | Метод получает список готовых провайдеров. |
[link=7163427]processCreation[/link] | етод запускает создание дела. |


getCompletableProviderList

array public static
\Bitrix\Crm\Activity\Provider\ProviderManager::getCompletableProviderList(
);

Метод получает список готовых провайдеров. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


processCreation

 public static
\Bitrix\Crm\Activity\Provider\ProviderManager::processCreation(
 array $activityFields,
 array|null $params = null
);

Метод запускает создание дела. Метод статический.

Параметры

Параметр | Описание | Версия
$activityFields | Поля дела. |
$params | Параметры дела. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Sms

Sms - класс для работы с СМС.

Метод | Описание | С версии
[link=7164033]isCompletable[/link] | Метод проверяет, может пользователь выполнить дело интерактивно. |


isCompletable

boolean public static
\Bitrix\Crm\Activity\Provider\Sms::isCompletable(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Visit

Visit - класс для работы с офлайновыми посещениями клиентов.

Метод | Описание | С версии
[link=7163159]isAvailable[/link] | Возвращает true, если визит доступен на текущем портале. | 17.1.2
[link=7162095]getPopupParameters[/link] | Возвращает массив параметров, необходимых для создания экземпляра BX.CrmActivityVisit. | 17.0.12
[link=5104453]getTypes[/link] | Метод возвращает список поддерживаемых типов Визитов. | 17.0.2


getPopupParameters

array public static
\Bitrix\Crm\Activity\Provider\Visit::getPopupParameters(
);

Возвращает массив параметров, необходимых для создания экземпляра BX.CrmActivityVisit. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTypes

array public static
\Bitrix\Crm\Activity\Provider\Visit::getTypes(
);

Метод возвращает список поддерживаемых типов Визитов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isAvailable

boolean public static
\Bitrix\Crm\Activity\Provider\Visit::isAvailable(
);

Возвращает true, если визит доступен на текущем портале. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Wait

Wait - класс для работы с делом Ждать.

Метод | Описание | С версии
[link=7163435]processCreation[/link] | Метод запускает создание дела. | 17.5.0


processCreation

 public static
\Bitrix\Crm\Activity\Provider\Wait::processCreation(
 array $activityFields,
 array|null $params = null
);

Метод запускает создание дела. Метод статический

Параметры

Параметр | Описание | Версия
$activityFields | Массив полей дела. |
$params | Массив параметров дела. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


WebForm

WebForm - класс для работы с веб-формами.

Метод | Описание | С версии
getName | Метод получает имя провайдера. |
getStatusAnchor | Метод запрашивает описание статуса формы. | 16.5.5
getTypeName | Метод получает название формы веб-формы. |
getTypes | Метод возвращает список поддерживаемых типов веб-форм. |
isActive | Метод проверяет статус провайдера. | 16.5.5
isTypeEditable | Метод проверяет, является ли тип редактируемым. |
renderView | Метод отображает данные формы при просмотре в pop-up дела. |


getName

string public static
\Bitrix\Crm\Activity\Provider\WebForm::getName(
);

Метод получает имя провайдера. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getStatusAnchor

array public static
\Bitrix\Crm\Activity\Provider\WebForm::getStatusAnchor(
);

Метод запрашивает описание статуса формы. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTypeName

string public static
\Bitrix\Crm\Activity\Provider\WebForm::getTypeName(
 null|string $providerTypeId = null,
 integer $direction = \CCrmActivityDirection::Undefined
);

Метод получает название типа дела этого провайдера. В данном случае - название формы веб-формы. Метод статический.

Параметры

Параметр | Описание | Версия
$providerTypeId | Идентификатор типа провайдера. |
$direction | Направление дела. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTypes

array public static
\Bitrix\Crm\Activity\Provider\WebForm::getTypes(
);

Метод возвращает список поддерживаемых типов веб-форм. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isActive

boolean public static
\Bitrix\Crm\Activity\Provider\WebForm::isActive(
);

Метод проверяет статус провайдера. Метод статический.

Параметры

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isTypeEditable

boolean public static
\Bitrix\Crm\Activity\Provider\WebForm::isTypeEditable(
 null|string $providerId = null,
 integer $direction = \CCrmActivityDirection::Undefined
);

Метод проверяет, является ли тип редактируемым. Метод статический.

Параметры

Параметр | Описание | Версия
$providerId | Идентификатор провайдера. |
$direction | Направление дела. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


renderView

string public static
\Bitrix\Crm\Activity\Provider\WebForm::renderView(
 array $activity
);

Метод отображает данные формы при просмотре в pop-up дела. Метод статический.

Параметры

Параметр | Описание | Версия
$activity | Дата дела. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Automation

Пространство имён \Bitrix\Crm\Automation содержит классы для автоматизации продаж в CRM.

Класс | Описание | С версии
Engine | Пространство имён содержит классы инструментов автоматизации. |
Factory | Класс содержит методы производства. |
Helper | Класс содержит вспомогательные методы. |
Rest | Пространство имён предназначено для работы с методами REST. | 17.5.20
Target | Пространство имён содержит методы и классы для работы с целями автоматизации. |
Trigger | Пространство имён содержит классы и методы работы с [dw]триггерами[/dw][di]Определенное правило или сценарий, который срабатывает в ответ на какие-либо действия (события) со стороны клиента и переводит сущность в нужный нам статус. Подробнее...[/di]. |


Engine

Пространство имён Engine содержит классы инструментов автоматизации.

Класс | Описание
Entity | Подпространство имён содержит классы и методы работы с сущностями.
Template | Класс содержит методы работы с шаблонами автоматизации.


Entity

Подпространство имен Entity имён содержит классы и методы работы с сущностями.

Класс | Описание
TemplateTable | Класс содержит методы работы с таблицей шаблонов.


TemplateTable

TemplateTable - класс для работы с таблицей шаблонов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
[link=5105619]getTableName[/link] | Метод получает название таблицы. |
[link=5105623]getMap[/link] | Метод получает карту полей таблицы. |


getMap

array public static
\Bitrix\Crm\Automation\Engine\Entity\TemplateTable::getMap(
);

Метод получает карту полей таблицы. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Crm\Automation\Engine\Entity\TemplateTable::getTableName(
);

Метод получает название таблицы. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Template

Template - класс для работы с шаблонами автоматизации.

Метод | Описание | С версии
[link=5105599]__construct[/link] | Конструктор класса Template. |
[link=5105607]isExternalModified[/link] | Метод проверяет, был ли шаблон модифицирован внешним редактором. |
[link=5105603]toArray[/link] | Метод преобразует данные экземпляра в массив. |


__construct

 public
\Bitrix\Crm\Automation\Engine\Template::__construct(
 array|null $template = null
);

Конструктор класса Template.

Параметры

Параметр | Описание | Версия
$template | Массив полей шаблона. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isExternalModified

boolean public
\Bitrix\Crm\Automation\Engine\Template::isExternalModified(
);

Проверяет, был ли шаблон модифицирован внешним редактором. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


toArray

array public
\Bitrix\Crm\Automation\Engine\Template::toArray(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Factory

Класс Factory содержит методы производства.

Класс | Описание
[link=5105655]createRuntime[/link] | Метод создает экземпляр времени выполнения.
[link=5105651]createTarget[/link] | Метод создает целевой экземпляр по типу сущности.


createRuntime

\Bitrix\Crm\Automation\Engine\Runtime public static
\Bitrix\Crm\Automation\Factory::createRuntime(
);

Метод создает экземпляр времени выполнения. Метод нестатический.

Без параметров

Исключения

  • \Bitrix\Main\NotSupportedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createTarget

\Bitrix\Crm\Automation\Target\BaseTarget public static
\Bitrix\Crm\Automation\Factory::createTarget(
 integer $entityTypeId
);

Метод создает целевой экземпляр по типу сущности. Метод нестатический.

Параметры

Параметр | Описание | Версия
$entityTypeId | Идентификатор типа сущности из \CCrmOwnerType. |

Исключения

  • \Bitrix\Main\NotSupportedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Helper

Класс Helper содержит вспомогательные методы.

Класс | Описание
[link=5105663]getDocumentFields[/link] | Метод получает поля документа для использования в дизайнере [dw]роботов[/dw] [di]Робот - заранее спланированный алгоритм обработки лидов и сделок, который запускается, когда элемент перешёл в нужный статус.a href="/learning/course/index.php?COURSE_ID=71&LESSON_ID=8511" target="_blank">Подробнее...[/di].
[link=7162621]prepareDiskAttachments [/link] | Метод получает информацию о файлах на диске с помощью идентификаторов файлов.
[link=7162625]prepareFileAttachments [/link] | Метод получает информацию о файлах из полей документа.


getDocumentFields

array public static
\Bitrix\Crm\Automation\Helper::getDocumentFields(
 array $documentType,
 null|string $typeFilter = null
);

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

Параметры

Параметр | Описание | Версия
$documentType | Тип документа бизпроцесса. |
$typeFilter | Тип фильтра. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareDiskAttachments

array public static
\Bitrix\Crm\Automation\Helper::prepareDiskAttachments(
 integer|array $attachments
);

Метод получает информацию о файлах на диске с помощью идентификаторов файлов. Метод статический.

Параметры

Параметр | Описание | Версия
$attachments | Массив вложений. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareFileAttachments

array public static
\Bitrix\Crm\Automation\Helper::prepareFileAttachments(
 array $documentType,
  $files
);

.

Параметры

Параметр | Описание | Версия
$documentType |  |
$files |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Rest

Пространство имен Rest предназначено для работы с методами REST.

Класс | Описание
Proxy | Класс предназначен для работы с прокси-сервером.


Proxy

Класс Proxy предназначен для работы с прокси-сервером.

Метод | Описание | С версии
[link=7164111]getServer[/link] | Метод получает REST-сервер. |
[link=7164115]setServer[/link] | Метод устанавливает REST-сервер. |


getServer

\CRestServer public
\Bitrix\Crm\Automation\Rest\Proxy::getServer(
);

Метод получает REST-сервер. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setServer

 public
\Bitrix\Crm\Automation\Rest\Proxy::setServer(
 \CRestServer $server
);

Метод устанавливает REST-сервер. Метод нестатический.

Параметры

Параметр | Описание | Версия
$server | Данные сервера в виде массива. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Target

Пространство имен Target содержит методы и классы для работы с целевыми объектами автоматизации.

Класс | Описание
BaseTarget | Класс для работы с целями автоматизации.


BaseTarget

BaseTarget - класс для работы с целями автоматизации.

Метод | Описание | С версии
[link=5105677]setAppliedTrigger[/link] | Метод устанавливает применяемые данные триггера. |
[link=5105681]getAppliedTrigger[/link] | Метод возвращает применяемые данные триггера. |


getAppliedTrigger

array|null public
\Bitrix\Crm\Automation\Target\BaseTarget::getAppliedTrigger(
);

Метод возвращает применяемые данные триггера. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setAppliedTrigger

\Bitrix\Crm\Automation\Target\BaseTarget public
\Bitrix\Crm\Automation\Target\BaseTarget::setAppliedTrigger(
 array $trigger
);

Метод устанавливает применяемые данные триггера. Метод нестатический.

Параметры

Параметр | Описание | Версия
$trigger | Массив данных триггера. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Trigger

Пространство имён Trigger содержит классы и методы работы с [dw]триггерами[/dw][di]Определенное правило или сценарий, который срабатывает в ответ на какие-либо действия (события) со стороны клиента и переводит сущность в нужный нам статус. Подробнее...[/di].

Класс | Описание
Entity | Подпространство имён содержит классы и методы работы с триггерами.


Entity

Подпространство имен Entity содержит классы и методы работы с теми сущностями, где возможно применение триггеров. То есть со сделками и лидами.

Класс | Описание
TriggerAppTable | Класс содержит методы работы с таблицей приложений триггеров.
TriggerTable | Класс содержит методы работы с таблицей триггеров.


TriggerAppTable

TriggerAppTable - класс для работы с таблицей приложений триггеров.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
[link=7164091]getTableName[/link] | Метод получает название таблицы. |
[link=7164097]getMap[/link] | Метод получает карту полей таблицы. |


getMap

array public static
\Bitrix\Crm\Automation\Trigger\Entity\TriggerAppTable::getMap(
);

Метод получает карту полей таблицы. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Crm\Automation\Trigger\Entity\TriggerAppTable::getTableName(
);

Метод получает название таблицы. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


TriggerTable

TriggerTable - класс для работы с таблицей триггеров.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
[link=5105639]getTableName[/link] | Метод получает название таблицы. |
[link=5105643]getMap[/link] | Метод получает карту полей таблицы. |


getMap

array public static
\Bitrix\Crm\Automation\Trigger\Entity\TriggerTable::getMap(
);

Метод получает карту полей таблицы. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Crm\Automation\Trigger\Entity\TriggerTable::getTableName(
);

Метод получает название таблицы. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Field

Общее

У элементов разных типов сущностей CRM есть поля с разными кодами, но одинаковым набором бизнес-логики.

Чтобы не дублировать вызовы одинаковых кусков в операциях разных типов в новом API было решено вынести это в отдельную иерархию классов.

Имя класса-наследника указывается в фабрике в методе getFieldsSettings().

Если наследник не указан, то всё равно работает базовый класс.

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

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

Следует отметить, что этот класс используется при работе только тех полей, которые физически имеют колонку в таблице элементов.

В карточке элемента могут быть некоторые поля (например, поле "Клиент"), которые не входят в коллекцию полей типа. Работа с ними производится только на уровне интерфейса.

Атрибуты

У каждого поля может быть набор атрибутов, которые определяют базовые параметры его поведения.

  • \CCrmFieldInfoAttr::Hidden - Поле недоступно в REST и игнорируется при слиянии дубликатов.
  • \CCrmFieldInfoAttr::NotDisplayed - Поле не выводится в интерфейсе детальной карточки (но может быть доступно в списках).
  • \CCrmFieldInfoAttr::ReadOnly - Значение поля не может быть изменено пользователем.
  • \CCrmFieldInfoAttr::Immutable - Значение поля может быть заполнено пользователем только при создании.
  • \CCrmFieldInfoAttr::UserPKey - Поле является первичным ключом. Редко используется.
  • \CCrmFieldInfoAttr::Required - Поле является обязательным.
  • \CCrmFieldInfoAttr::Multiple - Поле является множественным.
  • \CCrmFieldInfoAttr::Dynamic - Поле является пользовательским полем.
  • \CCrmFieldInfoAttr::Deprecated - Поле помечено как устаревшее (выводится в REST).
  • \CCrmFieldInfoAttr::Progress - Поле содержит информацию о стадии элемента. Редко используется.
  • \CCrmFieldInfoAttr::HasDefaultValue - Поле имеет значение по умолчанию.
  • \CCrmFieldInfoAttr::AutoGenerated - Значение поля генерируется автоматически при создании элемента.
  • \CCrmFieldInfoAttr::Unique - Значение поля должно быть уникальным в рамках таблицы элементов.
  • \CCrmFieldInfoAttr::CanNotBeEmptied - Если пользователь очищает значение этого поля, то это изменение не применяется - при сохранении сбрасывается в исходное состояние.

Методы

Метод Описание С версии
public function __construct
(string $name, array $description)

  • $name - код поля, как он называется в таблице элементов;
  • $description - массив с описанием поля следующей структуры:
    • TYPE - тип поля, возможные значения перечислены в константах класса TYPE_*;
    • TITLE - языковое название поля;
    • ATTRIBUTES - массив с перечислением атрибутов поля;
    • SETTINGS - массив с дополнительными настройками поля произвольной структуры;
    • USER_FIELD - массив с дополнительными настройками поля произвольной структуры;
    • SETTINGS - описание настроек пользовательского поля, если это поле является пользовательским.
Конструктор. Напрямую вызывать его не рекомендуется, для получения полей надо пользоваться методами фабрики.
public function isValueCanBeChanged(): bool
 Вернет true, если значение поля может быть изменено пользователем (проверяются наличие атрибутов \CCrmFieldInfoAttr::ReadOnly и \CCrmFieldInfoAttr::Immutable).
public function processWithPermissions
(Item $item, UserPermissions $userPermissions): Result
  • $item - элемент;
  • $userPermissions - сервис прав доступа.
 Этот метод должен выполнять дополнительные проверки, связанные с правами доступа и логикой этого поля. Например, он определен в классе поля типа "Ответственный" и "Открыто для всех".
public function process(Item $item,
Context $context = null): Result
  • $item - элемент;
  • $context - контекст выполнения.
 Основной метод, который вызывается перед сохранением элемента при выполнении операции.
public function processAfterSave
(Item $itemBeforeSave, Item $item, Context $context = null):
FieldAfterSaveResult
  • $itemBeforeSave - элемент в состоянии до его сохранения;
  • $item - элемент в актуальном состоянии;
  • $context - контекст выполнения.
 Метод, в котором может быть реализована дополнительная логика, которую необходимо обработать после сохранения элемента.
В этом методе не должно вызываться сохранение элемента напрямую, новые значения полей должны быть помещены в FieldAfterSaveResult.
public function isItemValueEmpty(Item $item): bool
 Вернет true, если значение этого поля у элемента $item не заполнено.
public function isValueEmpty($fieldValue): bool
 Вернет true, если значение $fieldValue для этого поля расценивается как не заполненное.
public function getName(): string
 Вернет код поля.
public function setName(string $name): Field
 Запишет новый код поля $name.
public function getTitle(): string
 Вернет название поля.
public function setTitle(string $title): self
 Запишет новый код поля $title.
public function getType(): string
 Вернет тип поля.
public function setType(string $type): Field
 Запишет новый тип поля $type.
public function getAttributes(): array
 Вернет набор атрибутов поля.
public function setAttributes(array $attributes): Field
 Запишет новый набор атрибутов поля $attributes (перезапишет полностью).
public function getSettings(): array
 Вернет набор настроек поля.
public function setSettings(array $settings): Field
 Запишет новый набор настроек поля $settings.
public function isUserField(): bool
 Вернет true, если поле является пользовательским.
public function getUserField(): array
 Вернет описание настроек пользовательского поля.
public function isAutoGenerated(): bool
 Вернет true, если значение поля генерируется автоматически.
public function isMultiple(): bool
 Вернет true, если поле является множественным.
public function isDisplayed(): bool
 Вернет true, если поле должно отображаться в детальной карточке элемента.
public function isRequired(): bool
 Вернет true, если поле является обязательным.
public function toArray(): array
 Вернет массив с описанием параметров поля, структура которого аналогична аргументу $description конструктора.
public function isFileUserField(): bool
 Вернет true, если поле является пользовательским с базовым типом "файл".
public function getValueNotValidError(): Error
 Вернет ошибку о том, что поле заполнено некорректно.
public static function getRequiredEmptyError
(string $fieldName, ?string $title = null): Error
  • $fieldName - код поля;
  • $title - название поля.
 Вернет ошибку о том, что обязательное поле не заполнено.
public function getValueNotUniqueError(): Error
 Вернет ошибку о том, что значение поля не является уникальным.

Наследники

На данный момент есть следующие типы полей:

Поле Описание
Field\Assigned
Ответственный.
  • Если при создании у пользователя есть право на создание только "Своих" элементов, то в значение поля будет принудительно записан пользователь, производящий изменение (взят из контекста).
  • Если поле не заполнено, то туда будет принудительно записан текущий пользователь (взят из контекста).

Field\Category
Направление.
  • Если поле изменено, то проверяется, что идентификатор является корректным идентификатором направления соответствующего типа.
  • После сохранения, если поле изменено, проивзодится очистка атрибутов прав доступа.

Field\Closed
Закрыто.
Автоматически заполняется в зависимости от семантики текущей стадии.
Field\CloseDate
Дата закрытия.
Автоматически заполняется текущей датой, если значение этого поля не заполнено и значение поля "Закрыто" стоит в true.
Field\CreatedBy
Кем создано.
Автоматически заполняется текущим пользователем (из контекста) при создании. В остальных случаях принудительно сбрасывается в исходное состояние.
Field\CreatedTime
Время создания.
Автоматически заполняется текущее время при создании нового элемента.
Field\MovedBy
Кем передвинут.
Автоматически заполняется текущим пользователем (из контекста) при смене стадии.
Field\MovedTime
Когда передвинуто.
Автоматически заполняется текущее время при смене стадии.
Field\Number
Номер.
  • Если поле было очищено при изменении, то туда принудительно записывается идентификатор элемента.
  • При создании номер генерируется автоматически согласно настройкам нумератора.
.
Field\Observers
Наблюдатели.
Обновляет состав привязанного чата.
Field\Opened
Открыто для всех.
Если пользователь имеет право на создание / изменение только открытых для всех элементов, то в это поле принудительно записывается true.
Field\Opportunity
Сумма.
Если включен автоматический расчет суммы, то значение расчитывается на основе состава товарных позиций через сервис расчетов.
Field\OpportunityAccount
Сумма для отчетов.
Значение заполняется на основе валюты отчетов и значения поля "Сумма".
Field\PersonTypeId
Тип плательщика.
Заполняется автоматически на основе того, привязана ли компания к элементу.
Field\PreviousStageId
Предыдущая стадия.
Заполняется автоматически при смене стадии.
Field\Stage
Стадия.
Заполняется автоматически при смене стадии.
  • При изменении значения поля проверяется, что указан корректный статус, относящийся к списку стадий текущего направления элемента.
  • Если изменено поле "Направление", а новая стадия не указана, то значение заполняется автоматически первым статусом той же семантики нового направления.

Field\TaxValue
Сумма налогов.
Заполняется автоматически на основании списка товарных позиций через сервис расчетов.
Field\UpdatedBy
Кем обновлен.
Автоматически заполняется текущим пользователем из контекста.
Field\UpdatedTime
Когда обновлено.
Автоматически заполняется текущим временем.

Примеры

use Bitrix\Crm\Service;
use Bitrix\Crm\Item;

$factory = Service\Container::getInstance()->getFactory(\CCrmOwnerType::Quote);

$opportunityField = $factory->getFieldsCollection()->getField(
    Item::FIELD_NAME_OPPORTUNITY
);
if (
    $opportunityField->isValueEmpty($value)
    && $opportunityField->isRequired()
)
{
    $error = $opportunityField::getRequiredEmptyError(
        $opportunityField->getName(),
        $opportunityField->getTitle()
    );
}


FieldAfterSaveResult

Класс Bitrix\Crm\Service\Operation\FieldAfterSaveResult - это наследник Bitrix\Main\Result с дополнительными методами:
Метод Описание С версии
public function setNewValue(string $fieldName, $value): self
Запишет новое значение $value поля $fieldName.
public function hasNewValues(): bool
Вернет $true, если есть хотя бы одно новое значение.
public function getNewValues(): array
Вернет массив, где ключ - код поля, а значение - это новое значение этого поля.


Collection

Для работы с коллекцией полей есть отдельный класс (именно его возвращает метод Service\Factory::getFieldsCollection()).

Класс воспроизводит интерфейсы \Iterator, \ArrayAccess, \Countable.

Метод Описание С версии
public function __construct(array $fields)
Конструктор. $fields - массив объектов Field.
public function toArray(): array
Преобразует коллекцию в массив, где ключ - код поля, а значение - преобразованное в массив описание поля.
public function hasField(string $fieldName): bool
Вернет true, если в коллекции есть поле с кодом $fieldName.
public function getField(string $fieldName): ?Field
Вернет поле по его коду $fieldName, если он есть.
public function getFieldNameList(): array
Вернет массив кодов полей, входящих в коллекцию.


Начало работы

Введение

Исторически так сложилось, что манипуляция данными об элементах основных сущностей CRM осуществляется с помощью массивов.

У этого подхода есть ряд недостатков:

  • Названия полей у разных сущностей отличаются, хотя имеют одинаковый смысл. Надо всегда помнить их названия.
  • Нет autocomplete в IDE.
  • Нет типизации и др.

С точки зрения публичного интерфейса доступа к данным об элементе сущности, особенных различий между элементами разных сущностей нет. Общего гораздо больше.

Чтобы унифицировать подход, закрыть перечисленные выше недостатки, в новом API был введён абстрактный класс Bitrix\Crm\Item.

Этот класс содержит в себе Bitrix\Main\ORM\Objectify\EntityObject и имитирует его поведение.

Каждый тип сущности имеет свою реализацию этого класса, где содержатся особенности этого типа.

Класс воспроизводит интерфейс \ArrayAccess, при обращении к объекту как к массиву, будут вызваны метод get и set.

Коды "общих" полей этого класса основаны на соответствующих кодах полей таблицы элементов смарт-процесса.

Т.к. сам по себе класс не обращается к базе данных напрямую, он полностью полагается на состояние внутреннего EntityObject.

Это значит, что если у этого объекта не заполнены какие-то данные (не были переданы в select), то и класс не будет иметь к ним доступ.

Именованные методы

Класс имеет набор именованных методов (по аналогии с EntityObject) для работы с состоянием и значениями полей.

Например, метод getStageId вернет строковый идентификатор стадии элемента. Даже если поле называется не STAGE_ID, а STATUS_ID, метод всё равно будет работать.

Аналогично будет работать метод setStageId - он запишет новое значение в поле для стадии, независимо от его кода в таблице элементов.

И так же будет работать метод isChangedStageId. Остальные кейсы, доступные в EntityObject, не реализованы.

Работа с именованными методами реализована через магический метод __call. Некоторые именованные методы реализованы в явном виде.

Вот полный набор методов, доступных для работы с полем "Заголовок" (TITLE):

  • getTitle(): ?string - вернет текущее значение;
  • setTItle(string $title): Item - запишет новое значение;
  • isChangedTitle(): bool - вернет true, если значение поля было изменено.

Аналогичным образом можно обращаться к методам других полей. Код поля должен быть преобразован в UpperCamelCase нотацию.

Примеры:

  • getCreatedTime(): ?DateTime
  • getUpdatedTime(): ?DateTime
  • getMovedTime(): ?DateTime
  • getCreatedBy(): ?int
  • getUpdatedBy(): ?int
  • getMovedBy(): ?int
  • getAssignedById(): ?int
  • getOpened(): bool
  • getBegindate(): ?DateTime
  • getClosedate(): ?DateTime
  • getCompanyId(): ?int
  • getContactId(): ?int
  • getStageId(): ?string
  • getCategoryId(): ?int
  • getOpportunity(): ?float
  • getIsManualOpportunity(): bool
  • getTaxValue(): float
  • getCurrencyId(): ?string
  • getOpportunityAccount(): ?float
  • getTaxValueAccount(): ?float
  • getAccountCurrencyId(): ?string
  • getMycompanyId(): ?int
  • getProductRows(): ?ProductRowCollection
  • getClosed(): bool
  • getSourceId(): ?string
  • getSourceDescription(): ?string
  • getWebformId(): ?int

Аналогичным образом можно работать с полями UTM-меток. Хотя значения этих полей не хранятся непосредственно в таблице элементов, к ним есть доступ аналогичным способом из этого класса.

  • getUtmSource(): ?string
  • getUtmMedium(): ?string
  • getUtmCampaign(): ?string
  • getUtmContent(): ?string
  • getUtmTerm(): ?string

Общие методы

Метод Описание С версии
public function __construct(int $entityTypeId, EntityObject
$entityObject, array $fieldsMap = [], array $disabledFieldNames = [])

  • $entityTypeId - идентификатор типа сущности CRM;
  • $entityObject - orm-объект с данными;
  • $fieldsMap - карта сопоставления полей, где ключ - "общий" код поля (см. публичные константы класса FIELD_NAME_), а значение - код поля из таблицы элементов;
  • $disabledFieldNames - коды полей, которые не должны быть доступны в некоторых методах.
 Использовать конструктор напрямую настоятельно не рекомендуется. Для получения объектов необходимо использовать соответствующие методы фабрики.
public function hasField(string $fieldName): bool
 Вернет true, если элемент имеет поле с названием $fieldName.
Здесь и далее $fieldName может быть как "общим", так и специфическим для сущности.

Например, hasField('STAGE_ID') и hasField('STATUS_ID') для элемента сущности "Лид" оба вернут true.
public function getDefaultValue(string $fieldName)
 Вернет значение по умолчанию для поля $fieldName.
public function get(string $fieldName)
 Вернет текущее значение поля $fieldName.
public function set(string $fieldName, $value): self
 Запишет новое текущее значение $value у поля $fieldName.
public function reset(string $fieldName): self
 Сбросит значение поля $fieldName в его исходное состояние.
public function unset(string $fieldName): self
 Запишет пустое значение в поле $fieldName.
public function remindActual(string $fieldName)
 Вернет исходное значение поля $fieldName.
public function isChanged(string $fieldName): bool
 Вернет true, если поле $fieldName было изменено (текущее значение отличается от исходного).
public function getData(int $valuesType = Values::ALL): array
 Вернет массив значений полей элемента, где ключами являются "общие" коды полей, а значениями - значения этих полей, отобранные по маске $valuesType.
$valuesType может принимать значения, описанные в классе \Bitrix\Main\ORM\Objectify\Values:
\Bitrix\Main\ORM\Objectify\Values::ACTUAL - вернутся только исходные значения полей
\Bitrix\Main\ORM\Objectify\Values::CURRENT - вернутся только текущие значения полей
\Bitrix\Main\ORM\Objectify\Values::ALL - вернутся все значения полей.
public function getCompatibleData
(int $valuesType = Values::ALL): array

$valuesType принимает те же значения и с тем же смыслом, что и в методе getData 		Вернет массив значений полей элемента в том же формате, в котором работа с ними производилась в "старом" API.
Здесь коды полей отдаются в кодах, специфических для конкретного типа.
Значения полей преобразуются в строки / числа / массивы.
public function getCompatibleData
(int $valuesType = Values::ALL): array

$valuesType принимает те же значения и с тем же смыслом, что и в методе getData 		Вернет массив значений полей элемента в том же формате, в котором работа с ними производилась в "старом" API.
Здесь коды полей отдаются в кодах, специфических для конкретного типа.
Значения полей преобразуются в строки / числа / массивы.
public function setFromCompatibleData(array $data): self
 Метод запишет новые значения полей из массива $data. Данные в массиве должны быть в формате "старого" API.
Ключами массива должны являться коды полей, специфических для конкретного типа.
Если элемент является новым, и значение какого-то поля не передано, то в элемент будет записано значение этого поля по умолчанию (см. метод getDefaultValue).
public function isNew(): bool
 Вернет true, если элемент ещё не сохранен в базу данных.
public function getId(): int
 Вернет идентификатор элемента.
public function getEntityTypeId(): int
 Вернет идентификатор типа сущности CRM.
public function getTitlePlaceholder(): ?string
 Вернет заголовок по умолчанию, предназначенный для показа в форме создания.
public function save(bool $isCheckUserFields = true): Result
 Сохранит текущее состояние элемента в базу данных. Вернет объект Bitrix\Main\Result.
Флаг $isCheckUserFields говорит о том, надо ли проверять корректность заполнения пользовательских полей при сохранении.
Этот метод выполняет только сохранение в базу данных. Внутри него не выполняются никакие дополнительные действия (кроме обработчиков событий, подписанных на таблет).
Все дополнительные действия производятся через операции.
public function delete(): Result
 Удаляет элемент из базы данных, возвращает Bitrix\Main\Result.
Флаг $isCheckUserFields говорит о том, надо ли проверять корректность заполнения пользовательских полей при сохранении.
Метод выполняет только непосредственно удаление.
Для учета всех дополнительных действий надо воспользоваться операцией.
public function jsonSerialize(): array
 Вернет данные об элементе в подготовленном для фронта или REST [image] виде (см. Service\Converter).
public function getEntityFieldNameIfExists
(string $commonFieldName): ?string
 Вернет специфический для типа код поля по его "общему" названию.
public function isCategoriesSupported(): bool
 Вернет true, если тип элемента поддерживает работу с направлениями.
public function isStagesEnabled(): bool
 Вернет true, если для типа элемента должны отображаться стадии в интерфейсе.
public function getCategoryIdForPermissions(): int
 Вернет идентификатор направления для учета при проверке прав доступа. Если направления не поддерживаются, возвращает 0.

Работа с коллекциями

Все методы, изменяющие состояние привязанных коллекций, не производят запись изменений в базу данных. Они только изменяют состояние объекта (аналогично поведению методов get/ set).

Чтобы приведенные ниже методы работали корректно, из БД должны быть выбраны соответствующие данные: поля Item::FIELD_NAME_CONTACTS или Item::FIELD_NAME_CONTACT_BINDINGS для работы с контактами, поле Item::FIELD_NAME_OBSERVERS и поле Item::FIELD_NAME_PRODUCTS для товарных позиций.

Сделать это можно, передав в select метода Factory::getItems необходимые поля.

Если же необходимо получить один элемент, то можно воспользоваться методом Factory::getItem. Он вернет объект, для которого из БД получены все связанные записи.

Чтобы изменения были сохранены, необходимо вызвать метод save.

Метод Описание С версии
public function getPrimaryContact(): ?Contact
 Вернет orm-объект с "основным" контактом, если есть хотя бы один.
public function getContacts(): array
 Вернет массив orm-объектов привязанных контактов.
public function bindContacts(array $contactBindings): void
 Запишет связь с контактами $contactBindings элемента.
Данные $contactBindings должны быть в формате, который отдает метод \Bitrix\Crm\Binding\EntityBinding::prepareEntityBindings().
public function unbindContacts(array $contactBindings): void
 Удалит связь с контактами $contactBindings элемента.
Данные $contactBindings должны быть в формате, который отдает метод \Bitrix\Crm\Binding\EntityBinding::prepareEntityBindings().
public function getContactBindings(): array
 Вернет данные о текущих привязках контактов.
Результат будет в формате, который отдает метод \Bitrix\Crm\Binding\EntityBinding::prepareEntityBindings().
public function getObservers(): array
 Вернет массив идентификаторов пользователей, которые являются наблюдателями у элемента.
public function setObservers($observerIds): Item
 Запишет идентификаторы пользователей $observerIds в данные о наблюдателях.
Все необходимые действия по сохранению атрибутов доступа и созданию чатов будут произведены при выполнении операции в классе Bitrix\Crm\Field\Observers.
public function addToProductRows(ProductRow $product): Result
 Метод добавит orm-объект товарной позиции $product к текущей коллекции товарных позиций.
public function removeFromProductRows(ProductRow $product): void
 Метод удалит orm-объект товарной позиции $product из текущей коллекции товарных позиций.
public function setProductRowsFromArrays(array $productArrays): Result
 Метод перезапишет данные о коллекции товаров из массива $productArrays.
Каждый элемент массива $productArrays - это массив данных о товарной позиции.
public function setProductRows($products): Result
 Метод перезапишет данные о коллекции товаров из параметра $products. $products может быть либо массивом orm-объектов ProductRow, либо коллекцией ProductRowCollection.

Пользовательские поля. Файловые поля

Для класса нет особенной разницы, с какими полями он работает - полями самой таблицы или пользовательскими. Главное, чтобы эти поля были доступны в EntityObject.

Есть некоторые особенности при обработке полей типа "Файл".

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

С точки зрения базы данных тип поля "Файл" - это число. Но в старом API файл перед сохранением можно было передать в виде массива с описанием загруженного файла (см. \CFile::MakeFileArray())

Чтобы этот способ работал, при передаче таких данных в метод setFromCompatibleData файл сразу сохраняется в таблицу b_file, а его ID записывается в поле EntityObject.

Загрузка производится через сервис загрузки файлов, который очистит файлы, которые не были сохранены.

Примеры

Создание элемента

use Bitrix\Crm\Service;
use Bitrix\Crm\Item;

$factory = Service\Container::getInstance()->getFactory(\CCrmOwnerType::Quote);

$newFile = [
    'name' => 'document.docx',
    'size' => 145961,
    'type' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
    'description' => '',
    'tmp_name' => '/tmp/d1gadg',
];

$fields = [
    'UF_CRM_FIELD' => 'some value',
    'UF_CRM_FILE' => $newFile,
];
$item = $factory->createItem([
    Item::FIELD_NAME_STAGE_ID => 'D128_3:CLIENT' ,
]);
$item->setFromCompatibleData($fields);

// here we can get new file identifier. But if item not saved, this file will be deleted.
$newFileId = $item->get('UF_CRM_FILE');

$result = $item->save();

Изменение элемента

use Bitrix\Crm\Service;
use Bitrix\Crm\Item;

$factory = Service\Container::getInstance()->getFactory(\CCrmOwnerType::Quote);

$item = $factory->getItem(1);
if ($item)
{
    $item->setStageId('SENT');
    $result = $item->save();
}

Удаление элемента

use Bitrix\Crm\Service;
use Bitrix\Crm\Item;

$factory = Service\Container::getInstance()->getFactory(\CCrmOwnerType::Quote);

$item = $factory->getItem(1);
if ($item)
{
    $result = $item->delete();
}

Изменение контактов

Представим, что у нас есть коммерческое предложение с id = 1, привязанное к двум контактам с id = 2 и id = 3. Мы хотим, чтобы оно было привязано к контактам 3 и 4.

use Bitrix\Crm\Binding\EntityBinding;
use Bitrix\Crm\Item;
use Bitrix\Crm\Service;

$factory = Service\Container::getInstance()->getFactory(\CCrmOwnerType::Quote);

$item = $factory->getItem(1);
if ($item)
{
    // add new contact with id = 4
    $item->bindContacts(EntityBinding::prepareEntityBindings(\CCrmOwnerType::Contact, [4]));
    // remove contact with id = 2
    $item->unbindContacts(EntityBinding::prepareEntityBindings(\CCrmOwnerType::Contact, [2]));
}

Преимущества и недостатки

Работа с этим классом имеет ряд преимуществ:

  • Легко определить, было ли изменено значение поля (через метод isChanged).
  • Прозрачный доступ к значениям полей, соответственно их смыслу, независимо от их кода в таблице.
  • Типизация и autocomplete.
  • Возможность работать с абстракцией.

При работе с этим классом есть ряд недостатков, связанных с особенностями поведения EntityObject:

  • Значения полей приводятся к соответствующему типу. Из-за этого числовые поля с незаполненными значениями отдают 0. И нет никакой возможности определить, там записан 0 или поле не заполнено.
  • При работе непосредственно с объектом нет возможности определить, было ли значение поля передано с фронта, или нет. Метод isChanged говорит только о том, изменено ли значение.

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


Особенности работы с коллекциями

Общие моменты

В основной статье приводятся методы Item для работы с коллекциями (контактами, товарами, наблюдателями). Если вы ищете описание API, то обратитесь к ней. Тут разговор пойдет о том, как реализуется работа с данными сущностями в Item, особенностях некоторых методов и о других нюансах.

Работа с коллекциями основывается на использовании ORM. EntityObject, который используется внутри Item, имеет доступ к связанным записям через стандартный механизм отношений [image] в ORM. В случае контактов — это записи о связях, для товарных позиций и наблюдателей — записи соответствующих таблиц (подробнее про данные в каждом соответствующем разделе). Таблет элемента имеет в описании поле OneToMany с необходимым именем (например, Item::FIELD_NAME_CONTACT_BINDINGS для контактов и Item::FIELD_NAME_PRODUCTS для товарных позиций), ссылающееся на какой-то таблет. Через него Item управляет информацией о том, какие контакты привязаны к элементу.

Так же для контактов, товарных позиций и наблюдателей внутри Item реализованно множество методов вида remindActualContacts, unsetContactBindings, isChangedObservers. Они необходимы для корректной работы общих методов Item::remindActual, Item::unset и др.

Работа с контактами

В CRM множественные контакты хранятся особым образом. Для обеспечения связи "многие ко многим" используются отдельные таблицы, в которых хранятся записи о связи между контактами и другими элементами CRM. Эти таблеты находятся в неймспейсе \Bitrix\Crm\Binding.

Записи о связи имеют особый формат, который во многом диктуется методами класса \Bitrix\Crm\Binding\EntityBinding.

Сами ORM-объекты контактов, получаемые через методы getContacts и др., загружаются внутри Item на основе записей о связи с помощью брокера контактов. Это позволяет уменьшить количество запросов в базу при частых использовании методов получения и привязки/отвязки контактов.

Алгоритм работы bindContacts и unbindContacts

Метод bindContacts используется для того, чтобы привязать к элементу контакты. В качестве аргумента ему передаются массивы связи в формате, отдаваемом методами класса \Bitrix\Crm\Binding\EntityBinding.

Алгоритм его работы можно описать следующим образом:

  1. Нормализуем полученные через аргумент массивы связи.
  2. Получаем записи связи об привязанных на данный момент контактах.
  3. Сравниваем полученные массивы связи и текущие записи. Если необходимо, то обновляем текущие записи или создаем новые.
  4. Проверяем, что среди привязанных контактов ровно один из них помечен как основой (primary). Если основного контакта нет или их несколько, делаем ровно один из них основным.

Метод unbindContacts используется для того, чтобы отвязать уже привязанные контакты от элемента. В качестве аргумента он так же принимает массивы связи в формате \Bitrix\Crm\Binding\EntityBinding.

Алгоритм его работы практически идентичен таковому у bindContacts. Единственное отличие в том, что при сравнении полученных массивов связи текущие записи удаляются, а не обновляются/создаются.

Абстрактные методы, использующиеся при работе с контактами

При работе с контактами используется несколько абстрактных методов. Так как разные типы сущности могут использовать разные таблицы для хранения записей о связях, в этим методах инкапсулируются детали работы Item с упоминаемым выше полем связи OneToMany(Item::FIELD_NAME_CONTACT_BINDINGS).

abstract protected function getContactBindingTableClassName(): string - метод должен вернуть FQN класса таблета, в котором хранятся записи о связи элемента и контактов (например, \Bitrix\Crm\Binding\EntityContactTable).

abstract protected function compilePrimaryForBinding(array $contactBinding): array - метод должен сформировать ассоциативный массив со значениями первичных ключей на основе предоставленного массива связи. Формат возвращаемого массива с первичными ключами напрямую зависит от используемого таблета связей, который возвращается в методе getContactBindingTableClassName.

Работа с товарными позициями

Элемент CRM может иметь товарные позиции, привязанные к нему. Они хранятся в таблице b_crm_product_row (таблет \Bitrix\Crm\ProductRowTable).

Особенности работы setProductRows, addToProductRows

Так как записи в БД о товарных позициях имеют сложную структуру со множеством полей, то при их сохранении особое внимание уделяется нормализации данных. Именно поэтому методы добавления/изменения товарных позиций возвращают объекты класса \Bitrix\Main\Result - в них будут собираться ошибки, которые возникли в процессе нормализации.

Таким образом, если в процессе добавления/изменения товарной позиции при нормализации возникла ошибка, то такая товарная позиция добавлена не будет.

Абстрактные методы, использующиеся при работе с товарными позициями

protected function getItemReferenceFieldNameInProduct(): ?string - метод должен вернуть название поля, под которым в таблете \Bitrix\Crm\ProductRowTable записано поле типа Reference, ссылающееся на таблет элементов. Допустим, что наши элементы хранятся в таблете CoolEntityTypeTable. А в ProductRowTable есть поле new Reference('COOL_ENTITY_TYPE', CoolEntityTypeTable::class, ...). В таком случае соответствующий наследник Item для этого типа сущности должен вернуть 'COOL_ENTITY_TYPE'.

Работа с наблюдателями

С точки зрения данных, наблюдатели — это массив ID пользователей, которые наблюдают за каким-то элементом CRM. Между элементами и пользователями реализуется связь "многие ко многим". Для хранения записей о том, к какому элементу привязаны какие наблюдатели, используется отдельная таблица b_crm_observer (\Bitrix\Crm\Observer\Entity\ObserverTable). Помимо ссылок на элемент CRM и пользователя, в ней также хранятся поля сортировки и даты добавления и последнего изменения наблюдателя.

Алгоритм работы setObservers

  1. Нормализуем входящие данные.
  2. Получаем данные о том, какие пользователи сейчас являются наблюдателями.
  3. Сравниваем полученные данные с текущими. Если наблюдатель не был передан, отвязываем его. Если был передан новый, то создаем новую запись. Если передан уже существующий, обновляем время последнего изменения наблюдателя.

При вызове setObservers сортировка наблюдателей соответствует сортировке в переданном массиве. Т.е. тот ID, который в переданном массиве был первым, будет сохранен с минимальной сортировкой, и т.д.


Чтение данных из сущностей разных типов

Довольно типовой случай, когда надо прочитать данные о сущностях разных типов. Задача распространённая, но в каждый раз есть какие-то свои особенности. На стороне CRM нет такого "волшебного" способа, который учтет все варианты. Для каждого случая надо писать свою обвязку.

Получить заголовки разделов сущностей (Сделки, Лиды и т.д.)

$descriptions = \CCrmOwnerType::GetAllDescriptions();

// вернет "Контакт"
$contactDescription = $descriptions[\CCrmOwnerType::Contact];
// то же самое
//$contactDescription = \CCrmOwnerType::GetDescription(\CCrmOwnerType::Contact);

$categoryDescriptions = \CCrmOwnerType::GetAllCategoryCaptions();
// вернет "Контакты"
$contactCategoryDescription = $categoryDescriptions[\CCrmOwnerType::Contact];
// то же самое
//$contactCategoryDescription = \CCrmOwnerType::GetCategoryCaption(\CCrmOwnerType::Contact);

Получить ссылку на список / элемент
Необходимо воспользоваться Service\Router.

Получить заголовок элемента произвольного типа

Метод сформирует заголовок элемента из нескольких полей, в зависимости от типа сущности.

Не используйте этот метод внутри цикла.

$dealTitle = \CCrmOwnerType::GetCaption(\CCrmOwnerType::Deal, 11);

// title is not escaped!

Получить базовые данные об элементе произвольного типа

$data = [];

$isCheckAccess = true;

$isLoaded = \CCrmOwnerType::TryGetEntityInfo(\CCrmOwnerType::Order, 22, $data, $isCheckAccess);
if ($isLoaded)
{
    print_r($data);
}

Получить базовые данные о списке элементов одного типа

// ключ - идентификатор элемента
$data = [
    11 => [],
    13 => [],
    222 => [],
];

$isCheckAccess = true;

\CCrmOwnerType::PrepareEntityInfoBatch(\CCrmOwnerType::Lead, $data, $isCheckAccess);
print_r($data);

Узнать ответственного за элемент

$isCheckAccess = true;

// загружает актуального ответственного
$responsibleId = \CCrmOwnerType::loadResponsibleId(\CCrmOwnerType::Lead, 11, $isCheckAccess);

// GetResponsibleID - то же самое, но данные кешируются

Чтение произвольных данных
  1. Необходимо понимать, что разные типы сущностей имеют разный набор полей. По умолчанию метод Service\Factory::getItems() загружает все поля, кроме данных о связанных коллекциях контактов и товаров.
  2. Если нужно ограничить/расширить выборку, то select для запроса необходимо формировать индивидуально, исходя из типа сущности.
  3. Новое API с версии crm 21.400.0 поддерживает полноценную работу только со смарт-процессами и предложениями.
  4. Поддержка лидов, сделок, контактов и компаний появится не раньше crm 21.800.0.

Рассмотрим пример, в котором на входе есть набор идентификаторов элементов разных типов. Необходимо получить о них информацию, включая контактные данные (мультиполя).

use Bitrix\Main\Loader;
use Bitrix\Crm\Service;
use Bitrix\Crm\Item;

Loader::includeModule('crm');

$elements = [
    [
        'ENTITY_TYPE_ID' => 1,
        'ENTITY_ID' => 1,
    ],
    [
        'ENTITY_TYPE_ID' => 2,
        'ENTITY_ID' => 3,
    ],
    [
        'ENTITY_TYPE_ID' => 2,
        'ENTITY_ID' => 5,
    ],
    [
        'ENTITY_TYPE_ID' => 3,
        'ENTITY_ID' => 10,
    ],
    [
        'ENTITY_TYPE_ID' => 4,
        'ENTITY_ID' => 33,
    ],
    [
        'ENTITY_TYPE_ID' => 130,
        'ENTITY_ID' => 10,
    ]
];

// исходные даннные, сгруппированные по типу сущности
$typed = [];
foreach ($elements as $element)
{
    $typed[$element['ENTITY_TYPE_ID']][$element['ENTITY_ID']] = $element['ENTITY_ID'];
}
// ид всех контактов
$contactIds = $typed[\CCrmOwnerType::Contact] ?? [];
// ид всех компаний
$companyIds = $typed[\CCrmOwnerType::Company] ?? [];
// данные о всех контактах
$contacts = [];
// данные о всех компаниях
$companies = [];
// связи
$relations = [];
// все сущности с мульти-полями
$multiFields = [];

$result = [];
foreach ($typed as $entityTypeId => $entityIds)
{
    // first load all types but contacts and companies
    if (
        $entityTypeId === \CCrmOwnerType::Contact
        || $entityTypeId === \CCrmOwnerType::Company
    )
    {
        continue;
    }
    $factory = Service\Container::getInstance()->getFactory($entityTypeId);
    if (!$factory)
    {
        continue;
    }
    // если нужно с проверкой прав доступа
    // $items = $factory->getItemsFilteredByPermissions([
    $items = $factory->getItems([
        'select' => ['*', Item::FIELD_NAME_CONTACT_BINDINGS],
        'filter' => [
            '@ID' => $entityIds,
        ],
    ]);

    foreach ($items as $item)
    {
        $identifier = \Bitrix\Crm\ItemIdentifier::createByItem($item);
        $compatibleData = $item->getCompatibleData();
        $result[$item->getEntityTypeId()][$item->getId()] = $compatibleData;
        foreach ($compatibleData['CONTACT_BINDINGS'] as $contactBinding)
        {
            // дозапишем идентификаторы связанных контактов
            $contactIds[] = $contactBinding['CONTACT_ID'];
            $relations[\CCrmOwnerType::Contact][$contactBinding['CONTACT_ID']][] = $identifier;
        }
        if ($item->hasField(Item::FIELD_NAME_COMPANY_ID))
        {
            // дозапишем ид связанной компании
            $companyId = (int)$item->getCompanyId();
            if ($companyId > 0)
            {
                $companyIds[] = $companyId;
                $relations[\CCrmOwnerType::Company][$companyId][] = $identifier;
            }
        }
        if ($item->getEntityTypeId() === \CCrmOwnerType::Lead)
        {
            $multiFields[] = [
                'NAME' => \CCrmOwnerType::LeadName,
                'ID' => $item->getId(),
            ];
        }
    }
}

\Bitrix\Main\Type\Collection::normalizeArrayValuesByInt($contactIds);
\Bitrix\Main\Type\Collection::normalizeArrayValuesByInt($companyIds);

// загрузим все контакты
if (!empty($contactIds))
{
    $factory = Service\Container::getInstance()->getFactory(\CCrmOwnerType::Contact);
    if (!$factory)
    {
        // no factory sorry
        throw new Exception('factory for ' . \CCrmOwnerType::Contact . ' not found');
    }
    // если нужно с проверкой прав доступа
    // $items = $factory->getItemsFilteredByPermissions([
    $items = $factory->getItems([
        'filter' => [
            '@ID' => $contactIds,
        ],
    ]);
    foreach ($items as $item)
    {
        $compatibleData = $item->getCompatibleData();
        $contacts[$item->getId()] = $compatibleData;
        if (isset($typed[$item->getEntityTypeId()][$item->getId()]))
        {
            $result[$item->getEntityTypeId()][$item->getId()] = $compatibleData;
        }
        $multiFields[] = [
            'NAME' => \CCrmOwnerType::ContactName,
            'ID' => $item->getId(),
        ];
    }
}

// загрузим все компании
if (!empty($companyIds))
{
    $factory = Service\Container::getInstance()->getFactory(\CCrmOwnerType::Company);
    if (!$factory)
    {
        // no factory sorry
        throw new Exception('factory for ' . \CCrmOwnerType::Company . ' not found');
    }
    // если нужно с проверкой прав доступа
    // $items = $factory->getItemsFilteredByPermissions([
    $items = $factory->getItems([
        'filter' => [
            '@ID' => $companyIds,
        ],
    ]);
    foreach ($items as $item)
    {
        $compatibleData = $item->getCompatibleData();
        $companies[$item->getId()] = $compatibleData;
        if (isset($typed[$item->getEntityTypeId()][$item->getId()]))
        {
            $result[$item->getEntityTypeId()][$item->getId()] = $compatibleData;
        }
        $multiFields[] = [
            'NAME' => \CCrmOwnerType::CompanyName,
            'ID' => $item->getId(),
        ];
    }
}

// загрузим все контактные данные и примешаем их к результату с учетом связей
$filter = \Bitrix\Crm\FieldMultiTable::prepareFilter($multiFields);
$multiFields = \Bitrix\Crm\FieldMultiTable::getList([
    'filter' => $filter,
]);
while ($fieldItem = $multiFields->fetch())
{
    $entityTypeId = \CCrmOwnerType::ResolveID($fieldItem['ENTITY_ID']);
    $itemId = (int)$fieldItem['ELEMENT_ID'];
    if (isset($result[$entityTypeId][$itemId]))
    {
        $result[$entityTypeId][$itemId]['FM'][] = $fieldItem;
    }
    if (isset($relations[$entityTypeId][$itemId]))
    {
        foreach ($relations[$entityTypeId][$itemId] as $identifier)
        {
            $result[$identifier->getEntityTypeId()][$identifier->getEntityId()]['FM'][] = $fieldItem;
        }
    }
}

print_r($result);

Код в этом примере можно улучшить, оставлен в таком виде для наглядости.

Желательно обернуть в какой-то класс на своей стороне.

Получить первую стадию (без учета прав доступа)
Если не передать направление, и направления поддерживаются, то будет использовано направление по умолчанию.
$getFirstStageId = function(int $entityTypeId, int $categoryId = null): ?string
{
    $factory = \Bitrix\Crm\Service\Container::getInstance()->getFactory($entityTypeId);
    if (!$factory || !$factory->isStagesSupported())
    {
        return null;
    }

    $firstStage = $factory->getStages((int)$categoryId)->getAll()[0];

    return $firstStage ? $firstStage->getStatusId() : null;
};

Получить первую стадию с учетом прав доступа
Надо воспользоваться методом \Bitrix\Crm\Service\UserPermissions::getStartStageId
$getFirstStageIdWithPermissions = function(
    int $entityTypeId,
    int $userId = null,
    int $categoryId = null,
    string $operation = \Bitrix\Crm\Service\UserPermissions::OPERATION_READ
): ?string
{
    $factory = \Bitrix\Crm\Service\Container::getInstance()->getFactory($entityTypeId);
    if (!$factory || !$factory->isStagesSupported())
    {
        return null;
    }

    $stages = $factory->getStages((int)$categoryId);

    return \Bitrix\Crm\Service\Container::getInstance()->getUserPermissions($userId)->getStartStageId(
        $entityTypeId,
        $stages,
        (int)$categoryId,
        $operation
    );
};


Component\EntityDetails\FactoryBased

Общее описание

Детальные карточки элемента любого типа CRM очень похожи между собой. Состоят из одинаковых элементов, работают по схожей логике.

При разработке смарт-процессов и новой карточки предложений было решено вынести общий код в базовый класс.

Сам этот класс является абстрактным, от него наследуются компоненты для отрисовки карточки элемента конкретного типа.

Т.к. чаще всего сам этот класс является клиентским кодом, большая часть данных сосредоточена в свойствах этого класса.

Большая часть методов также предназначена для использования внутри executeComponent.

Тем не менее, бывают случаи, когда необходимо обратиться к компоненту детальной карточки элемента снаружи.

Название компонента можно получить с помощью метода роутера getItemDetailComponentName.

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

Методы

Метод Описание С версии
public function setEntityTypeID(int $id): void
 Установит новый тип сущности CRM $id, с которым должен работать компонент.
public function getEntityTypeID(): int
 Вернет текущий тип сущности CRM, с которым работает компонент.
public function setEntityID($entityID): void
 Установит новый идентификатор элемента, с которым работает компонент.
public function init(): void
 Выполняет инициализацию - заполняет внутренние свойства класса в соответствии с параметрами компонента.
Если в процессе инициализации возникли ошибки, то они попадут коллекцию ошибок..
public function getErrors(): array
 Вернет массив с ошибками \Bitrix\Main\Error[].
public function getErrorByCode($code): ?Error
 Вернет ошибку по её коду $code, если такая есть.
public function getErrorMessages(): array
 Вернет массив сообщений об ошибках.
public function initializeEditorAdapter(): void
 Инициализирует сервис EditorAdapter.
public function getEditorConfig(): array
 Вернет параметры для компонента универсального редактора.
public function getInlineEditorEntityConfig(): array
 Вернет параметры для компонента универсального редактора, который используется при инлайновом редактировании элемента (например, в быстрой форме создания в канбане).
public function getEditorEntityConfig(): array
 Вернет конфигурацию элементов для универсального редактора (ключ ENTITY_CONFIG).
public function prepareFieldInfos(): array
 Вернет конфигурацию полей для универсального редактора.

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

use Bitrix\Crm\Service;

$entityTypeId = 140;

$componentName = Service\Container::getInstance()->getRouter()->getItemDetailComponentName($entityTypeId);

$componentClassName = \CBitrixComponent::includeComponentClass($componentName);
$component = new $componentClassName;
$component->initComponent($componentName);
$component->arParams = [
    'ENTITY_TYPE_ID' => $this->factory->getEntityTypeId(),
    'ENTITY_ID' => 0,
    'categoryId' => $this->getCategoryId(),
];
$component->init();
if ($component->getErrors())
{
    print_r($component->getErrorMessages());
    return;
}

$fieldInfos = $component->prepareFieldInfos();
$entityConfig = $component->getEditorEntityConfig();

Пример кастомизации компонента смотрите тут.


Модели

Общее описание

Это абстрактный js-экстеншн, содержащий только один класс.

Этот класс в паре с Service\Converter призван обеспечить "бесшовный" и прозрачный обмен данными между бекендом и фронтендом.

Жизненный цикл выглядит следующим образом:

  • Данные загружаются из базы данных.
  • На бекенде они преобразуются в json с помощью Service\Converter.
  • На основе данных создается наследник crm.model, обеспечивающий удобный доступ к данным на стороне фронтенда.
  • Данные могут быть изменены на фронтенде по аналогии с методами EntityObject на бекенде.
  • После изменения данные могут быть сохранены вызовом метода save, который сделает ajax-запрос на соответствующий контроллер.
  • Контроллер выполнит действие над элементом и вернет обратно актуальное состояние объекта снова в json формате.

Есть ещё вариант, когда на фронте есть только id и модель может получить актуальные данные с бекенда с помощью метода load().

Чтобы все эти действия работали, внутри модели должен быть способ получить название четырех ajax-действий:

  • get;
  • add;
  • update;
  • delete.

По умолчанию названия действий получаются как 'crm.api.' + this.getModelName() + '.' + action.

Модель можно сконфигурировать, передав дополнительные get-параметры для каждого действия

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

  • свою реализацию конвертера;
  • свою реализацию модели;
  • свой контроллер.

Пока что всё это есть только для настроек смарт-процесса (crm.type-model).

Методы

Метод Описание С версии
constructor(data: {}, params: {})

  • data - объект с данными. Имеет произвольную структуру.
  • params - параметры работы с моделью.
    • getParameters - набор дополнительных параметров для выполнения действий. Является объектом, где могут быть свойства.
 Конструктор. Аргумент data используется как данные о модели. Аргумень params используется при ajax-запросах.
get actions()
 Вернет объект с ключами get, add, update, delete, где указаны названия ajax-действий для выполнения чтения, добавления, обновления и удаления данных.
compileActionString(action: string): string
 Соберет строку с названием ajax-действия для выполнения action .
getId(): ?number
 Вернет идентификатор. Если его нет, то считается, что это новые данные, ещё не сохраненные в БД.
getEntityTypeId(): ?number
 Вернет идентификатор типа сущности CRM.
isSaved(): boolean
 Вернет true, если id > 0.
isDeleted(): boolean
 Вернет true, если объект удален из базы данных (был вызван и успешно отработал метод delete).
setData(data)
 Запишет данные модели data.
getData()
 Вернет данные модели.
setGetParameters(action: string,
parameters: getParameters)
 Запишет дополнительные get-параметры getParameters для действия с кодом action.
getGetParameters(action: string):
getParameters
 Вернет дополнительные get-параметры для действия с кодом action.
getModelName(): string
 Вернет строковое представление модели. Абстрактный метод, должен быть определен в наследнике.
setDataFromResponse(response: {data: {}})
 Записывает новые данные о модели из ответа на ajax-действие response.
load(): Promise<{data: {}},string[]>
 Выполнит ajax-запрос на действие с кодом get. Вернет Promise, который будет разрешен после обновления данных о модели.
save(): Promise<{data: {}},string[]>
 Выполнит ajax-запрос на действие с кодом add (если данные не были сохранены) или update. Вернет Promise, который будет разрешен после после выполнения запроса.
delete(): Promise<{data: {}},string[]>
 Выполнит ajax-запрос на действие с кодом delete (если данные не были сохранены) или update. Вернет Promise, который будет разрешен после после выполнения запроса.

Наследники

TypeModel (crm.type-model)

Класс для работы с настройками смарт-процессов.

ajax-действия:

  • get: crm.type.get
  • add: crm.type.add
  • update: crm.type.update
  • delete: crm.type.delete

Позволяет полноценно работать с данными на стороне фронтенда.

Помимо методов базового класса обладает рядом именных методов для получения / изменения данных модели.

  • getTitle / setTitle
  • getCreatedBy
  • getIsCategoriesEnabled / setIsCategoriesEnabled
  • getIsStagesEnabled / setIsStagesEnabled
  • getIsBeginCloseDatesEnabled / setIsBeginCloseDatesEnabled
  • getIsClientEnabled / setIsClientEnabled
  • getIsLinkWithProductsEnabled / setIsLinkWithProductsEnabled
  • getIsCrmTrackingEnabled / setIsCrmTrackingEnabled
  • getIsMycompanyEnabled / setIsMycompanyEnabled
  • getIsDocumentsEnabled / setIsDocumentsEnabled
  • getIsSourceEnabled / setIsSourceEnabled
  • getIsUseInUserfieldEnabled / setIsUseInUserfieldEnabled
  • getIsObserversEnabled / setIsObserversEnabled
  • getIsRecyclebinEnabled / setIsRecyclebinEnabled
  • getIsAutomationEnabled / setIsAutomationEnabled
  • getIsBizProcEnabled / setIsBizProcEnabled
  • getIsSetOpenPermissions / setIsSetOpenPermissions
  • getLinkedUserFields / setLinkedUserFields
  • getCustomSectionId / setCustomSectionId

Помимо этих полей есть методы управления сложными данными о настройках - настройки дополнительных разделов и настройки связей:

  • getCustomSections / setCustomSections

    Данные о настройках дополнительных разделов имеют вид массива с элементами:

    {
    id: number,
    title: string,
    isSelected: boolean
}
  • getRelations / setRelations

    Данные о настройках связей имеют вид RelationsMap[]:

    declare type RelationsMap = {
    parent: Relation[],
    child: Relation[],
}

declare type Relation = {
    entityTypeId: number,
    isChildrenListEnabled?: boolean|null,
    isPredefined?: boolean,
}

StageModel (crm.stage-model)

Модель данных о стадии. Не работает с ajax-действиями, работает только на фронтенде.

Имеет набор именованных методов для получения данных о стадии:

  • getName / setName
  • getEntityId
  • getStatusId
  • getSort / setSort
  • getColor / setColor
  • getSemantics
  • getCategoryId
  • isFinal
  • isSuccess
  • isFailure

CategoryModel (crm.category-model)

Модель данных о направлении произвольного типа сущности. Не работает с ajax-действиями, работает только на фронтенде.

Имеет набор именованных методов для получения данных о направлении:

  • getName / setName
  • getSort / setSort
  • isDefault / setDefault

Примеры

$entityTypeId = 140;

$type = \Bitrix\Crm\Model\Dynamic\TypeTable::getByEntityTypeId($entityTypeId)->fetchObject();

\Bitrix\Main\UI\Extension::load(['crm.type-model']);

const typeModel = new BX.Crm.Models.TypeModel(jsonSerialize()) ?>);

typeModel.setTitle('newTitle);

typeModel.save().then(() => {
    console.log('typeModel updated');
});


Детальная карточка элемента

crm.item-details-component

Базовый класс для javascript-части шаблона детальной карточки элемента.

В компоненте crm.item.details карточки элемента смарт-процесса используется как есть.

Т.к. этот класс является частью, наиболее близкой к интерфейсу, он не будет описан здесь подробно.

Эта часть кода наиболее часто (и зачастую, наиболее радикально) подвергается изменениям.

Не следует без особой необходимости наследовать / использовать этот класс в явном виде (см. правила и пример).
Если наследуетесь, будьте готовы к изменениям в этом классе.


Фронтенд роутера

Представляет собой часть сервиса роутинга на фронтенде.

Перед использованием этот объект должен быть инициализирован шаблонами ссылок.

Происходит это в методе \Bitrix\Crm\Component\Base::addJsRouter(), который необходимо вызвать в шаблоне компонента.

/** @see \Bitrix\Crm\Component\Base::addJsRouter() */
$this->getComponent()->addJsRouter($this);

На стороне фронтенда доступ к объекту осуществляется через статическое свойство Instance, где находится актуальный инициализированный объект.

Методы

setUrlTemplates(params: UrlTemplatesSettings): Router
Метод Описание С версии
constructor(data: {}, params: {})
 Установит шаблоны ссылок.
setCurrentListView
(entityTypeId: number, view: string): Router
 Установит тип представления view списка элементов (список или канбан) для типа сущности entityTypeId.
getCurrentListView(entityTypeId: number): string
 Вернет текущий тип представления списка элементов для типа entityTypeId.
static openSlider(url, options):
Promise
 Статический метод, который отроет слайдер по адресу url с параметрами options.
Вернет Promise, который будет разрешен после закрытия этого слайдера. В resolve придет объект BX.SidePanel.Slider слайдера.
Этот метод вызывается внутри других методов этого класса, которые открывают слайдер.
openTypeDetail(typeId: number, options: ?{}):
?Promise
 Откроет слайдер настроек смарт-процесса.
getTemplate(component: string,
entityTypeId: number = 0): ?string
 Вернет шаблон ссылки для компонента component для типа entityTypeId, если такой шаблон есть.
getTypeDetailUrl(entityTypeId: number = 0): ?Uri
 Вернет ссылку на страницу настроек смарт-процесса с идентификатором entityTypeId.
getTypeListUrl(): ?Uri
 Вернет ссылку на страницу списка смарт-процессов.
getItemListUrlInCurrentView(entityTypeId:
number, categoryId: ?number = 0): ?Uri
 Вернет ссылку на список элементов типа entityTypeId в направлении categoryId в текущем представлении.
getKanbanUrl(entityTypeId:
number, categoryId: ?number = 0): ?Uri
 Вернет ссылку на список элементов типа entityTypeId в направлении categoryId в представлении "канбан".
getItemListUrl(entityTypeId:
number, categoryId: ?number = 0): ?Uri
 Вернет ссылку на список элементов типа entityTypeId в направлении categoryId в представлении "список".


Подмена сервисов

Описание

Один из плюсов использования концепции сервисов в том, что экземпляр сервиса довольно легко подменить.

Подмена сервиса даёт разработчику высокий уровень контроля приложения без необходимости вмешиваться в исходный код.

Однако высокий уровень контроля требует тщательного подхода и высокого уровня понимания и ответственности за свои действия.

Компания Битрикс, как разработчик программного обеспечения, гарантирует обратную совместимость на уровне исходных кодов.

Однако поддержка обратной совместимости иногда является существенным препятствием в развитии продукта.

В связи с этим, подменяя исходные сервисы на свою реализацию, следует руководствоваться следующими правилами:

  • Внедряемые изменения не должны нарушать существующую логику приложения. Чем более сложные доработки внедряются с помощью подмены сервисов, тем сложнее будет их поддерживать в будущем.
  • Нежелательно вносить изменения в сигнатуру методов на уровне добавления новых аргументов.
  • Изменения должны быть внедрены таким образом, чтобы в любой момент времени от них было достаточно просто и безболезненно отказаться (с целью отладки / проверки гипотез).

Особенно актуальными эти правила являются на раннем этапе развития сервисов. Чем моложе код, тем активней он будет изменяться.

Подготовка

В данном разделе речь идёт о сервисах для CRM. Т.к. для подмены необходимо наличие исходного класса, произвести замену получится только после подключения модуля crm.

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

Сейчас такого события нет, поэтому придется на каждый хит подключать модуль crm и делать подмену сервисов.

Все представленные ниже сниппеты кода являются только примерами. Не обязательно воспроизводить их полностью.

Файл /local/php_interface/include/crm_services.php

if (\Bitrix\Main\Loader::includeModule('crm'))
{
    // here we can use crm module api
}

Файл /local/php_interface/init.php

define('CRM_USE_CUSTOM_SERVICES', true);

if (defined('CRM_USE_CUSTOM_SERVICES') && CRM_USE_CUSTOM_SERVICES === true)
{
    $fileName = __DIR__ . '/include/crm_services.php';
    if (file_exists($fileName))
    {
        require_once ($fileName);
    }
}

Все примеры ниже будут касаться содержимого файла crm_services.php без учета первой ветки с условием.

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

Ниже примеры с подменой сервисов сделаны через анонимные классы. Делать именно так не обязательно, лучше каждый наследник поместить в отдельный файл и подключать внутри crm_services.php.

Простой пример замены сервиса

В данном примере подменяется сервис локализации.

use Bitrix\Crm\Service;
use Bitrix\Main\DI;

$localization = new class extends Service\Localization {
    public function loadMessages(): array
    {
        $messages = parent::loadMessages();
        $messages['CRM_MY_NEW_COMMON_MESSAGE'] = 'Some Messages';

        return $messages;
    }
};

DI\ServiceLocator::getInstance()->addInstance(
    'crm.service.localization' ,
    $localization
);

В этом примере переопределенный сервис в явном виде помещается в DI\ServiceLocator, откуда Service\Contianer получит его.

В большинстве случаев этого будет недостаточно, и понадобится заменить Service\Container.

Подмена контейнера

Подменяем Service\Container.

use Bitrix\Crm\Service;
use Bitrix\Main\DI;

$container = new class extends Service\Container {

};

DI\ServiceLocator::getInstance()->addInstance('crm.service.container', $container);

Тут ничего сложного. Всё, как в предыдущем примере, но в DI\ServiceLocator помещается контейнер.

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

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

Подмена фабрики

Для выполнения сложных замен рано или поздно потребуется подменить фабрику Service\Factory.

При этом есть потребность заменить фабрику не для всех смарт-процессов, а только для одного.

Допустим, этот смарт-процесс был создан заранее, а его идентификатор занесен в константу:

define('SUPER_ENTITY_TYPE_ID', 150);

Ниже пример кода, когда фабрика заменяется только для смарт-процесса с этим идентификатором:

use Bitrix\Crm\Service;

class MyContainer extends Service\Container {
    public function getFactory(int $entityTypeId): ?Service\Factory
    {
        if (defined('SUPER_ENTITY_TYPE_ID') && $entityTypeId === SUPER_ENTITY_TYPE_ID)
        {
            $type = $this->getTypeByEntityTypeId($entityTypeId);
            $factory = new class($type) extends Service\Factory\Dynamic {
                // here some additional logic
            };
            return $factory;
        }

        return parent::getFactory($entityTypeId);
    }
};

Сделать поле только для чтения

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

Теперь необходимо в этой фабрике добавить какую-то свою бизнес-логику.

Например, есть пользовательское поле с кодом UF_CRM_150_STRING, которое должно быть доступно только для чтения (оно будет меняться только через API).

use Bitrix\Crm\Service;

class MyFactory extends Service\Factory\Dynamic
{
    public function getUserFieldsInfo(): array
    {
        $fields = parent::getUserFieldsInfo();
        $fields['UF_CRM_150_STRING']['ATTRIBUTES'][] = \CCrmFieldInfoAttr::Immutable;

        return $fields;
    }
}

Добавление атрибута \CCrmFieldInfoAttr::Immutable не позволяет изменять это поле через интерфейс пользователем.

По аналогии можно было бы добавить атрибуты:

  • \CCrmFieldInfoAttr::NotDisplayed - скроет поле из детальной карточки.
  • \CCrmFieldInfoAttr::Required - сделает поле обязательным независимо от настроек.

Подмена операции

Типичный кейс - вклиниться в выполнение операции над элементом.

Механизм событий позволяет вклиниться в процесс до сохранения и после сохранения изменений.

Добавление через фабрику дополнительных действий - аналог событий.

В старых сущностях старые обработчики событий реализованы через эти же дополнительные действия. Но будет лучше воспользоваться этим механизмом напрямую.

Смарт-процессы пока не поддерживают события аналогичные таким в старых сущностях.

Допустим, мы хотим логгировать удаление элементов смарт-процессов:

use Bitrix\Main\Result;
use Bitrix\Crm\Item;
use Bitrix\Crm\Service;
use Bitrix\Crm\Service\Operation;

class MyFactory extends Service\Factory\Dynamic
{
    public function getDeleteOperation(Item $item, Service\Context $context = null): Operation\Delete
    {
        $operation = parent::getDeleteOperation($item, $context);

        return $operation->addAction(
            Operation::ACTION_AFTER_SAVE,
            new class extends Operation\Action {
                public function process(Item $item): Result
                {
                    $userId = Service\Container::getInstance()->getContext()->getUserId();
                    \AddMessage2Log(Json::encode([
                        'userId' => $userId,
                        'entityTypeId' => $item->getEntityTypeId(),
                        'id' => $item->getId(),
                    ]));

                    return new Result();
                }
            }
        );
    }
}

Запретить менять стадию определенному пользователю

Чуть более сложный кейс. Допустим, мы хотим запретить переносить элемент со стадии D150_3:PREPARATION на стадию D150_3:CLIENT пользователю с идентификатором 222.

use Bitrix\Main\Error;
use Bitrix\Main\Result;
use Bitrix\Crm\Item;
use Bitrix\Crm\Service;
use Bitrix\Crm\Service\Operation;

class MyFactory extends Service\Factory\Dynamic
{
    public function getUpdateOperation(Item $item, Context $context = null): Operation\Update
    {
        $operation = parent::getUpdateOperation($item, $context);

        return $operation->addAction(
            Operation::ACTION_BEFORE_SAVE,
            new class extends Operation\Action {
                public function process(Item $item): Result
                {
                    $result = new Result();
                    $userId = Service\Container::getInstance()->getContext()->getUserId();

                    if (
                        $userId === 222
                        && $item->isChangedStageId()
                        && $item->getStageId() === 'D150_3:CLIENT'
                        && $item->remindActual(Item::FIELD_NAME_STAGE_ID) === 'D150_3:PREPARATION'
                    ) {
                        $result->addError(new Error('Change stage is prohibited'));
                    }

                    return $result;
                }
            }
        );
    }
}


Кастомизация компонента карточки

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>Кастомизация>Кастомизация компонента карточки (с версии 21.400.0)

Кастомизация::Кастомизация компонента карточки

Кастомизация интерфейса карточки - достаточно типовая задача. Обычно для этого приходилось выносить в local весь компонент (а то и несколько), полностью его копировать и поддерживать.

Для карточки смарт-процесса и новой карточки предложения это немного проще.

Для начала необходимо переопределить сервис роутинга, как в предыдущих примерах.

use Bitrix\Crm\Service;
use Bitrix\Crm\Service\Router;

class MyContainer extends Service\Container {
    public function getRouter(): Router
    {
        return new class extends Router {
            public function parseRequest(HttpRequest $httpRequest = null): Router\ParseResult {
                $result = parent::parseRequest($httpRequest);

                if (!defined('SUPER_ENTITY_TYPE_ID'))
                {
                    return $result;
                }

                if ($result->getComponentName() === 'bitrix:crm.item.details')
                {
                    $parameters = $result->getComponentParameters();
                    $entityTypeId = $parameters['ENTITY_TYPE_ID'] ?? $parameters['entityTypeId'] ?? null;
                    if ((int)$entityTypeId === SUPER_ENTITY_TYPE_ID)
                    {
                        $result = new Router\ParseResult(
                            'dev:crm.item.details',
                            $parameters,
                            $result->getTemplateName()
                        );
                    }
                }

                return $result;
            }
        };
    }
};

Теперь для одного единственного смарт-процесса за отрисовку детальной карточки будет отвечать отдельный компонент.

Код класса компонента очень компактный, состоит из единственного метода. Большая часть логики сосредоточена в родительском классе.

Код шаблона тоже небольшой. Весь javascript-код вынесен в отдельный js-экстеншн crm.item-details-component..

Можно унаследовать этот экстеншн и подключить его в шаблоне вашего переопределенного компонента.


Кастомизация фильтров

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>Кастомизация>Кастомизация фильтров (с версии 21.400.0)

Кастомизация::Кастомизация фильтров

Для обеспечения кастомизации фильтров в списках элементов сущностей CRM инстанс класса \Bitrix\Crm\Filter\Factory был вынесен в Service\Container.

Как в предыдущих примерах необходимо подменить инстанс этого класса.

use Bitrix\Crm\Service;
use Bitrix\Main\DI;
use Bitrix\Crm\Filter;

$filterFactory = new class extends Filter\Factory {

};

DI\ServiceLocator::getInstance()->addInstance(
    'crm.filter.factory',
    $filterFactory
);

Например, есть необходимость модифицировать фильтр для списка сделок.

Для этого достаточно переопределить провайдера сделок и/или фильтр и реализовать там свою логику.

use Bitrix\Crm\Service;
use Bitrix\Crm\Filter;
use Bitrix\Main;

class MyFilterFactory extends Filter\Factory
{
    public function getDataProvider(Main\Filter\EntitySettings $settings): Main\Filter\DataProvider
    {
        if ($settings instanceof Filter\DealSettings)
        {
            return new class($settings) extends Filter\DealDataProvider
            {
                // some custom info about fields
            };
        }

        return parent::getDataProvider($settings);
    }

    public function createFilter(
        $ID,
        Main\Filter\DataProvider $entityDataProvider,
        array $extraDataProviders = null,
        array $params = null
    ): Filter\Filter
    {
        if ($entityDataProvider instanceof Filter\DealDataProvider)
        {
            return new class ($ID, $entityDataProvider, (array)$extraDataProviders, (array)$params) extends Filter\Filter {
                // some custom logic
            };
        }

        return parent::createFilter($ID, $entityDataProvider, (array)$extraDataProviders, (array)$params);
    }
}


Направления

Общее описание

Раньше направления были только в сделках (класс \Bitrix\Crm\Category\DealCategory, таблица \Bitrix\Crm\Category\Entity\DealCategoryTable).

Для направлений смарт-процессов была сделана отдельная таблица.

По аналогии с абстракцией для элементов сущностей CRM была сделана абстракция данных о направлении.

Но здесь класс \Bitrix\Crm\Category\Entity\Category является немного расширенным интерфейсом, содержит большей частью абстрактные классы.

Это связано с тем, что данные о направлении по умолчанию для сделок не хранятся в таблице, они хранятся в b_option, и там, соответственно, нет EntityObject.

Получать объекты этого класса следует, обращаясь к соответствующим методам фабрики.

Методы

Метод Описание С версии
abstract public function getId(): ?int;
 Вернет идентификатор направления.
abstract public function getEntityTypeId(): int;
 Вернет идентификатор типа сущности CRM.
abstract public function setEntityTypeId
(int $entityTypeId): Category;
 Изменит идентификатор типа сущности CRM на $entityTypeId.
abstract public function getName(): string;
 Вернет заголовок направления.
abstract public function setName
(string $name): Category;
 Изменит заголовок направления на $name.
abstract public function getSort(): int;
 Вернет индекс сортировки.
abstract public function setSort
(int $sort): Category;
 Изменит индекс сортировки на $sort.
abstract public function
setIsDefault(bool $isDefault): Category;
 Изменит флаг того, что направление является направлением по умолчанию.
abstract public function getIsDefault(): bool;
 Вернет true, если направление является направлением по умолчанию.
abstract public function save(): Result;
 Сохранит изменения в базу данных. Вернет Bitrix\Main\Result.
abstract public function delete(): Result;
 Удалит направление. Вернет Bitrix\Main\Result.
public function getData(): array
 Вернет данные о направлении в виде массива.
public function jsonSerialize(): array
 Вернет подготовленные для фронта или REST [image] -данные о направлении.
public function getItemsFilter(array $filter = []): array
 Метод допишет в $filter фильтр по этому направлению и вернет новый фильтр.

Наследники

Этот класс имеет несколько реализаций:

  • \Bitrix\Crm\Category\Entity\DealDefaultCategory - направление по умолчанию для сделок.
  • \Bitrix\Crm\Category\Entity\DealCategory - направление сделок.
  • \Bitrix\Crm\Category\Entity\ItemCategory - направление смарт-процессов.

Ограничения

  • Нельзя удалить направление по умолчанию. Ни для сделок, ни для смарт-процессов..
  • Нельзя изменить поле ENTITY_TYPE_ID для существующих направлений смарт-процессов (и тем более для направлений сделок).
  • Направления по умолчанию для смарт-процессов создаются автоматически в момент создания нового смарт-процесса.

Примеры

Изменить направление по умолчанию для сделок

use Bitrix\Crm\Service;

$factory = Service\Container::getInstance ()->getFactory(
    \CCrmOwnerType ::Deal
);
$category = $factory->getDefaultCategory ();
$category
    ->setName('Default Category' )
    ->setSort(200)
;
$result = $category->save();

Получить список направлений

$factory = Service\Container::getInstance ()->getFactory(
    \CCrmOwnerType ::Deal
);

$categoryId = 10;

$categories = $factory->getCategories();
$category = $factory->getCategory($categoryId);


BankDetailTable

Класс BankDetailTable предназначен для работы с банковскими реквизитами.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
validateCode | Метод возвращает валидаторы поля КОД. |
validateComments | Метод возвращает валидаторы для поля КОММЕНТАРИИ. |
validateName | Метод возвращает валидаторы для поля ИМЯ. |
validateRqStringField100 | Метод возвращает валидаторы для строкового поля с максимальной длиной 100 символов. |
validateRqStringField11 | Метод возвращает валидаторы для строкового поля с максимальной длиной 11 символов. |
validateRqStringField150 | Метод возвращает валидаторы для строкового поля с максимальной длиной 150 символов. |
validateRqStringField20 | Метод возвращает валидаторы для строкового поля с максимальной длиной 20 символов. |
validateRqStringField255 | Метод возвращает валидаторы для строкового поля с максимальной длиной 255 символов. |
validateRqStringField34 | Метод возвращает валидаторы для строкового поля с максимальной длиной 34 символов. |
validateRqStringField6 | Метод возвращает валидаторы для строкового поля с максимальной длиной 6 символов. |
validateRqStringField9 | Метод возвращает валидаторы для строкового поля с максимальной длиной 9 символов. |
validateXmlId | Метод возвращает валидаторы для поля внешнего кода. |


validateCode

array public static
\Bitrix\Crm\BankDetailTable::validateCode(
);

Метод возвращает валидаторы поля КОД. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateComments

array public static
\Bitrix\Crm\BankDetailTable::validateComments(
);

Метод статический. Метод возвращает валидаторы для поля КОММЕНТАРИИ.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateName

array public static
\Bitrix\Crm\BankDetailTable::validateName(
);

Метод статический. Метод возвращает валидаторы для поля ИМЯ.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField100

array public static
\Bitrix\Crm\BankDetailTable::validateRqStringField100(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 100 символов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField11

array public static
\Bitrix\Crm\BankDetailTable::validateRqStringField11(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 11 символов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField150

array public static
\Bitrix\Crm\BankDetailTable::validateRqStringField150(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 150 символов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField20

array public static
\Bitrix\Crm\BankDetailTable::validateRqStringField20(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 20 символов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField255

array public static
\Bitrix\Crm\BankDetailTable::validateRqStringField255(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 255 символов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField34

array public static
\Bitrix\Crm\BankDetailTable::validateRqStringField34(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 34 символов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField6

array public static
\Bitrix\Crm\BankDetailTable::validateRqStringField6(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 6 символов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField9

array public static
\Bitrix\Crm\BankDetailTable::validateRqStringField9(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 9 символов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateXmlId

array public static
\Bitrix\Crm\BankDetailTable::validateXmlId(
);

Метод возвращает валидаторы для поля внешнего кода. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Binding

Пространство имён \Bitrix\Crm\Binding содержит классы для множественных привязок сущностей CRM.

Класс | Описание | С версии
ContactCompanyTable | Класс отвечает за хранение связей Контакта с Компаниями. |
DealContactTable | Класс отвечает за хранение связей Сделки с Контактами. |
EntityBinding | Класс отвечает за хранение связей сущностей. |
EntityContactTable | Класс-таблет для работы с привязкой контактов к элементам смарт-процессов. | 20.700.0
QuoteContactTable | Класс отвечает за хранение связей коммерческого Предложения с Контактами. |


ContactCompanyTable

Класс ContactCompanyTable отвечает за хранение связей Контакта с Компаниями.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
bindCompanies | Метод связывает Контакт с Компаниями. |
bindCompanyIDs | Метод привязывает Контакт к Компаниям с указанными идентификаторами. |
bindContactIDs | Метод привязывает Компанию к Контактам с заданными идентификаторами. |
bindContacts | Метод привязывает Компанию к Контактам. |
[link=4417039]getCompanyBindings[/link] | Метод получает привязки компании. | 16.5.7
getCompanyContactIDs | Метод получает идентификаторы Контактов, связанных с указанной Компанией. |
getContactBindingCount | Метод получает количество привязок Контакта. |
getContactBindings | Метод получает привязки Контакта. |
getContactCompanyIDs | Метод получает идентификаторы Компании, связанные с указанным Контактом. |
getMap | Метод получает карту полей таблицы. |
getTableName | Метод получает название таблицы. |
hasCompanies | Метод проверяет, имеются ли у Контакта Компании. |
prepareFilterJoinSql | Метод подготавливает условия фильтра для SQL-запроса на объединение для указанной сущности. |
[link= 4417045]rebindAllCompanies[/link] | Метод отвязывает все компании от контакта-источника и привязывает к целевому контакту. | 16.5.7
rebindAllContacts | Метод отвязывает все контакты от Компании-источника и привязывает к Компании-приемнику. |
unbindAllCompanies | Метод отвязывает указанный Контакт от всех Компаний. |
unbindAllContacts | Метод отвязывает указанную Компанию от всех Контактов. |
unbindCompanies | Метод удаляет указанные привязки Контакта к Компаниям. |
unbindCompanyIDs | Метод удаляет привязки Контакта к Компаниям по идентификаторам Компаний. |
unbindContactIDs | Метод удаляет привязки Компании к Контактам по идентификаторам Контактов. |
unbindContacts | Метод удаляет указанные привязки Компании к Контактам. |
upsert | Метод выполняет операцию UPSERT. |


bindCompanies

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Binding>ContactCompanyTable>bindCompanies (доступен с 16.2.0)

ContactCompanyTable::bindCompanies

void public static
\Bitrix\Crm\Binding\ContactCompanyTable::bindCompanies(
 integer $contactID,
 array $bindings
);

Метод связывает Контакт с Компаниями. Метод статический.

Параметры

Параметр | Описание | Версия
$contactID | Идентификатор Контакта. |
$bindings | Массив привязок Компании. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


bindCompanyIDs

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Binding>ContactCompanyTable>bindCompanyIDs (доступен с 16.2.0)

ContactCompanyTable::bindCompanyIDs

void public static
\Bitrix\Crm\Binding\ContactCompanyTable::bindCompanyIDs(
 integer $contactID,
 array $companyIDs
);

Метод привязывает Контакт к Компаниям с указанными идентификаторами. Метод статический.

Параметры

Параметр | Описание | Версия
$contactID | Идентификатор Контакта. |
$companyIDs | Массив идентификаторов Компаний. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


bindContactIDs

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Binding>ContactCompanyTable>bindContactIDs (доступен с 16.2.0)

ContactCompanyTable::bindContactIDs

void public static
\Bitrix\Crm\Binding\ContactCompanyTable::bindContactIDs(
 integer $companyID,
 array $contactIDs
);

Метод привязывает Компанию к Контактам с заданными идентификаторами. Метод статический.

Параметры

Параметр | Описание | Версия
$companyID | Идентификатор Компании. |
$contactIDs | Массив идентификаторов Контактов. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


bindContacts

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Binding>ContactCompanyTable>bindContacts (доступен с 16.2.0)

ContactCompanyTable::bindContacts

void public static
\Bitrix\Crm\Binding\ContactCompanyTable::bindContacts(
 integer $companyID,
 array $bindings
);

Метод привязывает Компанию к Контактам. Метод статический.

Параметры

Параметр | Описание | Версия
$companyID | Идентификатор Компании. |
$bindings | Массив привязок Компании. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCompanyBindings

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Binding>ContactCompanyTable>getCompanyBindings (с версии 16.5.7)

ContactCompanyTable::getCompanyBindings

array public static
\Bitrix\Crm\Binding\ContactCompanyTable::getCompanyBindings(
 integer $companyID
);

Метод получает привязки компании. Метод статический.

Параметры

Параметр | Описание | Версия
$companyID | Идентификатор компании. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCompanyContactIDs

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Binding>ContactCompanyTable>getCompanyContactIDs (доступен с 16.2.0)

ContactCompanyTable::getCompanyContactIDs

array public static
\Bitrix\Crm\Binding\ContactCompanyTable::getCompanyContactIDs(
 integer $companyID
);

Метод получает идентификаторы Контактов, связанных с указанной Компанией. Метод статический.

Параметры

Параметр | Описание | Версия
$companyID | Идентификатор Компании. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getContactBindingCount

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Binding>ContactCompanyTable>getContactBindingCount (доступен с 16.2.0)

ContactCompanyTable::getContactBindingCount

integer public static
\Bitrix\Crm\Binding\ContactCompanyTable::getContactBindingCount(
 integer $contactID
);

Метод получает количество привязок Контакта. Метод статический.

Параметры

Параметр | Описание | Версия
$contactID | Идентификатор Контакта. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getContactBindings

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Binding>ContactCompanyTable>getContactBindings (доступен с 16.2.0)

ContactCompanyTable::getContactBindings

array public static
\Bitrix\Crm\Binding\ContactCompanyTable::getContactBindings(
 integer $contactID
);

Метод получает привязки Контакта. Метод статический.

Параметры

Параметр | Описание | Версия
$contactID | Идентификатор Контакта. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getContactCompanyIDs

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Binding>ContactCompanyTable>getContactCompanyIDs (доступен с 16.2.0)

ContactCompanyTable::getContactCompanyIDs

array public static
\Bitrix\Crm\Binding\ContactCompanyTable::getContactCompanyIDs(
 integer $contactID
);

Метод получает идентификаторы Компании, связанные с указанным Контактом. Метод статический.

Параметры

Параметр | Описание | Версия
$contactID | Идентификатор Контакта. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Binding>ContactCompanyTable>getMap (доступен с 16.2.0)

ContactCompanyTable::getMap

array public static
\Bitrix\Crm\Binding\ContactCompanyTable::getMap(
);

Метод получает карту полей таблицы. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Binding>ContactCompanyTable>getTableName (доступен с 16.2.0)

ContactCompanyTable::getTableName

string public static
\Bitrix\Crm\Binding\ContactCompanyTable::getTableName(
);

Метод получает название таблицы. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


hasCompanies

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Binding>ContactCompanyTable>hasCompanies (доступен с 16.5.5)

ContactCompanyTable::hasCompanies

boolean public static
\Bitrix\Crm\Binding\ContactCompanyTable::hasCompanies(
 integer $contactID
);

Метод проверяет, имеются ли у Контакта Компании. Метод статический.

Параметры

Параметр | Описание | Версия
$contactID | Идентификатор Контакта. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareFilterJoinSql

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Binding>ContactCompanyTable>prepareFilterJoinSql (доступен с 16.2.0)

ContactCompanyTable::prepareFilterJoinSql

string public static
\Bitrix\Crm\Binding\ContactCompanyTable::prepareFilterJoinSql(
 integer $entityTypeID,
 integer $entityID,
 string $tableAlias
);

Метод подготавливает условия фильтра для SQL-запроса на объединение для указанной сущности. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности для фильтра. |
$entityID | Идентификатор сущности для фильтра. |
$tableAlias | Псевдоним первичной таблицы. |

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\ArgumentOutOfRangeException
  • \Bitrix\Main\NotSupportedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


rebindAllCompanies

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Binding>ContactCompanyTable>rebindAllCompanies (с версии 16.5.7)

ContactCompanyTable::rebindAllCompanies

 public static
\Bitrix\Crm\Binding\ContactCompanyTable::rebindAllCompanies(
 integer $seedContactID,
 integer $targContactID
);

Метод отвязывает все компании от контакта-источника и привязывает к целевому контакту. Метод статический.

Параметры

Параметр | Описание | Версия
$seedContactID | Идентификатор контакта-источника. |
$targContactID | Идентификатор целевого контакта. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


rebindAllContacts

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Binding>ContactCompanyTable>rebindAllContacts (доступен с 16.5.2)

ContactCompanyTable::rebindAllContacts

 public static
\Bitrix\Crm\Binding\ContactCompanyTable::rebindAllContacts(
 integer $oldCompanyID,
 integer $targCompanyID
);

Метод отвязывает все контакты от Компании-источника и привязывает к Компании-приемнику. Метод статический.

Параметры

Параметр | Описание | Версия
$oldCompanyID | Идентификатор Компании-источника. |
$targCompanyID | Идентификатор Компании-приемника. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unbindAllCompanies

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Binding>ContactCompanyTable>unbindAllCompanies (доступен с 16.2.0)

ContactCompanyTable::unbindAllCompanies

 public static
\Bitrix\Crm\Binding\ContactCompanyTable::unbindAllCompanies(
 integer $contactID
);

Метод отвязывает указанный Контакт от всех Компаний. Метод статический.

Параметры

Параметр | Описание | Версия
$contactID | Идентификатор Контакта. |

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\NotSupportedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unbindAllContacts

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Binding>ContactCompanyTable>unbindAllContacts (доступен с 16.2.0)

ContactCompanyTable::unbindAllContacts

void public static
\Bitrix\Crm\Binding\ContactCompanyTable::unbindAllContacts(
 integer $companyID
);

Метод отвязывает указанную Компанию от всех Контактов. Метод статический.

Параметры

Параметр | Описание | Версия
$companyID | Идентификатор Компании. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unbindCompanies

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Binding>ContactCompanyTable>unbindCompanies (доступен с 16.2.0)

ContactCompanyTable::unbindCompanies

void public static
\Bitrix\Crm\Binding\ContactCompanyTable::unbindCompanies(
 integer $contactID,
 array $bindings
);

Метод удаляет указанные привязки Контакта к Компаниям. Является обёрткой над [link=2572531]unbindCompanyIDs[/link]. Метод статический.

Параметры

Параметр | Описание | Версия
$contactID | Идентификатор Контакта. |
$bindings | Массив привязок. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unbindCompanyIDs

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Binding>ContactCompanyTable>unbindCompanyIDs (доступен с 16.2.0)

ContactCompanyTable::unbindCompanyIDs

void public static
\Bitrix\Crm\Binding\ContactCompanyTable::unbindCompanyIDs(
 integer $contactID,
 array $companyIDs
);

Метод удаляет привязки Контакта к Компаниям по идентификаторам Компаний. Метод статический.

Параметры

Параметр | Описание | Версия
$contactID | Идентификатор Контакта. |
$companyIDs | Массив идентификаторов Компаний. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unbindContactIDs

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Binding>ContactCompanyTable>unbindContactIDs (доступен с 16.2.0)

ContactCompanyTable::unbindContactIDs

void public static
\Bitrix\Crm\Binding\ContactCompanyTable::unbindContactIDs(
 integer $companyID,
 array $contactIDs
);

Метод удаляет привязки Компании к Контактам по идентификаторам Контактов. Метод статический.

Параметры

Параметр | Описание | Версия
$companyID | Идентификатор Компании. |
$contactIDs | Массив идентификаторов Контактов. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unbindContacts

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Binding>ContactCompanyTable>unbindContacts (доступен с 16.2.0)

ContactCompanyTable::unbindContacts

void public static
\Bitrix\Crm\Binding\ContactCompanyTable::unbindContacts(
 integer $companyID,
 array $bindings
);

Метод удаляет указанные привязки Компании к Контактам. Является обёрткой над [link=2572543]unbindContactIDs[/link]. Метод статический.

Параметры

Параметр | Описание | Версия
$companyID | Идентификатор Компании. |
$bindings | Массив привязок. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


upsert

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Binding>ContactCompanyTable>upsert (доступен с 16.2.0)

ContactCompanyTable::upsert

void public static
\Bitrix\Crm\Binding\ContactCompanyTable::upsert(
 array $data
);

Метод выполняет операцию UPSERT. Метод статический.

Параметры

Параметр | Описание | Версия
$data | Поле данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DealContactTable

Класс DealContactTable отвечает за хранение связей Сделки с Контактами.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
bindContactIDs | Метод привязывает Сделку к Контактам с указанными идентификаторами. |
bindContacts | Метод привязывает Сделку к Контактам. |
getContactDealIDs | Метод получает идентификаторы Сделок, связанных с указанным Контактом. |
getDealBindingCount | Метод получает количество привязок Сделки. |
getDealBindings | Метод получает привязки Сделки. |
getDealContactIDs | Метод получает идентификаторы Контакта, связанные с указанным Сделкой. |
getMap | Метод получает карту полей таблицы. |
getTableName | Метод получает название таблицы. |
hasContacts | Метод проверяет, имеются ли у Сделки Контакты. |
prepareFilterJoinSql | Метод подготавливает условия фильтра для JOIN-запроса SQL для конкретной сущности. |
rebindAllDeals | Метод отвязывает все сделки от Контакта-источника и привязывает к Контакту-приемнику. |
unbindAllContacts | Метод отвязывает указанную Сделку ото всех Контактов. |
unbindAllDeals | Метод отвязывает указанный Контакт ото всех Сделок. |
unbindContactIDs | Метод удаляет привязки Сделки к Контактам по идентификаторам Контактов. |
unbindContacts | Метод удаляет указанные привязки Сделки к Контактам. |
upsert | Метод выполняет операцию UPSERT. |


bindContactIDs

void public static
\Bitrix\Crm\Binding\DealContactTable::bindContactIDs(
 integer $dealID,
 array $contactIDs
);

Метод привязывает Сделку к Контактам с указанными идентификаторами. Метод статический.

Параметры

Параметр | Описание | Версия
$dealID | Идентификатор Сделки. |
$contactIDs | Массив идентификаторов Контактов. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


bindContacts

void public static
\Bitrix\Crm\Binding\DealContactTable::bindContacts(
 integer $dealID,
 array $bindings
);

Метод привязывает Сделку к Контактам. Метод статический.

Параметры

Параметр | Описание | Версия
$dealID | Идентификтор Сделки. |
$bindings | Массив привязок Контакта. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getContactDealIDs

array public static
\Bitrix\Crm\Binding\DealContactTable::getContactDealIDs(
 integer $contactID
);

Метод получает идентификаторы Сделок, связанных с указанным Контактом. Метод статический.

Параметры

Параметр | Описание | Версия
$contactID | Идентификатор Контакта. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDealBindingCount

integer public static
\Bitrix\Crm\Binding\DealContactTable::getDealBindingCount(
  $dealID
);

Метод получает количество привязок Сделки. Метод статический.

Параметры

Параметр | Описание | Версия
$dealID | Идентификтор Сделки. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDealBindings

array public static
\Bitrix\Crm\Binding\DealContactTable::getDealBindings(
 integer $dealID
);

Метод получает привязки Сделки. Метод статический.

Параметры

Параметр | Описание | Версия
$dealID | Идентификатор Сделки. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDealContactIDs

array public static
\Bitrix\Crm\Binding\DealContactTable::getDealContactIDs(
 integer $dealID
);

Метод получает идентификаторы Контакта, связанные с указанным Сделкой. Метод статический.

Параметры

Параметр | Описание | Версия
$dealID | Идентификатор Сделки. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Crm\Binding\DealContactTable::getMap(
);

Метод получает карту полей таблицы. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Crm\Binding\DealContactTable::getTableName(
);

Метод получает название таблицы. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


hasContacts

boolean public static
\Bitrix\Crm\Binding\DealContactTable::hasContacts(
 integer $dealID
);

Метод проверяет, имеются ли у Сделки Контакты. Метод статический.

Параметры

Параметр | Описание | Версия
$dealID | Идентификатор Сделки. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareFilterJoinSql

string public static
\Bitrix\Crm\Binding\DealContactTable::prepareFilterJoinSql(
 integer $entityTypeID,
 integer $entityID,
 string $tableAlias
);

Метод подготавливает условия фильтра для JOIN-запроса SQL для конкретной сущности. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности для фильтра. |
$entityID | Идентификатор сущности для фильтра. |
$tableAlias | Псевдоним первичной таблицы. |

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\ArgumentOutOfRangeException
  • \Bitrix\Main\NotSupportedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


rebindAllDeals

 public static
\Bitrix\Crm\Binding\DealContactTable::rebindAllDeals(
 integer $seedContactID,
 integer $targContactID
);

Метод отвязывает все сделки от Контакта-источника и привязывает к Контакту-приемнику. Метод статический.

Параметры

Параметр | Описание | Версия
$seedContactID | Идентификатор Контакта-источника. |
$targContactID | Идентификатор Контакта-приемника. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unbindAllContacts

void public static
\Bitrix\Crm\Binding\DealContactTable::unbindAllContacts(
 integer $dealID
);

Метод отвязывает указанную Сделку ото всех Контактов. Метод статический.

Параметры

Параметр | Описание | Версия
$dealID | Идентификатор Сделки. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unbindAllDeals

void public static
\Bitrix\Crm\Binding\DealContactTable::unbindAllDeals(
 integer $contactID
);

Метод отвязывает указанный Контакт ото всех Сделок. Метод статический.

Параметры

Параметр | Описание | Версия
$contactID | Идентификатор Контакта. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unbindContactIDs

void public static
\Bitrix\Crm\Binding\DealContactTable::unbindContactIDs(
 integer $dealID,
 array $contactIDs
);

Метод удаляет привязки Сделки к Контактам по идентификаторам Контактов. Метод статический.

Параметры

Параметр | Описание | Версия
$dealID | Идентификатор Сделки. |
$contactIDs | Массив идентификаторов Контактов. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unbindContacts

void public static
\Bitrix\Crm\Binding\DealContactTable::unbindContacts(
 integer $dealID,
 array $bindings
);

Метод удаляет указанные привязки Сделки к Контактам. Является обёрткой над [link=2572599]unbindContactIDs[/link]. Метод статический.

Параметры

Параметр | Описание | Версия
$dealID | Идентификатор Сделки. |
$bindings | Массив привязок. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


upsert

void public static
\Bitrix\Crm\Binding\DealContactTable::upsert(
 array $data
);

Метод выполняет операцию UPSERT. Метод статический.

Параметры

Параметр | Описание | Версия
$data | Поле данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


EntityBinding

Класс EntityBinding отвечает за хранение связей сущностей.

Методы класса

Метод | Описание | С версии
findPrimaryBinding | Метод пытается найти первичную привязку. |
getFirstEntityID | Метод извлекает идентификатор сущности из первой привязки. |
getLastEntityID | Метод извлекает идентификатор сущности из последней привязки. |
markAsPrimary | Метод маркирует привязку как основную. |
markFirstAsPrimary | Метод маркирует первую привязку как основную. |
prepareBindingChanges | Метод подготавливает изменения привязки. |
prepareEntityBindings | Метод подготавливает привязки сущностей из массива идентификаторов сущностей. |
prepareEntityID | Метод извлекает идентификатор сущности из привязки. |
prepareEntityIDs | Метод извлекает идентификаторы сущностей из привязок. |
resolveEntityFieldName | Метод назначает имя поля для указанного типа сущности. |
verifyEntityBinding | Метод проверяет структуру связей. |


findPrimaryBinding

array|null public static
\Bitrix\Crm\Binding\EntityBinding::findPrimaryBinding(
 array $bindings
);

Метод пытается найти первичную привязку. Метод статический.

Параметры

Параметр | Описание | Версия
$bindings | Привязки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFirstEntityID

array|integer public static
\Bitrix\Crm\Binding\EntityBinding::getFirstEntityID(
  $entityTypeID,
 array $bindings
);

Метод извлекает идентификатор сущности из первой привязки. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |
$bindings | Привязки. |

Исключения

  • \Bitrix\Main\ArgumentOutOfRangeException
  • \Bitrix\Main\NotSupportedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLastEntityID

array|integer public static
\Bitrix\Crm\Binding\EntityBinding::getLastEntityID(
  $entityTypeID,
 array $bindings
);

Метод извлекает идентификатор сущности из последней привязки. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |
$bindings | Привязки. |

Исключения

  • \Bitrix\Main\ArgumentOutOfRangeException
  • \Bitrix\Main\NotSupportedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


markAsPrimary

 public static
\Bitrix\Crm\Binding\EntityBinding::markAsPrimary(
 array ,
  $entityTypeID,
 integer $entityID
);

Метод маркирует привязку как основную. Метод статический.

Параметры

Параметр | Описание | Версия
$bindings | Привязки. |
$entityTypeID | Идентификатор типа сущности. |
$entityID | Идентификатор сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


markFirstAsPrimary

 public static
\Bitrix\Crm\Binding\EntityBinding::markFirstAsPrimary(
 array
);

Метод маркирует первую привязку как основную. Метод статический.

Параметры

Параметр | Описание | Версия
$bindings | Привязки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareBindingChanges

void public static
\Bitrix\Crm\Binding\EntityBinding::prepareBindingChanges(
  $entityTypeID,
 array $origin,
 array $current,
 array ,
 array
);

Метод подготавливает изменения привязки. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |
$origin | Оригинальная привязка. |
$current | Текущая привязка. |
$added | Добавляемые привязки (выходной параметр). |
$removed | Удаляемые привязки (выходной параметр). |

Исключения

  • \Bitrix\Main\ArgumentOutOfRangeException
  • \Bitrix\Main\NotSupportedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareEntityBindings

array public static
\Bitrix\Crm\Binding\EntityBinding::prepareEntityBindings(
 integer $entityTypeID,
 array $entityIDs
);

Метод подготавливает привязки сущностей из массива идентификаторов сущностей. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |
$entityIDs | Идентификаторы сущностей. |

Исключения

  • \Bitrix\Main\ArgumentOutOfRangeException
  • \Bitrix\Main\NotSupportedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareEntityID

array public static
\Bitrix\Crm\Binding\EntityBinding::prepareEntityID(
 integer $entityTypeID,
 array $binding
);

Метод извлекает идентификатор сущности из привязки. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |
$binding | Привязки. |

Исключения

  • \Bitrix\Main\ArgumentOutOfRangeException
  • \Bitrix\Main\NotSupportedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareEntityIDs

array public static
\Bitrix\Crm\Binding\EntityBinding::prepareEntityIDs(
 integer $entityTypeID,
 array $bindings
);

Метод извлекает идентификаторы сущностей из привязок. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |
$bindings | Привязки. |

Исключения

  • \Bitrix\Main\ArgumentOutOfRangeException
  • \Bitrix\Main\NotSupportedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


resolveEntityFieldName

string public static
\Bitrix\Crm\Binding\EntityBinding::resolveEntityFieldName(
 integer $entityTypeID
);

Метод назначает имя поля для указанного типа сущности. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


verifyEntityBinding

boolean public static
\Bitrix\Crm\Binding\EntityBinding::verifyEntityBinding(
 integer $entityTypeID,
 array $binding
);

Метод проверяет структуру связей. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |
$binding | Источник связывания. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


EntityContactTable

Класс-таблет для работы с привязкой контактов к элементам смарт-процессов.

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

Первичный ключ является составным и состоит из полей (ENTITY_TYPE_ID, ENTITY_ID, CONTACT_ID)

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

Поле CONTACT_ID в PrototypeItem осталось для обратной совместимости.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image].

\Bitrix\Crm\Binding\EntityContactTable extends \Bitrix\Main\ORM\Data\DataManager

Поля таблицы

Поле | Описание | Обяз.
ENTITY_TYPE_ID | Идентификатор типа в рамках CRM. Параметр неизменяемый, можно указать только при создании. |
ENTITY_ID | Идентификатор сущности. |
CONTACT_ID | Идентификатор контакта. |
SORT | Индекс сортировки. |
ROLE_ID | Идентификатор типа роли. |
IS_PRIMARY | Флаг, является ли контакт основным. |

При компиляции таблета для работы с элементами смарт-процесса к этой таблице добавляются связи, см метод \Bitrix\Crm\Model\Dynamic\TypeTable::addReferencesToEntity()

Методы класса

Генерация значений полей

Метод Описание С версии
public static function deleteByItem(
    int $entityTypeId,
    int $entityId
): void
Метод удаляет все записи, привязанные к типу $entityTypeId элемента $entityId.
public static function getContactIds(
    int $entityTypeId,
    int $entityId
): array
Метод вернет массив ид контактов, привязанных к элементу типа $entityTypeId элемента $entityId.


QuoteContactTable

Класс QuoteContactTable отвечает за хранение связей коммерческого Предложения с Контактами.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
bindContactIDs | Метод привязывает Предложение к Контактам с указанными идентификаторами. |
bindContacts | Метод связывает Предложение с Контактами. |
getContactQuotesIDs | Метод получает идентификаторы Предложений, связанных с указанным Контактом. |
getMap | Метод получает карту полей таблицы. |
getQuoteBindingCount | Метод получает количество привязок Предложения. |
getQuoteBindings | Метод получает привязки Предложения. |
getQuoteContactIDs | Метод получает идентификаторы Контактов, связанные с указанным Предложением. |
getTableName | Метод получает название таблицы. |
hasContacts | Метод проверяет, имеет ли Предложение Контакты. |
[link=7162253]prepareFilterJoinSql[/link] | Метод подготавливает условия SQL-фильтра соединения для указанной сущности. | 17.0.12
unbindAllContacts | Метод отвязывает указанное Предложение от всех Контактов. |
unbindAllQuotes | Метод отвязывает указанный контакт от всех Предложений. |
unbindContactIDs | Метод удаляет привязки Предложения к Контактам по идентификаторам Контактов. |
unbindContacts | Метод удаляет указанные привязки Предложения к Контактам. |
upsert | Метод выполняет операцию UPSERT. |


bindContactIDs

void public static
\Bitrix\Crm\Binding\QuoteContactTable::bindContactIDs(
 integer $quoteID,
 array $contactIDs
);

Метод привязывает Предложение к Контактам с указанными идентификаторами. Метод статический.

Параметры

Параметр | Описание | Версия
$quoteID | Идентификатор Предложения. |
$contactIDs | Массив идентификаторов Контактов. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


bindContacts

void public static
\Bitrix\Crm\Binding\QuoteContactTable::bindContacts(
 integer $quoteID,
 array $bindings
);

Метод связывает Предложение с Контактами. Метод статический.

Параметры

Параметр | Описание | Версия
$quoteID | Идентификатор Предложения. |
$bindings | Массив привязок Контактов. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getContactQuotesIDs

array public static
\Bitrix\Crm\Binding\QuoteContactTable::getContactQuotesIDs(
 integer $contactID
);

Метод получает идентификаторы Предложений, связанных с указанным Контактом. Метод статический.

Параметры

Параметр | Описание | Версия
$contactID | Идентификатор Контакта. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Crm\Binding\QuoteContactTable::getMap(
);

Метод получает карту полей таблицы. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getQuoteBindingCount

integer public static
\Bitrix\Crm\Binding\QuoteContactTable::getQuoteBindingCount(
 integer $quoteID
);

Метод получает количество привязок Предложения. Метод статический.

Параметры

Параметр | Описание | Версия
$quoteID | Идентификатор Предложения. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getQuoteBindings

array public static
\Bitrix\Crm\Binding\QuoteContactTable::getQuoteBindings(
 integer $quoteID
);

Метод получает привязки Предложения. Метод статический.

Параметры

Параметр | Описание | Версия
$quoteID | Идентификатор Предложения. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getQuoteContactIDs

array public static
\Bitrix\Crm\Binding\QuoteContactTable::getQuoteContactIDs(
 integer $quoteID
);

Метод получает идентификаторы Контактов, связанные с указанным Предложением. Метод статический.

Параметры

Параметр | Описание | Версия
$quoteID | Идентификатор Предложения. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Crm\Binding\QuoteContactTable::getTableName(
);

Метод получает название таблицы. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


hasContacts

boolean public static
\Bitrix\Crm\Binding\QuoteContactTable::hasContacts(
 integer $quoteID
);

Метод проверяет, имеет ли Предложение Контакты. Метод статический.

Параметры

Параметр | Описание | Версия
$quoteID | Идентификатор Предложения. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareFilterJoinSql

string public static
\Bitrix\Crm\Binding\QuoteContactTable::prepareFilterJoinSql(
 integer $entityTypeID,
 integer $entityID,
 string $tableAlias
);

Метод подготавливает условия SQL-фильтра соединения для указанной сущности. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности для фильтра. |
$entityID | Идентификатор сущности для фильтра. Entity ID for filter. |
$tableAlias | Псевдоним первичной таблицы. |

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\ArgumentOutOfRangeException
  • \Bitrix\Main\NotSupportedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unbindAllContacts

void public static
\Bitrix\Crm\Binding\QuoteContactTable::unbindAllContacts(
 integer $quoteID
);

Метод отвязывает указанное Предложение от всех Контактов. Метод статический.

Параметры

Параметр | Описание | Версия
$quoteID | Идентификатор Предложения. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unbindAllQuotes

void public static
\Bitrix\Crm\Binding\QuoteContactTable::unbindAllQuotes(
 integer $contactID
);

Метод отвязывает указанный контакт от всех Предложений. Метод статический.

Параметры

Параметр | Описание | Версия
$contactID | Идентификатор Контакта. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unbindContactIDs

void public static
\Bitrix\Crm\Binding\QuoteContactTable::unbindContactIDs(
 integer $quoteID,
 array $contactIDs
);

Метод удаляет привязки Предложения к Контактам по идентификаторам Контактов. Метод статический.

Параметры

Параметр | Описание | Версия
$quoteID | Идентификатор Предложения. |
$contactIDs | Массив идентификаторов Контактов. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unbindContacts

void public static
\Bitrix\Crm\Binding\QuoteContactTable::unbindContacts(
 integer $quoteID,
 array $bindings
);

Метод удаляет указанные привязки Предложения к Контактам. Является обёрткой над [link=2572699]unbindContactIDs[/link]. Метод статический.

Параметры

Параметр | Описание | Версия
$quoteID | Идентификатор Предложения. |
$bindings | Массив привязок. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


upsert

void public static
\Bitrix\Crm\Binding\QuoteContactTable::upsert(
 array $data
);

Метод выполняет операцию UPSERT. Метод статический.

Параметры

Параметр | Описание | Версия
$data | Поле данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


CallList

Подпространство имён \Bitrix\Crm\CallList содержит классы для работы со звонками.

Класс | Описание | С версии
CallList | Класс для работы со звонками. | 17.0.12


CallList

CallList - класс для работы со звонками.

Методы класса

Метод | Описание | С версии
applyOriginalFilter | Метод задает вид рабочих функций. | 17.0.12
completeAssociatedActivity | Метод завершает работу, связанную со списком звонков. | 17.0.16
convertItemsToBindings | Метод возвращает элементы, преобразованные в массив привязок к действиям. | 17.0.12
createActivity | Метод создает новое дело, связанное с текущим списком звонков. | 17.0.16
deleteItems | Метод удаляет элемент из списка звонков. | 17.0.16
getDefaultSubject | Метод возвращает объект дела списка звонков по умолчанию. | 17.0.16
getItemsCount | Метод возвращает количество элементов списка. | 17.0.12
handleOnCrmCompanyListItemBuildMenu | Метод переопределяет меню действий компании. | 17.0.12
handleOnCrmContactListItemBuildMenu | Метод переопределяет меню действий контакта. | 17.0.12
handleOnCrmDealListItemBuildMenu | Метод переопределяет меню действий сделки. | 17.0.23
handleOnCrmInvoiceListItemBuildMenu | Метод переопределяет меню действий счета. | 17.0.23
handleOnCrmLeadListItemBuildMenu | Метод переопределяет меню действий лида. | 17.0.12
handleOnCrmQuoteListItemBuildMenu | Метод переопределяет меню действий предложения. | 17.0.23
setElementCall | Метод устанавливает ссылку на звонок для элемента списка. | 17.0.12
toArray | Метод возвращает список звонков, преобразованный в массив. М. | 17.0.12


applyOriginalFilter

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>CallList>applyOriginalFilter (с версии 17.0.12)

CallList::applyOriginalFilter

 public
\Bitrix\Crm\CallList\CallList::applyOriginalFilter(
);

Метод задает вид рабочих функций, которые накладываются на исходные настройки фильтра, которые были использованы для создания этого списка звонков. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


completeAssociatedActivity

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>CallList>completeAssociatedActivity (с версии 17.0.16)

CallList::completeAssociatedActivity

 public
\Bitrix\Crm\CallList\CallList::completeAssociatedActivity(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


convertItemsToBindings

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>CallList>convertItemsToBindings (с версии 17.0.12)

CallList::convertItemsToBindings

array public
\Bitrix\Crm\CallList\CallList::convertItemsToBindings(
);

Метод возвращает элементы, преобразованные в массив привязок к действиям. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createActivity

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>CallList>createActivity (с версии 17.0.16)

CallList::createActivity

\Bitrix\Main\Result public
\Bitrix\Crm\CallList\CallList::createActivity(
 string $subject = '',
 string $description = ''
);

Метод создает новое дело, связанное с текущим списком звонков. Метод нестатический.

Параметры

Параметр | Описание | Версия
$subject | Предмет дела. |
$description | Описание дела. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteItems

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>CallList>deleteItems (с версии 17.0.16)

CallList::deleteItems

 public
\Bitrix\Crm\CallList\CallList::deleteItems(
 array $elements
);

Метод удаляет элемент из списка звонков. Метод нестатический.

Параметры

Параметр | Описание | Версия
$elements | Массив идентификаторов элементов для удаления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDefaultSubject

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>CallList>getDefaultSubject (с версии 17.0.16)

CallList::getDefaultSubject

string public
\Bitrix\Crm\CallList\CallList::getDefaultSubject(
);

Метод возвращает объект дела списка звонков по умолчанию. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getItemsCount

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>CallList>getItemsCount (с версии 17.0.12)

CallList::getItemsCount

integer public
\Bitrix\Crm\CallList\CallList::getItemsCount(
);

Метод возвращает количество элементов списка. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


handleOnCrmCompanyListItemBuildMenu

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>CallList>handleOnCrmCompanyListItemBuildMenu (с версии 17.0.12)

CallList::handleOnCrmCompanyListItemBuildMenu

 public static
\Bitrix\Crm\CallList\CallList::handleOnCrmCompanyListItemBuildMenu(
  $restPlacement,
  $contactId,
 array $menu
);

Обработчик события onCrmCompanyListItemBuildMenu.

Переопределяет меню действий компании. Метод статический.

Параметры

Параметр | Описание | Версия
$restPlacement | Размещение заменяющего меню |
$contactId | Идентификатор контакта |
$menu | Меню |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


handleOnCrmContactListItemBuildMenu

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>CallList>handleOnCrmContactListItemBuildMenu (с версии 17.0.12)

CallList::handleOnCrmContactListItemBuildMenu

 public static
\Bitrix\Crm\CallList\CallList::handleOnCrmContactListItemBuildMenu(
  $restPlacement,
  $contactId,
 array $menu
);

Обработчик события onCrmContactListItemBuildMenu.

Переопределяет меню действий контакта. Метод статический.

Параметры

Параметр | Описание | Версия
$restPlacement | Размещение заменяющего меню |
$contactId | Идентификатор контакта |
$menu | Меню |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


handleOnCrmDealListItemBuildMenu

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>CallList>handleOnCrmDealListItemBuildMenu (с версии 17.0.23)

CallList::handleOnCrmDealListItemBuildMenu

 public static
\Bitrix\Crm\CallList\CallList::handleOnCrmDealListItemBuildMenu(
  $restPlacement,
  $contactId,
 array $menu
);

Обработчик события onCrmDealListItemBuildMenu.

Переопределяет меню действий сделки. Метод статический.

Параметры

Параметр | Описание | Версия
$restPlacement | Размещение заменяющего меню |
$contactId | Идентификатор контакта |
$menu | Меню |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


handleOnCrmInvoiceListItemBuildMenu

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>CallList>handleOnCrmInvoiceListItemBuildMenu (с версии 17.0.23)

CallList::handleOnCrmInvoiceListItemBuildMenu

 public static
\Bitrix\Crm\CallList\CallList::handleOnCrmInvoiceListItemBuildMenu(
  $restPlacement,
  $contactId,
 array $menu
);

Обработчик события onCrmInvoiceListItemBuildMenu.

Переопределяет меню действий счета. Метод статический.

Параметры

Параметр | Описание | Версия
$restPlacement | Размещение заменяющего меню |
$contactId | Идентификатор контакта |
$menu | Меню |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


handleOnCrmLeadListItemBuildMenu

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>CallList>handleOnCrmLeadListItemBuildMenu (с версии 17.0.12)

CallList::handleOnCrmLeadListItemBuildMenu

 public static
\Bitrix\Crm\CallList\CallList::handleOnCrmLeadListItemBuildMenu(
  $restPlacement,
  $contactId,
 array $menu
);

Обработчик события onCrmLeadListItemBuildMenu.

Переопределяет меню действий лида. Метод статический.

Параметры

Параметр | Описание | Версия
$restPlacement |  |
$contactId |  |
$menu |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


handleOnCrmQuoteListItemBuildMenu

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>CallList>handleOnCrmQuoteListItemBuildMenu (с версии 17.0.23)

CallList::handleOnCrmQuoteListItemBuildMenu

 public static
\Bitrix\Crm\CallList\CallList::handleOnCrmQuoteListItemBuildMenu(
  $restPlacement,
  $contactId,
 array $menu
);

Обработчик события onCrmQuoteListItemBuildMenu.

Переопределяет меню действий предложения. Метод статический.

Параметры

Параметр | Описание | Версия
$restPlacement | Размещение заменяющего меню |
$contactId | Идентификатор контакта |
$menu | Меню |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setElementCall

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>CallList>setElementCall (с версии 17.0.12)

CallList::setElementCall

boolean public
\Bitrix\Crm\CallList\CallList::setElementCall(
 integer $elementId,
 string $callId
);

Устанавливает ссылку на звонок для элемента списка. Метод нестатический.

Параметры

Параметр | Описание | Версия
$elementId | Идентификатор сущности CRM. |
$callId | Идентификатор звонка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


toArray

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>CallList>toArray (с версии 17.0.12)

CallList::toArray

array public
\Bitrix\Crm\CallList\CallList::toArray(
);

Возвращает список звонков, преобразованный в массив. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Category

Пространство имён \Bitrix\Crm\Category содержит классы для работы с Направлениями.

Класс | Описание | С версии
DealCategory | Класс для работы с Направлениями Сделок. | 16.5.0


DealCategory

DealCategory - класс для работы с Направлениями Сделок.

Метод | Описание | С версии
add | Метод добавляет новую запись. |
applyMaximumLimitRestrictions | Метод оставляет ограниченное параметром количество активных Направлений и блокирует остальные. |
checkReadPermission | Метод проверяет, имеет ли пользователь права на чтение Направлений Сделок. |
convertFromStatusEntityID | Метод пытается конвертировать идентификатор статуса сущности в идентификатор записи Направления Сделок. |
convertToPermissionEntityType | Метод позволяет получить идентификатор типа контроля доступа для указанного направления. |
convertToStatusEntityID | Метод конвертирует идентификатор Направления Сделок в идентификатор статуса сущности. |
createDefaultStages | Метод создает стандартный набор этапов Сделки для указанной записи Направления Сделок. |
delete | Метод удаляет запись по идентификатору. |
erasePermissions | Метод удаляет все разрешения, относящиеся к указанному Направлению Сделок. |
eraseStages | Метод удаляет все стадии Сделки, принадлежащие к указанному Направлению Сделок. |
exists | Метод проверяет, существует ли Направление. |
get | Метод получает Направление Сделок по идентификатору. |
getAll | Метод получает все записи. |
getAllIDs | Метод получает все идентификаторы записей. |
getCount | Метод получает общее количество. |
getFieldsInfo | Метод получает поля метаданных. | 16.5.5
getJavaScriptInfos | Метод подготавливает информацию по JavaScript. |
getList | Метод получает список записей. |
getName | Метод получает имя Направления. |
getSelectListItems | Метод получает элементы для выбора опций. |
getStageFilterInfo | Метод подготавливает данные для фильтра по стадиям, сгруппированным по направлениям. |
getStageInfos | Метод получает данные о стадиях указанного Направления Сделок. |
getStageList | Метод получает список стадий для указанного Направления Сделок. |
hasDependencies | Метод проверяет, имеются ли Сделки по данному Направлению. |
hasStatusEntity | Метод проверяет, принадлежит ли указанный статус сущности Направлению Сделок. |
isEnabled | Метод проверяет, что Направление существует и не заблокировано. |
issueStageID | Метод выдает идентификатор новой стадии. |
prepareFormID | Метод подготавливает идентификатор формы из указанного Направления. |
prepareStageID | Метод подготавливает уникальный идентификатор стадии. |
prepareStageNamespaceID | Метод подготавливает идентификатор пространства имен для стадии Сделки. |
[link=\Bitrix\Crm\Category\DealCategory::prepareStatusEntityInfos ]prepareStatusEntityInfos [/link] | Метод добавляет в массив-получатель информацию о статусе типа сущности для всех зарегистрированных Направлений Сделок. |
resolveFromStageID | Метод удаляет цветовую схему, принадлежащую указанному Направлению Сделки. |
resolveByName | Метод ищет идентификатор записи Направления по имени. |
resolveFromStageID | Метод ищет идентификатор Направления по идентификатору стадии. |
update | Метод обновляет поля записи. |


add

integer public static
\Bitrix\Crm\Category\DealCategory::add(
 array $fields
);

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

Параметры

Параметр | Описание | Версия
$fields | Поля. |

Исключения

  • \Bitrix\Crm\Entry\AddException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


applyMaximumLimitRestrictions

 public static
\Bitrix\Crm\Category\DealCategory::applyMaximumLimitRestrictions(
  $limit
);

Метод оставляет определённое количество активных Направлений (определяется параметром), остальные блокируются. Заблокированные направления не будут доступны пользователям. Метод статический. Применяется только в контексте bitrix24.

Параметры

Параметр | Описание | Версия
$limit | Количество активных Направлений. |

Исключения

  • \Bitrix\Main\NotSupportedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkReadPermission

boolean public static
\Bitrix\Crm\Category\DealCategory::checkReadPermission(
 \CCrmPerms|null $userPermissions = null
);

Метод проверяет, имеет ли пользователь права на чтение Направлений Сделок. Метод статический.

Параметры

Параметр | Описание | Версия
$userPermissions |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


convertFromStatusEntityID

integer public static
\Bitrix\Crm\Category\DealCategory::convertFromStatusEntityID(
 string $entityID
);

Метод пытается конвертировать идентификатор статуса сущности в идентификатор записи Направления Сделок. Метод статический.

Возвращает 0, если конвертация не удалась.

Параметры

Параметр | Описание | Версия
$entityID | Идентификатор статуса сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


convertToPermissionEntityType

string public static
\Bitrix\Crm\Category\DealCategory::convertToPermissionEntityType(
 integer $ID
);

Метод позволяет получить идентификатор типа контроля доступа для указанного направления. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор Направления Сделки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


convertToStatusEntityID

string public static
\Bitrix\Crm\Category\DealCategory::convertToStatusEntityID(
 integer $ID
);

Метод конвертирует идентификатор Направления Сделок в идентификатор статуса сущности. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор записи. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


createDefaultStages

void public static
\Bitrix\Crm\Category\DealCategory::createDefaultStages(
 integer $ID
);

Метод создает стандартный набор этапов Сделки для указанной записи Направления Сделок. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор Направления Сделок. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


delete

void public static
\Bitrix\Crm\Category\DealCategory::delete(
 integer $ID
);

Метод удаляет запись по идентификатору. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор записи. |

Исключения

  • \Bitrix\Crm\Entry\DeleteException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


erasePermissions

void public static
\Bitrix\Crm\Category\DealCategory::erasePermissions(
 integer $ID
);

Метод удаляет все разрешения, относящиеся к указанному Направлению Сделок. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор Направления Сделок (должен быть больше 0). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


eraseStages

void public static
\Bitrix\Crm\Category\DealCategory::eraseStages(
 integer $ID
);

Метод удаляет все стадии Сделки, принадлежащие к указанному Направлению Сделок. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор Направления Сделок (должен быть больше 0). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


exists

boolean public static
\Bitrix\Crm\Category\DealCategory::exists(
 integer $ID
);

Метод проверяет, существует ли Направление. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор Направления. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


get

array|null public static
\Bitrix\Crm\Category\DealCategory::get(
 integer $ID
);

Метод получает Направление Сделок по идентификатору. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор Направления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAll

array public static
\Bitrix\Crm\Category\DealCategory::getAll(
 boolean $enableDefault = false,
 array $sort = null
);

Метод получает все записи. Метод статический.

Параметры

Параметр | Описание | Версия
$enableDefault | Флаг включения направления по умолчанию, т.е. Общего направления (Направления по умолчанию являются виртуальными и имеют идентификатор = 0). Если enableDefault = false, то будут возвращены все Направления, кроме Направления по умолчанию. |
$sort | Параметры сортировки. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAllIDs

array public static
\Bitrix\Crm\Category\DealCategory::getAllIDs(
);

Метод получает все идентификаторы записей. Метод статический.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCount

integer public static
\Bitrix\Crm\Category\DealCategory::getCount(
);

Метод получает общее количество. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFieldsInfo

array public static
\Bitrix\Crm\Category\DealCategory::getFieldsInfo(
);

Метод получает поля метаданных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getJavaScriptInfos

array public static
\Bitrix\Crm\Category\DealCategory::getJavaScriptInfos(
 array $IDs = null
);

Метод подготавливает информацию по JavaScript. Метод статический.

Параметры

Параметр | Описание | Версия
$IDs | Идентификатор добавляемой сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getList

\Bitrix\Main\DB\Result public static
\Bitrix\Crm\Category\DealCategory::getList(
 array $params
);

Метод получает список записей. Метод статический.

Параметры

Параметр | Описание | Версия
$params | Список параметров. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getName

string public static
\Bitrix\Crm\Category\DealCategory::getName(
 integer $ID
);

Метод получает имя Направления. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор Направления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSelectListItems

array public static
\Bitrix\Crm\Category\DealCategory::getSelectListItems(
);

Метод получает элементы для выбора опций. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getStageFilterInfo

array public static
\Bitrix\Crm\Category\DealCategory::getStageFilterInfo(
 array $infos,
 array|null $params = null
);

Метод подготавливает данные для фильтра по стадиям, сгруппированным по направлениям. Метод статический.

Параметры

Параметр | Описание | Версия
$infos | Данные адресата фильтра. |
$params | Параметры поля. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getStageInfos

array public static
\Bitrix\Crm\Category\DealCategory::getStageInfos(
 integer $ID
);

Метод получает данные о стадиях указанного Направления Сделок. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор Направления Сделок. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getStageList

array public static
\Bitrix\Crm\Category\DealCategory::getStageList(
 integer $ID
);

Метод получает список стадий для указанного Направления Сделок.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор Направления Сделок. |

Примеры

use Bitrix\Crm\Category\DealCategory;

if (CModule::IncludeModule("CRM"))
     $StageList = DealCategory::getStageList('Название воронки');


hasDependencies

boolean public static
\Bitrix\Crm\Category\DealCategory::hasDependencies(
 integer $ID
);

Метод проверяет, имеются ли Сделки по данному Направлению. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор записи. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


hasStatusEntity

boolean public static
\Bitrix\Crm\Category\DealCategory::hasStatusEntity(
 string $entityID
);

Метод проверяет, принадлежит ли указанный статус сущности Направлению Сделок. Метод статический.

Параметры

Параметр | Описание | Версия
$entityID | Идентификатор статуса сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isEnabled

boolean public static
\Bitrix\Crm\Category\DealCategory::isEnabled(
 integer $ID
);

Метод проверяет, что Направление существует и не заблокировано (с помощью метода [link=3623263]applyMaximumLimitRestrictions[/link]). Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор Направления. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


issueStageID

integer public static
\Bitrix\Crm\Category\DealCategory::issueStageID(
  $entityID
);

Метод выдает идентификатор новой стадии. Метод статический.

Параметры

Параметр | Описание | Версия
$entityID | Идентификатор сущности. |

Исключения

  • \Bitrix\Main\NotSupportedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareFormID

string public static
\Bitrix\Crm\Category\DealCategory::prepareFormID(
 integer $ID,
 integer $sourceFormID
);

Метод подготавливает идентификатор формы из указанного Направления. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор сущности. |
$sourceFormID | Исходный идентификатор формы. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareStageID

string public static
\Bitrix\Crm\Category\DealCategory::prepareStageID(
 integer $ID,
 string $stageID
);

Метод подготавливает уникальный идентификатор стадии. Метод статический.

Например, если идентификатор записи равен 15 и идентификатор стадии равен "DETAILS", будет возвращена строка "C15:DETAILS", где "C15" - идентификатор пространства имён, "DETAILS" - идентификатор конкретной стадии.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор записи. |
$stageID | Идентификатор конкретной стадии (например, "NEW" или "WON"). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareStageNamespaceID

string public static
\Bitrix\Crm\Category\DealCategory::prepareStageNamespaceID(
 integer $ID
);

Метод подготавливает идентификатор пространства имен для стадии Сделки. Метод статический.

Например, если идентификатор записи Направления равен 15, то будет возвращена строка "C15".

Параметры

Параметр | Описание | Версия
$ID | Идентификатор записи. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareStatusEntityInfos

 public static
\Bitrix\Crm\Category\DealCategory::prepareStatusEntityInfos(
 array $entityTypes
);

Метод добавляет в массив-получатель информацию о статусе типа сущности для всех зарегистрированных Направлений Сделок. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypes | Массив-получатель. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


removeColorScheme

void public static
\Bitrix\Crm\Category\DealCategory::removeColorScheme(
 integer $ID
);

Метод удаляет цветовую схему, принадлежащую указанному Направлению Сделки. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор Направления Сделки (должен быть больше 0). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


resolveByName

integer public static
\Bitrix\Crm\Category\DealCategory::resolveByName(
 string $name
);

Метод ищет идентификатор записи Направления (первое вхождение) по имени. Метод статический.

Параметры

Параметр | Описание | Версия
$name | Имя записи. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


resolveFromStageID

integer public static
\Bitrix\Crm\Category\DealCategory::resolveFromStageID(
 string $stageID
);

Статический метод. Метод ищет идентификатор Направления (первое вхождение) по идентификатору стадии, если идентификатор стадии содержит идентификатор пространства имен.

Например, если идентификатор стадии "C15:NEW", то "C15" - это идентификатор пространства имен и будет найден идентификатор Направлений 15.

Параметры

Параметр | Описание | Версия
$stageID | Идентификатор стадии. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


update

void public static
\Bitrix\Crm\Category\DealCategory::update(
 integer $ID,
 array $fields
);

Метод обновляет поля записи. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор записи. |
$fields | Поля записи. |

Исключения

  • \Bitrix\Crm\Entry\UpdateException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Color

Пространство имён \Bitrix\Crm\Color содержит классы для хранения цветовых схем стадий Сделки, статусов Лида и Предложения в CRM.

* Семантика - смысловое значение стадии сущности. Все стадии сущностей для удобства разделены на 3 смысловые группы - "в работе", "выиграна", "провалена". Цвет в схеме по умолчанию задается для группы стадий, имеющих определенную семантику.

Класс | Описание | С версии
DealStageColorScheme | Класс отвечает за хранение цветовой схемы стадий Сделки. |
LeadStatusColorScheme | Класс отвечает за хранение цветовой схемы статусов Лида. |
PhaseColorScheme | Базовый класс для хранения цветовых схем фаз сущностей. |
PhaseColorSchemeElement | Базовый класс для хранения элементов фаз цветовых схем сущностей. |
QuoteStatusColorScheme | Класс отвечает за хранение цветовой схемы стадий коммерческого Предложения. |


DealStageColorScheme

Класс DealStageColorScheme отвечает за хранение цветовой схемы стадий Сделки. Является наследником класса \Bitrix\Crm\Color\PhaseColorScheme.

Методы класса

Метод | Описание | С версии
getByCategory | Метод получает схему по Направлениям Сделок. | 16.5.0
getCategoryId | Метод получает идентификатор Направления Сделки. | 16.5.0
getCurrent | Метод получает текущую цветовую схему стадий Сделки. |
getDefaultColor | Метод получает текущий цвет для стадии Сделки. |
getDefaultColorByStage | Метод получает цвет стадии по умолчанию по семантическому [image] идентификатору. |
removeByCategory | од удаляет схему по Направлениям. | 16.5.0
setupByDefault | Метод устанавливает цветовую схему по умолчанию. |


getByCategory

\Bitrix\Crm\Color\DealStageColorScheme public static
\Bitrix\Crm\Color\DealStageColorScheme::getByCategory(
 integer $categoryID
);

Метод получает схему по Направлениям Сделок. Метод статический.

Параметры

Параметр | Описание | Версия
$categoryID | Идентификатор Направления Сделок. |

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCategoryId

integer public
\Bitrix\Crm\Color\DealStageColorScheme::getCategoryId(
);

Метод получает идентификатор Направления Сделки. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrent

\Bitrix\Crm\Color\DealStageColorScheme public static
\Bitrix\Crm\Color\DealStageColorScheme::getCurrent(
);

Метод получает текущую цветовую схему стадий Сделки. Метод статический.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDefaultColor

string public
\Bitrix\Crm\Color\DealStageColorScheme::getDefaultColor(
 string $name
);

Метод получает текущий цвет для стадии Сделки. Метод нестатический.

Параметры

Параметр | Описание | Версия
$name | Наименование стадии. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDefaultColorByStage

string public static
\Bitrix\Crm\Color\DealStageColorScheme::getDefaultColorByStage(
 string $stageID
);

Метод получает цвет стадии по умолчанию по семантическому [image] идентификатору. Метод статический.

Параметры

Параметр | Описание | Версия
$stageID | Идентификатор стадии Сделки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


removeByCategory

boolean public static
\Bitrix\Crm\Color\DealStageColorScheme::removeByCategory(
 integer $categoryID
);

Метод удаляет схему по Направлениям. Метод статический.

Параметры

Параметр | Описание | Версия
$categoryID | Идентификатор Направления Сделок. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setupByDefault

void public
\Bitrix\Crm\Color\DealStageColorScheme::setupByDefault(
);

Метод устанавливает цветовую схему по умолчанию. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LeadStatusColorScheme

Класс LeadStatusColorScheme отвечает за хранение цветовой схемы статусов Лида. Является наследником класса \Bitrix\Crm\Color\PhaseColorScheme.

Методы класса

Метод | Описание | С версии
getCurrent | Метод получает текущую цветовую схему статусов Лида. |
getDefaultColorByStatus | Метод получает текущий цвет для статусов Лида. |
getDefaultColorByStatus | Метод получает цвет элемента по умолчанию по семантическому [image] идентификатору. |
setupByDefault | Метод устанавливает цветовую схему по умолчанию. |


getCurrent

\Bitrix\Crm\Color\LeadStatusColorScheme public static
\Bitrix\Crm\Color\LeadStatusColorScheme::getCurrent(
);

Метод получает текущую цветовую схему статусов Лида. Метод статический.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDefaultColor

string public
\Bitrix\Crm\Color\LeadStatusColorScheme::getDefaultColor(
 string $name
);

Метод получает текущий цвет для статусов Лида. Метод нестатический.

Параметры

Параметр | Описание | Версия
$name | Наименовании статуса. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDefaultColorByStatus

string public static
\Bitrix\Crm\Color\LeadStatusColorScheme::getDefaultColorByStatus(
 string $statusID
);

Метод получает цвет статуса по умолчанию по семантическому [image] идентификатору. Метод статический.

Параметры

Параметр | Описание | Версия
$statusID | Идентификатор статуса лида. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setupByDefault

void public
\Bitrix\Crm\Color\LeadStatusColorScheme::setupByDefault(
);

Метод устанавливает цветовую схему по умолчанию. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


PhaseColorScheme

PhaseColorScheme является базовым классом для хранения цветовых схем фаз сущностей. Фазами (элементами) сущностей в CRM являются стадии Сделки, статусы Лида и коммерческого Предложения.

Методы класса

Метод | Описание | С версии
addElement | Метод добавляет элемент в цветовую схему. |
externalize | Метод получает внешнее представление данного объекта. |
getDefaultColor | Метод получает цвет по умолчанию для элемента. |
getDefaultColorBySemantics | Метод получает цвет элемента по умолчанию по семантическому [image] идентификатору. |
getElementByName | Метод получает цветовую схему элемента по имени. |
internalize | Метод настраивает данный объект в соответствии с внешним представлением. |
isPersistent | Метод проверяет, не повторяется ли цветовая схема. |
load | Метод пытается загрузить схему из набора вариантов. |
remove | Метод удаляет схему из набора вариантов. | 16.5.0
reset | Метод сбрасывает цветовую схему. |
save | Метод сохраняет цветовую схему в набор вариантов. |
setupByDefault | Метод устанавливает цветовую схему по умолчанию. |


addElement

void public
\Bitrix\Crm\Color\PhaseColorScheme::addElement(
 \Bitrix\Crm\Color\PhaseColorSchemeElement $element
);

Метод добавляет элемент в цветовую схему. Метод нестатический.

Параметры

Параметр | Описание | Версия
$element | Элемент. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


externalize

array public
\Bitrix\Crm\Color\PhaseColorScheme::externalize(
);

Метод получает внешнее представление данного объекта. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDefaultColor

string public
\Bitrix\Crm\Color\PhaseColorScheme::getDefaultColor(
 string $name
);

Метод получает цвет по умолчанию для элемента. Метод нестатический.

Параметры

Параметр | Описание | Версия
$name | Имя элемента. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDefaultColorBySemantics

string public static
\Bitrix\Crm\Color\PhaseColorScheme::getDefaultColorBySemantics(
 \Bitrix\Crm\PhaseSemantics $semanticID
);

Метод получает цвет элемента по умолчанию по семантическому [image] идентификатору. Метод статический.

Параметры

Параметр | Описание | Версия
$semanticID | Семантический идентификатор. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getElementByName

\Bitrix\Crm\Color\PhaseColorSchemeElement|null public
\Bitrix\Crm\Color\PhaseColorScheme::getElementByName(
 string $name
);

Метод получает цветовую схему элемента по имени. Метод нестатический.

Параметры

Параметр | Описание | Версия
$name | Имя элемента. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


internalize

void public
\Bitrix\Crm\Color\PhaseColorScheme::internalize(
 array $params
);

Метод настраивает данный объект в соответствии с внешним представлением. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Внешние параметры. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isPersistent

boolean public
\Bitrix\Crm\Color\PhaseColorScheme::isPersistent(
);

Метод проверяет, не повторяется ли цветовая схема. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


load

boolean public
\Bitrix\Crm\Color\PhaseColorScheme::load(
);

Метод пытается загрузить схему из набора вариантов. Метод нестатический.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentNullException
  • \Bitrix\Main\NotImplementedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


remove

void public
\Bitrix\Crm\Color\PhaseColorScheme::remove(
);

Метод удаляет схему из набора вариантов. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


reset

 public
\Bitrix\Crm\Color\PhaseColorScheme::reset(
);

Метод сбрасывает цветовую схему. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


save

void public
\Bitrix\Crm\Color\PhaseColorScheme::save(
);

Метод сохраняет цветовую схему в набор вариантов. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setupByDefault

void public
\Bitrix\Crm\Color\PhaseColorScheme::setupByDefault(
);

Метод устанавливает цветовую схему по умолчанию. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


PhaseColorSchemeElement

Класс PhaseColorSchemeElement предназначен для работы с элементами цветовой схемы.

Методы класса

Метод | Описание | С версии
externalize | Метод получает внешнее представление этого объекта. |
getColor | Метод получает цвет элемента. |
getName | Метод получает название элемента. |
internalize | Метод настраивает текущий объект в соответствии с внешним представлением. |
setColor | Метод устанавливает цвет элемента. |
setName | Метод устанавливает наименование элемента. |


externalize

void public
\Bitrix\Crm\Color\PhaseColorSchemeElement::externalize(
 array $params
);

Метод получает внешнее представление этого объекта. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Объект назначения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getColor

string public
\Bitrix\Crm\Color\PhaseColorSchemeElement::getColor(
);

Метод получает цвет элемента. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getName

string public
\Bitrix\Crm\Color\PhaseColorSchemeElement::getName(
);

Метод получает название элемента. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


internalize

void public
\Bitrix\Crm\Color\PhaseColorSchemeElement::internalize(
 string $name,
 array $params
);

Метод настраивает текущий объект в соответствии с внешним представлением. Метод нестатический.

Параметры

Параметр | Описание | Версия
$name | Наименование. |
$params | Источник. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setColor

void public
\Bitrix\Crm\Color\PhaseColorSchemeElement::setColor(
 string $color
);

Метод устанавливает цвет элемента. Метод нестатический.

Параметры

Параметр | Описание | Версия
$color | Цвет элемента. |

Исключения

  • \Bitrix\Main\ArgumentTypeException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setName

void public
\Bitrix\Crm\Color\PhaseColorSchemeElement::setName(
 string $name
);

Метод устанавливает наименование элемента. Метод нестатический.

Параметры

Параметр | Описание | Версия
$name | Наименование элемента. |

Исключения

  • \Bitrix\Main\ArgumentTypeException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


QuoteStatusColorScheme

Класс QuoteStatusColorScheme отвечает за хранение цветовой схемы статусов коммерческого Предложения. Является наследником класса \Bitrix\Crm\Color\PhaseColorScheme.

Методы класса

Метод | Описание | С версии
getCurrent | Метод получает текущую цветовую схему статусов Предложения. |
getDefaultColor | Метод получает текущий цвет для статуса Предложения. |
getDefaultColorByStatus | Метод получает цвет статуса по умолчанию по семантическому [image] идентификатору. |
setupByDefault | Метод устанавливает цветовую схему по умолчанию. |


getCurrent

\Bitrix\Crm\Color\QuoteStatusColorScheme public static
\Bitrix\Crm\Color\QuoteStatusColorScheme::getCurrent(
);

Метод получает текущую цветовую схему статусов Предложения. Метод статический.

Без параметров

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDefaultColor

string public
\Bitrix\Crm\Color\QuoteStatusColorScheme::getDefaultColor(
 string $name
);

Метод получает текущий цвет для статуса Предложения. Метод нестатический.

Параметры

Параметр | Описание | Версия
$name | Наименование статуса. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDefaultColorByStatus

string public static
\Bitrix\Crm\Color\QuoteStatusColorScheme::getDefaultColorByStatus(
 string $statusID
);

Метод получает цвет статуса по умолчанию по семантическому [image] идентификатору. Метод статический.

Параметры

Параметр | Описание | Версия
$statusID | Идентификатор статуса Предложения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setupByDefault

void public
\Bitrix\Crm\Color\QuoteStatusColorScheme::setupByDefault(
);

Метод устанавливает цветовую схему по умолчанию. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


CommunicationType

CommunicationType - класс для работы с типами связей.

Метод | Описание | С версии
getMultiFieldTypeIDs | Метод получает идентификаторы связанных множественных полей. |
isDefined | Метод проверяет, определен ли указанный идентификатор записи. |
resolveID | Метод ищет идентификатор записи по имени. |
resolveName | Метод ищет наименование типа записи по идентификатору. |


getMultiFieldTypeIDs

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>CommunicationType>getMultiFieldTypeIDs (доступен с 16.2.1)

CommunicationType::getMultiFieldTypeIDs

array public static
\Bitrix\Crm\CommunicationType::getMultiFieldTypeIDs(
);

Метод получает идентификаторы связанных множественных полей. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isDefined

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>CommunicationType>isDefined (доступен с 16.2.1)

CommunicationType::isDefined

boolean public static
\Bitrix\Crm\CommunicationType::isDefined(
 integer $ID
);

Метод проверяет, определен ли указанный идентификатор записи. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор записи. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


resolveID

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>CommunicationType>resolveID (доступен с 16.2.1)

CommunicationType::resolveID

integer public static
\Bitrix\Crm\CommunicationType::resolveID(
 string $name
);

Метод ищет идентификатор записи (первое вхождение) по имени. Метод статический..

Параметры

Параметр | Описание | Версия
$name | Имя записи. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


resolveName

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>CommunicationType>resolveName (доступен с 16.2.1)

CommunicationType::resolveName

string public static
\Bitrix\Crm\CommunicationType::resolveName(
 integer $ID
);

Метод ищет наименование типа записи (первое вхождение) по идентификатору. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор записи. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


CompanyAddress

Класс CompanyAddress отвечает за хранение адресов Компаний.

Методы класса

Метод | Описание | С версии
deleteByEntityId | Метод удаляет адреса сущностей. |


deleteByEntityId

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>CompanyAddress>deleteByEntityId (доступен с 16.1.0)

CompanyAddress::deleteByEntityId

void public static
\Bitrix\Crm\CompanyAddress::deleteByEntityId(
 array $entityID
);

Метод удаляет адреса сущностей. Метод статический.

Параметры

Параметр | Описание | Версия
$entityID | Идентификатор сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Config

Пространство имён \Bitrix\Crm\Config содержит классы для хранения пользовательских настроек в контексте определенной сущности.

Класс | Описание | С версии
Entity | Подпространство имён для хранения классов-таблиц. |
EntityConfig | Класс для хранения пользовательских настроек в контексте сущности. |


Entity

Подпространство имён \Bitrix\Crm\Config\Entity содержит классы-таблицы для хранения настроек в базе данных.

Класс | Описание | С версии
EntityConfigTable | Класс-таблица для хранения настроек в базе данных. |


EntityConfigTable

EntityConfigTable - класс-таблица для хранения настроек в базе данных.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
deleteByEntity | Метод удаляет сущность. |
getMap | Метод получает карту полей сущности. |
getTableName | Метод получает имя таблицы сущности. |
upsert | Метод выполняет операцию UPSERT. |


deleteByEntity

 public static
\Bitrix\Crm\Config\Entity\EntityConfigTable::deleteByEntity(
 integer $entityTypeID,
 integer $entityID
);

Метод удаляет сущность. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |
$entityID | Идентификатор сущности. |

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\ArgumentOutOfRangeException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Crm\Config\Entity\EntityConfigTable::getMap(
);

Метод получает карту полей сущности. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Crm\Config\Entity\EntityConfigTable::getTableName(
);

Метод получает имя таблицы сущности. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


upsert

void public static
\Bitrix\Crm\Config\Entity\EntityConfigTable::upsert(
 array $data
);

Метод выполняет операцию UPSERT. Метод статический.

Параметры

Параметр | Описание | Версия
$data | Поле данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


EntityConfig

Класс EntityConfig хранит пользовательские настройки в контексте сущности.

Методы класса

Метод | Описание | С версии
get | Метод получает настройки сущности. |
remove | Метод удаляет зарегистрированные настройки сущности. |
set | Метод регистрирует настройки сущности. |


get

mixed|null public static
\Bitrix\Crm\Config\EntityConfig::get(
 integer $entityTypeID,
 integer $entityID,
 integer $userID
);

Метод получает настройки сущности. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |
$entityID | Идентификатор сущности. |
$userID | Идентификатор пользователя. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


remove

 public static
\Bitrix\Crm\Config\EntityConfig::remove(
 integer $entityTypeID,
 integer $entityID,
 integer $userID
);

Метод удаляет зарегистрированные настройки сущности. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности |
$entityID | Идентификатор сущности. |
$userID | Идентификатор пользователя. |

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\ArgumentOutOfRangeException
  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


set

 public static
\Bitrix\Crm\Config\EntityConfig::set(
 integer $entityTypeID,
 integer $entityID,
 integer $userID,
 array $settings
);

Метод регистрирует настройки сущности. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Иденификатор типа сущности. |
$entityID | Идентификатор сущности. |
$userID | Идентификатор пользователя. |
$settings | Настройки сущности. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ContactAddress

Класс ContactAddress отвечает за хранение адресов Контактов.

Методы класса

Метод | Описание | С версии
deleteByEntityId | Метод удаляет адреса сущностей. |


deleteByEntityId

Отправить отзыв по этому разделу
Пространство имён Bitrix>CRM>ContactAddress>deleteByEntityId (доступен с 16.1.0)

ContactAddress::deleteByEntityId

void public static
\Bitrix\Crm\ContactAddress::deleteByEntityId(
 array $entityID
);

Метод удаляет адреса сущностей. Метод статический.

Параметры

Параметр | Описание | Версия
$entityID | Идентификатор сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Conversion

Пространство имён \Bitrix\Crm\Conversion содержит классы для конвертации сущностей CRM.

Класс | Описание | С версии
DealConversionMapper | Класс отвечает за отображение полей сделки на поля счета или предложения при конвертации | 15.5.2
DealConversionWizard | Класс поддерживает конвертацию сделки в счет или предложение через форму редактирования счета/предложения. | 16.0.7
DealConverter | Класс для работы с методами конвертации сделок | 15.5.2
EntityConversionMap | Класс для работы с картами конвертации сущностей | 15.5.2
EntityConversionMapper | Базовый класс, отвечает за отображение полей первой сущности на поля второй при конвертации первой во вторую | 15.5.8
LeadConversionMapper | Класс отвечает за отображение полей лида на поля контакта или компании при конвертации | 15.5.2
LeadConverter | Класс для работы с методами конвертации лидов | 15.5.2
LeadConversionWizard | Класс поддерживает конвертацию лида в контакт или компанию через форму редактирования контакта/компании. | 16.0.7
QuoteConversionMapper | Класс отвечает за отображение полей коммерческого предложения на поля счета или сделки при конвертации | 15.5.2
QuoteConversionWizard | Класс поддерживает конвертацию коммерческого предложения в счет или сделку через форму редактирования счета/сделки. | 16.0.7
QuoteConverter | Класс для работы с методами конвертации предложений | 15.5.2


DealConversionMapper

Класс DealConversionMapper отвечает за отображение полей сделки на поля счета или предложения при конвертации. Является наследником класса \Bitrix\Crm\Conversion\EntityConversionMapper.

Методы класса

Метод | Описание | С версии
createMap | Метод cоздает карту преобразования для типа объекта назначения. | 15.5.2
getSourceFields | Метод получает поля источника. | 15.5.2
map | Метод создает карту полей сущности для указанного типа. | 15.5.2


createMap

\Bitrix\Crm\Conversion\EntityConversionMap public static
\Bitrix\Crm\Conversion\DealConversionMapper::createMap(
 integer $entityTypeID
);

Метод cоздает карту преобразования для типа объекта назначения. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа объекта назначения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSourceFields

array public
\Bitrix\Crm\Conversion\DealConversionMapper::getSourceFields(
);

Метод получает поля источника. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


map

array public
\Bitrix\Crm\Conversion\DealConversionMapper::map(
 \Bitrix\Crm\Conversion\EntityConversionMap $map,
 array|null $options = null
);

Метод создает карту полей сущности для указанного типа. Метод нестатический.

Параметры

Параметр | Описание | Версия
$map | Карта сущности. |
$options | Опции карты. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DealConversionWizard

DealConversionWizard - класс для поддержки конвертации сделки в счет или предложение через форму редактирования счета/предложения.

Метод | Описание | С версии
execute | Метод запускает мастер конвертации. |
load | Метод загружает мастер в зависимости от сущности из сессии. |
prepareDataForEdit | Метод подготавливает поля сущности для редактирования. |
prepareDataForSave | Метод подготавливает поля сущности для сохранения. |
remove | Метод удаляет мастер в зависимости от сущности из сессии. |
save | Метод сохраняет настройки мастера в сессии. |


execute

boolean public
\Bitrix\Crm\Conversion\DealConversionWizard::execute(
 array|null $contextData = null
);

Метод запускает мастер конвертации. Метод нестатический.

Параметры

Параметр | Описание | Версия
$contextData | Контекст конвертации данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


load

\Bitrix\Crm\Conversion\DealConversionWizard|null public static
\Bitrix\Crm\Conversion\DealConversionWizard::load(
 integer $entityID
);

Метод загружает мастер в зависимости от сущности из сессии. Метод статический.

Параметры

Параметр | Описание | Версия
$entityID | Идентификатор сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareDataForEdit

void public
\Bitrix\Crm\Conversion\DealConversionWizard::prepareDataForEdit(
 integer $entityTypeID,
 array ,
 boolean|true $encode = true
);

Метод подготавливает поля сущности для редактирования. Метод нестатический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |
$fields | Поля сущности. |
$encode | Флаг кодировки полей. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareDataForSave

void public
\Bitrix\Crm\Conversion\DealConversionWizard::prepareDataForSave(
 integer $entityTypeID,
 array
);

Метод подготавливает поля сущности для сохранения. Метод нестатический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |
$fields | Поля сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


remove

void public static
\Bitrix\Crm\Conversion\DealConversionWizard::remove(
 integer $entityID
);

Метод удаляет мастер в зависимости от сущности из сессии. Метод статический.

Параметры

Параметр | Описание | Версия
$entityID | Идентификатор сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


save

void public
\Bitrix\Crm\Conversion\DealConversionWizard::save(
);

Метод сохраняет настройки мастера в сессии. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DealConverter

DealConverter - класс для работы с методами конвертации сделок.

Методы класса

Метод | Описание | С версии
executePhase | Метод пытается выполнить текущую фазу конвертации. | 15.5.2
getEntityTypeID | Метод получает идентификатор типа конвертации сущности. | 15.5.2
getMap | Метод получает карту конвертации для указанного типа объекта. | 15.5.2
getMapper | Метод получает маппер (логическую схему) конвертации. | 15.5.2
initialize | Метод запускает конвертацию. | 15.5.2
mapEntityFields | Метод создает карту полей сущности для указанного типа. | 15.5.2
moveToNextPhase | Метод пытается перейти к следующему этапу конвертации. | 15.5.2


executePhase

boolean public
\Bitrix\Crm\Conversion\DealConverter::executePhase(
);

Метод пытается выполнить текущую фазу конвертации. Метод нестатический.

Без параметров

Исключения

  • \Bitrix\Crm\Conversion\EntityConversionException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEntityTypeID

integer public
\Bitrix\Crm\Conversion\DealConverter::getEntityTypeID(
);

Метод получает идентификатор типа конвертации сущности. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

\Bitrix\Crm\Conversion\EntityConversionMap public static
\Bitrix\Crm\Conversion\DealConverter::getMap(
 integer $entityTypeID
);

Метод получает карту конвертации для указанного типа объекта. Метод статический.

Пробует загрузить сохраненную карту. Если карта не найдена, то будет создана карта по умолчанию.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMapper

\Bitrix\Crm\Conversion\LeadConversionMapper|null public
\Bitrix\Crm\Conversion\DealConverter::getMapper(
);

Метод получает маппер (логическую схему) конвертации. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


initialize

 public
\Bitrix\Crm\Conversion\DealConverter::initialize(
);

Метод запускает конвертацию. Метод нестатический.

Без параметров

Исключения

  • \Bitrix\Crm\Conversion\EntityConversionException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


mapEntityFields

array public
\Bitrix\Crm\Conversion\DealConverter::mapEntityFields(
 integer $entityTypeID,
 array|null $options = null
);

Метод создает карту полей сущности для указанного типа. Метод нестатический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |
$options | Опции маппинга. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


moveToNextPhase

boolean public
\Bitrix\Crm\Conversion\DealConverter::moveToNextPhase(
);

Метод пытается перейти к следующему этапу конвертации. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


EntityConversionMap

EntityConversionMap - класс для работы с картами конвертации сущностей.

Методы класса

Метод | Описание | С версии
getItems | Метод получает объекты карты конвертации. | 15.5.2
load | Метод загружает карту конвертации. | 15.5.2
remove | Метод удаляет карту конвертации. | 15.5.2
save | Метод сохраняет карту конвертации. | 15.5.2


getItems

array public
\Bitrix\Crm\Conversion\EntityConversionMap::getItems(
);

Метод получает объекты карты конвертации. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


load

\Bitrix\Crm\Conversion\EntityConversionMap public static
\Bitrix\Crm\Conversion\EntityConversionMap::load(
 integer $srcEntityTypeID,
 integer $dstEntityTypeID
);

Метод загружает карту конвертации. Метод статический.

Параметры

Параметр | Описание | Версия
$srcEntityTypeID | Идентификатор типа сущности-источника. |
$dstEntityTypeID | Идентификатор типа сущности назначения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


remove

\Bitrix\Crm\Conversion\EntityConversionMap public static
\Bitrix\Crm\Conversion\EntityConversionMap::remove(
 integer $srcEntityTypeID,
 integer $dstEntityTypeID
);

Метод удаляет карту конвертации. Метод статический.

Параметры

Параметр | Описание | Версия
$srcEntityTypeID | Идентификатор типа сущности-источника. |
$dstEntityTypeID | Идентификатор типа сущности назначения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


save

void public
\Bitrix\Crm\Conversion\EntityConversionMap::save(
);

Метод сохраняет карту конвертации. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


EntityConversionMapper

EntityConversionMapper - базовый класс, отвечает за отображение полей первой сущности на поля второй при конвертации первой во вторую.

Методы класса

Метод | Описание | С версии
getSourceFields | Метод получает поля источника. | 15.5.8
getSourceFieldValue | Метод получает значение поля источника. | 15.5.8


getSourceFields

array public
\Bitrix\Crm\Conversion\EntityConversionMapper::getSourceFields(
);

Метод получает поля источника. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSourceFieldValue

mixed public
\Bitrix\Crm\Conversion\EntityConversionMapper::getSourceFieldValue(
 string $fieldName
);

Метод получает значение поля источника. Метод нестатический.

Параметры

Параметр | Описание | Версия
$fieldName | Имя поля. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LeadConversionMapper

Класс LeadConversionMapper отвечает за отображение полей лида на поля контакта или компании при конвертации. Является наследником класса \Bitrix\Crm\Conversion\EntityConversionMapper.

Методы класса

Метод | Описание | С версии
createMap | Метод cоздает карту преобразования для типа объекта назначения. | 15.5.2
getSourceFields | Метод получает поля источника. | 15.5.2
map | Метод создает карту полей сущности для указанного типа. | 15.5.2


createMap

\Bitrix\Crm\Conversion\EntityConversionMap public static
\Bitrix\Crm\Conversion\LeadConversionMapper::createMap(
 integer $entityTypeID
);

Метод создает карту конвертации для типа сущности назначения. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности назначения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSourceFields

array public
\Bitrix\Crm\Conversion\LeadConversionMapper::getSourceFields(
);

Метод получает поля источника. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


map

array public
\Bitrix\Crm\Conversion\LeadConversionMapper::map(
 \Bitrix\Crm\Conversion\EntityConversionMap $map,
 array|null $options = null
);

Метод создает карту полей сущности для указанного типа. Метод нестатический.

Параметры

Параметр | Описание | Версия
$map | Карта сущности. |
$options | Опции карты. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LeadConversionWizard

LeadConversionWizard - класс для поддержки конвертации лида в контакт или компанию через форму редактирования контакта/компании.

Метод | Описание | С версии
execute | Метод запускает мастер конвертации. |
load | Метод загружает мастер в зависимости от сущности из сессии. |
prepareDataForEdit | Метод подготавливает поля сущности для редактирования. |
prepareDataForSave | Метод подготавливает поля сущности для сохранения. |
remove | Метод удаляет мастер в зависимости от сущности из сессии. |
save | Метод сохраняет настройки мастера в сессии. |


execute

boolean public
\Bitrix\Crm\Conversion\LeadConversionWizard::execute(
 array|null $contextData = null
);

Метод запускает мастер конвертации. Метод нестатический.

Параметры

Параметр | Описание | Версия
$contextData | Контекст конвертации данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


load

\Bitrix\Crm\Conversion\LeadConversionWizard|null public static
\Bitrix\Crm\Conversion\LeadConversionWizard::load(
 integer $entityID
);

Метод загружает мастер в зависимости от сущности из сессии. Метод статический.

Параметры

Параметр | Описание | Версия
$entityID | Идентификатор сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareDataForEdit

void public
\Bitrix\Crm\Conversion\LeadConversionWizard::prepareDataForEdit(
 integer $entityTypeID,
 array ,
 boolean|true $encode = true
);

Метод подготавливает поля сущности для редактирования. Метод нестатический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |
$fields | Поля сущности. |
$encode | Флаг кодировки полей. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareDataForSave

void public
\Bitrix\Crm\Conversion\LeadConversionWizard::prepareDataForSave(
 integer $entityTypeID,
 array
);

Метод подготавливает поля сущности для сохранения. Метод нестатический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |
$fields | Поля сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


remove

void public static
\Bitrix\Crm\Conversion\LeadConversionWizard::remove(
 integer $entityID
);

Метод удаляет мастер в зависимости от сущности из сессии. Метод статический.

Параметры

Параметр | Описание | Версия
$entityID | Идентификатор сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


save

void public
\Bitrix\Crm\Conversion\LeadConversionWizard::save(
);

Метод сохраняет настройки мастера в сессии. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LeadConverter

LeadConverter - класс для работы с методами конвертации лидов.

Методы класса

Метод | Описание | С версии
executePhase | Метод пытается выполнить текущую фазу конвертации. | 15.5.2
getEntityTypeID | Метод получает идентификатор типа конвертации сущности. | 15.5.2
getMap | Метод получает карту конвертации для указанного типа объекта. | 15.5.2
getMapper | Метод получает маппер (логическую схему) конвертации. | 15.5.2
initialize | Метод запускает конвертацию. | 15.5.2
mapEntityFields | Метод создает карту полей сущности для указанного типа. | 15.5.2
moveToNextPhase | Метод пытается перейти к следующему этапу конвертации. | 15.5.2


executePhase

boolean public
\Bitrix\Crm\Conversion\LeadConverter::executePhase(
);

Метод пытается выполнить текущую фазу конвертации. Метод нестатический.

Без параметров

Исключения

  • \Bitrix\Crm\Conversion\EntityConversionException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEntityTypeID

integer public
\Bitrix\Crm\Conversion\LeadConverter::getEntityTypeID(
);

Метод получает идентификатор типа конвертации сущности. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

\Bitrix\Crm\Conversion\EntityConversionMap public static
\Bitrix\Crm\Conversion\LeadConverter::getMap(
 integer $entityTypeID
);

Метод получает карту конвертации для указанного типа объекта. Метод статический.

Пробует загрузить сохраненную карту. Если карта не найдена, то будет создана карта по умолчанию.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMapper

\Bitrix\Crm\Conversion\LeadConversionMapper|null public
\Bitrix\Crm\Conversion\LeadConverter::getMapper(
);

Метод получает маппер (логическую схему) конвертации. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


initialize

void public
\Bitrix\Crm\Conversion\LeadConverter::initialize(
);

Метод запускает конвертацию. Метод нестатический.

Без параметров

Исключения

  • \Bitrix\Crm\Conversion\EntityConversionException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


mapEntityFields

array public
\Bitrix\Crm\Conversion\LeadConverter::mapEntityFields(
 integer $entityTypeID,
 array|null $options = null
);

Метод создает карту полей сущности для указанного типа. Метод нестатический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |
$options | Опции маппинга. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


moveToNextPhase

boolean public
\Bitrix\Crm\Conversion\LeadConverter::moveToNextPhase(
);

Метод пытается перейти к следующему этапу конвертации. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


QuoteConversionMapper

Класс QuoteConversionMapper отвечает за отображение полей коммерческого предложения на поля счета или сделки при конвертации. Является наследником класса \Bitrix\Crm\Conversion\EntityConversionMapper.

Методы класса

Метод | Описание | С версии
createMap | Метод cоздает карту преобразования для типа объекта назначения. | 15.5.2
getSourceFields | Метод получает поля источника. | 15.5.2
map | Метод создает карту полей сущности для указанного типа. | 15.5.2


createMap

\Bitrix\Crm\Conversion\EntityConversionMap public static
\Bitrix\Crm\Conversion\QuoteConversionMapper::createMap(
 integer $entityTypeID
);

Метод создает карту конвертации для типа сущности назначения. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности назначения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSourceFields

array public
\Bitrix\Crm\Conversion\QuoteConversionMapper::getSourceFields(
);

Метод получает поля источника. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


map

array public
\Bitrix\Crm\Conversion\QuoteConversionMapper::map(
 \Bitrix\Crm\Conversion\EntityConversionMap $map,
 array|null $options = null
);

Метод создает карту полей сущности для указанного типа. Метод нестатический.

Параметры

Параметр | Описание | Версия
$map | Карта сущности. |
$options | Опции карты. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


QuoteConversionWizard

QuoteConversionWizard - класс для поддержки конвертации коммерческого предложения в счет или сделку через форму редактирования счета/сделки.

Метод | Описание | С версии
execute | Метод запускает мастер конвертации. |
load | Метод загружает мастер в зависимости от сущности из сессии. |
prepareDataForEdit | Метод подготавливает поля сущности для редактирования. |
prepareDataForSave | Метод подготавливает поля сущности для сохранения. |
remove | Метод удаляет мастер в зависимости от сущности из сессии. |
save | Метод сохраняет настройки мастера в сессии. |


execute

boolean public
\Bitrix\Crm\Conversion\QuoteConversionWizard::execute(
 array|null $contextData = null
);

Метод запускает мастер конвертации. Метод нестатический.

Параметры

Параметр | Описание | Версия
$contextData | Контекст конвертации данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


load

\Bitrix\Crm\Conversion\QuoteConversionWizard|null public static
\Bitrix\Crm\Conversion\QuoteConversionWizard::load(
 integer $entityID
);

Метод загружает мастер в зависимости от сущности из сессии. Метод статический.

Параметры

Параметр | Описание | Версия
$entityID | Идентификатор сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareDataForEdit

void public
\Bitrix\Crm\Conversion\QuoteConversionWizard::prepareDataForEdit(
 integer $entityTypeID,
 array ,
 boolean|true $encode = true
);

Метод подготавливает поля сущности для редактирования. Метод нестатический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |
$fields | Поля сущности. |
$encode | Флаг кодировки полей. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareDataForSave

void public
\Bitrix\Crm\Conversion\QuoteConversionWizard::prepareDataForSave(
 integer $entityTypeID,
 array
);

Метод подготавливает поля сущности для сохранения. Метод нестатический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |
$fields | Поля сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


remove

void public static
\Bitrix\Crm\Conversion\QuoteConversionWizard::remove(
 integer $entityID
);

Метод удаляет мастер в зависимости от сущности из сессии. Метод статический.

Параметры

Параметр | Описание | Версия
$entityID | Идентификатор сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


save

void public
\Bitrix\Crm\Conversion\QuoteConversionWizard::save(
);

Метод сохраняет настройки мастера в сессии. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


QuoteConverter

QuoteConverter - класс для работы с методами конвертации предложений.

Методы класса

Метод | Описание | С версии
executePhase | Метод пытается выполнить текущую фазу конвертации. | 15.5.2
getEntityTypeID | Метод получает идентификатор типа конвертации сущности. | 15.5.2
getMap | Метод получает карту конвертации для указанного типа объекта. | 15.5.2
getMapper | Метод получает маппер (логическую схему) конвертации. | 15.5.2
initialize | Метод запускает конвертацию. | 15.5.2
mapEntityFields | Метод создает карту полей сущности для указанного типа. | 15.5.2
moveToNextPhase | Метод пытается перейти к следующему этапу конвертации. | 15.5.2


executePhase

boolean public
\Bitrix\Crm\Conversion\QuoteConverter::executePhase(
);

Метод пытается выполнить текущую фазу конвертации. Метод нестатический.

Без параметров

Исключения

  • \Bitrix\Crm\Conversion\EntityConversionException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEntityTypeID

integer public
\Bitrix\Crm\Conversion\QuoteConverter::getEntityTypeID(
);

Метод получает идентификатор типа конвертации сущности. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

\Bitrix\Crm\Conversion\EntityConversionMap public static
\Bitrix\Crm\Conversion\QuoteConverter::getMap(
 integer $entityTypeID
);

Метод получает карту конвертации для указанного типа объекта. Метод статический.

Пробует загрузить сохраненную карту. Если карта не найдена, то будет создана карта по умолчанию.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMapper

\Bitrix\Crm\Conversion\LeadConversionMapper|null public
\Bitrix\Crm\Conversion\QuoteConverter::getMapper(
);

Метод получает маппер (логическую схему) конвертации. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


initialize

 public
\Bitrix\Crm\Conversion\QuoteConverter::initialize(
);

Метод запускает конвертацию. Метод нестатический.

Без параметров

Исключения

  • \Bitrix\Crm\Conversion\EntityConversionException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


mapEntityFields

array public
\Bitrix\Crm\Conversion\QuoteConverter::mapEntityFields(
 integer $entityTypeID,
 array|null $options = null
);

Метод создает карту полей сущности для указанного типа. Метод нестатический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |
$options | Опции маппинга. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


moveToNextPhase

boolean public
\Bitrix\Crm\Conversion\QuoteConverter::moveToNextPhase(
);

Метод пытается перейти к следующему этапу конвертации. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Entity

Пространство имён \Bitrix\Crm\Entity содержит классы для работы с сущностями.

Класс | Описание | С версии
EntityEditor | Класс содержит методы для редактирования сущностей. |


EntityEditor

Класс EntityEditor содержит методы для редактирования сущностей.

Методы класса

Метод | Описание | С версии
[link=7164199]getUserSelectorContext [/link] | Метод получает контекст выбора пользователя. |
[link=7164195]internalizeMultifieldData[/link] | Метод подготавливает многопользовательские данные для сохранения в целевом объекте. |
[link=7164203]registerSelectedUser[/link] | Метод сохраняет выбранного пользователя в API-интерфейсе Finder. |


getUserSelectorContext

string public static
\Bitrix\Crm\Entity\EntityEditor::getUserSelectorContext(
);

Метод получает контекст выбора пользователя. Может использоваться в CSocNetLogDestination::GetDestinationSort. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


internalizeMultifieldData

 public static
\Bitrix\Crm\Entity\EntityEditor::internalizeMultifieldData(
 array $data,
 array $entityFields
);

Метод подготавливает многопользовательские данные для сохранения в целевом объекте. Метод статический.

Параметры

Параметр | Описание | Версия
$data | Источник данных. |
$entityFields | Поля сущности-цели. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


registerSelectedUser

void public static
\Bitrix\Crm\Entity\EntityEditor::registerSelectedUser(
 integer $userID
);

Метод сохраняет выбранного пользователя в API-интерфейсе Finder. Метод статический.

Параметры

Параметр | Описание | Версия
$userID | Идентификатор пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


EntityAddress

Класс EntityAddress отвечает за хранение адресов сущностей.

Методы класса

Метод | Описание | С версии
areEquals | Метод проверяет совпадение адресов. |
isEmpty | Метод проверяет, является ли адрес пустым. |


areEquals

boolean public static
\Bitrix\Crm\EntityAddress::areEquals(
 array $a,
 array $b
);

Метод проверяет совпадение адресов. Метод статический.

Параметры

Параметр | Описание | Версия
$a | Первый адрес. |
$b | Второй адрес. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isEmpty

boolean public static
\Bitrix\Crm\EntityAddress::isEmpty(
 array $fields
);

Метод проверяет, является ли адрес пустым. Метод статический.

Параметры

Параметр | Описание | Версия
$fields | Поля адреса. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


EntityBankDetail

Класс EntityBankDetail предназначен для работы с банковскими реквизитами.

Методы класса

Метод | Описание | С версии
parseFormData | Метод разбирает данные формы, представленные в виде массива, из указанного источника. |


parseFormData

array public static
\Bitrix\Crm\EntityBankDetail::parseFormData(
 array $formData
);

Метод разбирает данные формы, представленные в виде массива, из указанного источника. Метод статический.

Параметры

Параметр | Описание | Версия
$formData | Источник данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


EntityRequisite

Класс EntityRequisite предназначен для работы с реквизитами сущности.

Методы класса

Метод | Описание | С версии
getAddresses | Метод загружает адреса сущности. |
parseFormData | Метод разбирает данные формы, представленные в виде массива, из указанного источника. |
rebind | Метод отвязывает реквизиты от сущности-источника и привязывает к сущности-цели. | 16.5.0


getAddresses

array public static
\Bitrix\Crm\EntityRequisite::getAddresses(
 integer $id
);

Метод загружает адреса сущности. Метод статический.

Параметры

Параметр | Описание | Версия
$id | Идентификатор сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


parseFormData

array public static
\Bitrix\Crm\EntityRequisite::parseFormData(
 array $formData
);

Метод разбирает данные формы, представленные в виде массива, из указанного источника. Метод статический.

Параметры

Параметр | Описание | Версия
$formData | Источник данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


rebind

void public static
\Bitrix\Crm\EntityRequisite::rebind(
 integer $entityTypeID,
 integer $seedID,
 integer $targID
);

Метод отвязывает реквизиты от сущности-источника и привязывает к сущности-цели. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |
$seedID | Идентификатор сущности-источника. |
$targID | Идентификатор сущности-цели. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Entry

Пространство имён \Bitrix\Crm\Entry содержит классы для хранения отдельных записей.

Класс | Описание | С версии
EntryException | Класс отвечает за хранение об особых ситуациях. |


EntryException

Класс EntryException отвечает за хранение записей об особых ситуациях.

Методы класса

Метод | Описание | С версии
getLocalizedMessage | Метод получает локализованное сообщение об ошибке |


getLocalizedMessage

string public
\Bitrix\Crm\Entry\EntryException::getLocalizedMessage(
);

Метод получает локализованное сообщение об ошибке. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Integration

Пространство имён \Bitrix\Crm\Integration содержит классы для для взаимодействия с другими модулями - интеграции.

Класс | Описание | С версии
Bitrix24Manager | Класс-обёртка для размещения логики взаимодействия с модулем Б24 | 16.1.0
Channel | Подпространство имён для работы с каналами коммуникаций с клиентами | 17.0.2
EmailManager | Класс-обёртка для размещения логики взаимодействия с почтой | 16.5.9
IntranetManager | Класс-обёртка для размещения логики взаимодействия с модулем Интранет | 15.1.2


Bitrix24Manager

Bitrix24Manager - класс-обёртка для размещения логики взаимодействия с модулем Б24.

Методы класса

Метод | Описание | С версии
getDealCategoryCount | Метод получает максимально допустимое количество Направлений Сделок. | 16.5.0
getDemoLicensePageUrl | Метод получает URL для страницы "Бесплатная 30-дневная пробная версия". |
getLicenseListPageUrl | Метод получает URL для страницы "Выберите тарифный план Bitrix24". |
hasDemoLicense | Метод проверяет, имеет ли портал бесплатную лицензию. |
hasNfrLicense | Метод проверят, имеет ли портал NFR-лицензию. |
hasPurchasedDiskSpace | Метод проверяет, поступала ли с портала оплата за дополнительное дисковое пространство. |
hasPurchasedLicense | Метод проверяет, имеется ли у портала платная лицензия. |
hasPurchasedUsers | Метод проверяет, поступала ли с портала оплата за дополнительных пользователей. |
isAccessEnabled | Метод проверяет доступность типов сущностей в соответствии с ограничениями на портале. |
isPaidAccount | Метод проверяет, доступен ли менеджер взаимодействия с модулем Б24. |
isPaidAccount | Метод проверяет, поступала ли с портала оплата за лицензию, дополнительных пользователей, дисковое пространство или SIP-функции. |
isRestBizProcEnabled | Метод проверяет, включены ли бизнес-процессы для REST API. |
isUnlimitedAccess | Метод проверяет, имеет ли пользователь неограниченный доступ к порталу. |
prepareLicenseInfoHtml | Метод подготавливает HTML-страницу с информацией о приобретении лицензии. |
prepareLicenseInfoPopupScript | Метод подготавливает JavaScript для информации о приобретении лицензии. |


getDealCategoryCount

integer public static
\Bitrix\Crm\Integration\Bitrix24Manager::getDealCategoryCount(
);

Метод получает максимально допустимое количество Направлений Сделок. Метод статический.

Без параметров

Исключения

  • \Bitrix\Main\LoaderException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDemoLicensePageUrl

string public static
\Bitrix\Crm\Integration\Bitrix24Manager::getDemoLicensePageUrl(
);

Метод получает URL для страницы "Бесплатная 30-дневная пробная версия". Метод статический.

Без параметров

Исключения

  • \Bitrix\Main\LoaderException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLicenseListPageUrl

string public static
\Bitrix\Crm\Integration\Bitrix24Manager::getLicenseListPageUrl(
);

Метод получает URL для страницы "Выберите тарифный план Bitrix24". Метод статический.

Без параметров

Исключения

  • \Bitrix\Main\LoaderException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


hasDemoLicense

boolean public static
\Bitrix\Crm\Integration\Bitrix24Manager::hasDemoLicense(
);

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

Без параметров

Исключения

  • \Bitrix\Main\LoaderException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


hasNfrLicense

boolean public static
\Bitrix\Crm\Integration\Bitrix24Manager::hasNfrLicense(
);

Метод проверят, имеет ли портал NFR-лицензию. Метод статический.

Без параметров

Исключения

  • \Bitrix\Main\LoaderException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


hasPurchasedDiskSpace

boolean public static
\Bitrix\Crm\Integration\Bitrix24Manager::hasPurchasedDiskSpace(
);

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

Без параметров

Исключения

  • \Bitrix\Main\LoaderException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


hasPurchasedLicense

boolean public static
\Bitrix\Crm\Integration\Bitrix24Manager::hasPurchasedLicense(
);

Метод проверяет, имеется ли у портала платная лицензия. Метод статический.

Без параметров

Исключения

  • \Bitrix\Main\LoaderException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


hasPurchasedUsers

boolean public static
\Bitrix\Crm\Integration\Bitrix24Manager::hasPurchasedUsers(
);

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

Без параметров

Исключения

  • \Bitrix\Main\LoaderException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isAccessEnabled

boolean public static
\Bitrix\Crm\Integration\Bitrix24Manager::isAccessEnabled(
 integer $entityTypeID,
 integer $userID
);

Метод проверяет доступность типов сущностей в соответствии с ограничениями на портале. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |
$userID | Идентификатор пользователя (если не определен, то будет использован текущий идентификатор пользователя). |

Исключения

  • \Bitrix\Main\ArgumentOutOfRangeException
  • \Bitrix\Main\LoaderException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isEnabled

boolean public static
\Bitrix\Crm\Integration\Bitrix24Manager::isEnabled(
);

Метод проверяет, доступен ли менеджер взаимодействия с модулем Б24. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isPaidAccount

boolean public static
\Bitrix\Crm\Integration\Bitrix24Manager::isPaidAccount(
);

Метод проверяет, поступала ли с портала оплата за лицензию, дополнительных пользователей, дисковое пространство или SIP-функции. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isRestBizProcEnabled

boolean public static
\Bitrix\Crm\Integration\Bitrix24Manager::isRestBizProcEnabled(
);

Метод проверяет, включены ли бизнес-процессы для REST API. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isUnlimitedAccess

boolean public static
\Bitrix\Crm\Integration\Bitrix24Manager::isUnlimitedAccess(
 integer $userID
);

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

Параметры

Параметр | Описание | Версия
$userID | Идентификатор пользователя (если не определен, то будет использован текущий идентификатор пользователя). |

Исключения

  • \Bitrix\Main\LoaderException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareLicenseInfoHtml

string public static
\Bitrix\Crm\Integration\Bitrix24Manager::prepareLicenseInfoHtml(
 array $params
);

Метод подготавливает HTML-страницу с информацией о приобретении лицензии. Метод статический.

Параметры

Параметр | Описание | Версия
$params | Параметры всплывающего окна. |

Исключения

  • \Bitrix\Main\LoaderException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareLicenseInfoPopupScript

string public static
\Bitrix\Crm\Integration\Bitrix24Manager::prepareLicenseInfoPopupScript(
 array $params
);

Метод подготавливает JavaScript для информации о приобретении лицензии. Метод статический.

Параметры

Параметр | Описание | Версия
$params | Параметры попапа. |

Исключения

  • \Bitrix\Main\LoaderException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Channel

Подпространство имён \Bitrix\Crm\Integration\Channel содержит классы для работы с каналами коммуникаций с клиентами.

Класс | Описание | С версии
ActivityChannelBinding | Класс для привязки канала дела |
ChannelTracker | Класс для настройки каналов коммуникаций |
ChannelTrackerAggregator | Класс для группирования каналов коммуникаций |
ChannelTrackerManager | Класс для управления каналами коммуникаций |
DealChannelBinding | Класс для привязки канала сделки |
LeadImportTracker | Класс предназначен для импорта лидов |


ActivityChannelBinding

Класс ActivityChannelBinding служит для привязки канала дела.

Методы класса

Метод | Описание | С версии
exists | Метод проверяет, имеет ли указанное дело привязки к каналу. |
getAll | Метод получает все привязки к каналам для указанного дела. |
register | Метод регистрирует привязку к каналу для указанного дела. |
synchronize | Метод синхронизирует статистику дела. |
unregister | Метод отменяет привязку к каналу для указанного дела. |
unregisterAll | Метод отменяет привязки всех каналов к указанному делу. |


exists

boolean public static
\Bitrix\Crm\Integration\Channel\ActivityChannelBinding::exists(
 integer $ID
);

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

Параметры

Параметр | Описание | Версия
$ID | Идентификатор дела. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAll

array public static
\Bitrix\Crm\Integration\Channel\ActivityChannelBinding::getAll(
 integer $ID
);

Метод получает все привязки к каналам для указанного дела. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор дела. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


register

void public static
\Bitrix\Crm\Integration\Channel\ActivityChannelBinding::register(
 integer $ID,
 \Bitrix\Crm\Integration\Channel\ChannelType $typeID,
 array $params = null
);

Метод регистрирует привязку к каналу для указанного дела. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор дела. |
$typeID | Идентификатор типа канала. |
$params | Массив параметров связывания. Например, ORIGIN_ID и COMPONENT_ID. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


synchronize

 public static
\Bitrix\Crm\Integration\Channel\ActivityChannelBinding::synchronize(
 integer $ID,
 array $fields
);

Метод синхронизирует статистику дела. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор дела. |
$fields | Поля дела. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unregister

void public static
\Bitrix\Crm\Integration\Channel\ActivityChannelBinding::unregister(
 integer $ID,
 \Bitrix\Crm\Integration\Channel\ChannelType $typeID
);

Метод отменяет привязку к каналу для указанного дела. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор дела. |
$typeID | Идентификатор типа канала. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unregisterAll

void public static
\Bitrix\Crm\Integration\Channel\ActivityChannelBinding::unregisterAll(
 integer $ID
);

Метод отменяет привязки всех каналов к указанному делу. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор дела. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ChannelTracker

Класс ChannelTracker предназначен для настройки каналов коммуникаций.

Методы класса

Метод | Описание | С версии
[link=5105359]getTypeID[/link] | Метод получает идентификатор типа канала. |
[link=5105355]initializeUserContext[/link] | Метод инициализирует трекер для использования пользователем. |
[link=5105363]prepareChannelGroupInfos[/link] | Метод создает информационные элементы группы каналов. |
[link=5105383]registerActivity[/link] | Метод регистрирует привязку к каналу для указанного дела. |
[link=5105375]registerDeal[/link] | Метод регистрирует привязку к каналу для указанной сделки. |
[link=5105367]registerLead[/link] | Метод регистрирует привязку к каналу для указанного лида. |
[link=5105387]unregisterActivity[/link] | Метод отменяет привязку к каналу для указанного дела. |
[link=5105379]unregisterDeal[/link] | Метод отменяет привязку к каналу для указанной сделки. |
[link=5105371]unregisterLead[/link] | Метод отменяет привязку к каналу для указанного лида. |


getTypeID

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Integration>Channel>ChannelTracker>getTypeID (доступен с 17.0.2)

ChannelTracker::getTypeID

integer public
\Bitrix\Crm\Integration\Channel\ChannelTracker::getTypeID(
);

Метод получает идентификатор типа канала. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


initializeUserContext

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Integration>Channel>ChannelTracker>initializeUserContext (доступен с 17.0.2)

ChannelTracker::initializeUserContext

void public
\Bitrix\Crm\Integration\Channel\ChannelTracker::initializeUserContext(
);

Метод инициализирует трекер для использования пользователем. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareChannelGroupInfos

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Integration>Channel>ChannelTracker>prepareChannelGroupInfos (доступен с 17.0.2)

ChannelTracker::prepareChannelGroupInfos

array public
\Bitrix\Crm\Integration\Channel\ChannelTracker::prepareChannelGroupInfos(
);

Метод создает информационные элементы группы каналов. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


registerActivity

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Integration>Channel>ChannelTracker>registerActivity (доступен с 17.0.2)

ChannelTracker::registerActivity

void public
\Bitrix\Crm\Integration\Channel\ChannelTracker::registerActivity(
 integer $ID,
 array $params = null
);

Метод регистрирует привязку к каналу для указанного дела. Метод нестатический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор дела. |
$params | Массив параметров привязок. Например, ORIGIN_ID и COMPONENT_ID. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


registerDeal

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Integration>Channel>ChannelTracker>registerDeal (доступен с 17.0.2)

ChannelTracker::registerDeal

void public
\Bitrix\Crm\Integration\Channel\ChannelTracker::registerDeal(
 integer $ID,
 array $params = null
);

Метод регистрирует привязку канала для указанной сделки. Метод нестатический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор сделки. |
$params | Массив параметров привязок. Например, ORIGIN_ID и COMPONENT_ID. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


registerLead

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Integration>Channel>ChannelTracker>registerLead (доступен с 17.0.2)

ChannelTracker::registerLead

void public
\Bitrix\Crm\Integration\Channel\ChannelTracker::registerLead(
 integer $ID,
 array $params = null
);

Метод регистрирует привязку к каналу для указанного лида. Метод нестатический.

Параметры

Параметр | Описание | Версия
$ID | Идентификтор лида. |
$params | Массив параметров привязок. Например, ORIGIN_ID и COMPONENT_ID. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unregisterActivity

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Integration>Channel>ChannelTracker>unregisterActivity (доступен с 17.0.2)

ChannelTracker::unregisterActivity

void public
\Bitrix\Crm\Integration\Channel\ChannelTracker::unregisterActivity(
 integer $ID
);

Метод отменяет привязку к каналу для указанного дела. Метод нестатический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор дела. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unregisterDeal

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Integration>Channel>ChannelTracker>unregisterDeal (доступен с 17.0.2)

ChannelTracker::unregisterDeal

void public
\Bitrix\Crm\Integration\Channel\ChannelTracker::unregisterDeal(
 integer $ID
);

Метод отменяет привязку к каналу для указанной сделки. Метод нестатический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор сделки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unregisterLead

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Integration>Channel>ChannelTracker>unregisterLead (доступен с 17.0.2)

ChannelTracker::unregisterLead

void public
\Bitrix\Crm\Integration\Channel\ChannelTracker::unregisterLead(
 integer $ID
);

Метод отменяет привязку к каналу для указанного лида. Метод нестатический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор лида. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ChannelTrackerAggregator

Класс ChannelTrackerAggregator предназначен для группирования каналов коммуникаций.

Методы класса

Метод | Описание | С версии
[link=5104743]getAllTrackers[/link] | Метод получает все зарегистрированные каналы коммуникаций. |
[link=5104747]getInfos[/link] | Метод получает информацию о канале. |


getAllTrackers

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Integration>Channel>ChannelTrackerAggregator>getAllTrackers (доступен с 17.0.2)

ChannelTrackerAggregator::getAllTrackers

array public static
\Bitrix\Crm\Integration\Channel\ChannelTrackerAggregator::getAllTrackers(
);

Метод получает все зарегистрированные трекеры канала. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getInfos

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Integration>Channel>ChannelTrackerAggregator>getInfos (доступен с 17.0.2)

ChannelTrackerAggregator::getInfos

array public static
\Bitrix\Crm\Integration\Channel\ChannelTrackerAggregator::getInfos(
);

Метод получает информацию о канале. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ChannelTrackerManager

Класс ChannelTrackerManager предназначен для управления каналами коммуникаций.

Методы класса

Метод | Описание | С версии
[link=5105163]getAllTrackers[/link] | Метод получает все зарегистрированные трекеры канала. |
[link=5105183]getGroupInfo[/link] | Метод получает информацию по группе по идентификатору. |
[link=5105179]getGroupInfos[/link] | Метод получает информацию о группах каналов. |
[link=5105175]getInfos[/link] | Метод получает информацию о канале. |
[link=5105167]getTrackerByType[/link] | Метод получает трекер канала по идентификатору типа. |
[link=5105171]initializeUserContext[/link] | Метод инициализирует включенные трекеры для использования пользователем. |
[link=5105191]prepareChannelCaption[/link] | Метод получает заголовок канала. |
[link=5105187]prepareChannelKey[/link] | Метод получает ключ канала. |


getAllTrackers

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Integration>Channel>ChannelTrackerManager>getAllTrackers (доступен с 16.5.9)

ChannelTrackerManager::getAllTrackers

array public static
\Bitrix\Crm\Integration\Channel\ChannelTrackerManager::getAllTrackers(
);

Метод получает все зарегистрированные трекеры канала. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getGroupInfo

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Integration>Channel>ChannelTrackerManager>getGroupInfo (доступен с 17.0.2)

ChannelTrackerManager::getGroupInfo

\Bitrix\Crm\Integration\Channel\IChannelGroupInfo|null public static
\Bitrix\Crm\Integration\Channel\ChannelTrackerManager::getGroupInfo(
 string $groupID
);

Метод получает информацию по группе по идентификатору. Метод статический.

Параметры

Параметр | Описание | Версия
$groupID | Идентификатор группы. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getGroupInfos

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Integration>Channel>ChannelTrackerManager>getGroupInfos (доступен с 17.0.2)

ChannelTrackerManager::getGroupInfos

array public static
\Bitrix\Crm\Integration\Channel\ChannelTrackerManager::getGroupInfos(
);

Метод получает информацию о группах каналов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getInfos

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Integration>Channel>ChannelTrackerManager>getInfos (доступен с 17.0.2)

ChannelTrackerManager::getInfos

array public static
\Bitrix\Crm\Integration\Channel\ChannelTrackerManager::getInfos(
);

Метод получает информацию о канале. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTrackerByType

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Integration>Channel>ChannelTrackerManager>getTrackerByType (доступен с 17.0.2)

ChannelTrackerManager::getTrackerByType

\Bitrix\Crm\Integration\Channel\IChannelTracker|null public static
\Bitrix\Crm\Integration\Channel\ChannelTrackerManager::getTrackerByType(
 integer $typeID
);

Метод получает трекер канала по идентификатору типа. Метод статический.

Параметры

Параметр | Описание | Версия
$typeID | Идентификатор типа канала. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


initializeUserContext

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Integration>Channel>ChannelTrackerManager>initializeUserContext (доступен с 17.0.2)

ChannelTrackerManager::initializeUserContext

void public static
\Bitrix\Crm\Integration\Channel\ChannelTrackerManager::initializeUserContext(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareChannelCaption

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Integration>Channel>ChannelTrackerManager>prepareChannelCaption (доступен с 17.0.2)

ChannelTrackerManager::prepareChannelCaption

string public static
\Bitrix\Crm\Integration\Channel\ChannelTrackerManager::prepareChannelCaption(
 integer $typeID,
 array|null $params = null
);

Метод получает заголовок канала. Метод статический.

Параметры

Параметр | Описание | Версия
$typeID | Идентификатор типа канала. |
$params | Параметры канала. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareChannelKey

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Integration>Channel>ChannelTrackerManager>prepareChannelKey (доступен с 17.0.2)

ChannelTrackerManager::prepareChannelKey

string public static
\Bitrix\Crm\Integration\Channel\ChannelTrackerManager::prepareChannelKey(
 integer $typeID,
 array|null $params = null
);

Метод получает ключ канала. Метод статический.

Параметры

Параметр | Описание | Версия
$typeID | Идентификатор типа канала. |
$params | Параметры канала. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DealChannelBinding

Класс DealChannelBinding служит для привязки канала сделки.

Методы класса

Метод | Описание | С версии
[link=5104851]exists[/link] | Метод проверяет, имеет ли указанная сделка привязки к каналу. |
[link=5104847]getAll[/link] | Метод получает все привязки к каналам для указанной сделки. |
[link=5104855]register[/link] | Метод регистрирует привязку к каналу для указанной сделки. |
[link=5104859]synchronize[/link] | Метод синхронизирует статистику сделки. |
[link=5104863]unregister[/link] | Метод отменяет привязку к каналу для указанной сделки. |
[link=5104867]unregisterAll[/link] | Метод отменяет привязки всех каналов к указанной сделке. |


exists

boolean public static
\Bitrix\Crm\Integration\Channel\DealChannelBinding::exists(
 integer $ID
);

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

Параметры

Параметр | Описание | Версия
$ID | Идентификатор сделки. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAll

array public static
\Bitrix\Crm\Integration\Channel\DealChannelBinding::getAll(
 integer $ID
);

Метод получает все привязки к каналам для указанной сделки. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор сделки. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


register

void public static
\Bitrix\Crm\Integration\Channel\DealChannelBinding::register(
 integer $ID,
 \Bitrix\Crm\Integration\Channel\ChannelType $typeID,
 array $params = null
);

Метод регистрирует привязку к каналу для указанной сделки. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор сделки. |
$typeID | Идентификатор типа канала. |
$params | Массив параметров связывания. Например, ORIGIN_ID и COMPONENT_ID. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


synchronize

 public static
\Bitrix\Crm\Integration\Channel\DealChannelBinding::synchronize(
 integer $ID,
 array $fields
);

Метод синхронизирует статистику сделки. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор сделки. |
$fields | Поля сделки. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unregister

void public static
\Bitrix\Crm\Integration\Channel\DealChannelBinding::unregister(
 integer $ID,
 \Bitrix\Crm\Integration\Channel\ChannelType $typeID
);

Метод отменяет привязку к каналу для указанной сделки. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор сделки. |
$typeID | Идентификатор типа канала. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unregisterAll

void public static
\Bitrix\Crm\Integration\Channel\DealChannelBinding::unregisterAll(
 integer $ID
);

Метод отменяет привязки всех каналов к указанной сделке. Метод статический.

Параметры

Параметр | Описание | Версия
$ID | Идентификатор сделки. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LeadImportTracker

Класс LeadImportTracker предназначен для импорта лидов.

Методы класса

Метод | Описание | С версии
checkConfigurationPermission | Метод проверяет, имеет ли текущий пользователь права на настройку импорта лидов. |
getInstance | Статический метод возвращает текущий экземпляр класса \LeadImportTracker. |
getUrl | Метод получает URL страницы импорта лидов. |
isEnabled | Метод проверяет, доступен ли импорт лидов. |
isInUse | Метод проверяет, используется ли импорт лидов. |
prepareCaption | Метод получает заголовок канала. |
prepareChannelGroupInfos | Метод создает информационные элементы группы каналов. |
prepareChannelInfos | Метод создает элементы информационного канала. |
registerInstance | Метод добавляет экземпляр \LeadImportTracker в коллекцию. |


checkConfigurationPermission

boolean public
\Bitrix\Crm\Integration\Channel\LeadImportTracker::checkConfigurationPermission(
 array $params = null
);

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

Параметры

Параметр | Описание | Версия
$params | Массив параметров канала. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getInstance

\Bitrix\Crm\Integration\Channel\LeadImportTracker public static
\Bitrix\Crm\Integration\Channel\LeadImportTracker::getInstance(
);

Статический метод возвращает текущий экземпляр класса \LeadImportTracker.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUrl

string public
\Bitrix\Crm\Integration\Channel\LeadImportTracker::getUrl(
 array $params = null
);

Метод получает URL страницы импорта лидов. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Массив параметров канала. |

Исключения

  • \Bitrix\Main\ArgumentNullException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isEnabled

boolean public
\Bitrix\Crm\Integration\Channel\LeadImportTracker::isEnabled(
);

Метод проверяет, доступен ли импорт лидов. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isInUse

boolean public
\Bitrix\Crm\Integration\Channel\LeadImportTracker::isInUse(
 array $params = null
);

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

Параметры

Параметр | Описание | Версия
$params | Массив параметров канала. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareCaption

string public
\Bitrix\Crm\Integration\Channel\LeadImportTracker::prepareCaption(
 array|null $params = null
);

Метод получает заголовок канала. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Массив параметров канала. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareChannelGroupInfos

array public
\Bitrix\Crm\Integration\Channel\LeadImportTracker::prepareChannelGroupInfos(
);

Метод создает информационные элементы группы каналов. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareChannelInfos

array public
\Bitrix\Crm\Integration\Channel\LeadImportTracker::prepareChannelInfos(
);

Метод создает элементы информационного канала. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


registerInstance

 public static
\Bitrix\Crm\Integration\Channel\LeadImportTracker::registerInstance(
 array $instances
);

Метод добавляет экземпляр \LeadImportTracker в коллекцию. Метод статический.

Параметры

Параметр | Описание | Версия
$instances | Целевая коллекция. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


EmailManager

EmailManager - класс-обёртка для размещения логики взаимодействия с почтой.

Методы класса

Метод | Описание | С версии
[link=4417153]checkConfigurationPermission [/link] | Метод проверят, имеет ли текущий пользователь права на настройку почты. |
[link=4417149]getUrl[/link] | Метод получает URL сервиса. |
[link=4417141]isEnabled[/link] | Метод проверяет, доступен ли менеджер взаимодействия с модулем почты. |
[link=4417145]isInUse[/link] | Метод проверяет, используется ли телефония. |


checkConfigurationPermission

boolean public static
\Bitrix\Crm\Integration\EmailManager::checkConfigurationPermission(
);

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

Без параметров.

Исключения

  • \Bitrix\Main\LoaderException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUrl

string public static
\Bitrix\Crm\Integration\EmailManager::getUrl(
);

Метод получает URL сервиса. Метод статический.

Без параметров.

Исключения

  • \Bitrix\Main\LoaderException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isEnabled

boolean public static
\Bitrix\Crm\Integration\EmailManager::isEnabled(
);

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

Без параметров.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isInUse

boolean public static
\Bitrix\Crm\Integration\EmailManager::isInUse(
);

Метод проверяет, используется ли телефония. Метод статический.

Без параметров.

Исключения

  • \Bitrix\Main\LoaderException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


IntranetManager

IntranetManager - класс-обёртка для размещения логики взаимодействия с модулем Интранет.

Методы класса

Метод | Описание | С версии
[link=1914881]isExternalUser[/link] | Метод проверяет, является ли пользователь пользователем Экстранет. | 15.5.0
[link=1914877]isSupervisor[/link] | Метод проверяет, является ли пользователь руководителем какого-либо отдела компании. | 15.1.2


isExternalUser

boolean public static
\Bitrix\Crm\Integration\IntranetManager::isExternalUser(
 integer $userID
);

Метод проверяет, является ли пользователь пользователем Экстранет. Метод статический.

Параметры

Параметр | Описание | Версия
$userID | Идентификатор пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isSupervisor

boolean public static
\Bitrix\Crm\Integration\IntranetManager::isSupervisor(
 integer $userID
);

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

Параметры

Параметр | Описание | Версия
$userID | Идентификатор пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Integrity

Пространство имён \Bitrix\Crm\Integrity содержит классы для контроля, поиска, отслеживания и объединения дубликатов.

Контроль дубликатов производится на основе индекса дубликатов. Индекс пополняется по трем направлениям: PERSON (по фамилии, имени и отчеству), ORGANIZATION (по названию) и COMMUNICATION (телефон, email). Каждое направление управляет записями своих типов. Типы записей определяются методом getSupportedDedupeTypes.

Класс | Описание | С версии
DuplicateCommunicationCriterion | Класс для хранения признаков сравнения коммуникаций. |
DuplicateIndexType | Класс для работы с индексом дубликатов. |
DuplicateManager | Класс для управления дубликатами. |
DuplicateOrganizationCriterion | Класс для хранения признаков сравнения названий организаций. |
DuplicatePersonCriterion | Класс для хранения признаков сравнения имен клиентов. |


DuplicateCommunicationCriterion

DuplicateCommunicationCriterion - класс для хранения признаков сравнения коммуникаций..

Методы класса

Метод | Описание | С версии
[link=3622851]getSupportedDedupeTypes[/link] | Метод получает записи, поддерживаемые системой дедупликации. |


getSupportedDedupeTypes

array public static
\Bitrix\Crm\Integrity\DuplicateCommunicationCriterion::getSupportedDedupeTypes(
);

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

Все возможные типы дубликатов описывает класс DuplicateIndexType.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DuplicateIndexType

Класс DuplicateIndexType описывает все возможные типы дубликатов.

Типы дубликатов могут быть:

  • одиночные (настоящие, простые, базовые). Например, ORGANIZATION; COMMUNICATION_PHONE; COMMUNICATION_EMAIL
  • множественные (псевдотипы, типы-группировки, составные). Например, COMMUNICATION состоит из COMMUNICATION_PHONE + COMMUNICATION_EMAIL; DENOMINATION; ALL

Методы класса

Метод | Описание | С версии
[link=3622833]convertFromCommunicationType[/link] | Метод пытается конвертировать тип коммуникации в тип индекса дубликатов. |
[link=3622813]getAllDescriptions[/link] | Метод получает все описания типов. |
[link=3622829]getSupportedTypes[/link] | Метод получает поддерживаемые типы для указанного типа объекта. |
[link=3622797]isDefined[/link] | Метод проверяет, определен ли тип в индексе дубликатов. |
[link=3622817]isSigle[/link] | Метод проверяет, является ли тип не множественным. |
[link=3622821]joinType[/link] | Метод конвертирует список записей в множественную запись идентификаторов. |
[link=3622805]resolveID[/link] | Метод ищет идентификатор записи (первое вхождение) по имени. |
[link=3622801]resolveName[/link] | Метод ищет имя записи (первое вхождение) по идентификатору. |
[link=3622825]splitType[/link] | Метод преобразует множественную запись идентификаторов в список записей. |


convertFromCommunicationType

\Bitrix\Crm\Integrity\DuplicateIndexType public static
\Bitrix\Crm\Integrity\DuplicateIndexType::convertFromCommunicationType(
 \Bitrix\Crm\CommunicationType $commTypeID
);

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

Параметры

Параметр | Описание | Версия
$commTypeID | Тип коммуникации источника. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAllDescriptions

array public static
\Bitrix\Crm\Integrity\DuplicateIndexType::getAllDescriptions(
);

Метод получает все описания типов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSupportedTypes

deprecated
array public static
\Bitrix\Crm\Integrity\DuplicateIndexType::getSupportedTypes(
 integer $entityTypeID
);

Метод получает поддерживаемые типы для указанного типа объекта. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |

См. также

  • \Bitrix\Crm\Integrity\:

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isDefined

boolean public static
\Bitrix\Crm\Integrity\DuplicateIndexType::isDefined(
 integer $typeID
);

Метод проверяет, определен ли тип в индексе дубликатов. Метод статический.

Параметры

Параметр | Описание | Версия
$typeID | Идентификатор типа. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isSigle

boolean public static
\Bitrix\Crm\Integrity\DuplicateIndexType::isSigle(
 integer $typeID
);

Метод проверяет, является ли тип не множественным. Метод статический.

Параметры

Параметр | Описание | Версия
$typeID | Идентификатор записи. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


joinType

integer public static
\Bitrix\Crm\Integrity\DuplicateIndexType::joinType(
 array $typeIDs
);

Метод конвертирует список записей в множественную запись идентификаторов. Метод статический.

Параметры

Параметр | Описание | Версия
$typeIDs | Список идентификаторов записей. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


resolveID

integer public static
\Bitrix\Crm\Integrity\DuplicateIndexType::resolveID(
 string $typeName
);

Метод ищет идентификатор записи (первое вхождение) по имени. Метод статический.

Параметры

Параметр | Описание | Версия
$typeName | Имя записи (одиночное или множественное). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


resolveName

string public static
\Bitrix\Crm\Integrity\DuplicateIndexType::resolveName(
 integer $typeID
);

Метод ищет имя записи (первое вхождение) по идентификатору. Метод статический.

Параметры

Параметр | Описание | Версия
$typeID | Идентификатор записи. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


splitType

array public static
\Bitrix\Crm\Integrity\DuplicateIndexType::splitType(
 integer $typeID
);

Метод преобразует множественную запись идентификаторов в список записей. Метод статический.

Параметры

Параметр | Описание | Версия
$typeID | Запись идентификаторов. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DuplicateManager

DuplicateManager - класс для управления дубликатами.

Методы класса

Метод | Описание | С версии
[link=3622789]getSupportedDedupeTypes[/link] | Метод получает поддерживаемые классом типы дубликатов. |


getSupportedDedupeTypes

array public static
\Bitrix\Crm\Integrity\DuplicateManager::getSupportedDedupeTypes(
 integer $entityTypeID
);

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

Все возможные типы дубликатов описывает класс DuplicateIndexType.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DuplicateOrganizationCriterion

DuplicateOrganizationCriterion - класс для хранения признаков сравнения названий организаций.

Методы класса

Метод | Описание | С версии
[link=3622861]getSupportedDedupeTypes[/link] | Метод получает записи, поддерживаемые системой дедупликации. |


getSupportedDedupeTypes

array public static
\Bitrix\Crm\Integrity\DuplicateOrganizationCriterion::getSupportedDedupeTypes(
);

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

Все возможные типы дубликатов описывает класс DuplicateIndexType.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DuplicatePersonCriterion

DuplicatePersonCriterion - класс для хранения признаков сравнения имен клиентов.

Методы класса

Метод | Описание | С версии
[link=3622841]getSupportedDedupeTypes[/link] | Метод получает записи, поддерживаемые системой дедупликации. |


getSupportedDedupeTypes

array public static
\Bitrix\Crm\Integrity\DuplicatePersonCriterion::getSupportedDedupeTypes(
);

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

Все возможные типы дубликатов описывает класс DuplicateIndexType.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


InvoiceTable

Класс InvoiceTable предназначен для работы с таблицей счетов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
[link=3622967]redeterminePaySystem[/link] | Метод переопределяет информацию о платежной системе в счете. |


redeterminePaySystem

void public static
\Bitrix\Crm\InvoiceTable::redeterminePaySystem(
 \Bitrix\Main\Entity\Event $event
);

Обработчик события OnSalePsServiceProcessRequestBeforePaid.

Метод переопределяет информацию о платежной системе в счете. Метод статический.

Параметры

Параметр | Описание | Версия
$event | Объект события. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Kanban

Пространство имён \Bitrix\Crm\Kanban содержит классы для работы с канбаном.

Класс | Описание | С версии
Entity | Класс для работы с сущностями. | 20.5.500
Helper | Класс для работы с фильтром и гридом канбана. |
SortTable | Класс для работы с таблицей сортировки. | 17.0.4
SupervisorTable | Класс для для работы с таблицами [dw]супервизоров.[/dw][di]Супервизор - программа или комплекс программ, предназначенные для организации многопрограммного режима работы вычислительной системы.[/di] | 17.0.8


Entity

Канбан - универсальное представление сущностей. И за представление всех типов отвечает один и тот же компонент - crm.kanban.

С версии 20.5.500 модуля CRM большая часть сущностно-зависимых вещей вынесена в отдельное пространство имен \Bitrix\Crm\Kanban\Entity.

Конкретный экземпляр в зависимости от типа сущности получается через метод getInstance().

Внутри этот метод получает экземпляр через ServiceLocator.

Соответственно, с помощью метода ServiceLocator::addInstance() можно переопределить используемый класс, чтобы изменить его поведение.

Методы

Метод | Описание | С версии
getTypeName(): string | Метод вернет строковый идентификатор типа сущности (например, DEAL для сделок).
getTypeId(): int | Метод вернет числовой идентификатор типа сущности (например, 2 для сделок).
getStatusEntityId(): string | Метод вернет идентификатор сущности для работы со стадиями (таблица b_crm_status).
getItemsSelectPreset(): array | Метод вернет список полей по умолчанию для выбора из таблицы элементов сущностей.
isCategoriesSupported(): bool | Метод вернет true, если тип сущности поддерживает работу с направлениями.
isRestPlacementSupported(): bool | Метод вернет true, если тип сущности поддерживает встройку приложений в канбан.
isCustomPriceFieldsSupported(): bool | Метод вернет true, если тип сущности поддерживает кастомное поля для сумм.
isInlineEditorSupported(): bool | Метод вернет true, если тип сущности поддерживает быстрое создание элемента в канбане.
isEntitiesLinksInFilterSupported(): bool | Метод вернет true, если тип сущности имеет поля со связями с другими сущностями в фильтре.
isOverdueFilterSupported(): bool | Метод вернет true, если тип сущности имеет чекбокс "просрочено" в фильтре.
isActivityCountersFilterSupported(): bool | Метод вернет true, если элементы типа сущности могут фильтроваться по счетчикам.
isRecurringSupported(): bool | Метод вернет true, если тип сущности поддерживает повторность.
hasOwnMultiFields(): bool | Метод вернет true, если тип сущности имеет собственные мульти поля.
isActivityCountersSupported(): bool | Метод вернет true, если тип сущности имеет счетчики.
isExclusionSupported(): bool | Метод вернет true, если тип сущности поддерживает добавление в список исключений.
isNeedToRunAutomation(): bool | Метод вернет true, если после изменения элемента сущности нужно запускать автоматизацию.
getCloseDateFieldName(): string | Метод возвращает поле, где содержится дата закрытия элемента сущности.
getEditorConfigId(): string | Метод вернет строковый идентификатор настроек универсального редактора элемента этой сущности.
hasOpenedField(): bool | Метод вернет true если элементы этого типа сущности имеют поле "Доступно для всех".
removeUserAdditionalSelectFields(): bool | Очищает настройки карточки просмотра для текущего пользователя.
resetAdditionalSelectFields(bool $canEditCommon): bool Очищает настройки карточки просмотра для всех пользователей.
Параметр | Описание
$canEditCommon | Имеет ли пользователь права на изменение общих настроек.
saveAdditionalFields(array $fields, string $type, bool $canEditCommon): bool Сохраняет настройки карточки просмотра или быстрой формы редактирования.
Параметр | Описание
$fields | Набор полей.
$type | тип настроек. Может быть view или edit.
$canEditCommon | Имеет ли пользователь права на изменение общих настроек.
getAdditionalSelectFields(): bool | Возвращает набор дополнительных полей для выборки из базы данных элементов сущности.
getAdditionalEditFields(): array | Возращает дополнительные поля для быстрой формы редактирования.
getCustomPriceFieldName(): ?string | Возвращает дополнительное поле для хранений суммы, если оно задано.
getStageFieldName(): string | Возвращает имя поля, где хранится идентификатор стадии у элемента.
getInlineEditorParameters(): array | Возвращает массив с настройками редактора быстрой формы создания.
getUserFields(): array | Возвращает описания пользовательских полей элементов сущности.
getRequiredFieldsByStages(array $stages): array Метод вернет набор обязательных полей, где ключ - имя поля, а значение - массив идентификаторов стадий, где это поле является обязательным.
Параметр | Описание
$stages | Массив с описанием стадий.
fillStageTotalSums(array $filter, array $runtime, array &$stages): void
Параметр | Описание
$filter | Фильтр канбана.
$runtime | Runtime-поля для фильтра канбана.
$stages | Описание стадий.

Метод заполнит итоговые суммы у стадий.

  • count - количество элементов
  • total - итоговая сумма в виде числа
  • total_format - отформатированная строка с итоговой суммой
getItems(array $parameters): \CDBResult Метод вернет результат выборки элементов.
Параметр | Описание
$parameters | Набор параметров для запроса, аналогичен массиву для метода DataManager::getList().
prepareItemCommonFields(array $item): array Метод приведет названия полей элемента к "общему" виду.
Параметр | Описание
$item | Массив с полями элемента.
deleteItems(array $ids, bool $isIgnore = false, \CCrmPerms $permissions = null): void Метод удалит элементы с идентификаторами $ids.
Параметр | Описание
$ids | Массив с идентификаторами элементов.
$isIgnore | Добавить в список исключения.
$permissions | Права доступа.
getItem(int $id): ?array Метод вернет описание элемента по его $id.
Параметр | Описание
$id | Идентификатор элемента.
setItemsAssigned(array $ids, int $assignedId, \CCrmPerms $permissions): Result Метод назначит нового ответственного $assignedId у элементов с ид $ids.
Параметр | Описание
$ids | Массив с идентификаторами элементов.
$assignedId | Идентификатор ответственного.
$permissions | Права доступа.
updateItemsOpened(array $ids, bool $isOpened): Result Метод изменит флаг "Доступно для всех" у элементов с ид $ids на $isOpened.
Параметр | Описание
$ids | Массив с идентификаторами элементов.
$isOpened | Значение флага "Доступно для всех".
updateItemStage(int $id, string $stageId, array $newStateParams, array $stages): Result Метод переместит элемент с ид $id на стадию с идентификатором $stageId.
Параметр | Описание
$id | Идентификатор элемента.
$stageId | Идентификатор новой стадии.
$newStateParams> | Массив с дополнительными данными для переноса.
$stages | Описание стадий.


Helper

Helper - класс для работы с фильтром и гридом канбана.

Метод | Описание | С версии
[link=7162203]getPresets[/link] | Метод получает предустановки фильтра для канбана. | 17.0.12
[link=5104497]getSelectorUserId[/link] | Метод получает пользовательский ID для выбора пользователя. |
[link=5104501]setSelectorUserId[/link] | Метод устанавливает пользовательский ID для выбора пользователя. |
[link=5104489]getFilter[/link] | Метод получает фильтр для канбана. |
[link=5104493]getDefaultFilterKey [/link] | Метод получает ключ фильтра по умолчанию для канбана |
[link=5104481]getGridId[/link] | Метод получает идентификатор сетки (грида). |
[link=5104477]getGrid[/link] | Метод получает экземпляр сетки (грида). |


getDefaultFilterKey

array public static
\Bitrix\Crm\Kanban\Helper::getDefaultFilterKey(
 string $entity
);

Метод получает ключ фильтра по умолчанию для канбана. Метод статический.

Параметры

Параметр | Описание | Версия
$entity | Тип сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFilter

array public static
\Bitrix\Crm\Kanban\Helper::getFilter(
 string $entity
);

Метод получает фильтр для канбана. Метод статический.

Параметры

Параметр | Описание | Версия
$entity | Тип сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getGrid

\CGridOptions public static
\Bitrix\Crm\Kanban\Helper::getGrid(
 string $type
);

Метод получает экземпляр сетки (грида). Метод статический.

Параметры

Параметр | Описание | Версия
$type | Тип сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getGridId

string public static
\Bitrix\Crm\Kanban\Helper::getGridId(
 string $type
);

Метод получает идентификатор сетки (грида). Метод статический.

Параметры

Параметр | Описание | Версия
$type | Тип сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPresets

array public static
\Bitrix\Crm\Kanban\Helper::getPresets(
 string $entity
);

Метод получает предустановки фильтра для канбана. Метод статический.

Параметры

Параметр | Описание | Версия
$entity | Тип сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSelectorUserId

integer public static
\Bitrix\Crm\Kanban\Helper::getSelectorUserId(
 string $code,
 integer $default
);

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

Параметры

Параметр | Описание | Версия
$code | Код поля. |
$default | Значение по умолчанию. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setSelectorUserId

void public static
\Bitrix\Crm\Kanban\Helper::setSelectorUserId(
 string $code,
 integer $value
);

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

Параметры

Параметр | Описание | Версия
$code | Код поля. |
$value | Значение. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SortTable

SortTable - класс для работы с таблицей сортировки.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
[link=5105583]clearUser[/link] | Метод удаляет все сортировки пользователя. | 17.0.5
[link=5105567]setPrevious[/link] | Метод устанавливает предыдущую запись. |
[link=5105571]getPrevious[/link] | Метод получает предыдущую запись (записи). |
[link=5105575]clearEntity[/link] | Метод удаляет все сортировки для сущности. |
[link=5105559]clearEntity[/link] | Метод возвращает имя таблицы базы данных для сущности. |
[link=5105563]getMap[/link] | Метод возвращает определение карты сущности. |


clearEntity

void public static
\Bitrix\Crm\Kanban\SortTable::clearEntity(
 integer $entityId,
 string $entityType
);

Метод удаляет все сортировки для сущности. Метод статический.

Параметры

Параметр | Описание | Версия
$entityId | Идентификатор сущности. |
$entityType | Тип сущности (LEAD, DEAL, QUOTE, INVOICE). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


clearUser

void public static
\Bitrix\Crm\Kanban\SortTable::clearUser(
 integer $userId
);

Метод удаляет все сортировки пользователя. Метод статический.

Параметры

Параметр | Описание | Версия
$userId | Идентификатор пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Crm\Kanban\SortTable::getMap(
);

Статический метод возвращает определение карты сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPrevious

array public static
\Bitrix\Crm\Kanban\SortTable::getPrevious(
 array $filter
);

Метод получает предыдущую запись (записи). Метод статический.

Параметры

Параметр Описание Версия
$fields Массив полей записи:
  • ENTITY_TYPE_ID = Идентификатор типа сущности (лид, сделка, цена, счет)
  • ENTITY_ID = Идентификатор сущностиy
  • PREV_ENTITY_ID = предыдущий идентификатор сущности (опционально)
  • USER_ID = идентификатор пользователя (опционально)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Crm\Kanban\SortTable::getTableName(
);

Статический метод. Возвращает имя таблицы базы данных для сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setPrevious

void public static
\Bitrix\Crm\Kanban\SortTable::setPrevious(
 array $fields
);

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

Параметры

Параметр Описание Версия
$fields Массив полей записи:
  • ENTITY_TYPE_ID = Идентификатор типа сущности (лид, сделка, цена, счет)
  • ENTITY_ID = Идентификатор сущностиy
  • PREV_ENTITY_ID = предыдущий идентификатор сущности (опционально)
  • USER_ID = идентификатор пользователя (опционально)

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SupervisorTable

SupervisorTable - класс для работы с таблицами [dw]супервизоров.[/dw][di]Супервизор - программа или комплекс программ, предназначенные для организации многопрограммного режима работы вычислительной системы.[/di]

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
[link=5105737]sendItem[/link] | Метод отправляет пункт в супервизор. |
[link=5105733]getSupervisors[/link] | Метод получает список супервизоров. |
[link=5105725]set[/link] | Метод делает делает текущего пользователя супервизором. |
[link=5105729]isSupervisor[/link] | Метод проверяет, является ли текущий пользователь супервизором для типа сущности. |
[link=5105717]getTableName[/link] | Метод возвращает имя таблицы базы данных для сущности. |
[link=5105721]getMap[/link] | Метод возвращает определение карты сущности. |


getMap

array public static
\Bitrix\Crm\Kanban\SupervisorTable::getMap(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSupervisors

 public static
\Bitrix\Crm\Kanban\SupervisorTable::getSupervisors(
 string $type
);

Метод получает список супервизоров. Метод статический.

Параметры

Параметр | Описание | Версия
$type | Тип сущности: LEAD, DEAL, QUOTE, INVOICE. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Crm\Kanban\SupervisorTable::getTableName(
);

Метод возвращает имя таблицы базы данных для сущности. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isSupervisor

boolean public static
\Bitrix\Crm\Kanban\SupervisorTable::isSupervisor(
 string $type
);

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

Параметры

Параметр | Описание | Версия
$type | Тип сущности: LEAD, DEAL, QUOTE, INVOICE. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


sendItem

void public static
\Bitrix\Crm\Kanban\SupervisorTable::sendItem(
 integer $id,
 string $type,
 string $command
);

Метод отправляет пункт в супервизор. Метод статический.

Параметры

Параметр | Описание | Версия
$id | Идентификатор пункта. |
$type | Тип сущности: LEAD, DEAL, QUOTE, INVOICE. |
$command | Команда для растягивания. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


set

void public static
\Bitrix\Crm\Kanban\SupervisorTable::set(
 string $type,
 boolean $set
);

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

Параметры

Параметр | Описание | Версия
$type | Тип сущности: LEAD, DEAL, QUOTE, INVOICE. |
$set | Установка или отмена. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LeadAddress

Класс LeadAddress отвечает за хранение адресов Лидов.

Методы класса

Метод | Описание | С версии
[link=2572023]deleteByEntityId[/link] | Метод удаляет адреса сущностей. |


deleteByEntityId

void public static
\Bitrix\Crm\LeadAddress::deleteByEntityId(
 array $entityID
);

Метод удаляет адреса сущностей. Метод статический.

Параметры

Параметр | Описание | Версия
$entityID | Идентификатор сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Merger

Пространство имён \Bitrix\Crm\Merger содержит классы, используемые при управлении дубликатами, при конвертации и для объединения полей сущностей.

Класс | Описание | С версии
CompanyMerger | Класс, отвечающий за объединение полей Компаний. | 16.0.7
ContactMerger | Класс, отвечающий за объединение полей Контактов. | 16.5.2
DealMerger | Класс, отвечающий за создание Счета/Предложения на основании Сделки. | 16.0.7
EntityMerger | Базовый класс, отвечающий за объединение полей сущностей | 14.5.4
EntityMergerFactory | Класс на основе паттерна фабричный метод [image] , используется в контроле дубликатов при объединении сущностей | 14.5.4


CompanyMerger

CompanyMerger - класс, отвечающий за объединение полей Компаний. Является наследником класса \Bitrix\Crm\Merger\EntityMerger.


ContactMerger

ContactMerger - класс, отвечающий за объединение полей Контактов. Является наследником класса \Bitrix\Crm\Merger\EntityMerger.


DealMerger

DealMerger - класс, отвечающий за объединение полей Сделок. Является наследником класса \Bitrix\Crm\Merger\EntityMerger.


EntityMerger

EntityMerger - базовый класс, отвечающий за объединение полей сущностей.

Методы класса

Метод | Описание | С версии
[link=1915167]create[/link] | Метод создает новую сущность с указанным идентификатором типа сущности путем слияния. | 14.5.4
[link=2571315]enabledPermissionCheck[/link] | Метод включает или отключает проверку флага разрешения. | 16.0.7
[link=2571303]getEntityTypeID[/link] | Метод получает идентификатор типа сущности. | 16.0.7
[link=2571307]getEntityTypeName[/link] | Метод получает имя типа сущности. | 16.0.7
[link=1915171]getMergeCollisions[/link] | Метод получает возможные совпадения полей при слиянии сущностей. | 14.5.4
[link=2571323]getUserID[/link] | Метод получает идентификатор пользователя. | 16.0.7
[link=2571331]getUserName[/link] | Метод получает имя пользователя. | 16.0.7
[link=2571319]isAdminUser[/link] | Метод проверяет, является ли пользователь администратором. | 16.0.7
[link=2571339]isMergable[/link] | Метод проверяет, что объединение сущностей возможно. | 16.0.7
[link=2571311]isPermissionCheckEnabled[/link] | Метод проверяет, включена ли проверка разрешения на объединение полей сущностей. | 16.0.7
[link=2571335]isRoleDefined[/link] | Метод проверяет, определен ли идентификатор роли. | 16.0.7
[link=2571349]merge[/link] | Метод осуществляет слияние сущностей. | 16.0.7
[link=1915175]mergeFields[/link] | Метод объединяет поля. Если значение отсутствует в принимающем поле, оно будет скопировано из поля источника. | 14.5.4
[link=2571353]registerCriterionMismatch[/link] | Метод регистрирует несоответствие в дублях показателей. | 16.0.7
[link=2571327]setUserID[/link] | Метод устанавливает идентификатор пользователя. | 16.0.7


create

\Bitrix\Crm\Merger\EntityMerger public static
\Bitrix\Crm\Merger\EntityMerger::create(
 integer $entityTypeID,
 integer $currentUserID,
 boolean $enablePermissionCheck = false
);

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

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |
$currentUserID | Идентификатор текущего пользователя. |
$enablePermissionCheck | Флаг проверки прав. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


enabledPermissionCheck

void public
\Bitrix\Crm\Merger\EntityMerger::enabledPermissionCheck(
 boolean $enable
);

Метод включает или отключает проверку флага разрешения. Метод нестатический.

Параметры

Параметр | Описание | Версия
$enable | Включить флаг проверки разрешения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEntityTypeID

integer public
\Bitrix\Crm\Merger\EntityMerger::getEntityTypeID(
);

Метод получает идентификатор типа сущности. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEntityTypeName

string public
\Bitrix\Crm\Merger\EntityMerger::getEntityTypeName(
);

Метод получает имя типа сущности. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMergeCollisions

\Bitrix\Crm\Merger\array[EntityMergeCollision] public
\Bitrix\Crm\Merger\EntityMerger::getMergeCollisions(
 integer $seedID,
 integer $targID
);

Метод получает возможные совпадения полей при слиянии сущностей. Метод нестатический.

Параметры

Параметр | Описание | Версия
$seedID | Идентификатор сущности-источника. |
$targID | Идентификатор сущности-приемника. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUserID

integer public
\Bitrix\Crm\Merger\EntityMerger::getUserID(
);

Метод получает идентификатор пользователя. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUserName

string public
\Bitrix\Crm\Merger\EntityMerger::getUserName(
);

Метод получает имя пользователя. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isAdminUser

boolean public
\Bitrix\Crm\Merger\EntityMerger::isAdminUser(
);

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

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isMergable

boolean public
\Bitrix\Crm\Merger\EntityMerger::isMergable(
 integer $entityID,
 integer $roleID
);

Метод проверяет, что объединение сущностей возможно. Метод нестатический.

Параметры

Параметр | Описание | Версия
$entityID | Идентификатор сущности. |
$roleID | Идентификатор роли. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isPermissionCheckEnabled

boolean public
\Bitrix\Crm\Merger\EntityMerger::isPermissionCheckEnabled(
);

Метод проверяет, включена ли проверка разрешения на объединение полей сущностей. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isRoleDefined

boolean public static
\Bitrix\Crm\Merger\EntityMerger::isRoleDefined(
 integer $roleID
);

Метод проверяет, определен ли идентификатор роли. Метод нестатический.

Параметры

Параметр | Описание | Версия
$roleID | Идентификатор роли. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


merge

void public
\Bitrix\Crm\Merger\EntityMerger::merge(
 integer $seedID,
 integer $targID,
 \Bitrix\Crm\Integrity\DuplicateCriterion $targCriterion
);

Метод осуществляет слияние сущностей. Метод нестатический.

Параметры

Параметр | Описание | Версия
$seedID | Идентификатор сущности-источника. |
$targID | Идентификатор сущности-приемника. |
$targCriterion | Критерий. |

Исключения

  • \Bitrix\Crm\Merger\EntityMergerException
  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\LoaderException
  • \Bitrix\Main\NotImplementedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


mergeFields

void public
\Bitrix\Crm\Merger\EntityMerger::mergeFields(
 array ,
 array
);

Метод объединяет поля. Если значение отсутствует в принимающем поле, оно будет скопировано из поля источника. Метод нестатический.

Параметры

Параметр | Описание | Версия
$seed | Поля сущности-источника. |
$targ | Поля сущности-приемника. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


registerCriterionMismatch

void public
\Bitrix\Crm\Merger\EntityMerger::registerCriterionMismatch(
 \Bitrix\Crm\Integrity\DuplicateCriterion $criterion,
 integer $leftEntityID,
 integer $rightEntityID
);

Метод регистрирует несоответствие в дублях показателей. Метод нестатический.

Параметры

Параметр | Описание | Версия
$criterion | Критерий. |
$leftEntityID | Идентификатор левой сущности. |
$rightEntityID | Идентификатор правой сущности. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setUserID

void public
\Bitrix\Crm\Merger\EntityMerger::setUserID(
 integer $userID
);

Метод устанавливает идентификатор пользователя. Метод нестатический.

Параметры

Параметр | Описание | Версия
$userID | Идентификатор пользователя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


EntityMergerFactory

EntityMergerFactory - класс на основе паттерна фабричный метод [image], используется в контроле дубликатов при объединении сущностей.

Методы класса

Метод | Описание | С версии
[link=1915159]create[/link] | Метод создаёт новый контроллер объединения для указанного типа сущности. | 14.5.4


create

\Bitrix\Crm\Merger\EntityMerger public static
\Bitrix\Crm\Merger\EntityMergerFactory::create(
 integer $entityTypeID,
 integer $currentUserID,
 boolean $enablePermissionCheck = false
);

Метод создаёт новый контроллер объединения для указанного типа сущности. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeID | Идентификатор типа сущности. |
$currentUserID | Идентификатор текущего пользователя. |
$enablePermissionCheck | Флаг проверки прав. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


События

В данной главе описаны некоторые события наследников класса \Bitrix\Crm\Merger\ConflictResolver\Base, определяющих правила сравнения и объединения значений:

  • Изменение стратегии объединения полей
  • Элементы были успешно объединены


OnAfterEntityMerge

Элементы были успешно объединены

OnAfterEntityMerge

Событие OnAfterEntityMerge происходит после объединения двух сущностей и предназначено для того, чтобы внешний код мог правильно перенести связи с удаленного элемента на объединенный.

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

Параметр | Формат | Описание
entityTypeId | int | Идентификатор типа объединяемой сущности. Может принимать значения 1 (лид), 2 (сделка), 3 (контакт) или 4 (компания).
seedEntityID | int | Идентификатор объединенного элемента.
targetEntityID | int | Идентификатор элемента, с которым произошло объединение.

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

\Bitrix\Main\EventManager::getInstance()
    ->addEventHandler('crm', 'OnAfterEntityMerge', function(\Bitrix\Main\Event $event) {
        $entityTypeId = $event->getParameter('entityTypeID');

        if ($entityTypeId == \CCrmOwnerType::Contact)
        {
            // изменить связь с объединенного контакта на новый
            MyCustomLogic::rebindContact(
                $event->getParameter('seedEntityID'),
                $event->getParameter('targetEntityID')
            );
        }
    })
;


onGetFieldConflictResolver

Изменение стратегии объединения полей

onGetFieldConflictResolver

При объединении сущностей, в цикле производится попытка объединения значений каждого поля этих сущностей.

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

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

Каждый тип поля имеет свои особенности, поэтому существует ряд классов-стратегий, наследников \Bitrix\Crm\Merger\ConflictResolver\Base, определяющих правила сравнения и объединения значений.

Событие onGetFieldConflictResolver позволяет переопределить стратегии объединения определенных полей при определенных условиях. Это позволяет максимально гибко менять логику процедуры объединения в соответствии с вашими требованиями.

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

Параметр | Формат | Описание
entityTypeId | int | Идентификатор типа объединяемой сущности. Может принимать значения 1 (лид), 2 (сделка), 3 (контакт) или 4 (компания).
fieldId | string | Код поля, например NAME, ASSIGNED_BY_ID и т.п.
type | string | Тип поля, например string, integer и т.п.

Пример переопределения

Если обработчик события хочет переопределить стратегию объединения значений текущего поля, необходимо добавить к событию результат с типом \Bitrix\Main\EventResult::SUCCESS и в ключеconflictResolver массива параметров результата передать инстанс нового объекта стратегии объединения значений.

\Bitrix\Main\EventManager::getInstance()
    ->addEventHandler('crm', 'onGetFieldConflictResolver', function(\Bitrix\Main\Event $event) {
        $fieldId = $event->getParameter('fieldId');
        $entityTypeId = $event->getParameter('entityTypeId');

        // Если это поле ответственный в контактах:
        if ($fieldId === 'ASSIGNED_BY_ID' && $entityTypeId === \CCrmOwnerType::Contact)
        {
            $event->addResult(
                new \Bitrix\Main\EventResult(
                    \Bitrix\Main\EventResult::SUCCESS,
                    [
                        // заменить стратегию сравнения полей на "Игнорировать отличия":
                        'conflictResolver' => new \Bitrix\Crm\Merger\ConflictResolver\IgnoredField($fieldId),
                    ]
                )
            );
        }
    })
;

Виды доступных стратегий

Игнорировать отличия

\Bitrix\Crm\Merger\ConflictResolver\IgnoredField

В случае использования никогда не приводит к возникновению конфликта. По умолчанию оставляет значение поля как есть.

$resolver = new \Bitrix\Crm\Merger\ConflictResolver\IgnoredField($fieldId);

Существует возможность замены пустого значения при объединении:

$resolver->setNeedUpdateTargetIfEmpty(true);

В случае, если эта опция установлена, значение поля в основном элементе пустое, а в объединяемом заполнено, то оно будет скопировано в основной элемент.

Существует возможность сохранить в историю значение поля, которое было проигнорировано при объединении, если есть вероятность что эта информация пригодится в будущем:

$resolver->setNeedWriteToHistory(true);

"Умное" объединение строк

\Bitrix\Crm\Merger\ConflictResolver\StringField

В случае использования, при объединении пытается не допустить конфликтов, путем гибкого сравнения значений:

  • Игнорируется регистр букв, пробелы в начале и в конце, точка в конце строки.
  • Двойные, тройные и прочие дублированные пробелы между словами заменяются при сравнении на один пробел.

Пример результата объединения:
"Иван" + " ИВАН." = "Иван"

Объединение многострочных текстов

\Bitrix\Crm\Merger\ConflictResolver\TextField

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

По-умолчанию разделитель представляет собой строку вида ----- 31.12.2022 07:09 -----, содержащую время, когда произошло объединение.

Разделитель можно изменить, создав наследника класса TextField и переопределив метод getSeparator():

class MyMultilineField extends \Bitrix\Crm\Merger\ConflictResolver\TextField
{
    protected function getSeparator(): string
    {
        return ' ~~~~~~~~~~~~~~~~ ';
    }
}

Пример результата объединения:
    "Комментарий к компании"

    +

    "Еще какой-то текст"

    =

    "Комментарий к компании

    ----- 31.12.2022 07:09 -----

    Еще какой-то текст"

Объединение многострочных HTML

\Bitrix\Crm\Merger\ConflictResolver\HtmlField

От TextField отличается тем, что качестве переноса строк используется <br&qt; вместо \n.

Создание собственной стратегии

Если логика текущих стратегий сравнения полей не устраивает, можно запрограммировать собственную.

Для создания собственной стратегии достаточно создать наследника класса Base и переопределить метод resolveByValue(&$seedValue, &$targetValue), запрограммировав там вашу логику.

Этот метод принимает на вход два параметра - сравниваемые значения полей, и должен вернуть true если конфликта не возникло.

Пример:
class MyFieldStrategy extends \Bitrix\Crm\Merger\ConflictResolver\Base
{
    protected function resolveByValue(&$seedValue, &$targetValue): bool
    {
        if (/* your custom logic to find conflict in $seedValue and $targetValue values */)
        {
            // можно не только сравнить значения полей, но и установить новое итоговое значение:
            $resultFieldValue = 'это значение будет записано в результат' . $targetValue . $seedValue;
            $this->setNewTargetValue($resultFieldValue);

            return true; // конфликта не возникло
        }

        return false; // при сравнении значений полей возник конфликт
    }
}


PresetTable

PresetTable - класс ORM [image] для работы с шаблонами реквизитов CRM.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Класс | Описание | С версии
[link=2572127]getCountByFilter[/link] | Метод возвращает количество предварительных настроек с помощью фильтра. |
[link=2572115]getMap[/link] | Метод получает карту полей таблицы. |
[link=2572111]getTableName[/link] | Метод получает название таблицы. |
[link=2572119]validateName[/link] | Метод возвращает валидаторы для поля ИМЯ. |
[link=2572123]validateXmlId[/link] | Метод возвращает валидаторы для поля внешнего кода. |


getCountByFilter

integer public static
\Bitrix\Crm\PresetTable::getCountByFilter(
 array $filter = array()
);

Метод возвращает количество предварительных настроек с помощью фильтра. Метод статический.

Параметры

Параметр | Описание | Версия
$filter | Фильтр. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Crm\PresetTable::getMap(
);

Метод получает карту полей таблицы. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Crm\PresetTable::getTableName(
);

Метод получает название таблицы. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateName

array public static
\Bitrix\Crm\PresetTable::validateName(
);

Метод возвращает валидаторы для поля ИМЯ. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateXmlId

array public static
\Bitrix\Crm\PresetTable::validateXmlId(
);

Метод возвращает валидаторы для поля внешнего кода. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Preview

Пространство имён \Bitrix\Crm\Preview содержит классы, используемые при формировании "богатых ссылок" на сущности CRM.

Класс | Описание | С версии
Company | Класс, отвечающий за формирование богатых ссылок на сущность CRM Компания | 16.0.0
Contact | Класс, отвечающий за формирование богатых ссылок на сущность CRM Контакт | 16.0.0
Deal | Класс, отвечающий за формирование богатых ссылок на сущность CRM Сделка | 16.0.0
Invoice | Класс, отвечающий за формирование богатых ссылок на сущность CRM Счёт | 16.0.0
Lead | Класс, отвечающий за формирование богатых ссылок на сущность CRM Лид | 16.0.0
Product | Класс, отвечающий за формирование богатых ссылок на сущность CRM Товар | 16.0.0
Quote | Класс, отвечающий за формирование богатых ссылок на сущность CRM Коммерческое предложение | 16.0.0
Route | Вспомогательный класс для конфигурирования маршрутизатора | 16.0.0


Company

Company - класс, отвечающий за формирование богатых ссылок на сущность CRM Компания.

Методы класса

Метод | Описание | С версии
[link=1915087]buildPreview[/link] | Метод возвращает HTML код для просмотра сущности Компания. | 16.0.0
[link=1915091]checkUserReadAccess[/link] | Метод проверяет наличие права доступа на чтение Компании для текущего пользователя. | 16.0.0

Пример использования приведен [link=1915147]здесь[/link].


buildPreview

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Preview>Company>buildPreview (доступен с 16.0.0)

Company::buildPreview

string public
\Bitrix\Crm\Preview\Company::buildPreview(
 array $parameters
);

Метод возвращает HTML код для просмотра сущности Компания. Метод нестатический.

Параметры

Параметр | Описание | Версия
$parameters | Параметры, передаваемые в компонент. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkUserReadAccess

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Preview>Company>checkUserReadAccess (доступен с 16.0.0)

Company::checkUserReadAccess

boolean public
\Bitrix\Crm\Preview\Company::checkUserReadAccess(
 array $parameters
);

Метод проверяет наличие права доступа на чтение Компании для текущего пользователя. Метод нестатический.

Параметры

Параметр | Описание | Версия
$parameters | Разрешенный ключ: Идентификатор компании |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Contact

Contact - класс, отвечающий за формирование богатых ссылок на сущность CRM Контакт.

Методы класса

Метод | Описание | С версии
[link=1915075]buildPreview[/link] | Метод возвращает HTML код для просмотра сущности Контакт. | 16.0.0
[link=1915079]checkUserReadAccess[/link] | Метод проверяет наличие права доступа на чтение Контакта для текущего пользователя. | 16.0.0


buildPreview

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Preview>Contact>buildPreview (доступен с 16.0.0)

Contact::buildPreview

string public
\Bitrix\Crm\Preview\Contact::buildPreview(
 array $parameters
);

Метод возвращает HTML код для просмотра сущности Контакт. Метод нестатический.

Параметры

Параметр | Описание | Версия
$parameters | Параметры, передаваемые в компонент. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkUserReadAccess

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Preview>Contact>checkUserReadAccess (доступен с 16.0.0)

Contact::checkUserReadAccess

boolean public
\Bitrix\Crm\Preview\Contact::checkUserReadAccess(
 array $parameters
);

Метод проверяет наличие права доступа на чтение Контакта для текущего пользователя. Метод нестатический.

Параметры

Параметр | Описание | Версия
$parameters | Разрешенный ключ: Идентификатор контакта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Deal

Deal - класс, отвечающий за формирование богатых ссылок на сущность CRM Сделка.

Методы класса

Метод | Описание | С версии
[link=1915063]buildPreview[/link] | Метод возвращает HTML код для просмотра сущности Сделка. | 16.0.0
[link=1915067]checkUserReadAccess[/link] | Метод проверяет наличие права доступа на чтение Сделки для текущего пользователя. | 16.0.0


buildPreview

string public
\Bitrix\Crm\Preview\Deal::buildPreview(
 array $parameters
);

Метод возвращает HTML код для просмотра сущности Сделка. Метод нестатический.

Параметры

Параметр | Описание | Версия
$parameters | Параметры, передаваемые в компонент. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkUserReadAccess

boolean public
\Bitrix\Crm\Preview\Deal::checkUserReadAccess(
 array $parameters
);

Метод проверяет наличие права доступа на чтение Сделки для текущего пользователя. Метод нестатический.

Параметры

Параметр | Описание | Версия
$parameters | Разрешенный ключ: Идентификатор сделки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Invoice

Invoice - класс, отвечающий за формирование богатых ссылок на сущность CRM Счёт.

Методы класса

Метод | Описание | С версии
[link=1915123]buildPreview[/link] | Метод возвращает HTML код для просмотра сущности Счёт. | 16.0.0
[link=1915127]checkUserReadAccess[/link] | Метод проверяет наличие права доступа на чтение Счёта для текущего пользователя. | 16.0.0


buildPreview

string public
\Bitrix\Crm\Preview\Invoice::buildPreview(
 array $parameters
);

Метод возвращает HTML код для просмотра сущности Счёт. Метод нестатический.

Параметры

Параметр | Описание | Версия
$parameters | Параметры, передаваемые в компонент. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkUserReadAccess

boolean public
\Bitrix\Crm\Preview\Invoice::checkUserReadAccess(
 array $parameters
);

Метод проверяет наличие права доступа на чтение Счёта для текущего пользователя. Метод нестатический.

Параметры

Параметр | Описание | Версия
$parameters | Разрешенный ключ: Идентификатор счёта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Lead

Lead - класс, отвечающий за формирование богатых ссылок на сущность CRM Лид.

Методы класса

Метод | Описание | С версии
[link=1915111]buildPreview[/link] | Метод возвращает HTML код для просмотра сущности Лид. | 16.0.0
[link=1915115]checkUserReadAccess[/link] | Метод проверяет наличие права доступа на чтение Лида для текущего пользователя. | 16.0.0


buildPreview

string public
\Bitrix\Crm\Preview\Lead::buildPreview(
 array $parameters
);

Метод возвращает HTML код для просмотра сущности Лид. Метод нестатический.

Параметры

Параметр | Описание | Версия
$parameters | Параметры, передаваемые в компонент. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkUserReadAccess

boolean public
\Bitrix\Crm\Preview\Lead::checkUserReadAccess(
 array $parameters
);

Метод проверяет наличие права доступа на чтение Лида для текущего пользователя. Метод нестатический.

Параметры

Параметр | Описание | Версия
$parameters | Разрешенный ключ: Идентификатор лида. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Product

Product - класс, отвечающий за формирование богатых ссылок на сущность CRM Товар.

Методы класса

Метод | Описание | С версии
[link=1915099]buildPreview[/link] | Метод возвращает HTML код для просмотра сущности Товар. | 16.0.0
[link=1915103]checkUserReadAccess[/link] | Метод проверяет наличие права доступа на чтение Товара для текущего пользователя. | 16.0.0


buildPreview

string public
\Bitrix\Crm\Preview\Product::buildPreview(
 array $parameters
);

Метод возвращает HTML код для просмотра сущности Товар. Метод нестатический.

Параметры

Параметр | Описание | Версия
$parameters | Параметры, передаваемые в компонент. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkUserReadAccess

boolean public
\Bitrix\Crm\Preview\Product::checkUserReadAccess(
 array $parameters
);

Метод проверяет наличие права доступа на чтение Товара для текущего пользователя. Метод нестатический.

Параметры

Параметр | Описание | Версия
$parameters | Разрешенный ключ: Идентификатор товара. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Quote

Quote - класс, отвечающий за формирование богатых ссылок на сущность CRM Коммерческое предложение.

Методы класса

Метод | Описание | С версии
[link=1915135]buildPreview[/link] | Метод возвращает HTML код для просмотра сущности Коммерческое предложение. | 16.0.0
[link=1915139]checkUserReadAccess[/link] | Метод проверяет наличие права доступа на чтение Коммерческого предложения для текущего пользователя. | 16.0.0


buildPreview

string public
\Bitrix\Crm\Preview\Quote::buildPreview(
 array $parameters
);

Метод возвращает HTML код для просмотра сущности Коммерческое предложение. Метод нестатический.

Параметры

Параметр | Описание | Версия
$parameters | Параметры, передаваемые в компонент. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkUserReadAccess

boolean public
\Bitrix\Crm\Preview\Quote::checkUserReadAccess(
 array $parameters
);

Метод проверяет наличие права доступа на чтение коммерческого предложения для текущего пользователя. Метод нестатический.

Параметры

Параметр | Описание | Версия
$parameters | Разрешенный ключ: Идентификатор коммерческого предложения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Route

Route - вспомогательный класс для конфигурирования маршрутизатора Bitrix\Main\UrlPreview\Router.

Методы класса

Метод | Описание | С версии
[link=1915147]setCrmRoutes[/link] | Метод регистрирует маршруты для создания форм предварительного просмотра сущностей CRM. Вызывается каждый раз при сохранении настроек модуля CRM. | 16.0.0


setCrmRoutes

void public static
\Bitrix\Crm\Preview\Route::setCrmRoutes(
);

Метод регистрирует маршруты для создания форм предварительного просмотра сущностей CRM. Вызывается каждый раз при сохранении настроек модуля CRM. Метод статический.

Без параметров

Пример

    Bitrix\Main\UrlPreview\Router::setRouteHandler(
            \COption::GetOptionString('crm', 'path_to_company_show'),
            'crm',
            '\Bitrix\Crm\Preview\Company',
            array(
                'companyId' => '$company_id',
                'PATH_TO_USER_PROFILE' => $pathToUserProfile,
            )
        );


Relation

Метод | Описание | С версии
Relation | Основной класс, в котором сосредоточена большая часть логики API связей. |
Storage Strategy | Класс для взаимодействия с БД |


Relation

\Bitrix\Crm\Relation - основной класс, в котором сосредоточена большая часть логики API связей. Объект этого класса представляет собой конкретный тип связи между сущностями CRM, например Сделка — Предложение. Именно через этот объект происходит привязка и отвязка элементов, проверка на связь и получение связанных элементов.

Методы для работы с элементами

Когда в RelationManager происходит работа с элементами (проверка на существование связи, связывание/отвязывание элементов), то он по факту обращается к методам объекта Relation. А именно:

  • areItemsBound(
   ItemIdentifier $parent,
   ItemIdentifier $child
): bool
  • bindItems(
   ItemIdentifier $parent,
   ItemIdentifier $child
): \Bitrix\Main\Result
  • getParentElements(
   ItemIdentifier $child
): ItemIdentifier[]
  • и другие...

Сейчас в CRM существует множество различных типов связи, каждый из которых по-своему реализуется со стороны БД. Поэтому Relation при работе с элементами использует паттерн проектирования [dw]Стратегия[/dw][di]Стратегия - поведенческий шаблон проектирования, предназначенный для определения семейства алгоритмов, инкапсуляции каждого из них и обеспечения их взаимозаменяемости.
Подробнее [image]...[/di].

\Bitrix\Crm\Relation\StorageStrategy - базовый класс стратегии по работе с БД (стратегии хранения данных). Он предоставляет для Relation публичный интерфейс, посредством которого методы работы с элементами взаимодействуют с БД. То, какая именно стратегия будет применяться для данного типа связи, конфигурируется посредством метода:

\Bitrix\Crm\Relation::setStorageStrategy(
   StorageStrategy $storageStrategy
): Relation

В него в качестве параметра передается инстаницированный объект стратегии.

Для работы методов, которые взаимодействуют с элементами, необходим объект стратегии. Поэтому при вызове этих методов до того, как стратегия была установлена через этот метод, будет выброшено исключение.

Стандартные (предопределенные) и кастомные типы связи

Типы связи могут быть двух видов:

  • стандартные (predefined) - те, что заданы на уровне бизнес-логики и продуктовых решений. Стандартные типы связи не могут быть удалены, изменены. Не может быть создан кастомный тип связи, дублирующий стандартный. Пример: продукт-менеджер решил, что к Сделке можно привязать Предложение.
  • кастомные (custom) - те, которые клиентский код может создать и настроить самостоятельно.Кастомные типы связи находятся полностью во власти клиентского кода. Вы можете их создавать, редактировать, удалять на свое усмотрение. Пример: администратор портала решил, что Смарт-процесс "Реестр договоров" можно привязать к Сделке.

Узнать, к какому конкретно виду принадлежит данный объект Relation можно с помощью метода Relation::isPredefined.

Создание нового объекта

Чтобы инстанцировать новый объект Relation используется фабричный метод Relation::create. В него передаются следующие параметры:

  • int $parentEntityTypeId - идентификатор родительского типа сущности,
  • int $childEntityTypeId - идентификатор типа сущности потомка,
  • bool $isChildrenListEnabled = true - должен ли быть показан грид потомков в детальной карточке родительского элемента (например, как вкладка "Предложения" в карточке сделки). По умолчанию true.


Storage Strategy

Абстрактный класс \Bitrix\Crm\Relation\StorageStrategy и его наследники воплощают собой стратегии из одноименного [image] паттерна проектирования.

Данные классы используются в \Bitrix\Crm\Relation для взаимодействия с БД.

При вызове из объекта Relation, стратегия должна вернуть элемент, сохранить или удалить данные. Каждая стратегия делает это своим собственным способом. Каким конкретно (к какой таблице обратиться, какое API вызвать) - зависит от самой стратегии.

Абстрактные методы

Чтобы добавить новую стратегию хранения данных, нужно создать новый класс-наследник \Bitrix\Crm\Relation\StorageStrategy. Естественно, придется реализовать абстрактные методы.

Метод Описание С версии
getParentElements(
   ItemIdentifier $child,
   int $parentEntityTypeId
): ItemIdentifier[]
 Метод возвращает всех родителей элемента $child. Родители должны принадлежать к типу сущности с $parentEntityTypeId (быть отфильтрованы по entityTypeId === $parentEntityTypeId).
getChildElements(
   ItemIdentifier $parent,
   int $childEntityTypeId
): ItemIdentifier[]
 Метод возвращает всех потомков элемента $parent. Потомки должны принадлежать к типу сущности с $childEntityTypeId (быть отфильтрованы по entityTypeId === $childEntityTypeId).
areItemsBound(
   ItemIdentifier $parent,
   ItemIdentifier $child
): bool
 Метод возвращает true если элементы связаны.
createBinding(
   ItemIdentifier $parent,
   ItemIdentifier $child
): \Bitrix\Main\Result
 Метод создаёт новую запись в БД, чтобы сохранить связь между переданными родителем и потомком. Возвращает Result\Bitrix\Main\Result, в который можно сложить ошибки, если они возникли во время сохранения.
deleteBinding(
   ItemIdentifier $parent,
   ItemIdentifier $child
): \Bitrix\Main\Result
 Метод удаляет запись в БД, чтобы отвязать элементы друг от друга. Возвращает \Bitrix\Main\Result, в который можно сложить ошибки, если они возникли во время удаления.


RelationManager

RelationManager - это объект-сервис, получаемый через \Bitrix\Crm\Service\Container. Именно через него происходит общение клиентского кода и API связей. Объект позволяет получить информацию о существующих типах связи, найти связанные элементы или создать новые связи или типы связей.

Создание и редактирование типов связи

Типы связи могут быть двух видов — стандартные и кастомные. API связей позволяет работать с ними обоими. Но клиентский код может создавать, редактировать и удалять только кастомные связи. Для этих операций есть методы с соответствующими названиями:
RelationManager::bindTypes,
RelationManager::updateTypesBinding,
RelationManager::unbindTypes).

Все они после своего выполнения возвращают объект \Bitrix\Main\Result. Если по ходу выполнения возникают ошибки, они складываются в него в виде объектов \Bitrix\Main\Error. Большинство ошибок имеет свой код в виде константы RelationManager::ERROR_CODE_*, с помощью которых можно определить, что конкретно пошло не так.

Проверить, существует ли тип связи между сущностями, можно через метод RelationManager::areTypesBound. Он вернет true, если тип связи существует, вне зависимости от того, стандартный он или кастомный.

getAvailableForParentBindingEntityTypes

RelationManager::getAvailableForParentBindingEntityTypes(
   ?int $currentEntityId = null
): array[]

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

Возвращаемый массив имеет следующую структуру:

$result = [
    // entityTypeId
    2 => [
        'entityTypeId' => 2,
        'title' => 'Сделка',
    ],
    7 => [
        'entityTypeId' => 7,
        'title' => 'Предложение',
    ],
];

getAvailableForChildBindingEntityTypes

RelationManager::getAvailableForChildBindingEntityTypes(
   ?int $currentEntityId = null
): array[]

Метод аналогичен предыдущему. Он возвращает массив всех типов сущностей, которые могут быть потомками текущего типа или потомками в целом.

Получение типов связи

Метод Описание С версии
RelationManager::getRelation(
   RelationIdentifier $identifier
): ?Relation
 Метод возвращает конкретный тип связи, если он существует.
RelationManager::getRelations(
   int $entityTypeId
): Relation\Collection
 Метод возвращает коллекцию всех типов связи, в которых фигурирует $entityTypeId (не важно, как родитель или как потомок).
RelationManager::getParentRelations(
   int $childEntityTypeId
): Relation\Collection
 Метод возвращает коллекцию всех типов связи, в которых $childEntityTypeId упоминается как сущность-потомок.
RelationManager::getChildRelations(
   int $parentEntityTypeId
): Relation\Collection
 Метод возвращает коллекцию всех типов связи, в которых $parentEntityTypeId упоминается как родительская сущность.

Создание и удаление связей

С помощью метода RelationManager::bindItems можно связать между собой два элемента. А с помощью метода RelationManager::unbindItems можно эту связь удалить.

Аналогично методам для редактирования типов связи, эти методы возвращают объект \Bitrix\Main\Result, в который складываются возникающие ошибки. Большинство из них имеет код в виде константы RelationManager::ERROR_CODE_*.

Проверить, связаны ли элементы, можно через RelationManager::areItemsBound.

Получение связанных элементов

Метод Описание С версии
RelationManager::getElements(
   ItemIdentifier $identifier
): ItemIdentifier[]
 Метод возвращает все элементы, которые связаны с переданным элементом.
RelationManager::getParentElements(
   ItemIdentifier $child
): ItemIdentifier[]
 Метод возвращает все элементы, которые связаны с переданным элементом и являются его родителями.
RelationManager::getChildElements(
   ItemIdentifier $parent
): ItemIdentifier[]
 Метод возвращает все элементы, которые связаны с переданным элементом и являются его потомками.


Requisite

Пространство имён \Bitrix\Crm\Requisite содержит классы для конвертации реквизитов из сущностей.

Класс | Описание | С версии
AddressRequisiteConverter | Класс-конвертер для переноса адресов из Компаний/Контактов в их реквизиты. | 16.1.8
AddressRequisiteConvertException | Класс исключений для конвертера адресов Компаний/Контактов в реквизиты. | 16.1.8
ImportHelper | Класс, содержащий вспомогательные методы для выполнения импорта.. | 17.5.23
EntityRequisiteConverter | Базовый класс-конвертер для реквизитов. | 16.1.8
InvoiceRequisiteConverter | Класс-конвертер для переноса реквизитов из Счетов Контактов/Компаний в новые реквизиты. | 16.1.0
InvoiceRequisiteConvertException | Класс исключений для конвертера реквизитов из Счетов Компаний/Контактов в новые реквизиты | 16.1.8
InvoiceRequisiteConvertionError | Класс для отслеживания ошибок при переносе реквизитов из счетов Контактов/Компаний в новые реквизиты | 16.1.0
RequisiteConvertException | Базовый класс исключений для конвертеров. | 16.1.8


AddressRequisiteConverter

AddressRequisiteConverter - класс-конвертер для переноса адресов из Компаний/Контактов в их реквизиты. Является наследником класса \Bitrix\Crm\Requisite\EntityRequisiteConverter.

Метод | Описание | С версии
[link=2572423]complete[/link] | Метод завершает процесс конвертации. |
[link=2572419]processEntity[/link] | Метод обрабатывает сущность - конвертирует реквизиты Счета в реквизиты сущности. |
[link=2572415]validate[/link] | Метод проверяет настройки конвертера. |


complete

void public
\Bitrix\Crm\Requisite\AddressRequisiteConverter::complete(
);

Метод завершает процесс конвертации. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


processEntity

boolean public
\Bitrix\Crm\Requisite\AddressRequisiteConverter::processEntity(
 integer $entityID
);

Метод обрабатывает сущность - конвертирует реквизиты Счета в реквизиты сущности. Метод нестатический.

Параметры

Параметр | Описание | Версия
$entityID | Идентификатор сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validate

void public
\Bitrix\Crm\Requisite\AddressRequisiteConverter::validate(
);

Метод проверяет настройки конвертера. Метод нестатический.

Без параметров

Исключения

  • \Bitrix\Crm\Requisite\RequisiteConvertException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


AddressRequisiteConvertException

AddressRequisiteConvertException - класс исключений для конвертера адресов Компаний/Контактов в реквизиты. Является наследником класса \Bitrix\Crm\Requisite\RequisiteConvertException.

Метод | Описание | С версии
[link=2572457]getEntityTypeID[/link] | Метод получает идентификатор типа сущности. |
[link=2572461]getLocalizedMessage[/link] | Метод получает локализованное сообщение об ошибке. |


getEntityTypeID

integer public
\Bitrix\Crm\Requisite\AddressRequisiteConvertException::getEntityTypeID(
);

Метод получает идентификатор типа сущности. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLocalizedMessage

string public
\Bitrix\Crm\Requisite\AddressRequisiteConvertException::getLocalizedMessage(
);

Метод получает локализованное сообщение об ошибке. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


EntityRequisiteConverter

EntityRequisiteConverter - базовый класс-конвертер для реквизитов.

Метод | Описание | С версии
[link=2572407]complete[/link] | Метод завершает процесс конвертации. |
[link=2572395]getEntityTypeID[/link] | Метод получает идентификатор типа сущности. |
[link=2572403]processEntity[/link] | Метод конвертирует реквизиты сущности в новые реквизиты. |
[link=2572399]validate[/link] | Метод проверяет настройки конвертера. |


complete

void public
\Bitrix\Crm\Requisite\EntityRequisiteConverter::complete(
);

Метод завершает процесс конвертации. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEntityTypeID

integer public
\Bitrix\Crm\Requisite\EntityRequisiteConverter::getEntityTypeID(
);

Метод получает идентификатор типа сущности. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


processEntity

boolean public
\Bitrix\Crm\Requisite\EntityRequisiteConverter::processEntity(
 integer $entityID
);

Метод конвертирует реквизиты сущности в новые реквизиты. Метод нестатический.

Параметры

Параметр | Описание | Версия
$entityID | Идентификатор сущности. |

Исключения

  • \Bitrix\Crm\Requisite\InvoiceRequisiteConvertException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validate

void public
\Bitrix\Crm\Requisite\EntityRequisiteConverter::validate(
);

Метод проверяет настройки конвертера. Метод нестатический.

Без параметров

Исключения

  • \Bitrix\Crm\Requisite\RequisiteConvertException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ImportHelper

ImportHelper - класс, содержащий вспомогательные методы для выполнения импорта.

Метод | Описание | С версии
[link=7164167]importOldRequisiteAddresses[/link] | Метод импортирует старые адреса для компании или связывается с реквизитами. |
[link=7164175]importParsedRequisites[/link] | Метод импортирует реквизиты для компании или контакта. |
[link=7164171]prepareEntityImportRequisiteInfo[/link] | Метод подготавливает заголовки реквизитов для импорта и список активных стран. |


importOldRequisiteAddresses

\Bitrix\Main\Result public static
\Bitrix\Crm\Requisite\ImportHelper::importOldRequisiteAddresses(
 integer $entityTypeId,
 integer $entityId,
 string $dupControlType,
 integer $presetId,
 array $fields
);

Импортирует старые адреса для компании или связывается с реквизитами. Заменяет устаревший метод EntityRequisite :: importEntityRequisite. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeId | Идентификатор типа сущности. |
$entityId | Идентификатор сущности для импорта. |
$dupControlType | Дублирование типа контроля ("NO_CONTROL" (без контроля), "REPLACE" (заменять), "MERGE" (сливать), "SKIP" (пропускать)) |
$presetId | Предустановленный ID для импорта |
$fields | Поля реквизитов для импорта. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


importParsedRequisites

\Bitrix\Main\Result public
\Bitrix\Crm\Requisite\ImportHelper::importParsedRequisites(
 integer $entityTypeId,
 integer $entityId,
 string $dupControlType
);

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

Параметры

Параметр | Описание | Версия
$entityTypeId | Идентификатор типа сущности. |
$entityId | Идентификатор сущности для импорта |
$dupControlType | Дублирование типа контроля ("NO_CONTROL" (без контроля), "REPLACE" (заменять), "MERGE" (сливать), "SKIP" (пропускать)) |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareEntityImportRequisiteInfo

array public static
\Bitrix\Crm\Requisite\ImportHelper::prepareEntityImportRequisiteInfo(
 integer $entityTypeId,
 array $options = array()
);

Подготовка заголовков реквизитов для импорта и список активных стран. Метод статический.

Параметры

Параметр | Описание | Версия
$entityTypeId | Идентификатор типа сущности. |
$options | Опции, такие как префикс или др. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


InvoiceRequisiteConverter

InvoiceRequisiteConverter - класс-конвертер для переноса реквизитов из Счетов Контактов/Компаний в новые реквизиты. Является наследником класса \Bitrix\Crm\Requisite\EntityRequisiteConverter.

Метод | Описание | С версии
[link=2572007]complete[/link] | Метод завершает процесс конвертации. |
[link=2572003]processEntity[/link] | Метод конвертирует реквизиты Счета в реквизиты сущности. |
[link=2571999]validate[/link] | Метод проверяет настройки конвертера. |


complete

void public
\Bitrix\Crm\Requisite\InvoiceRequisiteConverter::complete(
);

Метод завершает процесс конвертации. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


processEntity

boolean public
\Bitrix\Crm\Requisite\InvoiceRequisiteConverter::processEntity(
 integer $entityID
);

Метод конвертирует реквизиты Счета в реквизиты сущности. Метод нестатический.

Параметры

Параметр | Описание | Версия
$entityID | Идентификатор сущности. |

Исключения

  • \Bitrix\Crm\Requisite\InvoiceRequisiteConvertException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validate

\Bitrix\Crm\Requisite\InvoiceRequisiteConvertionError public
\Bitrix\Crm\Requisite\InvoiceRequisiteConverter::validate(
);

Метод проверяет настройки конвертера. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


InvoiceRequisiteConvertException

InvoiceRequisiteConvertException - класс исключений для конвертера реквизитов из Счетов Компаний/Контактов в новые реквизиты. Является наследником класса \Bitrix\Crm\Requisite\RequisiteConvertException.

Метод | Описание | С версии
[link=2572447]getLocalizedMessage[/link] | Метод получает локализованное сообщение об ошибке. |
[link=2572443]getPersonTypeID[/link] | Метод получает идентификатор типа клиента |
[link=2572439]getPresetID[/link] | Метод получает предустановленный идентификатор. |


getLocalizedMessage

string public
\Bitrix\Crm\Requisite\InvoiceRequisiteConvertException::getLocalizedMessage(
);

Метод получает локализованное сообщение об ошибке. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPersonTypeID

integer public
\Bitrix\Crm\Requisite\InvoiceRequisiteConvertException::getPersonTypeID(
);

Метод получает идентификатор типа клиента (Контакт или Компания). Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPresetID

integer public
\Bitrix\Crm\Requisite\InvoiceRequisiteConvertException::getPresetID(
);

Нестатический метод получает предустановленный идентификатор.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


InvoiceRequisiteConvertionError

InvoiceRequisiteConvertionError - класс для отслеживания ошибок при переносе реквизитов из счетов Контактов/Компаний в новые реквизиты.

Метод | Описание | С версии
[link=2571943]getAllDescriptions[/link] | Метод получает все описания ошибок. |
[link=2571939]getDescription[/link] | Метод получает описание ошибки. |


getAllDescriptions

array public static
\Bitrix\Crm\Requisite\InvoiceRequisiteConvertionError::getAllDescriptions(
);

Метод получает все описания ошибок. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDescription

string public static
\Bitrix\Crm\Requisite\InvoiceRequisiteConvertionError::getDescription(
 integer $error
);

Статический метод получает описание ошибки.

Параметры

Параметр | Описание | Версия
$error | Код ошибки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


RequisiteConvertException

RequisiteConvertException - базовый класс исключений для конвертеров.

Метод | Описание | С версии
[link=2572431]getLocalizedMessage[/link] | Метод получает локализованное сообщение об ошибке. |


getLocalizedMessage

string public
\Bitrix\Crm\Requisite\RequisiteConvertException::getLocalizedMessage(
);

Метод получает локализованное сообщение об ошибке. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


RequisiteAddress

Класс RequisiteAddress отвечает за хранение адресов реквизитов.

Методы класса

Метод | Описание | С версии
[link=2572189]deleteByEntityId[/link] | Метод удаляет адреса сущностей. |


deleteByEntityId

void public static
\Bitrix\Crm\RequisiteAddress::deleteByEntityId(
 array $entityID
);

Метод удаляет адреса сущностей. Метод статический.

Параметры

Параметр | Описание | Версия
$entityID | Идентификатор сущности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


RequisiteTable

Класс RequisiteTable предназначен для работы с реквизитами сущностей.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
[link=2572035]validateCode[/link] | Метод возвращает валидаторы поля КОД. |
[link=2572031]validateName[/link] | Метод возвращает валидаторы для поля ИМЯ. |
[link=2572091]validateRqStringField10[/link] | Метод возвращает валидаторы для строкового поля с максимальной длиной 10 символов. |
[link=2572087]validateRqStringField11[/link] | Метод возвращает валидаторы для строкового поля с максимальной длиной 11 символов. |
[link=2572083]validateRqStringField12[/link] | Метод возвращает валидаторы для строкового поля с максимальной длиной 12 символов. |
[link=2572055]validateRqStringField128[/link] | Метод возвращает валидаторы для строкового поля с максимальной длиной 128 символов. |
[link=2572079]validateRqStringField13[/link] | Метод возвращает валидаторы для строкового поля с максимальной длиной 13 символов. |
[link=2572075]validateRqStringField15[/link] | Метод возвращает валидаторы для строкового поля с максимальной длиной 15 символов. |
[link=2572051]validateRqStringField150 [/link] | Метод возвращает валидаторы для строкового поля с максимальной длиной 150 символов. |
[link=2572103]validateRqStringField2[/link] | Метод возвращает валидаторы для строкового поля с максимальной длиной 2 символа. |
[link=2572071]validateRqStringField20[/link] | Метод возвращает валидаторы для строкового поля с максимальной длиной 20 символов. |
[link=2572067]validateRqStringField25[/link] | Метод возвращает валидаторы для строкового поля с максимальной длиной 25 символов. |
[link=2572047]validateRqStringField255[/link] | Метод возвращает валидаторы для строкового поля с максимальной длиной 255 символов. |
[link=2572063]validateRqStringField30[/link] | Метод возвращает валидаторы для строкового поля с максимальной длиной 30 символов. |
[link=2572043]validateRqStringField300[/link] | Метод возвращает валидаторы для строкового поля с максимальной длиной 300 символов. |
[link=2572059]validateRqStringField50[/link] | Метод возвращает валидаторы для строкового поля с максимальной длиной 50 символов. |
[link=2572099]validateRqStringField8[/link] | Метод возвращает валидаторы для строкового поля с максимальной длиной 8 символов. |
[link=2572095]validateRqStringField9[/link] | Метод возвращает валидаторы для строкового поля с максимальной длиной 9 символов. |
[link=2572039]validateXmlId[/link] | Метод возвращает валидаторы для поля внешнего кода. |


validateCode

array public static
\Bitrix\Crm\RequisiteTable::validateCode(
);

Метод возвращает валидаторы поля КОД. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateName

array public static
\Bitrix\Crm\RequisiteTable::validateName(
);

Метод возвращает валидаторы для поля ИМЯ. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField10

array public static
\Bitrix\Crm\RequisiteTable::validateRqStringField10(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 10 символов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField11

array public static
\Bitrix\Crm\RequisiteTable::validateRqStringField11(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 11 символов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField12

array public static
\Bitrix\Crm\RequisiteTable::validateRqStringField12(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 12 символов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField128

array public static
\Bitrix\Crm\RequisiteTable::validateRqStringField128(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 128 символов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField13

array public static
\Bitrix\Crm\RequisiteTable::validateRqStringField13(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 13 символов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField15

array public static
\Bitrix\Crm\RequisiteTable::validateRqStringField15(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 15 символов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField150

array public static
\Bitrix\Crm\RequisiteTable::validateRqStringField150(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 150 символов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField2

array public static
\Bitrix\Crm\RequisiteTable::validateRqStringField2(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 2 символа. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField20

array public static
\Bitrix\Crm\RequisiteTable::validateRqStringField20(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 20 символов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField25

array public static
\Bitrix\Crm\RequisiteTable::validateRqStringField25(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 25 символов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField255

array public static
\Bitrix\Crm\RequisiteTable::validateRqStringField255(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 255 символов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField30

array public static
\Bitrix\Crm\RequisiteTable::validateRqStringField30(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 30 символов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField300

array public static
\Bitrix\Crm\RequisiteTable::validateRqStringField300(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 300 символов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField50

array public static
\Bitrix\Crm\RequisiteTable::validateRqStringField50(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 50 символов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField8

array public static
\Bitrix\Crm\RequisiteTable::validateRqStringField8(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 8 символов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateRqStringField9

array public static
\Bitrix\Crm\RequisiteTable::validateRqStringField9(
);

Метод возвращает валидаторы для строкового поля с максимальной длиной 9 символов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateXmlId

array public static
\Bitrix\Crm\RequisiteTable::validateXmlId(
);

Метод возвращает валидаторы для поля внешнего кода. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Restriction

Пространство имён \Bitrix\Crm\Restriction содержит классы для работы с ограничениями.

Класс | Описание | С версии
QuantityRestriction | Класс для работы с ограничениями. | 16.5.0


QuantityRestriction

QuantityRestriction - класс для работы с ограничениями.

Метод | Описание | С версии
[link=3623287]externalize[/link] | Метод накладывает ограничения. |
[link=3623279 ]getQuantityLimit[/link] | Метод получает предел количества. |
[link=3623293]internalize[/link] | Метод принимает ограничения. |
[link=3623283]setQuantityLimit[/link] | Метод настраивает количественные ограничения. |


externalize

array public
\Bitrix\Crm\Restriction\QuantityRestriction::externalize(
);

Метод накладывает ограничения. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getQuantityLimit

integer public
\Bitrix\Crm\Restriction\QuantityRestriction::getQuantityLimit(
);

Метод получает предел количества. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


internalize

void public
\Bitrix\Crm\Restriction\QuantityRestriction::internalize(
 array $params
);

Метод принимает ограничения. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Параметры. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setQuantityLimit

void public
\Bitrix\Crm\Restriction\QuantityRestriction::setQuantityLimit(
 integer $limit
);

Метод настраивает количественные ограничения. Метод нестатический.

Параметры

Параметр | Описание | Версия
$limit | Максимально допустимое количество. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Отправить отзыв по этому разделу

Service

  • EventHistory
  • Operation
  • Router
  • Accounting
  • Broker
  • Collection
  • Container
  • Context
  • Converter
  • Director
  • DynamicTypesMap
  • EditorAdapter
  • EventHandler
  • Factory
  • FileUploader
  • Localization
  • ParentFieldManager
  • Scenario
  • TypesMap
  • UserPermissions


Accounting

Методы

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

Основной сценарий использования - расчет итоговой суммы для элемента CRM по списку привязанных к нему товарных позиций с учетом налогов, скидок и т.д.

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

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

Кеш можно сбросить отдельным методом. Также есть метод, выполняющий расчеты без кеширования.

Экземпляр сервиса следует получать из контейнера.

Метод Описание С версии
public function isTaxMode():
bool
 Вернет true, если сервис использует логику расчета налогов как налог на документ.
Начальное значение определяется в конструкторе сервиса из настроек CRM.
public function setTaxMode(bool $isTaxMode):
self
 Установит режим расчета налога. Если $isTaxMode = true, то сервис будет работать с налогами как налог на документ. Если false, то НДС.
public function clearCache():
self
 Сбросит кеш расчетов итоговых сумм элементов.
public function calculateByItem(Item $item):
Accounting\Result
 Выполнит расчеты итоговых сумм для элемента $item и запишет данные в результат (Accounting\Result).
Итоги расчетов будут закешированы в разрезе элемента. Если данные уже есть в кеше, будут использованы они.
public function calculate
(array $productRows, string $currencyId, int $personTypeId,
?string $locationId = null):
?array
 Метод, который фактически выполняет все расчеты, кеш не используется.
Этот метод является оберткой над \CCrmSaleHelper::Calculate().
public function resolvePersonTypeId(Item $item):
int
 Вернет тип плательщика в зависимости от привязок элемента $item.
public function calculatePriceWithoutTax
(float $priceWithTax, float $taxRate): float
  • $priceWithTax - цена с налогами;
  • $taxRate - ставка налога в процентах (число от 0 до 100).

Рассчитывает сумму без учета налога. Например, если $priceWithTax = 120, а $taxRate = 20, то результат будет 100.
public function calculatePriceWithTax
(float $priceWithoutTax, float $taxRate):
float
  • $priceWithoutTax - цена без налога;
  • $taxRate - ставка налога в процентах (число от 0 до 100).

Рассчитывает сумму с учетом налога. Например, если $priceWithoutTax = 100, а $taxRate = 20, то результат будет 120.

Accounting\Result

Результат расчета итоговых сумм отдается в виде отдельного класса наследника Bitrix\Main\Result.

Он содержит в себе как сами результаты расчетов, так и информацию об ошибках.

Информация об ошибках редко используется. Как правило, надо выполнить расчет и получить одно из полей результата.

Чтобы обеспечить работоспособность этого сценария у класса есть ряд публичных методов.

Если при выполнении расчетов возникла ошибка, то эти методы вернут null.

Метод Описание С версии
public function getPrice(): ?float
 Вернет итоговую сумму с учетом налогов и скидок.
public function getCurrencyId(): ?string
 Вернет идентификатор валюты.
public function getPersonTypeId(): ?int
 Вернет идентификатор типа плательщика.
public function getLocationId(): ?string
 Вернет идентификатор местоположения.
public function getTaxValue(): ?float
 Вернет сумму налогов.

Примеры

use Bitrix\Crm\Service;

$factory = Service\Container::getInstance()->getFactory(\CCrmOwnerType::Quote);

$item = $factory->createItem();

$productRow = \Bitrix\Crm\ProductRow::createFromArray([
    'PRODUCT_NAME' => 'new product',
    'PRICE' => 999,
    'QUANTITY' => 3,
    'DISCOUNT_RATE' => 20,
]);

$item->addToProductRows($productRow);

$price = Service\Container::getInstance()->getAccounting()->calculateByItem($item)->getPrice();

$item->setOpportunity($price);


Broker

Методы

При отрисовке сложных интерфейсов часто бывает, что в разных местах происходит загрузка связанных данных из одной и той же таблицы.

Например, получение имен, привязанных к элементам CRM пользователей.

Чтобы не делать повторных запросов был разработан абстрактный класс Service\Broker.

Его основная задача - лёгкий доступ к связаным данным с кешированием.

Помните, что использование этого сервиса защищает от повторных запросов только в том случае, если данные уже были получены через этот сервис.
Не стоит делать запросы в цикле вида
    while($item = $list->fetch())
    {
       $data = $broker->getById($item['USER_ID']);
    }

Класс является абстрактным. Способ и формат получаемых данных определены в Наследниках.

Инстанс брокера следует получать через контейнер.

Метод Описание С версии
public function getById(int $id)
 Вернет данные по идентификатору $id. Если данные были загружены ранее, они будут взяты из кеша.
public function getBunchByIds(array $ids): array
 Вернет данные по массиву идентификаторов $ids, где ключ - идентификатор, а значение - данные по нему.
Если данные были загружены ранее, они будут взяты из кеша. На получение отсутствующих данных в кеше будет произведен отдельный запрос.

Наследники

Service\Broker\User

Предоставляет данные о пользователях.

Каждая запись о пользователе является массивом следующей структуры:

  • ID - идентификатор;
  • NAME - имя;
  • SECOND_NAME - отчество;
  • LAST_NAME - фамилия;
  • TITLE - обращение;
  • WORK_POSITION - должность;
  • FORMATTED_NAME - полное имя;
  • SHOW_URL - ссылка на профиль;
  • PERSONAL_PHOTO - идентификатор файла аватара;
  • PHOTO_URL - ссылка на аватар.

Этот класс имеет дополнительный метод:

Метод Описание С версии
public function getName(int $id): ?string
 Вернет полное имя пользователя по его идентификатору.

Service\Broker\Contact

Предоставляет данные о контактах CRM.

Каждая запись о контакте является ORM-объектом таблета Bitrix\Crm\ContactTable.

Service\Broker\Company

Предоставляет данные о компаниях CRM.

Каждая запись о компании является ORM-объектом таблета Bitrix\Crm\CompanyTable.

Service\Broker\TypePreset

Отдельно стоит упомянуть брокер пресетов для настроек смарт-процессов.

Он не является наследником класса Service\Broker, но работает по схожим принципам.

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

Имеет следующие публичные методы:

Метод Описание С версии
public function getList(): array
 Вернет список пресетов.
public function getPredefinedPresets(): array
 Вернет список предустановленных пресетов.
public function collectPresetsByEvent(): array
 Бросает событие onCollectTypePresets модуля CRM. В результате выполнения обработчика события по ключу presets должен попасть массив пресетов соответствующей структуры.
Вернет массив полученных из обработчиков пресетов.
public function getCategories(): array
 Вернет массив разделов для пресетов.

Примеры

use Bitrix\Crm\Service;

$contactBroker = \Bitrix\Crm\Service\Container::getInstance()->getCompanyBroker();

// here the contact will be queried
$contact = $contactBroker->getById(1);

echo $contact->getName();

// here data will be retrieved from cache
$contact = $contactBroker->getById(1);


Collection

Service\Collection

Класс коллекции сценариев. Воспроизводит интерфейсы \Iterator, \Countable.

Метод Описание С версии
public function __construct(array $scenarios)
 Конструктор. $scenarios - массив сценариев.
public function add(Scenario $scenario): self
 Добавит новый сценарий $scenario в коллекцию.
public function playAll(): Result
 Последовательно запустит все сценарии коллекции. Если при выполнении сценария возникает ошибка, то остальные не выполняются.
Вернет Result, где в данных будут собранные данные из всех сценариев.


Container

Методы

Контейнер сервисов является источником инстансов сервисов в новом API CRM.

При этом он и сам является сервисом.

Экземпляр этого сервиса (как и большинства других) содержится в DI\ServiceLocator [image].

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

Метод Описание С версии
public static function getInstance(): Container
 Метод возвращает инстанс контейнера.
public static function getIdentifierByClassName
(string $className, array $parameters = null):
string
 Метод возвращает строковый идентификатор для ServiceLocator по названию класса и дополнительным строковым параметрам.
public function getFactory(int $entityTypeId):
?Factory
 Метод возвращает инстанс фабрики для типа $entityTypeId, если она есть.
Не для всех типов сущностей есть фабрики. Также не будет фабрики, если передать entityTypeId несуществующего смарт-процесса.
public function getDynamicFactoryByType(Type $type):
Dynamic
 Метод возвращает инстанс фабрики смарт-процесса для orm-объекта.
public function getUserPermissions
(?int $userId = null): UserPermissions
 Метод возвращает инстанс сервиса прав доступа для пользователя с id $userId.
Если $userId не указан, то права доступа будут получены из глобального контекста.
public function getType(int $id): ?Type
 Метод вернет orm-объект смарт-процесса по его $id.
Обратите внимание, здесь колонка именно ID, а не ENTITY_TYPE_ID
.
public function getType(int $id): ?Type
 Метод вернет orm-объект смарт-процесса по его $id.
Обратите внимание, здесь колонка именно ID, а не ENTITY_TYPE_ID
.
public function getTypeByEntityTypeId
(int $entityTypeId): ?Type
 Метод вернет orm-объект смарт-процесса по его $entityTypeId.
Обратите внимание, здесь колонка именно ENTITY_TYPE_ID
.
public function getLocalization(): Localization
 Метод вернет инстанс сервиса локализации.
public function getRouter(): Router
 Метод вернет инстанс сервиса роутинга.
public function getContext(): Context
 Метод вернет инстанс глобального контекста.
public function getOrmObjectConverter():
Converter\OrmObject
 Метод вернет инстанс конвертера орм-объектов.
public function getItemConverter():
Converter\Item
 Метод вернет инстанс конвертера элементов.
public function getStageConverter():
Converter\Stage
 Метод вернет инстанс конвертера стадий.
public function getTypeConverter():
Converter\Type
 Метод вернет инстанс конвертера смарт-процессов.
public function getUserBroker():
Broker\User
 Метод вернет инстанс брокера пользователей.
public function getCompanyBroker():
Broker\Company
 Метод вернет инстанс брокера компаний.
public function getContactBroker():
Broker\Contact
 Метод вернет инстанс брокера контактов.
public function getDirector(): Director
 Метод вернет инстанс сервиса запуска сценариев.
public function getDynamicTypeDataClass(): string
 Метод вернет таблет смарт-процессов.
public function getEventHistory(): EventHistory
 Метод вернет инстанс сервиса истории.
public function getTypesMap(): TypesMap
 Метод вернет инстанс карты типов CRM.
public function getDynamicTypesMap():
DynamicTypesMap
 Метод вернет инстанс карты смарт-процессов.
public function getRelationManager():
RelationManager
 Метод вернет инстанс менеджера связей.
public function getTypePresetBroker():
Broker\TypePreset
 Метод вернет брокер пресетов смарт-процессов.
public function getParentFieldManager():
ParentFieldManager
 Метод вернет менеджер полей связей.
public function getPullManager(): PullManager
 Метод вернет менеджер пушей.
public function getFilterFactory():
Filter\Factory
 Метод вернет фабрику классов при работе с фильтром.
public function getAccounting(): Accounting
 Метод вернет сервис расчетов сумм.
public function getFileUploader(): FileUploader
 Метод вернет сервис загрузки файлов.

Пример

use Bitrix\Crm\Service;

$container = Service\Container::getInstance ();
$router = $container->getRouter();
// идентично
// $router = DI\ServiceLocator::getInstance()->get('crm.service.router');
$entityTypeId = \CCrmOwnerType::Deal;
$factory = $container->getFactory($entityTypeId );
if (!$factory)
{
    echo 'factory not found' ;
}


Context

Константы

Сервис является хранилищем данных о текущем контексте исполнения.

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

Если контекст является одним из аргументов метода, то его можно туда передать, сформировав в явном виде.

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

Типы способов запуска хранятся в константах класса.

  • public const SCOPE_MANUAL = 'manual' - ручной запуск (значение по умолчанию);
  • public const SCOPE_TASK = 'task' - запуск из задания;
  • public const SCOPE_AUTOMATION = 'automation' - запуск из БП / робота;
  • public const SCOPE_REST = 'rest' - запуск из приложения.

Методы

Метод Описание С версии
public function setUserId(int $userId): Context
 Установит идентификатор пользователя $userId.
public function getUserId(): int
 Вернет идентификатор пользователя. Если он не был установлен, то будет возвращен идентификатор текущего авторизованного пользователя.
Если на момент вызова метода пользователь не инициализирован, то метод вернёт 0.
public function setScope(string $scope): Context
 Установит способ запуска контекста $scope.
public function getScope(): string
 Вернет способ запуска. Если не был установлен, то вернет manual.


Converter

Методы

В современной веб-разработке фронтенд занимает значительную частью кода. И этот код тоже должен быть хорошо структурирован, разделен на слои, разбит на классы и т.д.

Соответственно, на стороне фронтенда должен быть удобный класс, предоставляющий доступ к данным об элементах CRM или других сущностей.

Заготовкой такого класса является javascript-экстеншн crm.model.

Чтобы данные для этого класса были правильно подготовлены необходим сервис Service\Converter.

Это абстрактный класс, для каждого типа модели необходимо иметь свою реализацию.

Этот же сервис используется для формирования данных в REST-методах.

Метод Описание С версии
abstract public function toJson($model): array;
 Абстрактный класс, преобразующий данные о модели $model в json.
public function convertKeysToCamelCase(array $data): array
 Рекурсивно преобразует ключи в массиве $data в camelCase нотацию.

Наследники

Service\Converter\OrmObject

Самый простой вид конвертера. Метод toJson принимает на вход EntityObject и преобразует в json актуальные значения объекта.

Service\Converter\Item

Преобразует в json данные об элементе CRM.

Этот конвертер вызывается автоматически в методе Item::jsonSerialize().

Service\Converter\Type

Преобразует в json данные о настройках смарт-процесса. На вход принимает orm-объект \Bitrix\Crm\Model\Dynamic\Type.

Работает в паре с js-экстеншном crm.type-model.

Service\Converter\Stage

Преобразует в json данные о стадии. На вход принимает orm-объект \Bitrix\Crm\EO_Status.

Примеры

use Bitrix\Crm\Service;

$factory = Service\Container::getInstance()->getFactory(\CCrmOwnerType::Quote);
$stages = $factory->getStages();
$converter = Service\Container::getInstance()->getStageConverter();

$json = [];
foreach ($stages as $stage)
{
    $json[] = $converter->toJson($stage);
}


Director

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

Сейчас используется только для создания необходимых связанных данных после создания смарт-процесса.

Имеет единственный метод:

Метод Описание С версии
public function getScenariosForNewCategory
(int $entityTypeId, int $categoryId): Scenario\Collection
 Возвращает коллекцию сценариев, которые необходимо выполнить после создания нового направления смарт-процесса.


DynamicTypesMap

Методы

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

Чтобы эти данные не загружались несколько раз, а также для удобства доступа к этим данным, был сделан этот сервис.

Жизненный цикл работы с этим сервисом следующий:

  • Инстанс получается через контейнер.
  • Вызывается метод load с параметрами, какие данные надо загрузить.
  • Доступ к данным получается через методы getTypes / getCategories / getStages.
Обратите внимание, этот класс не осуществляет проверку прав доступа.
Метод Описание С версии
public function load(array $params = []): self
 Загружает данные о смарт-процессах. Массив $params может содержать два ключа:
  • isLoadStages - загружать стадии или нет. По умолчанию true.
  • isLoadCategories - загружать направления или нет. По умолчанию true.

Если isLoadStages = true, то направления будут загружены в любом случае, т.к. без карты направлений нет возможности корректно загрузить все стадии.
Этот метод произведет загрузку только тех данных, которых не хватает.
Если все запрошенные данные уже были загружены ранее, то дополнительных запросов к базе данных не производится.
Все остальные методы этого сервиса должны вызываться только после того, как метод load был вызван хотя бы раз. Иначе будет выброшено исключение.
public function getTypes(): array
 Вернет массив орм-объектов о смарт-процессах.
public function getCategories
(?int $entityTypeId = null): array
 Вернет массив орм-объектов направлений смарт-процессов.
Если в методе load не были запрошены направления, то будет выброшено исключение.
public function getDefaultCategory(int $entityTypeId):
?\Bitrix\Crm\Model\EO_ItemCategory
 Вернет орм-объект направления по умолчанию для типа с идентификатором CRM $entityTypeId.
public function getStagesEntityId
(int $entityTypeId, ?int $categoryId = null):
?string
 Вернет идентификатор типа сущности для таблицы b_crm_status по идентификатору типа CRM $entityTypeId направления $categoryId.
Если $categoryId не передан, будет использовано направление по умолчанию для данного смарт-процесса.
public function getStages
(int $entityTypeId, ?int $categoryId = null):
array
 Вернет массив орм-объектов стадий Bitrix\Crm\EO_Status смарт-процесса с идентификатором типа CRM $entityTypeId направления $categoryId.
Если $categoryId не передан, будет использовано направление по умолчанию для данного смарт-процесса.

Пример

use Bitrix\Crm\Service;

$dynamicTypesMap = Service\Container::getInstance()->getDynamicTypesMap()->load();

foreach ($dynamicTypesMap->getTypes() as $type)
{
    echo 'type: ' . htmlspecialcharsbx($type->getTitle()) . PHP_EOL;
    foreach ($dynamicTypesMap->getCategories($type->getEntityTypeId()) as $category)
    {
        echo "\tcategory: " . htmlspecialcharsbx($category->getName()) . PHP_EOL;
        foreach ($dynamicTypesMap->getStages($type->getEntityTypeId(), $category->getId()) as $stage)
        {
            echo "\t\tstage: " . htmlspecialcharsbx($stage->getName()) . PHP_EOL;
        }
    }
}


EditorAdapter

Общее

Универсальный редактор (компонент bitrix:ui.form и его наследник bitrix:crm.entity.editor) играет важную роль в отрисовке интерфейсов CRM.

Подготовить параметры этого компонента может быть не так просто, особенно, если элемент имеет много полей.

Чтобы унифицировать этот процесс, был разработан этот сервис. Его основная задача - подготовка описания полей и данных о сущности для универсального редактора.

Каждый тип сущности имеет свои особенности при работе с полями (как минимум, отличается набор "комплексных полей").

Чтобы не создавать отдельного наследника на каждый тип сущности, было решено сделать возможность добавлять описания дополнительных полей и дополнительных данных.

Жизненный цикл при работе с этим сервисом выглядит следующим образом:

  • Объект конфигурируется, получая на вход описание дополнительных полей методом addEntityField (которые формируются, как правило, статическими методами этого же класса).
  • Вызывается метод processByItem, в котором происходит подготовка необходимых данных.
  • Добавляются дополнительные данные для редактора методом addEntityData.
  • Обработанные данные получаются из методов getEntityFields и getEntityData и передаются в универсальный редактор.

Методы

Метод Описание С версии
public function __construct
(Field\Collection $fieldsCollection, array $dependantFieldsMap = [])
  • $fieldsCollection - коллекция полей;
  • $dependantFieldsMap - массив зависимых полей, где ключ - это код комплексного поля, а значение - массив полей из коллекции, которые в него входят.
Этим методом не рекомендуется пользоваться напрямую, лучше воспользоваться соответствующим методом фабрики Service\Factory::getEditorAdapter().
public function hasData(): bool
 Вернет true, если метод processByItem был вызван хотя бы раз.
public static function isProductListEnabled(): bool
 Вернет true, если доступен новый грид товаров.
public function addEntityField(array $field): self
 Добавит дополнительные данные о поле $field. Метод должен вызываться до processByItem.
public function addEntityData($name, $value): self
 Добавит дополнительные данные $value о имени $name. Метод должен вызываться после processByItem.
public static function getClientField
(string $title, ?string $fieldName = null, ?string $fieldDataName = null):
array
  • $title - языковое название поля;
  • $fieldName - код поля. По умолчанию CLIENT;
  • $fieldDataName - название ключа, по которому в дополнительных данных будет передана информация о составе этого поля (данные о компании и контакте).
Вернет описание поля "Клиент".
public static function getParentField
(string $title, int $parentEntityTypeId, ?string $context = null):
array
  • $title - языковое название поля;
  • $parentEntityTypeId - идентификатор типа CRM родителя;
  • $context - контекст для селектора.
Вернет описание поля с селектором родителя.
public static function getProductRowSummaryField
(string $title, ?string $fieldName = null): array
  • $title - языковое название поля;
  • $fieldName - код поля. По умолчанию PRODUCT_ROW_SUMMARY.
Вернет описание поля "Товары".
public static function getOpportunityField
(string $title, ?string $fieldName = null): array
  • $title - языковое название поля;
  • $fieldName - код поля. По умолчанию OPPORTUNITY_WITH_CURRENCY.
Вернет описание поля типа "Сумма с валютой".
public static function getUtmField
(string $title, ?string $fieldName = null): array
  • $title - языковое название поля;
  • $fieldName - код поля. По умолчанию UTM.
Вернет описание поля типа "UTM-метки".
public static function getLocationFieldDescription
(Field $field): array
 Вернет описание поля типа "Местоположение" по объекту этого поля.
public static function getProductRowProxyController
(string $productEditorId, ?string $fieldName = 'PRODUCT_ROW_PROXY'):
array
  • $productEditorId - идентификатор грида товаров;
  • $fieldName - код контроллера. По умолчанию PRODUCT_ROW_PROXY.
Вернет описание для контроллера передачи данных о товарах внутри карточки.
public static function getProductListController
(string $productListId, string $currencyId,
?string $fieldName = self::CONTROLLER_PRODUCT_LIST): array
  • $productEditorId - идентификатор грида товаров;
  • $currencyId - идентификатор валюты;
  • $fieldName - код контроллера. По умолчанию PRODUCT_LIST.
Вернет описание для контроллера списка товаров.
 public static function prepareEntityUserFields
(array $userFields, array $visibilityConfig, int $entityTypeId,
int $entityId, string $fileHandlerUrl = ''): array
  • $userFields - массив с описанием настроек пользовательских полей;
  • $visibilityConfig - настройки видимости;
  • $entityTypeId - идентификатор типа CRM;
  • $entityId - идентификатор элемента;
  • $fileHandlerUrl - путь к файлу, отвечающему за отображение пользовательских полей типа "Файл".
Вернет массив с описанием всех пользовательских полей для универсального редактора.
public function getClientEntityData(): array
 Вернет данные для поля типа "Клиент". Эти данные будут доступны после вызова метода processByItem.
public static function getUtmEntityData(Item $item): string
 Вернет html для отрисовки поля с UTM-метками.
public static function getLocationFieldHtml
(Item $item, string $fieldName): ?string
  • $item - элемент;
  • $fieldName - код поля.
Вернет html для отрисовки поля "Местоположение".
public function processByItem
(Item $item, EO_Status_Collection $stages, array $componentParameters = []):
self
  • $item - элемент, для которого необходимо получить данные и поля;
  • $stages - коллекция стадий;
  • $componentParameters - дополнительные параметры компонента. Здесь может быть:
    • mode - режим работы компонента (см. константы класса \Bitrix\Crm\Component\EntityDetails\ComponentMode). По умолчанию просмотр \Bitrix\Crm\Component\EntityDetails\ComponentMode::VIEW;
    • componentName - название компонента (например, bitrix:crm.item.details);
    • fileHandlerUrl - путь к файлу, отвечающему за отображение пользовательских полей типа "Файл";
    • conversionWizard - класс для выполнения конвертации (если компонент работает в режиме конвертации);
    • entitySelectorContext - контекст для селектора в полях с родителями;
    • isPageTitleEditable - true, если название элемента может быть отредактировано в заголовке страницы.
Запустит обработку для элемента $item. Добавление дополнительных полей и данных должно производиться до вызова этого метода.
public function saveClientData
(Item $item, string $clientJson): Result
  • $item - элемент;
  • $clientJson - строка в формате json из универсального редактора из поля "Клиент".
Обработает данные о клиенте с фронтенда и произведет необходимые манипуляции с элементом (добавит связи / удалит связи).
Этот метод не производит запись изменений в базу данных. Вернет объект Result, где в данных по ключу processedEntities будет находиться массив идентификаторов элементов, которые были обработаны.
public function saveClientData
(Item $item, string $clientJson): Result
  • $item - элемент;
  • $clientJson - строка в формате json из универсального редактора из поля "Клиент".
Обработает данные о клиенте с фронтенда и произведет необходимые манипуляции с элементом (добавит связи / удалит связи).
Этот метод не производит запись изменений в базу данных. Вернет объект Result, где в данных по ключу processedEntities будет находиться массив идентификаторов элементов, которые были обработаны.
public function saveProductsData
(Item $item, string $productsJson): Result
  • $item - элемент;
  • $productsJson - строка в формате json из универсального редактора с данными о товарах.
Обработает данные о товарах с фронтенда и запишет обновленные данные в элемент.
Этот метод не производит запись изменений в базу данных. Вернет объект Result.
public function saveRelations
(Item $item, array $data): void
  • $item - элемент;
  • $data - массив с данными о родителях элемента:
    • Ключи должны иметь вид PARENT_ID_ + {идентификатор типа CRM родителя}, а значение - ID родителя;
    • Дополнительно может быть два ключа PARENT_TYPE_ID с идентификатором типа CRM родителя и PARENT_ID с ID родителя.
Обработает данные из родительских полей о связях и сохранит изменения в базе данных.
public function setContext(array $context): void
 Запишет контекст для универсального редактора.
public function getContext(): array
 Вернет контекст для универсального редактора.
public static function combineConfigIntoOneSection
(array $entityConfig, string $title = null): array
  • $entityConfig - конфигурация контролов универсального редактора;
  • $title - заголовок нового раздела редактора.
Соберет все контролы из $entityConfig в один раздел с кодом main и заголовком $title. Вернет новую версию конфига.
public static function markFieldsAsRequired
(array $entityFields, array $requiredFieldNames):
array
  • $entityFieldsg - описание полей для универсального редактора;
  • $requiredFieldNames - массив кодов обязательных полей.
Пометит все поля из набора $requiredFieldNames в конфиге $entityFields как обязательные. Вернет новую версию конфига.
public static function getParentFieldName
(int $parentEntityTypeId): string
 Вернет код поля для родителя с идентификатором типа CRM $parentEntityTypeId.

Примеры

use Bitrix\Crm\Service;

$factory = Service\Container::getInstance()->getFactory(\CCrmOwnerType::Quote);

$editorAdapter = $factory->getEditorAdapter();
$editorAdapter->addEntityField([
    'name' => 'MY_FIELD' ,
    'title' => 'Title',
    'type' => 'string',
]);
$item = $factory->getItem(13);
$editorAdapter
    ->processByItem($item, $factory->getStages())
    ->addEntityData('MY_FIELD', 'actual_value')
;
$entityData = $editorAdapter->getEntityData();
$entityFields = $editorAdapter->getEntityFields();


EventHandler

Сервис для обработки статических событий от других модулей.


Factory

Общие методы

Абстрактный класс фабрики. Воспроизводит паттерн проектирования "Абстрактная фабрика", где для каждого типа сущности есть своя фабрика.

Реализация фабрики для каждого типа возвращает набор классов, специфичных именно для этого типа.

Сервис фабрики является входной точкой всегда, когда необходимо работать с данными, специфичными для конкретного типа сущности.

Инстанс фабрики получается из контейнера сервисов.

Здесь и далее под словом "тип" подразумевается "тип сущности в рамках CRM", такой как "Лид", "Сделка" и т.д. К ним же относятся "Смарт-процессы".

Метод Описание С версии
abstract public function getEntityTypeId(): int;
 Метод возвращает идентификатор типа CRM.
public function getEntityName(): string
 Метод возвращает строковое представление идентификатора типа CRM.
public function getEntityAbbreviation(): string
 Метод возвращает сокращенное строковое представление идентификатора типа CRM.
public function getEntityDescription(): string
 Метод возвращает языковое обозначение типа.

Функционал типа

Часть этих методов перекликаются с соответствующими методами из Model\Dynamic\Type.

Метод Описание С версии
public function isMultipleAssignedEnabled(): bool
 Возвращает true, если функционал множественных ответственных активен. Сейчас всегда возвращает false, не до конца реализовано.
public function isCategoriesSupported(): bool
 Возвращает true, если тип поддерживает работу с направлениями.
public function isCategoriesEnabled(): bool
 Возвращает true, если тип поддерживает работу с направлениями и этот функционал активирован.
public function isStagesSupported(): bool
 Возвращает true, если тип поддерживает работу со стадиями.
public function isStagesEnabled(): bool
 Возвращает true, если тип поддерживает работу со стадиями и этот функционал активирован.
public function isLinkWithProductsEnabled(): bool
 Возвращает true, если для типа используется функционал привязки к товарам.
public function isBeginCloseDatesEnabled(): bool
 Возвращает true, если у типа есть поля "Дата начала" и "Дата окончания".
public function isClientEnabled(): bool
 Возвращает true, если у типа есть поле "Клиент" (привязка к контактам и компании).
public function isCrmTrackingEnabled(): bool
 Возвращает true, если тип поддерживает работу со сквозной аналитикой и utm-метками.
public function isMyCompanyEnabled(): bool
 Возвращает true, если у типа есть поле "Реквизиты моей компании".
public function isDocumentGenerationEnabled(): bool
 Возвращает true, если для типа активирован функцинал печати документов.
public function isSourceEnabled(): bool
 Возвращает true, если у типа есть поля "Источник" и "Дополнительно об источнике".
public function isUseInUserfieldEnabled(): bool
 Возвращает true, если тип может быть использован в поле типа "Привязка к элементам CRM".
public function isRecyclebinEnabled(): bool
 Возвращает true, если функционал корзины активирован.
public function isAutomationEnabled(): bool
 Возвращает true, если функционал роботов и триггеров активирован.
public function isBizProcEnabled(): bool
 Возвращает true, если функционал дизайнера бизнес-процессов активирован.
public function isObserversEnabled(): bool
 Возвращает true, если у типа есть поле "Наблюдатели" с соответствующим функционалом.
public function isNewRoutingForDetailEnabled(): bool
 Возвращает true, если ссылки на детальную страницу элементов этого типа должны строиться по тому же принципу, что и ссылки на смарт-процессы.
public function isNewRoutingForListEnabled(): bool
 Возвращает true, если ссылки на список элементов этого типа должны строиться по тому же принципу, что и ссылки на смарт-процессы.
public function isNewRoutingForAutomationEnabled(): bool
 Возвращает true, если ссылки на настройку роботов и триггеров этого типа должны строиться по тому же принципу, что и ссылки на смарт-процессы.

Поля элементов этого типа

Метод Описание С версии
public function getFieldsInfo(): array
 Метод возвращает описание полей элементов этого типа в виде массива, где ключ - код поля, а значение - описание.
Результат работы этого метода совместим с методами из старого API \CCrmDeal::GetFieldsInfo(), \CCrmLead::GetFieldsInfo() и т.д.
Описание поля состоит из нескольких ключей:
  • TITLE - Название поля на текущем языке.
  • TYPE - Тип поля, возможные перечисления можно посмотреть в константах класса Crm\Field.
  • ATTRIBUTES - Массив атрибутов поля, возможные перечисления находятся в класса \CCrmFieldInfoAttr.
  • CLASS - FQN класса-наследника Crm\Field, в котором реализована какая-то специфическая для этого поля бизнес-логика.
  • CRM_STATUS_TYPE - Если тип поля crm_status, то здесь находится значение колонки ENTITY_ID для таблицы b_crm_status.
  • SETTINGS - Массив настроек для класса-наследника Crm\Field.

public function getFieldsMap(): array
 Метод возвращает карту соответствия "общих" кодов полей и кодов полей этого типа, если они отличаются от "общих" (подробнее в описании Crm\Item).
Ключ - "общий" код поля, а значение - код поля этого типа.
public function getEntityFieldNameByMap
(string $commonFieldName): string
 Метод возвращает код поля этого типа по его "общему" коду.
public function getCommonFieldNameByMap
(string $entityFieldName): string
 Метод возвращает "общий" код поля по коду поля этого типа.
public function getFieldCaption(string $commonFieldName): string
 Метод возвращает языковое название поля по его "общему" коду.
Если название не найдено, то будет возвращен сам код поля.
public function isFieldExists(string $commonFieldName): bool
 Метод вернет true, если поле с "общим" кодом $commonFieldName есть у элементов этого типа.
public function getFieldValueCaption
(string $commonFieldName, $fieldValue): string
 Метод вернет строковое значение поля с "общим" кодом $commonFieldName и значением $fieldValue.
public function getFieldsCollection(): Field\Collection
 Метод вернет коллекцию полей этого типа.
Сюда же войдут пользовательские поля, о которых ниже.

Пользовательские поля типа

Т.к. набор пользовательских полей хранится в базе данных, то эти данные кешируются внутри фабрики.

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

Метод Описание С версии
public function getUserFieldEntityId(): string
 Возвращает идентификатор сущности для апи пользовательских полей.
public function clearUserFieldsInfoCache()
 Сбрасывает кеш данных о пользовательских полях типа.
public function getUserFieldsInfo(): array
 Возвращает описание пользовательских полей в том же формате, что и в метод getFieldsInfo().
public function getUserFields(): array
 Возвращает описание пользовательских полей этого типа.

Направления

Данные о направлениях кешируются внутри фабрики.

Метод Описание С версии
public function getCategories(): array
 Возвращает массив направлений этого типа.
abstract public function createCategory(array $data = []): Category;
 Создает объект направления на основе данных о нем.
public function createDefaultCategoryIfNotExist(): Category
 Если уже существует направление по умолчанию, то метод вернет этот объект.
Если направления по умолчанию нет, то это направление будет создано.
Если не удалось создать направление по умолчанию, будет выброшено исключение \Bitrix\Main\InvalidOperationException.
Этот метод используется в тех местах, где данные о направлении являются обязательными (например, в поле CATEGORY_ID таблицы элемента смарт-процесса).
public function getDefaultCategory(): ?Category
 Возвращает направление по умолчанию, если оно есть.

Стадии

Данные о стадиях кешируются внутри фабрики.

Метод Описание С версии
public function getStagesEntityId
(?int $categoryId = null): ?string
 Возвращает идентификатор ENTITY_ID для таблицы статусов
Если тип не поддерживает работу со стадиями, то вернется null.
public function getStages
(int $categoryId = null): EO_Status_Collection
 Возвращает коллекцию стадий направления $categoryId.
Если $categoryId не передано, но тип поддерживает работу с направлениями, то будет получен список стадий направления по умолчанию.
public function purgeStagesCache(): Factor
 Очищает кеш стадий.
public function getStage
(string $statusId): ?EO_Status
 Возвращает объект стадии по строкому идентификатору $stageId.

Элементы

Метод Описание С версии
abstract public function getDataClass(): string;
 Возвращает FQN класса-таблета, где хранятся элементы этого типа.
public function getItemByEntityObject
(EntityObject $object): Item
 Возвращает объект элемента по orm-объекту $object.
public function getItems
(array $parameters = []): array
 Возвращает массив объектов элементов.
Здесь $parameters - массив со структурой, полностью аналогичной аргументу в методе [link=1755489]\\Bitrix\Main\Entity\DataManager::getList()[/link].
public function getItemsFilteredByPermissions
( array $parameters, ?int $userId = null,
string $operation = UserPermissions::OPERATION_READ ): array
 Возвращает массив объектов элементов аналогично методу getList, но здесь учитываются права доступа пользователя с id $userId при выполнении действия $operation.
Параметр $userId как есть передается в метод Service\Container::getUserPermissions().
public function getItem(int $id): ?Item
 Возвращает объект элемента по его $id.
public function getItemsCount
(array $filter = []): int
 Возвращает количество элементов по фильтру $filter.
public function getItemsCountFilteredByPermissions
( array $filter = [], ?int $userId = null,
string $operation = UserPermissions::OPERATION_READ ): int
 Возвращает количество элементов по фильтру $filter с учетом прав доступа пользователя с id $userId при выполнении действия $operation.
Параметр $userId как есть передается в метод Service\Container::getUserPermissions().
public function createItem(array $data = []): Item
 Создает новый элемент со значениями полей из $data.
В $data должны использоваться "общие" ключи.
При этом сюда можно передавать значения только скалярных собственных полей. Для остальных типов полей (пользовательские, ссылки) работоспособность не гарантируется.
public function getItemCategoryId(int $id): ?int
 Возвращает идентификатор направления элемента по его $id.

Изменения

Метод Описание С версии
public function getAddOperation
(Item $item, Context $context = null): Operation\Add
 Возвращает объект операции добавления элемента $item с контекстом $context.
public function getUpdateOperation
(Item $item, Context $context = null): Operation\Update
 Возвращает объект операции изменения элемента $item с контекстом $context.
public function getDeleteOperation
(Item $item, Context $context = null): Operation\Delete
 Возвращает объект операции удаления элемента $item с контекстом $context.
public function getConversionOperation
(Item $item, EntityConversionConfig $configs, Context $context = null):
Operation\Conversion
 Возвращает объект операции конвертации элемента $item с конфигом $configs с контекстом $context.
public function getCopyOperation
(Item $item, Context $context = null): Operation\Copy
 Возвращает объект операции копирования элемента $item с контекстом $context.
getDependantFieldsMap(): array
 Возвращает набор зависимых полей, где ключ - код поля, а значение - массив с кодами полей, которые от него зависят.

История действий над элементом

Метод Описание С версии
public function getTrackedObject
(Item $itemBeforeSave, Item $item = null):
TrackedObject
 Метод возвращает объект класса TrackedObject, используемый при записи истории элемента с помощью сервиса истории. Возвращаемый объект сконфигурирован в соответствии с особенностями типа сущности, с которым работает фабрика.
Item $itemBeforeSave - элемент до сохранения. Если изменения над ним не проводились, то это — текущий элемент. Item $item - текущее состояние элемента. Если изменения над элементом не проводились, то этот параметр не используется.

UI

Метод Описание С версии
public function getEditorAdapter(): EditorAdapter
 Метод возвращает сконфигурированный сервис адаптера для редактора.

Пример

use Bitrix\Crm\Service;

$factory = Service\Container::getInstance()->getFactory(\CCrmOwnerType::Quote);
if ($factory->isStagesEnabled ())
{
    $stages = $factory->getStages();
}
// все элементы без учета прав доступа
$allItems = $factory->getItems([]);
// элементы с учетом прав доступа на чтение для текущего пользователя
$items = $factory->getItemsFilteredByPermissions([]);


FileUploader

Общее

Сервис для загрузки файлов.

Из-за особенностей работы класса EntityObject значения пользовательских полей типа "Файл" хранятся в виде числа (int).

Соответственно, на момент записи значения в объект элемента файл уже должен быть сохранен в базе данных.

При этом возможна ситуация, что файл был сохранен, но сам элемент не был сохранен. В этом случае необходимо обязательно удалить "подвисший" файл.

За эти манипуляции отвечает данный сервис.

Инстанс сервиса должен получаться из контейнера.

При создании объекта он регистрирует функцию (через register_shutdown_function), которая будет выполнена при завершении работы php-процесса. Эта функция удалит все несохраненные файлы.

Жизненный цикл выглядит следующим образом:

  1. Есть данные о файле, который надо сохранить для элемента. Файл сохраняется через метод saveFileTemporary.
  2. Во время сохранения элемента будет вызван метод markFileAsPersistent.
  3. Если элемент не был сохранен, то файлы, не помеченные как сохраненные, будут удалены.

Этот жизненный цикл работает в REST и методе Item::setFromCompatibleData.

Методы

Метод Описание С версии
public function saveFileTemporary(Field $field, array $fileData): ?int

  • $field - объект [link]поля[/link]. Это должно быть пользовательское поле типа "Файл".
  • $fileData - данные о файле, структура аналогичная массиву с описанием загруженного файла (см. \CFile::MakeFileArray()).
 Сохранит данные о файле $fileData для поля $field. В случае успеха вернет ид нового файла.
public function markFileAsPersistent(int $fileId): self
 Пометит файл с идентификатором $fileId как сохраненный (который не надо удалять).
public function deleteTemporaryFiles(): self
 Удалит все временные файлы.
public function saveFilePersistently(Field $field, array $fileData): ?int
 Сохранит файл сразу на постоянной основе. Аргументы аналогичны методу saveFileTemporary.


Localization

Небольшой сервис, предназначенный для предоставления удобного доступа к общим языковым фразам.

Обычно повторяющиеся языковые фразы приходится дублировать в каждом месте использования.

Чтобы избавиться от дублей был разработан этот небольшой сервис.

Методы

Метод Описание С версии
public function loadMessages(): array
 Загружает общие языковые фразы (расположенные по пути crm/lang/{LANGUAGE_ID}/lib/Service/Localization.php) и возвращает их.
public function loadKanbanMessages(): array
 Загружает языковые фразы канбана (расположенные по пути crm/lang/{LANGUAGE_ID}/kanban.php) и возвращает их.

Пример

use Bitrix\Crm\Service;

Service\Container::getInstance()->getLocalization()->loadMessages();

$title = \Bitrix\Main\Localization\Loc::getMessage('CRM_TYPE_TYPE_SETTINGS');


ParentFieldManager

Внимание! Информация дана для ознакомления. Этот класс в ближайшее время может подвергнуться рефакторингу. Пожалуйста, не используйте его в своём коде.

\Bitrix\Crm\Service\ParentFieldManager - объект-сервис, получаемый через контейнер.

Во многих местах необходимо отобразить связи между элементами. Данный сервис позволяет пакетно получить данные о родительских элементах для дальнейшего отображения в интерфейсах CRM.

Метод Описание С версии
ParentFieldManager::getParentFieldName(
   $entityTypeId
): string
 Вернет код поля родителя по идентификатору типа CRM $entityTypeId. Например, если $entityTypeId = 128, то результат будет PARENT_ID_128
ParentFieldManager::getEntityTypeIdFromFieldName(
   string $fieldName
): int
 Вернет идентификатор типа CRM родителя по коду поля $fieldName. Например, если $fieldName = PARENT_ID_128, то результат будет 128
ParentFieldManager::isParentFieldName(
   string $fieldName
): bool
 Вернет true, если $fieldName является кодом поля родителя.
ParentFieldManager::getParentFields(
   int[] $itemIds,
   string[] $entityFields,
   int $entityTypeId
): array[]
 Метод вернет многоуровневый массив с описанием родителей для переданных элементов:
  • int[] $itemIds - массив ID элементов, для которых необходимо получить данные о родителях
  • string[] $entityFields - массив названий всех полей, которые необходимо отобразить в интерфейсе (грид, канбан). С помощью названий полей ParentFieldManager определяет, в каких полях содержится информация о родительских элементах и к каким типам сущности они принадлежат. Если среди полей нет тех, которые указывают на родителей, метод вернет пустой массив
  • int $entityTypeId - entityTypeId сущности-потомка, для которой необходимо получить данные о родителях. Показывает, к какому типу сущности принадлежат элементы из $itemIds.

Возвращаемый массив имеет следующую структуру:

$parents = [
    // Ключи верхнего уровня (16 и 34) - это ID элементов из $itemIds
    // Если у переданного элемента нет родителей, то элемента с таким ключом в массиве нет
    // (isset($parents[$itemId]) === false)
    16 => [
        // Ключи второго уровня (2 и 7) - это entityTypeId родительских сущностей
        2 => [
            'id' => '84',
            'code' => 'PARENT_ID_2',
            'entityDescription' => 'Сделка',
            'title' => 'Название конкретного элемента, экранированное',
            'url' => '/crm/deal/details/84/',
            'value' => 'Название конкретного элемента, экранированное',
        ],
        7 => [
            'id' => '657',
            'code' => 'PARENT_ID_7',
            'entityDescription' => 'Предложение',
            'title' => 'Название конкретного элемента, экранированное',
            'url' => '/crm/quote/details/657/',
            'value' => 'Название конкретного элемента, экранированное',
        ],
    ],
    34 => [
        7 => [
            'id' => '485',
            'code' => 'PARENT_ID_7',
            'entityDescription' => 'Предложение',
            'title' => 'Название конкретного элемента, экранированное',
            'url' => '/crm/quote/details/485/',
            'value' => 'Название конкретного элемента, экранированное',
        ],
    ],
];


Scenario

Service\Scenario

Абстрактный класс с единственным методом:

  • abstract public function play(): Result;

Наследники

Service\Scenario\DefaultCategoryPermissions

Сценарий сделает новое направление доступным для всех ролей.

Service\Scenario\DefaultStages

Сценарий создает набор стадий по умолчанию.

Service\Scenario\PurgeStagesCache

Сценарий сбросит кеш стадий фабрики.


TypesMap

Внимание! Класс находится в разработке и будет подвергнут рефакторингу. Не рекомендуется использовать напрямую.

Сервис предназначен для построения полной карты всех корневых типов сущностей CRM.

Метод Описание С версии
public function getFactories(): array: string
 Возвращает массив всех возможных фабрик.
public function getFactory(int $entityTypeId): ?Factory
 Возвращает фабрику по идентификатору типа CRM.


UserPermissions

Права доступа

Права доступа - всегда довольно сложный раздел бизнес-логики любого приложения.

При проектировании публичного API этого сервиса фокус был сделан на ответах на простые вопросы.

Сам этот сервис практически не работает напрямую с хранением настроек и атрибутов прав доступа, это только фасад с удобным API.

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

Настройки прав доступа

Права доступа в CRM (как во многих других модулях) настраиваются на уровне ролей (таблица b_crm_role).

К каждой роли можно отнести пользователя / группу / подразделение и т.д. (таблица b_crm_role_relation).

На каждую роль настраиваются права доступа (таблица b_crm_role_perms).

Права доступа настраиваются в разрезе "сущности" (колонка ENTITY, это горизонтальная строка в интерфейсе настроек).

Для каждой сущности можно настроить определенный уровень прав (колонка ATTR) для определенного действия (колонка PERM_TYPE).

Хранение атрибутов

Каждый раз при создании / изменении элемента любого типа CRM, его данные, влияющие на права доступа, преобразуются в набор атрибутов и записывается в таблицу b_crm_entity_perms (метод \CCrmPerms::UpdateEntityAttr).

Соответствие между этими данными и получаемыми атрибутами представлено в таблице:

Данные элемента | Пример значения атрибута |
Поле Ответственный | U1 | 1 - идентификатор пользователя
Поле Ответственный | IU1 | 1 - идентификатор пользователя как сотрудника
Принадлежность ответственного к подразделениям орг. структуры | D2 | 2 - идентификатор подразделения. Сохраняется как принадлежность к подразделению, так и принадлежность ко всем родительским подразделениям
Поле "Доступна (доступен) для всех" | O | Если галка в поле установлена, то атрибут есть, а если нет то нет
Является ли компания "моей компанией" (Для компаний) | IS_MY_COMPANY | Если компания является моей компанией, то атрибут есть и к таким записям доступ на чтение есть всегда, независимо от настроек доступа для остальных компаний
Список наблюдателей (Для лидов и сделок) | CU1 | 1 - идентификатор пользователя. Для каждого наблюдателя добавляется свой атрибут в список
Значение статуса/стадии (Для лидов) | STATUS_IDNEW | NEW - идентификатор статуса
Значение стадии (Для сделок и коммерческих предложений)) | STAGE_IDNEW | NEW - идентификатор стадии

Далее при проверке прав доступа алгоритм следующий:

  • для пользователя, относительно которого проверяются права доступа, получается список его ролей, из ролей и их разрешений строится карта атрибутов, доступных этому пользователю (метод \CCrmRole::GetUserPerms());
  • карта разрешений сравнивается с текущим набором атрибутов элемента с учетом действия, которое производится (\CCrmPerms::CheckEnityAccess());
  • для списочных запросов строится дополнительное выражение для добавления в WHERE (метод \CCrmPerms::BuildSql()).

В этом сервисе все эти действия спрятаны "под капотом" (по факту вызываются методы старого API).

При написании нового кода рекомендуется использовать именно этот сервис, а не старое API.

Инстанс сервиса следует получать из контейнера, т.к. внутри сервиса данные закешированы.

В методе Service\Container::getUserPermissions() есть аргумент $userId, куда можно передать идентификатор пользователя.

Методы

Метод Описание С версии
public function __construct(int $userId)
  • $userId - идентификатор пользователя, относительно которого будет производиться проверка прав;
 Конструктор.

Если $userId = 0, то считается, что действие производится от системного пользователя. Этот пользователь не имеет ни на что доступа.

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

public function getUserId(): int
 Вернет идентификатор пользователя.
public function getCrmPermissions(): \CCrmPerms
 Вернет объект класса \CCrmPerms, завязанного на текущего пользователя.
public function canWriteConfig(): bool
 Вернет true, если пользователь имеет право изменять настройки CRM.
public function canReadConfig(): bool
 Вернет true, если пользователь имеет право читать настройки CRM.
public function canReadType(int $entityTypeId, int $categoryId = 0): bool
  • $entityTypeId - идентификатор типа сущности CRM;
  • $categoryId - идентификатор направления.
 Вернет true, если пользователь имеет право просматривать элементы типа $entityTypeId хотя бы в одном из направлений типа.
public function canReadTypeInCategory(int $entityTypeId, int $categoryId): bool
  • $entityTypeId - идентификатор типа сущности CRM;
  • $categoryId - идентификатор направления.
 Вернет true, если пользователь имеет право имеет право просматривать элементы типа $entityTypeId в направлении $categoryId. crm 22.0.0
public function canAddType(): bool
 Вернет true, если пользователь имеет право создать новый смарт-процесс.
public function canUpdateType(): bool
 Вернет true, если пользователь имеет право изменить настройки смарт-процесса с идентификатором типа CRM $entityTypeId.
public function canAddItem(Item $item): bool
 Вернет true, если пользователь имеет право создать элемент $item в его текущем состоянии.
public function checkAddPermissions
(int $entityTypeId, int $categoryId = 0,
?string $stageId = null): bool
 Вернет true, если пользователь имеет право создать элемент типа $entityTypeId в направлении $categoryId на стадии $stageId.
Здесь и ниже, если направление не указано, то проверка будет произведена для направления по умолчанию.
Если стадия не указана, то проверка прав с учетом стадии производиться не будет.
public function checkUpdatePermissions
(int $entityTypeId, int $id,
int $categoryId = 0): bool
 Вернет true, если пользователь имеет право изменить элемент с идентификатором $id в направлении $categoryId.
public function canUpdateItem(Item $item): bool
 Вернет true, если пользователь имеет право изменить элемент $item.
public function checkDeletePermissions
(int $entityTypeId, int $id, int $categoryId = 0): bool
 Вернет true, если пользователь имеет право удалить элемент типа $entityTypeId с идентификатором $id в направлении $categoryId.
public function canDeleteItem(Item $item): bool
 Вернет true, если пользователь имеет право удалить элемент $item.
public function checkReadPermissions
(int $entityTypeId, int $id = 0, int $categoryId = 0): bool
 Вернет true, если пользователь может прочитать элемент типа $entityTypeId с идентификатором $id в направлении $categoryId.
public function canReadItem(Item $item): bool
 Вернет true, если пользователь имеет право прочитать элемент $item.
public function canViewItemsInCategory
(Category $category): bool
 Вернет true, если пользователь имеет право прочитать элементы $item направления $category.
public function canAddCategory
(Category $category): bool
 Вернет true, если пользователь имеет право создать новое направление $category.
public function canUpdateCategory
(Category $category): bool
 Вернет true, если пользователь имеет право изменить направление $category.
public function canDeleteCategory
(Category $category): bool
 Вернет true, если пользователь имеет право удалить направление $category.
public function filterAvailableForReadingCategories
(array $categories): array
 Вернет массив направлений из набора $categories, в которых пользователь может просматривать элементы.
public function getPermissionType
(Item $item, string $operationType = self::OPERATION_READ):
string
 Вернет строковый идентификатор уровня доступа (все / свои и своего отдела / свои / только открытые / нет), который есть у пользователя к элементу $item при выполнении операции $operationType.
public function prepareItemPermissionAttributes
(Item $item): array
 Вернет набор атрибутов элемента $item перед его сохранением в таблицу b_crm_entity_perms.
public static function getItemPermissionEntityType
(Item $item): string
 Вернет строковый идентификатор сущности для таблицы прав элемента $item.
public static function getPermissionEntityType
(int $entityTypeId, int $categoryId = 0): string
 Вернет строковый идентификатор сущности для таблицы прав типа сущности $entityTypeId в направлении $categoryId.
public static function getEntityNameByPermissionEntityType
(string $permissionEntityType): ?string
 Вернет строковый идентификатор типа сущности CRM по строковому идентификатору сущности $permissionEntityType для таблицы прав.
public function applyAvailableItemsFilter
(?array $filter, array $permissionEntityTypes,
?string $operation = self::OPERATION_READ,
?string $primary = 'ID'): array

  • $filter - текущий фильтр для списка элементов;
  • $permissionEntityTypes - массив строковых идентификаторов для таблицы прав;
  • $operation - тип операции;
  • $primary - код первичного ключа, который будет добавлен в фильтр.
 Дополнит $filter дополнительными ключами, которые позволят отобрать только те элементы, к которым пользователь имеет доступ. Вернет новую версию фильтра.
public function getStartStageId(int $entityTypeId,
EO_Status_Collection $stages, int $categoryId = 0,
string $operation = self::OPERATION_ADD): ?string

  • $entityTypeId - идентификатор типа сущности CRM;
  • $stages - коллекция стадий;
  • $categoryId - идентификатор направления;
  • $operation - тип операции.
 Вернет идентификатор первой стадии из коллекции $stages типа $entityTypeId направления $categoryId, к которой имеет доступ пользователь при выполнении операции типа $operation.
Обычно этот метод используется, чтоб определить, в какую стадию надо поместить создаваемый пользователем элемент.

Примеры

use Bitrix\Crm\Service;

$entityTypeId = 150;
$factory = Service\Container::getInstance()->getFactory($entityTypeId);
if (!$factory)
{
    return;
}

$userPermissions = Service\Container::getInstance()->getUserPermissions();

$canWriteConfig = $userPermissions->canWriteConfig();

$category = $factory->getDefaultCategory ();
$canReadType = $userPermissions->canReadType (
    $factory->getEntityTypeId (),
    $category->getId()
);
$canUpdateCategory = $userPermissions->canUpdateCategory($category);

$item = $factory->getItem(12);
$canDeleteItem = $userPermissions->canDeleteItem($item);
$canAddItemToCategory = $userPermissions->checkAddPermissions(
    $factory->getEntityTypeId (),
    $category->getId()
);

$categories = $factory->getCategories();
$availableForReadItemsCategories = $userPermissions->filterAvailableForReadingCategories($categories);

$filter = [
    '=CATEGORY_ID' => $category->getId(),
    '>ID' => 100,
];

$permissionEntityTypes = [$userPermissions::getPermissionEntityType($factory->getEntityTypeId, $category->getId())];

$filterWithPermissions = $userPermissions->applyAvailableItemsFilter($filter, $permissionEntityTypes);


EventHistory

История изменений элемента.

EventHistory - сервис записи истории элемента.

TrackedObject - подготовка данных об элементе.


EventHistory

API

EventHistory - сервис записи истории элемента.

В CRM записывается история действий с элементом (сделкой, предложением, смарт-процессом) - его просмотр, удаление, изменение. Например, в истории может содержаться информация о том, какое поле было отредактировано, его старое и новое значение.

Найти историю можно во вкладке "История" детальной карточки элемента.

Чтобы обеспечить запись истории действий со смарт-процессами и предложениями, был написан сервис \Bitrix\Crm\Service\EventHistory и вспомогательные классы.

Объект класса EventHistory - это сервис, получаемый через контейнер. Его задача состоит в том, чтобы зарегистрировать какое-либо событие, связанное с элементом. Чаще всего это его изменение, просмотр и т.п.

Соответственно, класс имеет семейство публичных методов register*, которые вызываются, чтобы зарегистрировать какое-либо событие. Например, registerUpdate вызывается, чтобы зарегистрировать обновление элемента. Все эти методы возвращают объект \Bitrix\Main\Result, в котором будут находиться ошибки, если что-то пошло не так.

Все методы register* принимают на вход объект класса [link=]EventHistory\TrackedObject[/link], который получается через [link=]фабрику[/link]. EventHistory\TrackedObject подготавливает данные для записи события. Готовые данные передаются в виде объекта EventHistory\EventHistoryData.

Примеры

Зарегистрировать просмотр элемента
use Bitrix\Crm\Service\Container;

$factory = Container::getInstance()->getFactory(\CCrmOwnerType::Quote);

$item = $factory->getItem(1);

$trackedObject = $factory->getTrackedObject($item);

/** @var \Bitrix\Main\Result $result */
$result = Container::getInstance()->getEventHistory()->registerView($trackedObject);


TrackedObject

Методы подготовки данных

TrackedObject - подготовка данных об элементе.

TrackedObject - это объект, который используется для подготовки данных для записи в историю. Он конфигурируется фабрикой и зависит от типа сущности и конкретного элемента, который этот объект представляет.

Рекомендуется получать объект класса TrackedObject через соответствующий метод фабрики. Не инстанцируйте его самостоятельно!

Сам класс TrackedObject является абстрактным. Для каждого типа элемента у него есть наследник. В нем определяется набор полей, для которых будет записываться история изменений. Так же в нем могут быть переопределены сообщения о различных событиях.

TrackedObject умеет работать только с объектами классов EntityObject и \Bitrix\Crm\Item.

Подготовка данных для EventHistory - это основная задача TrackedObject. Для этого у TrackedObject есть семейство публичных методов prepare*EventData, которые отдают объект EventHistoryData, заполненный данными для конкретного события. Данные формируются на основе переданного в TrackedObject элемента и с учетом особенностей типа сущности (конфигурации, которая происходит в фабрике).

Зависимые объекты

makeThisObjectDependant и другие.

К элементу CRM могут быть привязаны зависимые сущности (контакты, товарные позиции). В случае, когда меняется состав сущностей, которые привязаны к элементу CRM, или когда меняется какое-то значимое поле привязанной сущности, это тоже нужно заносить в историю элемента. Здесь это делается посредством механизма "зависимых объектов".

TrackedObject можно сделать зависимым с помощью метода makeThisObjectDependant(string $ownerFieldName). После вызова этого метода объект будет подготавливать данные с учетом того, что он — зависимый. Это повлияет на сообщения и поля, отвечающие за привязку события к элементу.

Параметр string $ownerFieldName показывает, к какому полю родителя относится этот зависимый объект. Допустим, что контакты хранятся в поле 'CONTACTS'. Соответственно, при вызове makeThisObjectDependant мы передадим 'CONTACTS' в качестве аргумента.

Чтобы привязать зависимый объект TrackedObject к другому TrackedObject, который будет выступать в качестве родительского, необходимо использовать метод addDependantTrackedObject(TrackedObject $dependant).

ВАЖНО! Добавляемый объект должен быть сконфигурирован как зависимый через makeThisObjectDependant. Иначе будет выброшено исключение.

ВАЖНО! В родительском элементе в поле $ownerFieldName должна храниться коллекция EntityObject или \Bitrix\Crm\Item. Работа с массивом ID или иными типами данных не поддерживается.

Алгоритм подготовки данных об обновлении в методе prepareUpdateEventData

Так как подготовка данных об обновлении элемента — самый сложный кейс в работе TrackedObject, не лишним будет пояснить, как это работает.

При вызове метода объект проходится по всем полям, изменения которых необходимо записать в историю. Они складываются из тех полей, которые заданы в наследнике, и полей, к которым привязаны зависимые объекты, добавленные через addDependantTrackedObject.

  1. Собираем данные для конкретного поля.
    • Если поле обычное и оно изменилось, подготавливаем данные об изменении.
    • Если поле зависимое (т.е. к нему привязан зависимый TrackedObject), то сравниваем коллекции привязанных объектов до и после сохранения. Найденные отличия (добавленые/удаленные объекты, изменения в значимых полях) собираем.
  2. Если текущий объект является зависимым (сконфигурирован через makeThisObjectDependant), то дополнительно модифицируем данные.


Операции

Общее

Каждое изменение элемента любого типа CRM сопровождается большим количеством проверок и связанных действий.

Чтобы весь этот процесс был прозрачным, было решено сосредоточить это всё в одном классе.

Т.к. каждый тип сущности может иметь свои особенности и дополнительные действия, то экземпляр объекта получается через фабрику.

После получения объекта его можно дополнительным образом сконфигурировать.

Запуск выполняется методом launch, который вернет объект \Bitrix\Main\Result.

В общем случае, процесс выполняется следующим образом:

  1. Проверка тарифных ограничений.
  2. Проверка прав доступа к элементу.
  3. Проверка [link=141582]прав доступа[/link].
  4. Проверка запущенных бизнес-процессов.
  5. Выполнение [link=141582]бизнес-логики полей до сохранения[/link].
  6. Проверка заполнености обязательных полей.
    • Если к этому моменту элемент не был изменен, то дальнейшие действия не производятся.
  7. Выполнение дополнительных действий до сохранения.
  8. Сохранение элемента.
  9. Выполнение [link=141582]бизнес-логики полей после сохранения[/link].
  10. Обновление данных о правах доступа.
  11. Обновление поискового индекса.
  12. Сохранение истории действий над элементом.
  13. Запись данных в таймлайн.
  14. Выполнение дополнительных действий после сохранения.
  15. Отправка пуш-уведомления.
  16. Запуск роботов и шаблонов бизнес-процессов.

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

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

Методы

Метод Описание С версии
public function __construct
(Item $item, Operation\Settings $settings,
Collection $fieldsCollection = null)
 Конструктор.
В конструктор необходимо передать элемент, настройки и коллекцию полей.
Если не передать $fieldsCollection, то весь функционал, завязанный на поля, не будет выполняться.
public function exportSettings(): Operation\Settings
 Возвращает текущий объект настроек. Возвращается тот же объект, а не копия.
ppublic function importSettings
(Operation\Settings $settings): self
 Устанавливает новый объект настроек для операции.
public function getContext(): Context
 Возвращает текущий контекст выполнения операции.
public function setContext(Context $context): self
 Устанавливает новый контекст выполнения операции.
public function getItem(): Item
 Возвращает элемент, над которым выполняется операция.
public function getItemBeforeSave(): Item
 Возвращает копию элемента в его состоянии до сохранения в базу данных. Эта копия есть только после вызова launch().
public function addAction
(string $actionPlacement, Action $action): self
 Добавляет дополнительное действие $action на место $actionPlacement.
$actionPlacement может принимать значение beforeSave(Operation::ACTION_BEFORE_SAVE) или afterSave(Operation::ACTION_AFTER_SAVE).
public function launch(): Result
 Запускает выполнение операции. Возвращает \Bitrix\Main\Result.
public function checkAccess(): Result
 Выполняет проверку прав доступа.
public function processFieldsWithPermissions(): Result
 Выполняет проверку прав доступа [link=141582]полей[/link].
public function processFieldsBeforeSave(): Result
 Выполняет проверку [link=141582]полей[/link] до сохранения.
public function checkFields(): Result
  • Проверяет, что пользовательские поля заполнены корректно в соответствии с их типом и настройками.
  • Проверяет, что обязательные поля заполнены.
    • Если стадия изменена, то проверяется заполненность всех обязательных полей.
    • В остальных случаях проверяется заполненность только тех полей, которые были изменены.

public function checkRequiredFields
(array $requiredFields, Factory $factory): Result
 Метод проверяет, что поля $requtedFields заполнены. $factory - фабрика.
В массиве $requiredFields содержится индексный массив с кодами полей, заполненность которых надо проверить.
public function processFieldsAfterSave(): Result
 Выполняет бизнес-логику полей после сохранения. Если какое-то из значений было изменено, то элемент будет сохранен повторно.
public function getStageDependantRequiredFields
(Factory $factory): array
 Возвращает коды зависимых от стадии обязательных полей, заполненность которых необходимо проверить при выполнении данной операции.
public function isItemChanged(): bool
 Возвращает true, если значения полей элемента были изменены, за исключением тех, значения которых генерируются автоматически.
public function checkRunningWorkflows(): Result
 Проверяет, что у элемента нет запущенных бизнес-процессов при смене направления. Если направление не меняется, то эта проверка не производится.

Метод конфигурации

Для управления настройками выполнения операции можно получить объект настройки и работать с его методами напрямую.
Или можно вызвать методы этого класса и работать с настройками.

Метод Описание
public function disableAllChecks(): self
Метод отключает все проверки при выполнении операции.
Вызов этого метода аналогичен вызову методов disableCheckWorkflows(), disableCheckAccess(), disableCheckFields(), disableCheckRequiredUserFields().
enableAutomation / disableAutomation / isAutomationEnabled
Управление запуском роботов.
enableBizProc / disableBizProc / isBizProcEnabled
Управление запуском шаблонов бизнес-процессов.
enableCheckAccess / disableCheckAccess / isCheckAccessEnabled
Управление проверкой прав доступа.
isCheckFieldsEnabled / enableCheckFields / disableCheckFields
Управление проверкой корректности заполения полей и проверкой заполненности обязательных полей.
enableCheckRequiredUserFields / disableCheckRequiredUserFields / isCheckRequiredUserFields
Управление проверкой заполненности обязательных полей.
enableFieldProcession / disableFieldProcession / isFieldProcessionEnabled
Управление проверками и изменениями, связанными с бизнес-логикой [link=141582]полей[/link].
enableSaveToHistory / disableSaveToHistory / isSaveToHistoryEnabled
Управление записью в историю изменений.
enableBeforeSaveActions / disableBeforeSaveActions / isBeforeSaveActionsEnabled
Управление дополнительными действиями до сохранения.
enableAfterSaveActions / disableAfterSaveActions / isAfterSaveActionsEnabled
Управление дополнительными действиями после сохранения.
enableCheckWorkflows / disableCheckWorkflows / isCheckWorkflowsEnabled
Управление проверкой запущенных бизнес-процессов.

Наследники

Базовый класс операции является абстрактным. У этого класса есть пять реализаций, выполняющий разные виды операций:

  • Operation\Add - добавление.
  • Operation\Update - изменение.
  • Operation\Delete - удаление.
  • Operation\Copy - копирование.
  • Operation\Conversion - конвертация.

В каждом из этих классов переопределены методы, отвечающие за особенности той или иной операции. Но в целом, процесс выполнения выполняется в том же порядке.

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

Примеры

use Bitrix\Crm\Service;

$entityTypeId = 128;

$factory = Service\Container::getInstance()->getFactory($entityTypeId);

$item = $factory->createItem();
$item->setStageId('D128_3:CLIENT');

$operation = $factory->getAddOperation($item)
    ->disableCheckAccess()
    ->disableCheckFields();

$result = $operation->launch();
if (!$result->isSuccess())
{
    print_r($result->getErrorMessages());
}

$newId = $item->getId();


Action

Описание класса

В данный момент уже есть пять видов операций. При этом у каждого типа сущности есть свои особенности при выполнении операций.

Чтобы иерархия классов не разрасталась, было принято решение вынести дополнительные действия в отдельную иерархию классов, чтобы каждый тип сущности мог управлять ими при запуске операций.

Класс Bitrix\Crm\Service\Operation\Action является абстрактным с единственным методом:

abstract public function process(Item $item): Result;

В этом методе могут быть произведены какие-то проверки, и если произошла ошибка, то её необходимо добавить в результат выполнения метода.

Здесь же можно изменить состояние объекта $item, если это действие до сохранения.

Если действие после сохранения, можно вызвать $item->save() ещё раз.

Добавление действия производится через метод Service\Operation::addAction().

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

В настоящее время есть следующие реализации дополнительных действий:

  • Action\CheckRestrictions - проверка ограничений.
  • Action\ClearCache - сброс кеша.
  • Action\MoveToBin - перенос в корзину.
  • Action\SendEventCompatible - отправка и обработка событий. У этого класса есть ещё наследники для разных типов событий.

Примеры

use Bitrix\Crm\Service;

$entityTypeId = 128;

$factory = Service\Container::getInstance()->getFactory($entityTypeId);

$item = $factory->getItem(100);

$operation = $factory->getUpdateOperation($item);

$operation
    ->addAction(
        Operation ::ACTION_BEFORE_SAVE,
        new class extends Operation \Action {
            public function process(Item $item): Result
            {
                $result = new Result();

                if ($item->getId() > 100)
                {
                    $result->addError (new Error('id is too big!' ));
                }

                return $result;
            }
        }
    )
    ->addAction(
        Operation ::ACTION_AFTER_SAVE,
        new class extends Operation \Action {
            public function process(Item $item): Result
            {
                // send notification, log changes etc.
                return new Result();
            }
        }
    )
;


Settings

Методы

Этот класс является простым хранилищем флагов и контекста для управления процессом выполнения операций.

Метод Описание С версии
public function getContext(): Context
 Получить контекст.
public function setContext(Context $context): self
 Установить контекст.
public function disableAllChecks(): self
 Вызов этого метода аналогичен вызову методов disableCheckWorkflows(), disableCheckAccess(), disableCheckFields(), disableCheckRequiredUserFields().
enableAutomation / disableAutomation / isAutomationEnabled
 Управление запуском роботов.
enableBizProc / disableBizProc / isBizProcEnabled
 Управление запуском шаблонов бизнес-процессов.
enableCheckAccess / disableCheckAccess / isCheckAccessEnabled
 Управление проверкой прав доступа.
isCheckFieldsEnabled / enableCheckFields / disableCheckFields
 Управление проверкой корректности заполения полей и проверкой заполненности обязательных полей.
enableCheckRequiredUserFields / disableCheckRequiredUserFields / isCheckRequiredUserFields
 Управление проверкой заполненности обязательных полей.
enableFieldProcession / disableFieldProcession / isFieldProcessionEnabled
 Управление проверками и изменениями, связанными с бизнес-логикой полей.
enableSaveToHistory / disableSaveToHistory / isSaveToHistoryEnabled
 Управление записью в историю изменений.
enableBeforeSaveActions / disableBeforeSaveActions / isBeforeSaveActionsEnabled
 Управление дополнительными действиями до сохранения.
enableAfterSaveActions / disableAfterSaveActions / isAfterSaveActionsEnabled
 Управление дополнительными действиями после сохранения.
enableCheckWorkflows / disableCheckWorkflows / isCheckWorkflowsEnabled
 Управление проверкой запущенных бизнес-процессов.

Пример

use Bitrix\Crm\Service;

$entityTypeId = 128;

$factory = Service\Container::getInstance()->getFactory($entityTypeId);

$item = $factory->createItem();
$item->setStageId('D128_3:CLIENT');

$operation = $factory->getAddOperation($item);

$operation->getSettings()->disableAllCheks();


Router

Этот сервис решает две важных задачи:

  • парсинг запроса и определение, какой компонент с какими параметрами должен быть подключен;
  • формирование ссылок по названию компонента и его параметрам.

Router

Фронтенд роутера crm.router

ParseResult


Router

Общее

Маршрутизация на списки и детальные карточки в "старом" API осуществляется с помощью комплексных компонентов.

На каждый тип сущности есть физическая страница, где лежит комплексный компонент, привязанный к этому типу сущности.

Комплексный компонент парсит адрес / запрос и достает оттуда набор "переменных".

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

В настройки комплексного компонента можно передать шаблоны ссылок на страницы.

При этом во всех вложенных компонентах приходилось передавать шаблоны ссылок из компонента в компонент, что порождало довольно много дублирующего кода.

В новом API используется другой подход.

В корне (файл /crm/type/index.php) подключается только один компонент crm.router.

У этого компонента есть следующие параметры:

  • isSefMode если передано n, то маршрутизация будет работать в режиме без ЧПУ;
  • root - путь к файлу, где подключен компонент, относительно корня сайта.

Эти параметры конфигурируют Service\Router. Сервис парсит запрос и возвращает данные о том, какой компонент с какими параметрами надо подключить.

В шаблоне компонента crm.router подключается нужный компонент с параметрами.

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

На стороне фронтенда работу с шаблонами осуществляет js-экстеншн crm.router.

На данный момент сервис позволяет генерировать ссылки на любые типы сущностей.

За переключение правил формирования адресов отвечают методы фабрики:

  • Factory::isNewRoutingForDetailEnabled
  • Factory::isNewRoutingForListEnabled
  • Factory::isNewRoutingForAutomationEnabled

Как работает "показ вне CRM"

Благодаря единому механизму формирования и обработки ссылок появилась возможность вынести смарт-процессы целиком в отдельные разделы.

Режимы работы роутера

Роутер может работать в двух режимах - с ЧПУ и без ЧПУ.

Режим работы с ЧПУ подразумевает, что ссылки формируются по шаблонам, часть параметров в которых указана в пути, а не в запросе.

Например, если шаблон страницы настроек смарт-процесса выглядит как crm/type/#entityTypeId#/, то ссылка на настройки типа с идентификатором 130 будет выглядеть как /crm/type/130/.

Если роутер работает в режиме без ЧПУ, то ссылки формируются и парсятся следующим образом:

  • В параметре с передается название компонента.
  • В параметре cp передаются параметры компонента.
  • В параметре cpt передается шаблон компонента.

Режим работы "без ЧПУ" не используется в продукте, работоспособность не гарантируется.

Принцип формирования полных ссылок

Полные ссылки в режиме ЧПУ строятся следующим образом:

{siteFolder}/{root}/{path}/?{parameters}
  • siteFolder - корневая папка сайта, в котором работает роутер;
  • root - корень, от которого работает роутер;
  • path - путь, полученный из шаблона ссылки;
  • parameters - набор дополнительных get-параметров.

Методы

Методы, возвращающие шаблоны ссылок, отдают их в виде строки.

Методы, возвращающие обработанные ссылки, отдают их в виде объекта \Bitrix\Main\Web\Uri.

Метод Описание С версии
public function reInit(): self
 Заново инициализирует шаблоны ссылок с учетом кастомных разделов.
public function getUserPersonalUrlTemplate(): ?string
 Вернет шаблон ссылки на профиль пользователя.
public function getUserPersonalUrl(int $userId): Uri
 Вернет ссылку на профиль пользователя с идентификатором $userId.
public function setRoot(string $root): Router
 Установит новый корень.
public function getRoot(): string
 Вернет корень.
public function setSefMode(bool $isSefMode): Router
 Управляет режимом роутинга. Если $isSefMode = true, то роутер работает в режиме ЧПУ. Если false, то в режиме без ЧПУ.
public function isSefMode(): bool
 Вернет true, если роутер работает в режиме ЧПУ. По умолчанию этот режим всегда включен.
public function setSiteId(string $siteId): Router
 Установит идентификатор сайта $siteId, который используется для генерации ссылок.
public function getSiteId(): ?string
 Вернет идентификатор сайта.
public function getDefaultUrlTemplates(): array
 Вернет шаблоны ссылок по умолчанию. Ключ - это название компонента, а значение - шаблон ссылки.
public function saveCustomUrlTemplates(array $templates): void
 Сохранит кастомные шаблоны ссылок $templates в опциях. При определении адресов в первую очередь берутся кастомные шаблоны. Если нет кастомного шаблона, то используется шаблон по умолчанию.
public function getCustomUrlTemplates(): array
 Вернет кастомные шаблоны ссылок.
public function getPreparedTemplates(): array
 Вернет сформированные шаблоны ссылок с учетом корня роутера и корня идентификатора сайта.
public function getTemplatesForJsRouter(): array
 Вернет сформированный набор шаблонов для передачи в crm.router.
public function parseRequest
(HttpRequest $httpRequest = null): ParseResult
 Распарсит запрос $httpRequest с учетом своей конфигурации и вернет объект ParseResult .
Если $httpRequest не передан, будет использован текущий запрос из \Bitrix\Main\Application::getInstance->getContext()->getRequest().
public function getTypeListUrl(): ?Uri
 Вернет ссылку на список смарт-процессов.
public function getTypeDetailUrl
(int $entityTypeId): ?Uri
 Вернет ссылку на страницу настроек смарт-процесса с идентификатором типа CRM $entityTypeId.
public function getItemListUrl
(int $entityTypeId, int $categoryId = null): ?Uri
 Вернет ссылку на список элементов сущности с идентификатором типа CRM $entityTypeId направления $categoryId в представлении типа "Список".
public function getKanbanUrl
(int $entityTypeId, int $categoryId = null): ?Uri
 Вернет ссылку на список элементов сущности с идентификатором типа CRM $entityTypeId направления $categoryId в представлении типа "Канбан".
public function getItemDetailUrlCompatibleTemplate
(int $entityTypeId): ?string
 Вернет шаблон ссылки на детальную страницу элемента сущности с идентификатором $entityTypeId.
public function getItemDetailUrl
(int $entityTypeId, int $id = 0, int $categoryId = null,
?ItemIdentifier $parentItemIdentifier = null): ?Uri

  • $entityTypeId - идентификатор типа сущности CRM;
  • $id - идентификатор элемента;
  • $categoryId - идентификатор направления. Необходимо указывать > 0, если элемент требуется перенести в это новое направление;
  • $parentItemIdentifier - комплексный идентификатор элемента родителя, которым должно быть заполнено соответствующее поле связи.
 Вернет ссылку на детальную страницу элемента.
public function isNewRoutingForListEnabled
(int $entityTypeId): bool
 Вернет true, если для типа с идентификатором $entityTypeId включен новый роутинг страниц в представлении "Список".
public function isNewRoutingForDetailEnabled
(int $entityTypeId): bool
 Вернет true, если для типа с идентификатором $entityTypeId включен новый роутинг детальных страниц.
public function isNewRoutingForAutomationEnabled
(int $entityTypeId): bool
 Вернет true, если для типа с идентификатором $entityTypeId включен новый роутинг страниц с роботами.
public function getItemCopyUrl
(int $entityTypeId, int $id = 0, int $categoryId = null): ?Uri
 Вернет ссылку на копирование элемента $id типа с идентификатором CRM $entityTypeId направления $categoryId.
public function getUserFieldListUrl(int $entityTypeId): ?Uri
 Вернет ссылку на список с настройками пользовательских полей типа с идентификатором $entityTypeId.
public function getUserFieldDetailUrl
(int $entityTypeId, int $fieldId): ?Uri
 Вернет ссылку на детальную страницу настройками пользовательских полей типа с идентификатором $fieldId типа $entityTypeId.
public function getCategoryListUrl(int $entityTypeId): ?Uri
 Вернет ссылку на страницу туннелей продаж типа с идентификатором $entityTypeId.
public function getProductDetailUrlTemplate(): string
 Вернет шаблон ссылки на детальную карточку товара.
public function getProductDetailUrl
(int $productId = 0): Uri
 Вернет ссылку на детальную карточку товара с идентификатором $productId.
public function getQuotePrintUrl
(int $quoteId, bool $isBlank): Uri
 Вернет ссылку на печать коммерческого предложения с идентификатором $quoteId.
public function getQuotePdfUrl
(int $quoteId, bool $isBlank): Uri
 Вернет ссылку на скачивание печатной формы коммерческого предложения с идентификатором $quoteId.
public function getItemListUrlInCurrentView
(int $entityTypeId, int $categoryId = null): ?Uri
 Вернет ссылку на список элементов типа $entityTypeId направления $categoryId в последнем использованном представлении.
public function setCurrentListView
(int $entityTypeId, string $view): Router
 Сохранит тип представления $view списка элементов типа $entityTypeId.
$view может принимать значение либо KANBAN либо LIST.
public function getCurrentListView
(int $entityTypeId): string
 Вернет сохраненный тип представления списка элементов типа $entityTypeId.
public function getDefaultListView
(int $entityTypeId): string
 Вернет тип представления списка элементов типа $entityTypeId по умолчанию.
public function setDefaultListView
(int $entityTypeId, string $view): void
 Установит тип представления по умолчанию $view для списка элементов типа $entityTypeId.
public function getAutomationUrlTemplate
(int $entityTypeId): ?string
 Вернет шаблон ссылки на настройки роботов типа $entityTypeId.
public function getAutomationUrl
(int $entityTypeId, int $categoryId = null): ?Uri
 Вернет ссылку на настройки роботов типа $entityTypeId направления $categoryId.
public function getFileUrl
(int $entityTypeId, int $id, string $fieldName, int $fileId): Uri

  • $entityTypeid - идентификатор типа CRM;
  • $id - идентификатор элемента;
  • $fieldName - название поля, где хранится файл;
  • $fileId - идентификатор файла.
 Вернет ссылку на файл.
public function getDefaultComponent(): string
 Вернет компонент по умолчанию, который должен быть подключен, если не удалось определить компонент из запроса.
public function setDefaultComponent
(string $defaultComponent): self
 Установит компонент по умолчанию.
public function getDefaultComponentParameters(): array
 Вернет набор параметров компонента по умолчанию.
public function setDefaultComponentParameters
(array $defaultComponentParameters): self
 Установит набор параметров компонента по умолчанию.
public function getConsistentUrlFromPartlyDefined
(string $currentUrl): ?Uri
 Метод попытается определить корректный адрес по его части.
public function getChildrenItemsListUrl
(int $entityTypeId, int $parentEntityTypeId,
int $parentEntityId): ?Uri
 Вернет ссылку на список дочерних элементов типа $entityTypeId, отфильтрованных по родителю типа $parentEntityTypeId с ид $parentEntityId.
public function getItemDetailComponentName
(int $entityTypeId): ?string
 Вернет название шаблона компонента детальной страницы элемента типа $parentEntityTypeId.


ParseResult

Вспомогательный класс, представляющий результаты парсинга запроса.

Имеет следующие методы:

Метод Описание С версии
public function __construct
(string $componentName = null, array $componentParameters = null,
string $templateName = null)
  • $componentName - название компонента;
  • $componentParameters - параметры компонента;
  • $templateName - шаблон компонента.
 Конструктор.
public function isFound(): bool
 Вернет true, если в результате есть хотя бы название компонента (т.е. запрос удалось распарсить).
public function getComponentName(): ?string
 Вернет название компонента.
public function getComponentParameters(): ?array
 Вернет параметры компонента.
public function getTemplateName(): ?string
 Вернет шаблон компонента.


Settings

Пространство имён \Bitrix\Crm\Settings содержит классы и методы для выполнения различных неосновных настроек системы CRM. Примером реализации методов пространства имён \Bitrix\Crm\Settings может служить страница CRM > Настройки > Другое > Прочие настройки
Класс | Описание | С версии
CompanySettings | Класс, отвечающий за прочие настройки Компаний | 15.5.3
ContactSettings | Класс, отвечающий за прочие настройки Контактов | 15.5.3
DealSettings | Класс, отвечающий за прочие настройки Сделок | 15.0.6
InvoiceSettings | Класс, отвечающий за прочие настройки Счетов | 16.0.1
LeadSettings | Класс, отвечающий за прочие настройки Лидов | 15.1.2
QuoteSettings | Класс, отвечающий за прочие настройки Предложений | 15.5.3


ActivitySettings

ActivitySettings - класс, отвечающий за прочие настройки Дел.

Методы класса

Метод | Описание | С версии
[link=3623871]getCurrent[/link] | Метод получает текущий экземпляр. |
[link=3623875]getDefaultListViewID [/link] | Метод получает список невыполненных дел в виде идентификаторов. |
[link=3623883]getViewDescriptions [/link] | Метод получает описания видов дел, поддерживаемых в текущем контексте. |
[link=3623887]prepareViewListItems [/link] | Метод подготавливает элементы списка для выбора формы просмотра. |
[link=3623879]setDefaultListViewID [/link] | Метод устанавливает идентификатор списка просмотра по умолчанию. |


getCurrent

\Bitrix\Crm\Settings\ActivitySettings public static
\Bitrix\Crm\Settings\ActivitySettings::getCurrent(
);

Метод получает текущий экземпляр. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDefaultListViewID

integer public
\Bitrix\Crm\Settings\ActivitySettings::getDefaultListViewID(
);

Метод получает список невыполненных дел в виде идентификаторов. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getViewDescriptions

array public static
\Bitrix\Crm\Settings\ActivitySettings::getViewDescriptions(
);

Метод получает описания видов дел, поддерживаемых в текущем контексте. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareViewListItems

array public static
\Bitrix\Crm\Settings\ActivitySettings::prepareViewListItems(
);

Метод подготавливает элементы списка для выбора формы просмотра. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDefaultListViewID

void public
\Bitrix\Crm\Settings\ActivitySettings::setDefaultListViewID(
 integer $viewID
);

Метод устанавливает идентификатор списка просмотра по умолчанию. Метод нестатический.

Параметры

Параметр | Описание | Версия
$viewID | Идентификатор формы просмотра. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


CompanySettings

CompanySettings - класс, отвечающий за прочие настройки Компаний.

Методы класса

Метод | Описание | С версии
[link=3623071]areOutmodedRequisitesEnabled[/link] | Метод проверяет, доступны ли устаревшие поля реквизитов. | 16.5.0
[link=3623075]enableOutmodedRequisites[/link] | Метод включает/выключает устаревшие поля реквизитов. | 16.5.0
[link=1914909]getCurrent[/link] | Метод получает текущий экземпляр. |
[link=3623899]getDefaultListViewID[/link] | Метод получает идентификатор представления по умолчанию. | 16.5.5
[link=1914913]getOpenedFlag[/link] | Флаг настроек "Доступна для всех (по умолчанию)". |
[link=3623909]getViewDescriptions[/link] | Метод получает описания представлений, поддерживаемых в текущем контексте. | 16.5.5
[link=3623913]prepareViewListItems[/link] | Метод подготавливает элементы списка для выбора представления. | 16.5.5
[link=3623905]setDefaultListViewID[/link] | Метод устанавливает идентификатор представления по умолчанию. | 16.5.5
[link=1914917]setOpenedFlag[/link] | Метод устанавливает флаг настроек "Доступна для всех (по умолчанию)". |


areOutmodedRequisitesEnabled

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Settings>CompanySettings>areOutmodedRequisitesEnabled (доступен с 16.5.0)

CompanySettings::areOutmodedRequisitesEnabled

boolean public
\Bitrix\Crm\Settings\CompanySettings::areOutmodedRequisitesEnabled(
);

Метод проверяет, доступны ли устаревшие поля (Адрес, Юридический адрес) реквизитов. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


enableOutmodedRequisites

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Settings>CompanySettings>enableOutmodedRequisites (доступен с 16.5.0)

CompanySettings::enableOutmodedRequisites

void public
\Bitrix\Crm\Settings\CompanySettings::enableOutmodedRequisites(
 boolean $enabled
);

Метод включает/выключает устаревшие поля (Адрес, Юридический адрес) реквизитов. Метод нестатический.

Параметры

Параметр | Описание | Версия
$enabled | Флаг доступности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrent

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Settings>CompanySettings>getCurrent (доступен с 15.5.3)

CompanySettings::getCurrent

\Bitrix\Crm\Settings\CompanySettings public static
\Bitrix\Crm\Settings\CompanySettings::getCurrent(
);

Метод получает текущий экземпляр. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDefaultListViewID

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Settings>CompanySettings>getDefaultListViewID (доступен с 16.5.5)

CompanySettings::getDefaultListViewID

integer public
\Bitrix\Crm\Settings\CompanySettings::getDefaultListViewID(
);

Метод получает идентификатор представления по умолчанию. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOpenedFlag

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Settings>CompanySettings>getOpenedFlag (доступен с 15.1.2)

CompanySettings::getOpenedFlag

boolean public
\Bitrix\Crm\Settings\CompanySettings::getOpenedFlag(
);

Флаг настроек "Доступна для всех (по умолчанию)". Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getViewDescriptions

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Settings>CompanySettings>getViewDescriptions (доступен с 16.5.5)

CompanySettings::getViewDescriptions

array public static
\Bitrix\Crm\Settings\CompanySettings::getViewDescriptions(
);

Метод получает описания представлений, поддерживаемых в текущем контексте. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareViewListItems

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Settings>CompanySettings>prepareViewListItems (доступен с 16.5.5)

CompanySettings::prepareViewListItems

array public static
\Bitrix\Crm\Settings\CompanySettings::prepareViewListItems(
);

Метод подготавливает элементы списка для выбора представления. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDefaultListViewID

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Settings>CompanySettings>setDefaultListViewID (доступен с 16.5.5)

CompanySettings::setDefaultListViewID

void public
\Bitrix\Crm\Settings\CompanySettings::setDefaultListViewID(
 integer $viewID
);

Метод устанавливает идентификатор представления по умолчанию. Метод нестатический.

Параметры

Параметр | Описание | Версия
$viewID | Идентификатор представления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setOpenedFlag

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Settings>CompanySettings>setOpenedFlag (доступен с 15.1.2)

CompanySettings::setOpenedFlag

void public
\Bitrix\Crm\Settings\CompanySettings::setOpenedFlag(
 boolean $opened
);

Метод устанавливает флаг настроек "Доступна для всех (по умолчанию)". Метод нестатический.

Параметры

Параметр | Описание | Версия
$opened | Открытый флаг. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ContactSettings

ContactSettings - класс, отвечающий за прочие настройки Контактов.

Методы класса

Метод | Описание | С версии
[link=3623079]areOutmodedRequisitesEnabled[/link] | Метод проверяет, доступны ли устаревшие поля реквизитов. | 16.5.0
[link=3623083]enableOutmodedRequisites[/link] | Метод включает/выключает устаревшие поля реквизитов. | 16.5.0
[link=1914961]getCurrent[/link] | Метод получает текущий экземпляр. | 15.5.3
[link=3623921]getDefaultListViewID[/link] | Метод получает идентификатор представления по умолчанию. | 16.5.5
[link=1914965]getOpenedFlag[/link] | Флаг настроек "Доступна для всех (по умолчанию)". |
[link=3623929]getViewDescriptions[/link] | Метод получает описания представлений, поддерживаемых в текущем контексте. | 16.5.5
[link=3623933]prepareViewListItems[/link] | Метод подготавливает элементы списка для выбора представления. | 16.5.5
[link=3623925]setDefaultListViewID[/link] | Метод устанавливает идентификатор представления по умолчанию. | 16.5.5
[link=1914969]setOpenedFlag[/link] | Метод устанавливает флаг настроек "Доступна для всех (по умолчанию)". |


areOutmodedRequisitesEnabled

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Settings>ContactSettings>areOutmodedRequisitesEnabled (доступен с 16.5.0)

ContactSettings::areOutmodedRequisitesEnabled

boolean public
\Bitrix\Crm\Settings\ContactSettings::areOutmodedRequisitesEnabled(
);

Метод проверяет, доступны ли устаревшие поля (Адрес) реквизитов. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


enableOutmodedRequisites

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Settings>ContactSettings>enableOutmodedRequisites (доступен с 16.5.0)

ContactSettings::enableOutmodedRequisites

void public
\Bitrix\Crm\Settings\ContactSettings::enableOutmodedRequisites(
 boolean $enabled
);

Метод включает/выключает устаревшие поля (Адрес) реквизитов. Метод нестатический.

Параметры

Параметр | Описание | Версия
$enabled | Флаг доступности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrent

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Settings>ContactSettings>getCurrent (доступен с 15.5.3)

ContactSettings::getCurrent

\Bitrix\Crm\Settings\ContactSettings public static
\Bitrix\Crm\Settings\ContactSettings::getCurrent(
);

Метод получает текущий экземпляр. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDefaultListViewID

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Settings>ContactSettings>getDefaultListViewID (доступен с 16.5.5)

ContactSettings::getDefaultListViewID

integer public
\Bitrix\Crm\Settings\ContactSettings::getDefaultListViewID(
);

Метод получает идентификатор представления по умолчанию. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOpenedFlag

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Settings>ContactSettings>getOpenedFlag (доступен с 15.5.3)

ContactSettings::getOpenedFlag

boolean public
\Bitrix\Crm\Settings\ContactSettings::getOpenedFlag(
);

Флаг настроек "Доступен для всех (по умолчанию)". Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getViewDescriptions

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Settings>ContactSettings>getViewDescriptions (доступен с 16.5.5)

ContactSettings::getViewDescriptions

array public static
\Bitrix\Crm\Settings\ContactSettings::getViewDescriptions(
);

Метод получает описания представлений, поддерживаемых в текущем контексте. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareViewListItems

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Settings>ContactSettings>prepareViewListItems (доступен с 16.5.5)

ContactSettings::prepareViewListItems

array public static
\Bitrix\Crm\Settings\ContactSettings::prepareViewListItems(
);

Метод подготавливает элементы списка для выбора представления. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDefaultListViewID

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Settings>ContactSettings>setDefaultListViewID (доступен с 16.5.5)

ContactSettings::setDefaultListViewID

void public
\Bitrix\Crm\Settings\ContactSettings::setDefaultListViewID(
 integer $viewID
);

Метод устанавливает идентификатор представления по умолчанию. Метод нестатический.

Параметры

Параметр | Описание | Версия
$viewID | Идентификатор представления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setOpenedFlag

Отправить отзыв по этому разделу
...->Пространство имён Bitrix>CRM>Settings>ContactSettings>setOpenedFlag (доступен с 15.1.2)

ContactSettings::setOpenedFlag

void public
\Bitrix\Crm\Settings\ContactSettings::setOpenedFlag(
 boolean $opened
);

Метод устанавливает флаг настроек "Доступен для всех (по умолчанию)". Метод нестатический.

Параметры

Параметр | Описание | Версия
$opened | Открытый флаг. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DealSettings

DealSettings - класс, отвечающий за прочие настройки Сделок.

Методы класса

Метод | Описание | С версии
[link=1914993]enableCloseDateSync[/link] | Метод включает синхронизацию с полем "Дата закрытия". | 15.0.6
[link=2571903]enableProductRowExport[/link] | Метод включает экспорт товаров построчно. | 16.1.0
[link=1914977]getCurrent[/link] | Метод получает текущий экземпляр. | 15.5.3
[link=1914997]getDefaultListViewID[/link] | Метод получает список невыполненных сделок в виде идентификаторов. | 15.1.0
[link=1914981]getOpenedFlag[/link] | Флаг настроек "Доступна для всех (по умолчанию)". | 15.1.2
[link=1915005]getViewDescriptions[/link] | Метод получает описания видов сделок, поддерживаемых в текущем контексте. | 15.1.0
[link=1914989]isCloseDateSyncEnabled[/link] | Метод проверяет, включена ли синхронизация поля "Дата закрытия". | 15.0.6
[link=2571899]isProductRowExportEnabled[/link] | Метод проверяет, разрешен ли построчный экспорт товаров. | 16.1.0
[link=1915009]prepareViewListItems[/link] | Метод подготавливает элементы списка для выбора формы просмотра. | 15.1.0
[link=1915001]setDefaultListViewID[/link] | Метод устанавливает для списка невыполненных сделок идентификатор формы просмотра. | 15.1.0
[link=1914985]setOpenedFlag[/link] | Метод устанавливает флаг настроек "Доступна для всех (по умолчанию)". | 15.1.2


enableCloseDateSync

void public
\Bitrix\Crm\Settings\DealSettings::enableCloseDateSync(
 boolean $enabled
);

Метод включает синхронизацию с полем "Дата закрытия". Метод нестатический.

Параметры

Параметр | Описание | Версия
$enabled | Флаг включения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


enableProductRowExport

void public
\Bitrix\Crm\Settings\DealSettings::enableProductRowExport(
 boolean $enabled
);

Метод включает экспорт товаров построчно. Метод нестатический.

Параметры

Параметр | Описание | Версия
$enabled | Флаг доступности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrent

\Bitrix\Crm\Settings\DealSettings public static
\Bitrix\Crm\Settings\DealSettings::getCurrent(
);

Метод получает текущий экземпляр. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDefaultListViewID

integer public
\Bitrix\Crm\Settings\DealSettings::getDefaultListViewID(
);

Метод получает список невыполненных сделок в виде идентификаторов. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOpenedFlag

boolean public
\Bitrix\Crm\Settings\DealSettings::getOpenedFlag(
);

Флаг настроек "Доступна для всех (по умолчанию)". Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getViewDescriptions

array public static
\Bitrix\Crm\Settings\DealSettings::getViewDescriptions(
);

Метод получает описания видов сделок, поддерживаемых в текущем контексте. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isCloseDateSyncEnabled

boolean public
\Bitrix\Crm\Settings\DealSettings::isCloseDateSyncEnabled(
);

Метод проверяет, включена ли синхронизация поля "Дата закрытия". Метод нестатичекий.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isProductRowExportEnabled

boolean public
\Bitrix\Crm\Settings\DealSettings::isProductRowExportEnabled(
);

Нестатический метод проверяет, разрешен ли построчный экспорт товаров.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareViewListItems

array public static
\Bitrix\Crm\Settings\DealSettings::prepareViewListItems(
);

Метод подготавливает элементы списка для выбора формы просмотра. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDefaultListViewID

void public
\Bitrix\Crm\Settings\DealSettings::setDefaultListViewID(
 integer $viewID
);

Метод устанавливает для списка невыполненных сделок идентификатор формы просмотра. Метод нестатический.

Параметры

Параметр | Описание | Версия
$viewID | Идентификатор формы просмотра. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setOpenedFlag

void public
\Bitrix\Crm\Settings\DealSettings::setOpenedFlag(
 boolean $opened
);

Метод устанавливает флаг настроек "Доступна для всех (по умолчанию)". Метод нестатический.

Параметры

Параметр | Описание | Версия
$opened | Открытый флаг. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


InvoiceSettings

InvoiceSettings - класс, отвечающий за прочие настройки Счетов.

Методы класса

Метод | Описание | С версии
[link=1915023]getCurrent[/link] | Метод получает текущий экземпляр. | 16.0.1
[link=1915035]getDefaultListViewID[/link] | Метод получает список незакрытых счетов в виде идентификаторов. | 16.0.1
[link=1915027]getOpenedFlag[/link] | Флаг настроек "Доступен для всех (по умолчанию)". | 16.0.1
[link=1915043]getViewDescriptions[/link] | Метод получает описания видов счетов, поддерживаемых в текущем контексте. | 16.0.1
[link=1915047]prepareViewListItems[/link] | Метод подготавливает элементы списка для выбора формы просмотра. | 16.0.1
[link=1915039]setDefaultListViewID[/link] | Метод устанавливает для списка незакрытых счетов идентификатор формы просмотра. | 16.0.1
[link=1915031]setOpenedFlag[/link] | Метод устанавливает флаг настроек "Доступен для всех (по умолчанию)". | 16.0.1


getCurrent

\Bitrix\Crm\Settings\LeadSettings public static
\Bitrix\Crm\Settings\InvoiceSettings::getCurrent(
);

Метод получает текущий экземпляр. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDefaultListViewID

integer public
\Bitrix\Crm\Settings\InvoiceSettings::getDefaultListViewID(
);

Метод получает список незакрытых счетов в виде идентификаторов. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOpenedFlag

boolean public
\Bitrix\Crm\Settings\InvoiceSettings::getOpenedFlag(
);

Флаг настроек "Доступен для всех (по умолчанию)". Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getViewDescriptions

array public static
\Bitrix\Crm\Settings\InvoiceSettings::getViewDescriptions(
);

Метод получает описания видов счетов, поддерживаемых в текущем контексте. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareViewListItems

array public static
\Bitrix\Crm\Settings\InvoiceSettings::prepareViewListItems(
);

Метод подготавливает элементы списка для выбора формы просмотра. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDefaultListViewID

void public
\Bitrix\Crm\Settings\InvoiceSettings::setDefaultListViewID(
 integer $viewID
);

Метод устанавливает для списка незакрытых счетов идентификатор формы просмотра. Метод нестатический.

Параметры

Параметр | Описание | Версия
$viewID | Идентификатор формы просмотра. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setOpenedFlag

void public
\Bitrix\Crm\Settings\InvoiceSettings::setOpenedFlag(
 boolean $opened
);

Метод устанавливает флаг настроек "Доступен для всех (по умолчанию)". Метод нестатический.

Параметры

Параметр | Описание | Версия
$opened | Значение флага. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LeadSettings

LeadSettings - класс, отвечающий за прочие настройки Лидов.

Методы класса

Метод | Описание | С версии
[link=2571895]enableProductRowExport[/link] | Метод включает экспорт товаров построчно. | 16.1.0
[link=1914925]getCurrent[/link] | Метод получает текущий экземпляр. | 15.5.3
[link=1914937]getDefaultListViewID[/link] | Получает список некачественных лидов в виде идентификаторов. | 16.0.1
[link=1914929]getOpenedFlag[/link] | Флаг настроек "Доступен для всех (по умолчанию)". | 15.1.2
[link=1914945]getViewDescriptions[/link] | Метод получает описания видов лидов, поддерживаемых в текущем контексте. | 16.0.1
[link=2571891]isProductRowExportEnabled[/link] | Метод проверяет, разрешен ли построчный экспорт товаров. | 16.1.0
[link=1914949]prepareViewListItems[/link] | Метод подготавливает элементы списка для выбора формы просмотра. | 16.0.1
[link=1914941]setDefaultListViewID[/link] | Устанавливает идентификатор списка просмотра по умолчанию. | 16.0.1
[link=1914933]setOpenedFlag[/link] | Метод устанавливает флаг настроек "Доступен для всех (по умолчанию)". | 15.1.2


enableProductRowExport

void public
\Bitrix\Crm\Settings\LeadSettings::enableProductRowExport(
 boolean $enabled
);

Метод включает экспорт товаров построчно. Метод нестатический.

Параметры

Параметр | Описание | Версия
$enabled | Флаг доступности. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrent

\Bitrix\Crm\Settings\LeadSettings public static
\Bitrix\Crm\Settings\LeadSettings::getCurrent(
);

Метод получает текущий экземпляр. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDefaultListViewID

integer public
\Bitrix\Crm\Settings\LeadSettings::getDefaultListViewID(
);

Получает список некачественных лидов в виде идентификаторов. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOpenedFlag

boolean public
\Bitrix\Crm\Settings\LeadSettings::getOpenedFlag(
);

Флаг настроек "Доступен для всех (по умолчанию)". Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getViewDescriptions

array public static
\Bitrix\Crm\Settings\LeadSettings::getViewDescriptions(
);

Метод получает описания видов лидов, поддерживаемых в текущем контексте. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isProductRowExportEnabled

boolean public
\Bitrix\Crm\Settings\LeadSettings::isProductRowExportEnabled(
);

Нестатический метод проверяет, разрешен ли построчный экспорт товаров.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareViewListItems

array public static
\Bitrix\Crm\Settings\LeadSettings::prepareViewListItems(
);

Метод подготавливает элементы списка для выбора формы просмотра. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setDefaultListViewID

void public
\Bitrix\Crm\Settings\LeadSettings::setDefaultListViewID(
 integer $viewID
);

Устанавливает идентификатор списка просмотра по умолчанию. Метод нестатический.

Параметры

Параметр | Описание | Версия
$viewID | Идентификатор формы просмотра. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setOpenedFlag

void public
\Bitrix\Crm\Settings\LeadSettings::setOpenedFlag(
 boolean $opened
);

Метод устанавливает флаг настроек "Доступен для всех (по умолчанию)". Метод нестатический.

Параметры

Параметр | Описание | Версия
$opened | Открытый флаг. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


QuoteSettings

QuoteSettings - класс, отвечающий за прочие настройки Предложений.

Методы класса

Метод | Описание | С версии
[link=1914893]getCurrent[/link] | Метод получает текущий экземпляр. | 15.5.3
[link=1914897]getOpenedFlag[/link] | Флаг настроек "Доступно для всех (по умолчанию)". | 15.5.3
[link=1914901]setOpenedFlag[/link] | Метод устанавливает флаг настроек "Доступен для всех (по умолчанию)". | 15.5.3


getCurrent

\Bitrix\Crm\Settings\QuoteSettings public static
\Bitrix\Crm\Settings\QuoteSettings::getCurrent(
);

Метод получает текущий экземпляр. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOpenedFlag

boolean public
\Bitrix\Crm\Settings\QuoteSettings::getOpenedFlag(
);

Флаг настроек "Доступно для всех (по умолчанию)". Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setOpenedFlag

void public
\Bitrix\Crm\Settings\QuoteSettings::setOpenedFlag(
 boolean $opened
);

Метод устанавливает флаг настроек "Доступен для всех (по умолчанию)". Метод нестатический.

Параметры

Параметр | Описание | Версия
$opened | Открытый флаг. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Statistics

Пространство имён \Bitrix\Crm\Statistics - содержит классы, используемые для сбора данных для построения аналитических отчетов.

Класс | Описание | С версии
ActivityChannelStatisticEntry | Класс для сбора данных для построения аналитических отчетов по каналам поступления дел. | 17.0.2
DealChannelStatisticEntry | Класс для сбора данных для построения аналитических отчетов по каналам поступления сделок. | 17.0.2
DealSumStatisticEntry | Класс, отвечающий за сбор данных для построения аналитических отчетов по сделкам | 15.0.6
Entity | Пространство имён, содержит классы ORM [image] для статистики | 16.0.2
InvoiceSumStatisticEntry | Класс, отвечающий за сбор данных для построения аналитических отчетов по счетам | 16.0.1
LeadChannelStatisticEntry | Класс для сбора данных для построения аналитических отчетов по каналам поступления лидов. | 17.0.2
LeadSumStatisticEntry | Класс, отвечающий за сбор данных для построения аналитических отчетов по лидам | 16.0.1
StatisticEntry | Класс, содержащий интерфейс модели | 16.0.1
StatisticEntryBase | Базовый класс для моделей. | 16.0.1
StatisticEntryManager | Класс управляет слотами отчетов. | 15.1.2


ActivityChannelStatisticEntry

ActivityChannelStatisticEntry - класс для сбора данных для построения аналитических отчетов по каналам поступления дел.

Методы класса

Метод | Описание | С версии
[link=5105421]get[/link] | Метод получает запись. |
[link=5105417]getAll[/link] | Метод получает все записи статистики по каналам поступления дел. |
[link=5105437]getCurrent[/link] | Метод получает текущий экземпляр статистики по каналам поступления дел. |
[link=5105425]isRegistered[/link] | Метод проверяет, зарегистрирована ли сущность. |
[link=5105429]register[/link] | Метод регистрирует сущность. |
[link=5105433]unregister[/link] | Метод прекращает регистрацию сущности. |


get

array public static
\Bitrix\Crm\Statistics\ActivityChannelStatisticEntry::get(
 integer $ownerID,
 integer $channelTypeID
);

Метод получает запись. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор владельца. |
$channelTypeID | Идентификатор типа канала. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAll

array public static
\Bitrix\Crm\Statistics\ActivityChannelStatisticEntry::getAll(
 integer $ownerID
);

Метод получает все записи статистики по каналам поступления дел. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор владельца. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrent

\Bitrix\Crm\Statistics\ActivityChannelStatisticEntry public static
\Bitrix\Crm\Statistics\ActivityChannelStatisticEntry::getCurrent(
);

Метод получает текущий экземпляр статистики по каналам поступления дел. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isRegistered

boolean public static
\Bitrix\Crm\Statistics\ActivityChannelStatisticEntry::isRegistered(
 integer $ownerID,
 integer $channelTypeID
);

Метод проверяет, зарегистрирована ли сущность. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор владельца. |
$channelTypeID | Идентификатор типа канала. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


register

void public static
\Bitrix\Crm\Statistics\ActivityChannelStatisticEntry::register(
 integer $ownerID,
 integer $channelTypeID,
 array $bindingParams = null
);

Статический метод регистрирует сущность.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор владельца. |
$channelTypeID | Идентификатор типа канала. |
$bindingParams | Массив параметров привязки. Например, ORIGIN_ID и COMPONENT_ID. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unregister

void public static
\Bitrix\Crm\Statistics\ActivityChannelStatisticEntry::unregister(
 integer $ownerID,
 integer $channelTypeID
);

Статический метод прекращает регистрацию сущности.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор владельца. |
$channelTypeID | Идентификатор типа канала. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DealChannelStatisticEntry

DealChannelStatisticEntry - класс для сбора данных для построения аналитических отчетов по каналам поступления сделок.

Методы класса

Метод | Описание | С версии
[link=5105453]get[/link] | Метод получает запись. |
[link=5105449]getAll[/link] | Метод получает все записи статистики по каналам поступления сделок. |
[link=5105473]getCurrent[/link] | Метод получает текущий экземпляр статистики по каналам поступления сделок. |
[link=5105461]isRegistered[/link] | Метод проверяет, зарегистрирована ли сделка. |
[link=5105465]register[/link] | Метод регистрирует сделку. |
[link=5105469]unregister[/link] | Метод прекращает регистрацию сделки. |


get

array public static
\Bitrix\Crm\Statistics\DealChannelStatisticEntry::get(
 integer $ownerID,
 integer $channelTypeID
);

Метод получает запись. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор владельца. |
$channelTypeID | Идентификатор типа владельца. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAll

array public static
\Bitrix\Crm\Statistics\DealChannelStatisticEntry::getAll(
 integer $ownerID
);

Метод получает все записи статистики по каналам поступления сделок. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор владельца. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrent

\Bitrix\Crm\Statistics\DealChannelStatisticEntry public static
\Bitrix\Crm\Statistics\DealChannelStatisticEntry::getCurrent(
);

Метод получает текущий экземпляр статистики по каналам поступления сделок. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isRegistered

boolean public static
\Bitrix\Crm\Statistics\DealChannelStatisticEntry::isRegistered(
 integer $ownerID,
 integer $channelTypeID
);

Метод проверяет, зарегистрирована ли сделка. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор владельца. |
$channelTypeID | Идентификатор типа канала. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


register

void public static
\Bitrix\Crm\Statistics\DealChannelStatisticEntry::register(
 integer $ownerID,
 integer $channelTypeID,
 array $bindingParams = null
);

Метод регистрирует сделку. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор владельца. |
$channelTypeID | Идентификатор типа канала. |
$bindingParams | Массив связанных параметров. Например, ORIGIN_ID и COMPONENT_ID. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unregister

void public static
\Bitrix\Crm\Statistics\DealChannelStatisticEntry::unregister(
 integer $ownerID,
 integer $channelTypeID
);

Метод прекращает регистрацию сделки. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор владельца. |
$channelTypeID | Идентификатор типа канала. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DealSumStatisticEntry

DealSumStatisticEntry - класс, отвечающий за сбор данных для построения аналитических отчетов по сделкам. Класс содержит модель (бизнес-логику) статистики по сделкам. Таким образом, слой модели отделен от слоя хранения (таблицы статистики сделок).

Методы класса

Метод | Описание | С версии
getAll | Метод получает все записи статистики по сумме сделок. | 15.0.7
getBindingInfos | Метод получает связанную информацию статистики по сумме сделок. | 15.1.2
getBusySlotCount | Метод получает количество занятых слотов *. | 15.1.2
getCurrent | Метод получает текущий экземпляр статистики сделок. | 16.0.2
getEntityTypeID | Метод получает идентификатор типа объекта. | 16.0.2
getLatest | Метод получает последнюю запись статистики по сумме сделок. | 15.0.6
getSlotBindingMap | Метод получает карту связанных слотов. | 15.1.2
getSlotFieldInfos | Метод получает поля данных слота. | 15.1.2
getSlotInfos | Метод получает данные со слотов. | 15.1.2
getTypeName | Метод получает имя типа записи. | 15.1.2
isRegistered | Метод проверяет, зарегистрирована ли сущность. | 15.0.7
isValid | Метод проверяет, действительна ли запись. | 15.1.2
prepareBuilderData | Метод подготавливает данные для построителя статистики. | 15.1.2
prepareSlotBingingData | Метод производит наполнение слотов полями из пользовательских настроек. | 15.1.2
register | Метод регистрирует сущность. | 16.0.2
setSlotBindingMap | Метод задает привязку карты. | 15.1.2
unregister | Метод прекращает регистрацию сущности. | 15.0.6

* Слот - в контексте аналитических отчетов CRM - элемент фрейма, предназначенный для вывода пользовательских полей.


getAll

array public static
\Bitrix\Crm\Statistics\DealSumStatisticEntry::getAll(
 integer $ownerID
);

Метод получает все записи статистики по сумме сделок. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор ответственного за сделку. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBindingInfos

array public static
\Bitrix\Crm\Statistics\DealSumStatisticEntry::getBindingInfos(
);

Метод получает связанную информацию статистики по сумме сделок. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBusySlotCount

integer public
\Bitrix\Crm\Statistics\DealSumStatisticEntry::getBusySlotCount(
);

Метод получает количество занятых слотов. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrent

\Bitrix\Crm\Statistics\DealSumStatisticEntry public static
\Bitrix\Crm\Statistics\DealSumStatisticEntry::getCurrent(
);

Метод получает текущий экземпляр статистики сделок. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEntityTypeID

string public
\Bitrix\Crm\Statistics\DealSumStatisticEntry::getEntityTypeID(
);

Метод получает идентификатор типа объекта. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLatest

array public static
\Bitrix\Crm\Statistics\DealSumStatisticEntry::getLatest(
 integer $ownerID
);

Метод получает последнюю запись статистики по сумме сделок. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор ответственного за сделку. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSlotBindingMap

\Bitrix\Crm\Statistics\StatisticFieldBindingMap public
\Bitrix\Crm\Statistics\DealSumStatisticEntry::getSlotBindingMap(
);

Метод получает карту связанных слотов. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSlotFieldInfos

array public
\Bitrix\Crm\Statistics\DealSumStatisticEntry::getSlotFieldInfos(
 string $langID = ''
);

Метод получает поля данных слота. Метод нестатический.

Параметры

Параметр | Описание | Версия
$langID | Идентификатор языка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSlotInfos

array public
\Bitrix\Crm\Statistics\DealSumStatisticEntry::getSlotInfos(
);

Метод получает данные со слотов. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTypeName

string public
\Bitrix\Crm\Statistics\DealSumStatisticEntry::getTypeName(
);

Метод получает имя типа записи. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isRegistered

boolean public static
\Bitrix\Crm\Statistics\DealSumStatisticEntry::isRegistered(
 integer $ownerID
);

Метод проверяет, зарегистрирована ли сущность. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор ответственного за сделку. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isValid

boolean public
\Bitrix\Crm\Statistics\DealSumStatisticEntry::isValid(
);

Метод проверяет, действительна ли запись. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareBuilderData

array public
\Bitrix\Crm\Statistics\DealSumStatisticEntry::prepareBuilderData(
);

Метод подготавливает данные для построителя статистики. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareSlotBingingData

array public
\Bitrix\Crm\Statistics\DealSumStatisticEntry::prepareSlotBingingData(
);

Метод производит наполнение слотов полями из пользовательских настроек. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


register

void public static
\Bitrix\Crm\Statistics\DealSumStatisticEntry::register(
 integer $ownerID
);

Метод регистрирует сущность. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор ответственного за сделку. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setSlotBindingMap

void public
\Bitrix\Crm\Statistics\DealSumStatisticEntry::setSlotBindingMap(
 \Bitrix\Crm\Statistics\StatisticFieldBindingMap $srcBindingMap
);

Метод задает привязку карты. Метод нестатический.

Параметры

Параметр | Описание | Версия
$srcBindingMap | Карта привязок. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unregister

void public static
\Bitrix\Crm\Statistics\DealSumStatisticEntry::unregister(
 integer $ownerID
);

Метод прекращает регистрацию сущности. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор ответственного за сделку. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Entity

Подпространство имён \Bitrix\Crm\Statistics\Entity - содержит классы ORM [image] [image] [image] [image] для статистики.

Класс | Описание | С версии
DealSumStatisticsTable | Класс ORM [image] [image] [image] [image] сделок, таблица для статистики сделок | 16.0.2
InvoiceSumStatisticsTable | Класс ORM [image] [image] [image] [image] счетов, таблица для статистики счетов | 16.0.2
LeadSumStatisticsTable | Класс ORM [image] [image] [image] [image] лидов, таблица для статистики лидов | 16.0.2


DealSumStatisticsTable

DealSumStatisticTable - класс ORM [image] сделок, таблица для статистики сделок.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
synchronizeSumFields | Метод синхронизирует поля суммы. | 16.0.2


synchronizeSumFields

void public static
\Bitrix\Crm\Statistics\Entity\DealSumStatisticsTable::synchronizeSumFields(
 integer $ownerID,
 array $data
);

Метод синхронизирует поля суммы. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор ответственного за сделку. |
$data | Источник данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


InvoiceSumStatisticsTable

InvoiceSumStatisticsTable - класс ORM [image] счетов, таблица для статистики счетов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
synchronizeSumFields | Метод синхронизирует поля суммы. | 16.0.2


deleteByFilter

void public static
\Bitrix\Crm\Statistics\Entity\InvoiceSumStatisticsTable::deleteByFilter(
 array $filter
);

Delete records by filter.

Параметры

Параметр | Описание | Версия
$filter | Filter parameters. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


deleteByOwner

void public static
\Bitrix\Crm\Statistics\Entity\InvoiceSumStatisticsTable::deleteByOwner(
 integer $ownerID
);

Delete records by owner.

Параметры

Параметр | Описание | Версия
$ownerID | Owner ID. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Crm\Statistics\Entity\InvoiceSumStatisticsTable::getMap(
);

Get entity map.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSumSlotFieldNames

array public static
\Bitrix\Crm\Statistics\Entity\InvoiceSumStatisticsTable::getSumSlotFieldNames(
);

Get sum slot fields names

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Crm\Statistics\Entity\InvoiceSumStatisticsTable::getTableName(
);

Get database table name.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


synchronize

void public static
\Bitrix\Crm\Statistics\Entity\InvoiceSumStatisticsTable::synchronize(
 integer $ownerID,
 array $data
);

Synchonize records belonged to owner specified.

Параметры

Параметр | Описание | Версия
$ownerID | Owner ID. |
$data | Entity fields data. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


synchronizeSumFields

void public static
\Bitrix\Crm\Statistics\Entity\InvoiceSumStatisticsTable::synchronizeSumFields(
 integer $ownerID,
 array $data
);

Метод синхронизирует поля суммы. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор ответственного за счёт. |
$data | Источник данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


upsert

void public static
\Bitrix\Crm\Statistics\Entity\InvoiceSumStatisticsTable::upsert(
 array $data
);

Execute upsert operation.

Параметры

Параметр | Описание | Версия
$data | Entity fields data. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LeadSumStatisticsTable

LeadSumStatisticsTable - класс ORM [image] лидов, таблица для статистики лидов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
synchronizeSumFields | Метод синхронизирует поля суммы. | 16.0.2


synchronizeSumFields

void public static
\Bitrix\Crm\Statistics\Entity\LeadSumStatisticsTable::synchronizeSumFields(
 integer $ownerID,
 array $data
);

Метод синхронизирует поля суммы. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор ответственного за лид. |
$data | Источник данных. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


InvoiceSumStatisticEntry

InvoiceSumStatisticEntry - класс, отвечающий за сбор данных для построения аналитических отчетов по счетам. Класс содержит модель (бизнес-логику) статистики по счетам. Таким образом, слой модели отделен от слоя хранения (таблицы статистики счетов).

Методы класса

Метод | Описание | С версии
getAll | Метод получает все записи статистики по сумме счетов. | 16.0.1
getBindingInfos | Метод получает связанную информацию статистики по сумме счетов. | 16.0.1
getBusySlotCount | Метод получает количество занятых слотов. | 16.0.1
getCurrent | Метод получает текущий экземпляр статистики счетов. | 16.0.2
getEntityTypeID | Метод получает идентификатор типа объекта. | 16.0.2
getLatest | Метод получает последнюю запись статистики по сумме счетов. | 16.0.1
getSlotBindingMap | Метод получает карту связанных слотов. | 16.0.1
getSlotFieldInfos | Метод получает поля данных слота. | 16.0.1
getSlotInfos | Метод получает данные со слотов. | 16.0.1
getTypeName | Метод получает имя типа записи. | 16.0.1
isRegistered | Метод проверяет, зарегистрирована ли сущность. | 16.0.1
isValid | Метод проверяет, действительна ли запись. | 16.0.1
prepareBuilderData | Метод подготавливает данные для построителя статистики. | 16.0.1
prepareSlotBingingData | Метод производит наполнение слотов полями из пользовательских настроек. | 16.0.1
register | Метод регистрирует сущность. | 16.0.1
setSlotBindingMap | Метод задает привязку карты. | 16.0.1
unregister | Метод прекращает регистрацию сущности. | 16.0.1


getAll

array public static
\Bitrix\Crm\Statistics\InvoiceSumStatisticEntry::getAll(
 integer $ownerID
);

Метод получает все записи статистики по сумме счетов. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор ответственного за счет. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBindingInfos

array public static
\Bitrix\Crm\Statistics\InvoiceSumStatisticEntry::getBindingInfos(
);

Метод получает связанную информацию статистики по сумме счетов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBusySlotCount

integer public
\Bitrix\Crm\Statistics\InvoiceSumStatisticEntry::getBusySlotCount(
);

Метод получает количество занятых слотов. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrent

\Bitrix\Crm\Statistics\InvoiceSumStatisticEntry public static
\Bitrix\Crm\Statistics\InvoiceSumStatisticEntry::getCurrent(
);

Метод получает текущий экземпляр статистики счетов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEntityTypeID

string public
\Bitrix\Crm\Statistics\InvoiceSumStatisticEntry::getEntityTypeID(
);

Метод получает идентификатор типа объекта. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLatest

array public static
\Bitrix\Crm\Statistics\InvoiceSumStatisticEntry::getLatest(
 integer $ownerID
);

Метод получает последнюю запись статистики по сумме счетов. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор ответственного за счет. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSlotBindingMap

\Bitrix\Crm\Statistics\StatisticFieldBindingMap public
\Bitrix\Crm\Statistics\InvoiceSumStatisticEntry::getSlotBindingMap(
);

Метод получает карту связанных слотов. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSlotFieldInfos

array public
\Bitrix\Crm\Statistics\InvoiceSumStatisticEntry::getSlotFieldInfos(
 string $langID = ''
);

Метод получает поля данных слота. Метод нестатический.

Параметры

Параметр | Описание | Версия
$langID | Идентификатор языка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSlotInfos

array public
\Bitrix\Crm\Statistics\InvoiceSumStatisticEntry::getSlotInfos(
);

Метод получает данные со слотов. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTypeName

string public
\Bitrix\Crm\Statistics\InvoiceSumStatisticEntry::getTypeName(
);

Метод получает имя типа записи. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isRegistered

boolean public static
\Bitrix\Crm\Statistics\InvoiceSumStatisticEntry::isRegistered(
 integer $ownerID
);

Метод проверяет, зарегистрирована ли сущность. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор владельца счета. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isValid

boolean public
\Bitrix\Crm\Statistics\InvoiceSumStatisticEntry::isValid(
);

Метод проверяет, действительна ли запись. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareBuilderData

array public
\Bitrix\Crm\Statistics\InvoiceSumStatisticEntry::prepareBuilderData(
);

Метод подготавливает данные для построителя статистики. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareSlotBingingData

array public
\Bitrix\Crm\Statistics\InvoiceSumStatisticEntry::prepareSlotBingingData(
);

Метод производит наполнение слотов полями из пользовательских настроек. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


register

void public static
\Bitrix\Crm\Statistics\InvoiceSumStatisticEntry::register(
 integer $ownerID
);

Метод регистрирует сущность. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор ответственного за счет. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setSlotBindingMap

void public
\Bitrix\Crm\Statistics\InvoiceSumStatisticEntry::setSlotBindingMap(
 \Bitrix\Crm\Statistics\StatisticFieldBindingMap $srcBindingMap
);

Метод задает привязку карты. Метод нестатический.

Параметры

Параметр | Описание | Версия
$srcBindingMap | Карта привязок. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unregister

void public static
\Bitrix\Crm\Statistics\InvoiceSumStatisticEntry::unregister(
 integer $ownerID
);

Метод прекращает регистрацию сущности. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор ответственного за счет. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LeadChannelStatisticEntry

LeadChannelStatisticEntry - класс для сбора данных для построения аналитических отчетов по каналам поступления лидов.

Методы класса

Метод | Описание | С версии
[link=5105491]get[/link] | Метод получает запись. |
[link=5105487]getAll[/link] | Метод получает все записи статистики по каналам поступления лидов. |
[link=5105507]getCurrent[/link] | Метод получает текущий экземпляр статистики по каналам поступления лидов. |
[link=5105495]isRegistered[/link] | Метод проверяет, зарегистрирован ли лид. |
[link=5105499]register[/link] | Метод регистрирует лид. |
[link=5105503]unregister[/link] | Метод прекращает регистрацию лида. |


get

array public static
\Bitrix\Crm\Statistics\LeadChannelStatisticEntry::get(
 integer $ownerID,
 integer $channelTypeID
);

Метод получает запись. Метод статический

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор владельца. |
$channelTypeID | Идентификатор типа канала. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getAll

array public static
\Bitrix\Crm\Statistics\LeadChannelStatisticEntry::getAll(
 integer $ownerID
);

Метод получает все записи статистики по каналам поступления лидов. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор владельца. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrent

\Bitrix\Crm\Statistics\LeadChannelStatisticEntry public static
\Bitrix\Crm\Statistics\LeadChannelStatisticEntry::getCurrent(
);

Метод получает текущий экземпляр статистики по каналам поступления лидов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isRegistered

boolean public static
\Bitrix\Crm\Statistics\LeadChannelStatisticEntry::isRegistered(
 integer $ownerID,
 integer $channelTypeID
);

Метод проверяет, зарегистрирован ли лид. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор владельца. |
$channelTypeID | Идентификатор типа канала. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


register

void public static
\Bitrix\Crm\Statistics\LeadChannelStatisticEntry::register(
 integer $ownerID,
 integer $channelTypeID,
 array $bindingParams = null
);

Метод регистрирует лид. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентфикатор владельца. |
$channelTypeID | Идентификатор типа канала. |
$bindingParams | Массив связанных параметров. Например, ORIGIN_ID и COMPONENT_ID. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unregister

void public static
\Bitrix\Crm\Statistics\LeadChannelStatisticEntry::unregister(
 integer $ownerID,
 integer $channelTypeID
);

Метод прекращает регистрацию лида. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор владельца. |
$channelTypeID | Идентификатор типа канала. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LeadSumStatisticEntry

LeadSumStatisticEntry - класс, отвечающий за сбор данных для построения аналитических отчетов по лидам. Класс содержит модель (бизнес-логику) статистики по лидам. Таким образом, слой модели отделен от слоя хранения (таблицы статистики лидов).

Методы класса

Метод | Описание | С версии
getAll | Метод получает все записи статистики по лидам. | 16.0.1
getBindingInfos | Метод получает связанную информацию статистики по лидам. | 16.0.1
getBusySlotCount | Метод получает количество занятых слотов. | 16.0.1
getCurrent | Метод получает текущий экземпляр статистики лидов. | 16.0.2
getEntityTypeID | Метод получает идентификатор типа объекта. | 16.0.2
getLatest | Метод получает последнюю запись статистики по лидам. | 16.0.1
getSlotBindingMap | Метод получает карту связанных слотов. | 16.0.1
getSlotFieldInfos | Метод получает поля данных слота. | 16.0.1
getSlotInfos | Метод получает данные со слотов. | 16.0.1
getTypeName | Метод получает имя типа записи. | 16.0.1
isRegistered | Метод проверяет, зарегистрирована ли сущность. | 16.0.1
isValid | Метод проверяет, действительна ли запись. | 16.0.1
prepareBuilderData | Метод подготавливает данные для построителя статистики. | 16.0.1
prepareSlotBingingData | Метод производит наполнение слотов полями из пользовательских настроек. | 16.0.1
register | Метод регистрирует сущность. | 16.0.1
setSlotBindingMap | Метод задает привязку карты. | 16.0.1
unregister | Метод прекращает регистрацию сущности. | 16.0.1


getAll

array public static
\Bitrix\Crm\Statistics\LeadSumStatisticEntry::getAll(
 integer $ownerID
);

Метод получает все записи статистики по лидам. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор ответственного за лид. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBindingInfos

array public static
\Bitrix\Crm\Statistics\LeadSumStatisticEntry::getBindingInfos(
);

Метод получает связанную информацию статистики по лидам. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBusySlotCount

integer public
\Bitrix\Crm\Statistics\LeadSumStatisticEntry::getBusySlotCount(
);

Метод получает количество занятых слотов. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getCurrent

\Bitrix\Crm\Statistics\LeadSumStatisticEntry public static
\Bitrix\Crm\Statistics\LeadSumStatisticEntry::getCurrent(
);

Метод получает текущий экземпляр статистики лидов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEntityTypeID

string public
\Bitrix\Crm\Statistics\LeadSumStatisticEntry::getEntityTypeID(
);

Метод получает идентификатор типа объекта. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLatest

array public static
\Bitrix\Crm\Statistics\LeadSumStatisticEntry::getLatest(
 integer $ownerID
);

Метод получает последнюю запись статистики по лидам. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор ответственного за лид. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSlotBindingMap

\Bitrix\Crm\Statistics\StatisticFieldBindingMap public
\Bitrix\Crm\Statistics\LeadSumStatisticEntry::getSlotBindingMap(
);

Метод получает карту связанных слотов. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSlotFieldInfos

array public
\Bitrix\Crm\Statistics\LeadSumStatisticEntry::getSlotFieldInfos(
 string $langID = ''
);

Метод получает поля данных слота. Метод нестатический.

Параметры

Параметр | Описание | Версия
$langID | Идентификатор языка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSlotInfos

array public
\Bitrix\Crm\Statistics\LeadSumStatisticEntry::getSlotInfos(
);

Метод получает данные со слотов. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTypeName

string public
\Bitrix\Crm\Statistics\LeadSumStatisticEntry::getTypeName(
);

Метод получает имя типа записи. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isRegistered

boolean public static
\Bitrix\Crm\Statistics\LeadSumStatisticEntry::isRegistered(
 integer $ownerID
);

Метод проверяет, зарегистрирована ли сущность. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор ответственного за лид. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isValid

boolean public
\Bitrix\Crm\Statistics\LeadSumStatisticEntry::isValid(
);

Метод проверяет, действительна ли запись. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareBuilderData

array public
\Bitrix\Crm\Statistics\LeadSumStatisticEntry::prepareBuilderData(
);

Метод подготавливает данные для построителя статистики. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareSlotBingingData

array public
\Bitrix\Crm\Statistics\LeadSumStatisticEntry::prepareSlotBingingData(
);

Метод производит наполнение слотов полями из пользовательских настроек. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


register

void public static
\Bitrix\Crm\Statistics\LeadSumStatisticEntry::register(
 integer $ownerID
);

Метод регистрирует сущность. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор ответственного за лид. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setSlotBindingMap

void public
\Bitrix\Crm\Statistics\LeadSumStatisticEntry::setSlotBindingMap(
 \Bitrix\Crm\Statistics\StatisticFieldBindingMap $srcBindingMap
);

Метод задает привязку карты. Метод нестатический.

Параметры

Параметр | Описание | Версия
$srcBindingMap | Карта привязок. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unregister

void public static
\Bitrix\Crm\Statistics\LeadSumStatisticEntry::unregister(
 integer $ownerID
);

Метод прекращает регистрацию сущности. Метод статический.

Параметры

Параметр | Описание | Версия
$ownerID | Идентификатор ответственного за лид. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


StatisticEntry

StatisticEntry - класс, содержащий интерфейс модели.

Методы класса

Метод | Описание | С версии
getBusySlotCount | Метод получает количество занятых слотов. |
getEntityTypeID | Метод получает идентификатор типа объекта. |
getSlotBindingMap | Метод получает карту связанных слотов. |
getSlotFieldInfos | Метод получает поля данных слота. |
getSlotInfos | Метод получает данные со слотов. |
getTypeName | Метод получает имя типа записи. |
isValid | Метод проверяет, действительна ли запись. |
prepareBuilderData | Метод подготавливает данные для построителя статистики. |
prepareSlotBingingData | Метод производит наполнение слотов полями из пользовательских настроек. |
setSlotBindingMap | Метод задает привязку карты. |


getBusySlotCount

integer public
\Bitrix\Crm\Statistics\StatisticEntry::getBusySlotCount(
);

Метод получает количество занятых слотов. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getEntityTypeID

string public
\Bitrix\Crm\Statistics\StatisticEntry::getEntityTypeID(
);

Метод получает идентификатор типа объекта. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSlotBindingMap

\Bitrix\Crm\Statistics\StatisticFieldBindingMap public
\Bitrix\Crm\Statistics\StatisticEntry::getSlotBindingMap(
);

Метод получает карту связанных слотов. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSlotFieldInfos

array public
\Bitrix\Crm\Statistics\StatisticEntry::getSlotFieldInfos(
 string $langID = ''
);

Метод получает поля данных слота. Метод нестатический.

Параметры

Параметр | Описание | Версия
$langID | Идентификатор языка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSlotInfos

array public
\Bitrix\Crm\Statistics\StatisticEntry::getSlotInfos(
);

Метод получает данные со слотов. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTypeName

string public
\Bitrix\Crm\Statistics\StatisticEntry::getTypeName(
);

Метод получает имя типа записи. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isValid

boolean public
\Bitrix\Crm\Statistics\StatisticEntry::isValid(
);

Метод проверяет, действительна ли запись. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareBuilderData

array public
\Bitrix\Crm\Statistics\StatisticEntry::prepareBuilderData(
);

Метод подготавливает данные для построителя статистики. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareSlotBingingData

array public
\Bitrix\Crm\Statistics\StatisticEntry::prepareSlotBingingData(
);

Метод производит наполнение слотов полями из пользовательских настроек. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setSlotBindingMap

void public
\Bitrix\Crm\Statistics\StatisticEntry::setSlotBindingMap(
 \Bitrix\Crm\Statistics\StatisticFieldBindingMap $srcBindingMap
);

Метод задает привязку карты. Метод нестатический.

Параметры

Параметр | Описание | Версия
$srcBindingMap | Карта привязок. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


StatisticEntryBase

StatisticEntryBase - базовый класс для моделей.

Методы класса

Метод | Описание | С версии
nullSafeCompareDates | Метод безопасным способом сравнивает две даты в нулевой отметке времени Unix. | 16.0.7
parseDateString | Метод разбирает данные из строки. | 16.0.1


nullSafeCompareDates

integer public static
\Bitrix\Crm\Statistics\StatisticEntryBase::nullSafeCompareDates(
 \Bitrix\Main\Type\Date|null $first = null,
 \Bitrix\Main\Type\Date|null $second = null
);

Метод безопасным способом сравнивает две даты в нулевой отметке времени Unix. Пустой указатель NULL рассматривается как нулевая отметка времени. Метод статический.

Возвращает значение меньше 0, если первая дата раньше второй. Return a value less than 0 if this first date is before second. Возвращает 0, если даты равны. Возвращает значение больше 0, если первая дата позже второй.

Параметры

Параметр | Описание | Версия
$first | Первая дата. |
$second | Вторая дата. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


parseDateString

string|null public static
\Bitrix\Crm\Statistics\StatisticEntryBase::parseDateString(
 string $str
);

Метод разбирает данные из строки. Метод статический.

Параметры

Параметр | Описание | Версия
$str | Строка-источник. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


StatisticEntryManager

Класс StatisticEntryManager управляет слотами отчетов.

Методы класса

Метод | Описание | С версии
[link=1915733]addEntry[/link] | Метод добавляет запись. | 16.0.2
[link=1915753]getBusySlotCount[/link] | Метод получает количество занятых слотов. | 15.1.2
[link=1915741]getOverallSlotLimit[/link] | Метод получает общий лимит слотов | 15.1.2
[link=1915765]getSlotBindingMap[/link] | Метод получает карту связанных слотов | 15.1.2
[link=1915761]getSlotFieldInfos[/link] | Метод получает поля данных слота. | 15.1.2
[link=1915757]getSlotInfos[/link] | Метод получает данные со слотов. | 15.1.2
[link=1915745]getSlotLimit[/link] | Метод получает лимит количества слотов. | 15.1.2
[link=1915749]isValid[/link] | Метод проверяет, действительна ли запись. | 15.1.2
[link=1915777]prepareBuilderData[/link] | Метод подготавливает данные для построителя статистики. | 15.1.2
[link=1915773]prepareSlotBingingData[/link] | Метод производит наполнение слотов полями из пользовательских настроек. | 15.1.2
[link=1915737]removeEntry[/link] | Метод удаляет запись. | 16.0.2
[link=1915769]setSlotBindingMap[/link] | Метод задает привязку карты. | 15.1.2


addEntry

void public static
\Bitrix\Crm\Statistics\StatisticEntryManager::addEntry(
 \Bitrix\Crm\Statistics\StatisticEntry $entry
);

Метод добавляет запись. Метод статический.

Параметры

Параметр | Описание | Версия
$entry | Добавляемая запись. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getBusySlotCount

integer public static
\Bitrix\Crm\Statistics\StatisticEntryManager::getBusySlotCount(
 string $typeName
);

Метод получает количество занятых слотов. Метод статический.

Параметры

Параметр | Описание | Версия
$typeName | Наименование типа сущности, по которой считается статистика. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOverallSlotLimit

integer public static
\Bitrix\Crm\Statistics\StatisticEntryManager::getOverallSlotLimit(
);

Метод получает общий лимит слотов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSlotBindingMap

\Bitrix\Crm\Statistics\StatisticFieldBindingMap public static
\Bitrix\Crm\Statistics\StatisticEntryManager::getSlotBindingMap(
 string $typeName
);

Метод получает карту связанных слотов. Метод статический.

Параметры

Параметр | Описание | Версия
$typeName | Имя типа сущности, по которой собирается статистика. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSlotFieldInfos

array public static
\Bitrix\Crm\Statistics\StatisticEntryManager::getSlotFieldInfos(
 string $typeName,
 string $langID = ''
);

Метод получает поля данных слота. Метод статический.

Параметры

Параметр | Описание | Версия
$typeName | Имя типа сущности, по которой собирается статистика. |
$langID | Идентификатор языка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSlotInfos

array public static
\Bitrix\Crm\Statistics\StatisticEntryManager::getSlotInfos(
 string $typeName
);

Метод получает данные со слотов. Метод статический.

Параметры

Параметр | Описание | Версия
$typeName | Имя типа сущности, по которой собирается статистика. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSlotLimit

integer public static
\Bitrix\Crm\Statistics\StatisticEntryManager::getSlotLimit(
);

Метод получает лимит количества слотов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isValid

boolean public static
\Bitrix\Crm\Statistics\StatisticEntryManager::isValid(
 string $typeName
);

Метод проверяет, действительна ли запись. Метод статический.

Параметры

Параметр | Описание | Версия
$typeName | Имя типа сущности, по которой собирается статистика. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareBuilderData

array public static
\Bitrix\Crm\Statistics\StatisticEntryManager::prepareBuilderData(
 integer $ownerTypeID
);

Метод подготавливает данные для построителя статистики. Метод статический

Параметры

Параметр | Описание | Версия
$ownerTypeID | Идентификатор типа владельца (see: \CCrmOwnerType). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareSlotBingingData

array public static
\Bitrix\Crm\Statistics\StatisticEntryManager::prepareSlotBingingData(
 string $typeName
);

Метод производит наполнение слотов полями из пользовательских настроек. Метод статический.

Параметры

Параметр | Описание | Версия
$typeName | Наименование типа сущности, по которой считается статистика. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


removeEntry

void public static
\Bitrix\Crm\Statistics\StatisticEntryManager::removeEntry(
 \Bitrix\Crm\Statistics\StatisticEntry $entry
);

Метод статический, удаляет запись.

Параметры

Параметр | Описание | Версия
$entry | Удаляемая запись. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setSlotBindingMap

void public static
\Bitrix\Crm\Statistics\StatisticEntryManager::setSlotBindingMap(
 string $typeName,
 \Bitrix\Crm\Statistics\StatisticFieldBindingMap $srcBindingMap
);

Метод задает привязку карты. Метод статический.

Параметры

Параметр | Описание | Версия
$typeName | Наименование типа сущности, по которой считается статистика. |
$srcBindingMap | Карта привязок. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Synchronization

Пространство имён \Bitrix\Crm\Synchronization - содержит классы, используемые для синхронизации наборов пользовательских полей между различными типами сущностей.

Класс | Описание | С версии
UserFieldSynchronizer | Класс, отвечающий за выполнение переноса структуры пользовательских полей из одного типа сущностей в другой | 15.5.2


UserFieldSynchronizer

UserFieldSynchronizer - класс, отвечающий за выполнение переноса структуры пользовательских полей из одного типа сущностей в другой.

Методы класса

Метод | Описание | С версии
getIntersection | Метод сравнивает типы полей источника с типами полей приемника. Найденные соответствия сопоставляются по именам полей. | 15.5.2
getSynchronizationFields | Метод подготавливает список полей для синхронизации. | 15.5.2
needForSynchronization | Метод проверяет, нужны ли поля приемника для синхронизации с полями источника. Найденные соответствия сопоставляются по именам полей. | 15.5.2
synchronize | Метод синхронизирует поля источника с полями приемника. | 15.5.2


getIntersection

Array public static
\Bitrix\Crm\Synchronization\UserFieldSynchronizer::getIntersection(
 integer $srcEntityTypeID,
 integer $dstEntityTypeID,
 string $languageID = ''
);

Метод сравнивает типы полей источника с типами полей приемника. Найденные соответствия сопоставляются по именам полей. Метод статический.

Параметры

Параметр | Описание | Версия
$srcEntityTypeID | Идентификатор типа сущности источника. |
$dstEntityTypeID | Идентификатор типа сущности приемника. |
$languageID | Идентификатор языка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSynchronizationFields

array public static
\Bitrix\Crm\Synchronization\UserFieldSynchronizer::getSynchronizationFields(
 integer $srcEntityTypeID,
 integer $dstEntityTypeID,
 string $languageID = ''
);

Метод подготавливает список полей для синхронизации. Метод статический.

Параметры

Параметр | Описание | Версия
$srcEntityTypeID | Идентификатор типа сущности источника. |
$dstEntityTypeID | Идентификатор типа сущности приемника. |
$languageID | Идентификатор языка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


needForSynchronization

boolean public static
\Bitrix\Crm\Synchronization\UserFieldSynchronizer::needForSynchronization(
 integer $srcEntityTypeID,
 integer $dstEntityTypeID,
 string $languageID = ''
);

Метод проверяет, нужны ли поля приемника для синхронизации с полями источника. Найденные соответствия сопоставляются по именам полей. Метод статический.

Параметры

Параметр | Описание | Версия
$srcEntityTypeID | Идентификатор типа сущности источника. |
$dstEntityTypeID | Идентификатор типа сущности приемника. |
$languageID | Идентификатор языка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


synchronize

void public static
\Bitrix\Crm\Synchronization\UserFieldSynchronizer::synchronize(
 integer $srcEntityTypeID,
 integer $dstEntityTypeID,
 string $languageID = ''
);

Метод синхронизирует поля источника с полями приемника. Найденные соответствия сопоставляются по именам полей.

Если поле источника не найдено в сущности приемника, то оно будет создано там. Метод статический.

Параметры

Параметр | Описание | Версия
$srcEntityTypeID | Идентификатор типа сущности источника. |
$dstEntityTypeID | Идентификатор типа сущности приемника. |
$languageID | Идентификатор языка. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Timeline

Во всех карточках сущностей CRM присутствует таймлайн:

Пространство имен \Bitrix\Crm\Timeline содержит код, обеспечивающий регистрацию событий и их отображение.

Классы

Класс | Описание | С версии
Controller | Наследники Controller - "контроллеры таймлайна". Именно через них происходит регистрация различных событий. |
TimelineEntry | Наследники TimelineEntry - обеспечивают CRUD операции над различными записями (типами событий) таймлайна. |
TimelineEntry\Facade | Сервис, предоставляющий единый интерфейс для работы с наследниками TimelineEntry. |
Pusher | Сервис, специализирующийся на отправке пуш-событий об изменениях таймлайна. |
HistoryDataModel\Maker | Сервис, подготавливающий для фронта данные, с помощью которых будет происходить отображение событий таймлайна. |


Controller и наследники

Все контроллеры — это синглтоны, получаемые через getInstance. Работа с ними в основном ведется через методы on[SomeEventName], которые вызываются, чтобы зарегистрировать событие. Все такие методы имеют собственную реализацию. Но в целом их алгоритм выглядит следующим образом:

  1. Создать необходимую запись в таймлайне с использованием TimelineEntry;
  2. Если нужно, то подготовить данные для отображения события на фронте (HistoryDataModel);
  3. Отправить push-событие.

FactoryBasedController

FactoryBasedController - контроллер таймлайна для новых сущностей.

Сущности CRM постепенно переписываются на использование нового API. Для этого необходимо обеспечить поддержку нового подхода к работе в различных местах. Таймлайн не исключение.

В связи с этим был создан абстрактный класс \Bitrix\Crm\Timeline\FactoryBasedController. Он является базовым для всех контроллеров таймлайна для сущностей, работающих на основе фабрики. Он обеспечивает максимально универсальную реализацию функционала регистрации событий в таймлайн.


Pusher

\Bitrix\Crm\Timeline\Pusher - это простой сервис, целью которого является отправка push-событий об изменениях таймлайна.

Методы класса

Основной метод: sendPullEvent.

sendPullEvent(
    int $targetEntityTypeId,
    int $targetEntityId,
    string $command,
    array $historyDataModel = null
): void

Параметр | Описание | Версия
int $targetEntityTypeId | Константа \CCrmOwnerType, например \CCrmOwnerType::Lead. Определяет тип сущности элемента, в таймлайн которого будет отправлено событие. |
int $targetEntityId | ID элемента, в таймлайн которого будет отправлено событие. |
string $command | Команда, описывающая, как необходимо обработать отправляемое событие. Может быть как константой Pusher, так и любой произвольной командой. |
array $historyDataModel = null | Массив с данными для отображения события на фронте. По умолчанию никакие данные для отображения на фронт не отправляются. |


HistoryDataModel

HistoryDataModel - это общее название для данных о каком-то событии таймлана. Их подготавливает backend для того, чтобы фронт мог правильно отрисовать это событие. Чаще всего эти данные представляют собой модифицированные записи из TimelineEntry, в которых добавлены/удалены/изменены некоторые поля.

Исторически данные о представлении события, связанного с какой-то сущностью, подготавливал контроллер этой сущности через метод prepareHistoryDataModel.

Например, запись с ASSOCIATED_ENTITY_TYPE_ID === \CCrmOwnerType::Deal будет обработана в \Bitrix\Crm\Timeline\DealController::prepareHistoryDataModel.

Чтобы отделить ответственность регистрации событий от ответственности подготовки данных для отображения, в рамках работы над таймлайном смарт-процессов был написан API из пространства имен \Bitrix\Crm\Timeline\HistoryDataModel. В будущем планируется выделить из старых контроллеров подготовку HistoryDataModel в новое API. При написании новых контроллеров рекомендуется использовать новый механизм.

Общая логика работы

Точкой входа является класс HistoryDataModel\Maker. Через его метод prepareHistoryDataModel можно получить необходимые данные. Сигнатура идентична старому методу.

Внутри HistoryDataModel\Maker на основе полученных данных происходит сборка объекта HistoryDataModel\Presenter, который, собственно, и занимается подготовкой HistoryDataModel.

Presenter и EntityImplementation

То, какие конкретно данные нужно включить в HistoryDataModel, зависит от типа события (конвертация, создание элемента, его изменения) и от типа сущности, про которую идет речь в событии (Сделка, Предложение, Смарт-процесс). Раньше данная вариативность реализовывалась за счет того, что на каждую сущность был свой контроллер, внутри которого через if-else проверялся тип события. Чтобы упростить переиспользование кода и добавление новых типов событий/сущностей, в новом API вариативность реализуется с помощью паттерна [ds]"Мост"[/ds][di]Мост — это структурный паттерн проектирования, который разделяет один или несколько классов на две отдельные иерархии — абстракцию и реализацию, позволяя изменять их независимо друг от друга.

Подробнее на refactoring.guru [image].[/di].

Примечание: Дальнейшее объяснение использует термины из описания вышеуказанного паттерна.

Класс Presenter (презентатор) - это "абстракция". Объект данного класса выполняет основную работу по подготовке данных. Для некоторых типов события у него может быть наследник (Presenter\Creation, Presenter\Conversion), который может как-то по-особенному обработать данные в специфике этого события (задать разные заголовки, описания и т.п.).

В случае, если для какого-то типа события нет специального наследника, то его обрабатывает базовый класс Presenter (в этой ситуации он выступает как Null-object [image]).

Класс EntityImplementation - это "реализация". Объект данного класса используется для того, чтобы "кастомизировать" HistoryDataModel в зависимости от типа сущности. Это может быть получение сущносте-зависимых данных, например заголовка элемента (название конкретной сделки, предложения и т.п.), краткого описания элемента или типа сущности, человекочитаемого названия поля (ASSIGNED_BY_ID -> "Ответственный"). У данного класса могут быть наследники для какого-то конкретного типа сущности (например, для сделки), модифицирующие поведение родителя. В случае, если для типа сущности нет специального наследника, то используется базовый класс EntityImplementation (опять-таки, он выступает как Null-object).

Таким образом, все возможные варианты того, как конкретно нужно собрать HistoryDataModel для фронта, разбиваются на две иерархии классов, которые разрастаются независимо друг от друга. При необходимости модифицировать обработку события восстановления, создается класс Presenter\Restore. А если нужно изменить описание для заказа, создается класс EntityImplementation\Order.


TimelineEntry

CRUD операции с событиями таймлайна осуществляются через \Bitrix\Crm\TimelineEntry. При этом, для каждого типа события существует свой наследник, реализующий метод create. Добавление новых событий осуществляется именно через него.

В рамках работы над таймлайном смарт-процессов был написан сервис \Bitrix\Crm\TimelineEntry\Facade, позволяющий через единую точку входа создавать различные типы событий. А факт того, что это сервис, облегчает тестирование кода и дает возможность мокать необходимое поведение.

Внутреннее устройство

Важно! Данный блок написан исключительно с информационной целью. Пожалуйста, не используйте таблеты в явном виде. Этим вы нарушаете инкапсуляцию и усложняете сопровождение кода!

Данные о событиях таймлайна хранятся в трех таблицах:

  1. b_crm_timeline (\Bitrix\Crm\Timeline\Entity\TimelineTable) - хранит основную часть данных (тип события, автор, описание и т.д.).

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

    Поле TYPE_ID указывает на тип события. Здесь хранятся константы класса \Bitrix\Crm\Timeline\TimelineType. Обычно каждый тип события имеет собственную константу, но тем не менее несколько событий могут иметь одно и то же значение. Например, многие типы "дел" (Activity) имеют один и тот же TYPE_ID = TimelineType::ACTIVITY.

  2. b_crm_timeline_bind (\Bitrix\Crm\Timeline\Entity\TimelineBindingTable) - хранит данные о том, в таймлайнах каких сущностей необходимо отобразить событие. Имеет связь "один ко многим" с b_crm_timeline. Соответственно, одно и то же событие может быть отражено в нескольких таймлайнах одновременно.

  3. b_crm_timeline_search (\Bitrix\Crm\Timeline\Entity\TimelineSearchTable) - хранит полнотекстовый индекс для поиска по событиям.

Когда в компоненте crm.timeline происходит выборка событий, которые нужно отрисовать в таймлайне элемента с конкретными entityTypeId и entityId, осуществляется фильтрация по b_crm_timeline_bind.ENTITY_TYPE_ID = entityTypeId AND b_crm_timeline_bind.ENTITY_ID = entityId. Все события, прошедшие такой фильтр, попадают в интерфейс.


Widget

Widget - содержит виджеты *, используемые для построения аналитических отчётов.

* Виджет - элемент управления, отображающий данные тем или иным способом.

Класс | Описание | С версии
Data | Пространство имён, содержит источники данных для виджетов |
Filter | Класс для фильтрации данных для виджетов | 16.5.0
Widget | Класс для формирования данных для виджетов | 16.5.2


Data

Пространство имён \Bitrix\Crm\Widget\Data - содержит источники данных для виджетов.

Класс | Описание | С версии
Activity | Подпространство имён, содержит классы для работы с данными для виджетов дел. | 16.5.5
Company | Подпространство имён, содержит классы для работы с данными для виджетов компаний. | 16.5.5
Contact | Подпространство имён, содержит классы для работы с данными для виджетов контактов. | 16.5.5
DataSource | Базовый класс для источников данных |
DealActivityStatistics | Класс реализует источник данных "Статистика активных сделок" |
DealDataSource | Класс - источник данных для виджетов сделок. | 16.1.0
DealIdle | Класс реализует источник данных "Забытые сделки" |
DealInvoiceStatistics | Класс реализует источник данных "Счета сделок" |
DealInWork | Класс реализует источник данных "Сделки в работе" |
DealStageHistory | Класс реализует источник данных "Изменение стадий сделки" |
DealSumStatistics | Класс реализует источник данных "Сумма сделок" |
ExpressionDataSource | Класс - источник данных для выражений в виджетах. | 16.0.7
InvoiceDataSource | Класс - источник данных для виджетов счетов. | 16.1.0
InvoiceInWork | Класс реализует источник данных "Счета в работе" |
InvoiceOverdue | Класс реализует источник данных "Просроченные счета" |
InvoiceStatusHistory | Класс реализует источник данных "История статусов счёта" |
InvoiceSumStatistics | Класс реализует источник данных "Сумма счетов" |
LeadActivityStatistics | Класс реализует источник данных "Статистика активных лидов" |
LeadConversionRate | Класс реализует источник данных "Сконвертированные лиды", представляет данные о конверсии и потерях |
LeadConversionStatistics | Класс реализует источник данных "Статистика конвертирования лидов" |
LeadDataSource | Класс - источник данных для виджетов лидов. | 16.1.0
LeadIdle | Класс реализует источник данных "Забытые лиды" |
LeadInWork | Класс реализует источник данных "Лиды в работе" |
LeadJunk | Класс реализует источник данных "Забракованные лиды" |
LeadNew | Класс реализует источник данных "Новые лиды" |
LeadStatusHistory | Класс реализует источник данных "Изменение стадий обработки лида" |
LeadSumStatistics | Класс реализует источник данных "Сумма лидов" |


Activity

Activity - подпространство имён, содержит классы для работы с данными для виджетов дел.

Класс | Описание | С версии
DataSource | Базовый класс для источников данных. |
MarkStatistics | Класс реализует источник данных "Статистика меток". |
Statistics | Класс реализует источник данных "Статистика дел". |
StatusStatistics | Класс реализует источник данных "Статусы дел". |
StreamStatistics | Класс реализует источник данных "Лента CRM".. |
SumStatistics | Класс реализует источник данных "Количество дел". |


DataSource

DataSource - базовый класс для источников данных.

Метод | Описание | С версии
extractDetailsPageUrlParams | Метод извлекает детальные параметры URL страницы из запроса. |
getDetailsPageUrl | Метод получает детальный URL страницы. |


extractDetailsPageUrlParams

array public static
\Bitrix\Crm\Widget\Data\Activity\DataSource::extractDetailsPageUrlParams(
 array $request
);

Метод извлекает детальные параметры URL страницы из запроса. Метод статический.

Параметры

Параметр | Описание | Версия
$request | Источник параметров запроса. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDetailsPageUrl

string public
\Bitrix\Crm\Widget\Data\Activity\DataSource::getDetailsPageUrl(
 array $params
);

Метод получает детальный URL страницы. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Параметры. |

Исключения

  • \Bitrix\Main\ObjectNotFoundException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


MarkStatistics

MarkStatistics - наследник базового класса DataSource, реализует источник данных "Статистика меток".

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. |


getDataContext

string public
\Bitrix\Crm\Widget\Data\Activity\MarkStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Statistics

Statistics - наследник базового класса DataSource, реализует источник данных "Статистика дел".

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. |


getDataContext

string public
\Bitrix\Crm\Widget\Data\Activity\Statistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


StatusStatistics

StatusStatistics - наследник базового класса [link= 3623429]DataSource[/link], реализует источник данных "Статусы дел".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. |


getDataContext

string public
\Bitrix\Crm\Widget\Data\Activity\StatusStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


StreamStatistics

StreamStatistics - наследник базового класса [link= 3623429]DataSource[/link], реализует источник данных "Лента CRM".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. |


getDataContext

string public
\Bitrix\Crm\Widget\Data\Activity\StreamStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SumStatistics

SumStatistics - наследник базового класса DataSource, реализует источник данных "Количество дел".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. |


getDataContext

string public
\Bitrix\Crm\Widget\Data\Activity\SumStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Company

Company - подпространство имён, содержит классы для работы с данными для виджетов компаний.

Класс | Описание | С версии
ActivityMarkStatistics | Класс реализует источник данных "Статистика по оценкам дел". |
ActivityStatistics | Класс реализует источник данных "Статистика дел компаний". |
ActivityStatusStatistics | Класс реализует источник данных "Статистика статусов дел. |
ActivityStreamStatistics | Класс реализует источник данных "Статистика потоков дел". |
ActivitySumStatistics | Класс реализует источник данных "Сумма дел компаний". |
DataSource | Базовый класс для источников данных. |
DealConversionRate | Класс реализует источник данных "Рейтинг сконвертированных сделок". |
DealSumStatistics | Класс реализует источник данных "Сумма сделок компании". |
GrowthStatistics | Класс реализует источник данных "Рост статистики компаний". |
InvoiceSumStatistics | Класс реализует источник данных "Сумма счетов компании". |


ActivityMarkStatistics

ActivityMarkStatistics - наследник базового класса DataSource, реализует источник данных "Статистика по оценкам дел".

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. |


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\Company\ActivityMarkStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ActivityStatistics

ActivityStatistics - наследник базового класса DataSource, реализует источник данных "Статистика дел компаний".

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. |


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\Company\ActivityStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ActivityStatusStatistics

ActivityStatusStatistics - наследник базового класса DataSource, реализует источник данных "Статистика статусов дел" (для открытых линий (ОЛ) - отвеченные, неотвеченные).

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. |


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\Company\ActivityStatusStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ActivityStreamStatistics

ActivityStreamStatistics - наследник базового класса DataSource, реализует источник данных "Статистика потоков дел" (для звонков - входящие, исходящие, пропущенные, обратные).

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. |


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\Company\ActivityStreamStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ActivitySumStatistics

ActivitySumStatistics - наследник базового класса DataSource, реализует источник данных "Сумма дел компаний".

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. |


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\Company\ActivitySumStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


extractDetailsPageUrlParams

array public static
\Bitrix\Crm\Widget\Data\Company\DataSource::extractDetailsPageUrlParams(
 array $request
);

Метод извлекает детальные параметры URL страницы из запроса. Метод статический.

Параметры

Параметр | Описание | Версия
$request | Источник параметров запроса. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDetailsPageUrl

string public
\Bitrix\Crm\Widget\Data\Company\DataSource::getDetailsPageUrl(
 array $params
);

Метод получает детальный URL страницы. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Параметры. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DealConversionRate

DealConversionRate - наследник базового класса DataSource, реализует источник данных "Рейтинг сконвретированных сделок".

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. |


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\Company\DealConversionRate::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DealSumStatistics

DealSumStatistics - наследник базового класса DataSource, реализует источник данных "Сумма сделок компании".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. |
getDetailsPageUrl | Метод получает детальный URL страницы. |
getList | Метод подготавливает список элементов в соответствии с входящими параметрами. |
getPresets | Метод подготавливает набор пресетов. |
getTypeName | Метод получает наименование типа. |
prepareEntityListFilter | Метод подготавливает фильтр для списка сущностей. |


getDataContext

string public
\Bitrix\Crm\Widget\Data\Company\DealSumStatistics::getDataContext(
);

Метод получает текущий контекст данных по идентификатору компании. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDetailsPageUrl

string public
\Bitrix\Crm\Widget\Data\Company\DealSumStatistics::getDetailsPageUrl(
 array $params
);

Метод получает детальный URL страницы. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Параметры. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getList

array public
\Bitrix\Crm\Widget\Data\Company\DealSumStatistics::getList(
 array $params
);

Метод подготавливает список элементов в соответствии с входящими параметрами. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Параметры. |

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\InvalidOperationException
  • \Bitrix\Main\ObjectNotFoundException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPresets

array public static
\Bitrix\Crm\Widget\Data\Company\DealSumStatistics::getPresets(
);

Метод подготавливает набор пресетов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTypeName

string public
\Bitrix\Crm\Widget\Data\Company\DealSumStatistics::getTypeName(
);

Метод получает наименование типа. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareEntityListFilter

array public
\Bitrix\Crm\Widget\Data\Company\DealSumStatistics::prepareEntityListFilter(
 array $filterParams
);

Метод подготавливает фильтр для списка сущностей. Метод нестатический.

Параметры

Параметр | Описание | Версия
$filterParams | Параметры входящего фильтра. |

Исключения

  • \Bitrix\Main\InvalidOperationException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


GrowthStatistics

GrowthStatistics - наследник базового класса DataSource, реализует источник данных "Рост статистики компаний".

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. |


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\Company\GrowthStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


InvoiceSumStatistics

InvoiceSumStatistics - наследник базового класса DataSource, реализует источник данных "Сумма счетов компании".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. |
getDetailsPageUrl | Метод получает детальный URL страницы. |
getList | Метод подготавливает список элементов в соответствии с входящими параметрами. |
getPresets | Метод подготавливает набор пресетов. |
getTypeName | Метод получает наименование типа. |
prepareEntityListFilter | Метод подготавливает фильтр для списка сущностей. |


getDataContext

string public
\Bitrix\Crm\Widget\Data\Company\InvoiceSumStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDetailsPageUrl

string public
\Bitrix\Crm\Widget\Data\Company\InvoiceSumStatistics::getDetailsPageUrl(
 array $params
);

Метод получает детальный URL страницы. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Параметры. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getList

array public
\Bitrix\Crm\Widget\Data\Company\InvoiceSumStatistics::getList(
 array $params
);

Метод подготавливает список элементов в соответствии с входящими параметрами. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Параметры. |

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\InvalidOperationException
  • \Bitrix\Main\ObjectNotFoundException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPresets

array public static
\Bitrix\Crm\Widget\Data\Company\InvoiceSumStatistics::getPresets(
);

Метод подготавливает набор пресетов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTypeName

string public
\Bitrix\Crm\Widget\Data\Company\InvoiceSumStatistics::getTypeName(
);

Метод получает наименование типа. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareEntityListFilter

array public
\Bitrix\Crm\Widget\Data\Company\InvoiceSumStatistics::prepareEntityListFilter(
 array $filterParams
);

Метод подготавливает фильтр для списка сущностей. Метод нестатический.

Параметры

Параметр | Описание | Версия
$filterParams | Фильтр входящих параметров. |

Исключения

  • \Bitrix\Main\InvalidOperationException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Список классов

Contact - подпространство имён, содержит классы для работы с данными для виджетов контактов.

Класс | Описание | С версии
ActivityMarkStatistics | Класс реализует источник данных "Статистика по оценкам дел". |
ActivityStatistics | Класс реализует источник данных "Статистика дел контактов". |
ActivityStatusStatistics | Класс реализует источник данных "Статистика статусов дел". |
ActivityStreamStatistics | Класс реализует источник данных "Статистика потоков дел". |
ActivitySumStatistics | Класс реализует источник данных "Сумма дел контактов". |
DataSource | Базовый класс для источников данных. |
DealConversionRate | Класс реализует источник данных "Рейтинг сконвретированных сделок". |
DealSumStatistics | Класс реализует источник данных "Сумма сделок контактов". |
GrowthStatistics | Класс реализует источник данных "Рост статистики контактов". |
InvoiceSumStatistics | Класс реализует источник данных "Сумма счетов контактов". |


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\Contact\ActivityMarkStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ActivityStatistics

ActivityStatistics - наследник базового класса DataSource, реализует источник данных "Статистика дел контактов".

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. |


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\Contact\ActivityStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ActivityStatusStatistics

ActivityStatusStatistics - наследник базового класса DataSource, реализует источник данных "Статистика статусов дел" (для открытых линий (ОЛ) - отвеченные, неотвеченные.

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. |


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\Contact\ActivityStatusStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\Contact\ActivityStreamStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ActivitySumStatistics

ActivitySumStatistics - наследник базового класса DataSource, реализует источник данных "Сумма дел контактов".

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. |


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\Contact\ActivitySumStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


extractDetailsPageUrlParams

array public static
\Bitrix\Crm\Widget\Data\Contact\DataSource::extractDetailsPageUrlParams(
 array $request
);

Метод извлекает детальные параметры URL страницы из запроса. Метод статический.

Параметры

Параметр | Описание | Версия
$request | Источник параметров запроса. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDetailsPageUrl

string public
\Bitrix\Crm\Widget\Data\Contact\DataSource::getDetailsPageUrl(
 array $params
);

Метод получает детальный URL страницы. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Параметры. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


internalizeFilter

\Bitrix\Crm\Widget\Filter protected static
\Bitrix\Crm\Widget\Data\Contact\DataSource::internalizeFilter(
 array $params
);

Internalize filter (prepare Filter object for internal usage).

Параметры

Параметр | Описание | Версия
$params | Source filter params. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


preparePermissionSql

string|boolean protected
\Bitrix\Crm\Widget\Data\Contact\DataSource::preparePermissionSql(
);

Prepare permission SQL.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\Contact\DealConversionRate::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DealSumStatistics

DealSumStatistics - наследник базового класса DataSource, реализует источник данных "Сумма сделок контакта".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. |
getDetailsPageUrl | Метод получает детальный URL страницы. |
getList | Метод подготавливает список элементов в соответствии с входящими параметрами. |
getPresets | Метод подготавливает набор пресетов. |
getTypeName | Метод получает наименование типа. |
prepareEntityListFilter | Метод подготавливает фильтр для списка сущностей. |


getDataContext

string public
\Bitrix\Crm\Widget\Data\Contact\DealSumStatistics::getDataContext(
);

Метод получает текущий контекст данных по идентификатору контакта. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDetailsPageUrl

string public
\Bitrix\Crm\Widget\Data\Contact\DealSumStatistics::getDetailsPageUrl(
 array $params
);

Метод получает детальный URL страницы. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Параметры. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getList

array public
\Bitrix\Crm\Widget\Data\Contact\DealSumStatistics::getList(
 array $params
);

Метод подготавливает список элементов в соответствии с входящими параметрами. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Параметры. |

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\InvalidOperationException
  • \Bitrix\Main\ObjectNotFoundException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPresets

array public static
\Bitrix\Crm\Widget\Data\Contact\DealSumStatistics::getPresets(
);

Метод подготавливает набор пресетов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTypeName

string public
\Bitrix\Crm\Widget\Data\Contact\DealSumStatistics::getTypeName(
);

Метод получает наименование типа. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


includeModuleFile

void protected static
\Bitrix\Crm\Widget\Data\Contact\DealSumStatistics::includeModuleFile(
);

Include language file.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareEntityListFilter

array public
\Bitrix\Crm\Widget\Data\Contact\DealSumStatistics::prepareEntityListFilter(
 array $filterParams
);

Метод подготавливает фильтр для списка сущностей. Метод нестатический.

Параметры

Параметр | Описание | Версия
$filterParams | Параметры входящего фильтра. |

Исключения

  • \Bitrix\Main\InvalidOperationException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


GrowthStatistics

GrowthStatistics - наследник базового класса DataSource, реализует источник данных "Рост статистики контактов".

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. |


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\Contact\GrowthStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


InvoiceSumStatistics

InvoiceSumStatistics - наследник базового класса DataSource, реализует источник данных "Сумма счетов контакта".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. |
getDetailsPageUrl | Метод получает детальный URL страницы. |
getList | Метод подготавливает список элементов в соответствии с входящими параметрами. |
getPresets | Метод подготавливает набор пресетов. |
getTypeName | Метод получает наименование типа. |
prepareEntityListFilter | Метод подготавливает фильтр для списка сущностей. |


getDataContext

string public
\Bitrix\Crm\Widget\Data\Contact\InvoiceSumStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDetailsPageUrl

string public
\Bitrix\Crm\Widget\Data\Contact\InvoiceSumStatistics::getDetailsPageUrl(
 array $params
);

Метод получает детальный URL страницы. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Параметры. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getList

array public
\Bitrix\Crm\Widget\Data\Contact\InvoiceSumStatistics::getList(
 array $params
);

Метод подготавливает список элементов в соответствии с входящими параметрами. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Параметры. |

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\InvalidOperationException
  • \Bitrix\Main\ObjectNotFoundException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPresets

array public static
\Bitrix\Crm\Widget\Data\Contact\InvoiceSumStatistics::getPresets(
);

Метод подготавливает набор пресетов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTypeName

string public
\Bitrix\Crm\Widget\Data\Contact\InvoiceSumStatistics::getTypeName(
);

Метод получает наименование типа. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


includeModuleFile

void protected static
\Bitrix\Crm\Widget\Data\Contact\InvoiceSumStatistics::includeModuleFile(
);

Include language file.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareEntityListFilter

array public
\Bitrix\Crm\Widget\Data\Contact\InvoiceSumStatistics::prepareEntityListFilter(
 array $filterParams
);

Метод подготавливает фильтр для списка сущностей. Метод нестатический.

Параметры

Параметр | Описание | Версия
$filterParams | Фильтр входящих параметров. |

Исключения

  • \Bitrix\Main\InvalidOperationException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DataSource

DataSource - базовый класс для источников данных.

Методы класса

Метод | Описание | С версии
applyFilterContext | Метод подготавливает внешние параметры фильтра в зависимости от контекста данных. | 16.5.2
enablePermissionCheck | Метод устанавливает флаг проверки прав доступа. | 16.0.5
getDataContext | Метод получает текущий контекст данных. | 16.0.5
getFilterContextData | Метод получает контекст фильтрации параметров словаря. | 16.5.2
getDetailsPageUrl | Метод получает URL детальной страницы. | 16.1.0
getFirst | Метод получает первую сущность из списка. | 16.1.0
getFirstValue | Метод получает значение поля первой сущности из списка. | 16.1.0
getList | Метод получает список сущностей. | 16.1.0
getPresetFullName | Метод получает полное имя данных предустановки. | 16.0.5
getPresetName | Метод получает имя данных предустановки. | 16.0.5
getTypeName | Метод получает имя типа источника данных. | 16.1.0
getUserID | Метод получает идентификатор пользователя. | 16.1.0
initializeDemoData | Метод инициализирует демо-данные. | 16.1.0
isPermissionCheckEnabled | Метод проверяет, включена ли проверка разрешения. | 16.1.0
prepareEntityListFilter | Метод подготавливает фильтр для списка сущностей. | 16.1.0
setFilterContextData | Метод устанавливает контекст фильтрации параметров словаря. | 16.5.2


applyFilterContext

void public
\Bitrix\Crm\Widget\Data\DataSource::applyFilterContext(
 \Bitrix\Crm\Widget\Filter $filter
);

Метод подготавливает внешние параметры фильтра в зависимости от контекста данных. Метод нестатический.

Параметры

Параметр | Описание | Версия
$filter |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


enablePermissionCheck

 public
\Bitrix\Crm\Widget\Data\DataSource::enablePermissionCheck(
 boolean $enable
);

Метод устанавливает флаг проверки прав доступа. Метод нестатический.

Параметры

Параметр | Описание | Версия
$enable | Новое значение. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\DataSource::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDetailsPageUrl

string public
\Bitrix\Crm\Widget\Data\DataSource::getDetailsPageUrl(
 array $params
);

Нестатический метод получает URL детальной страницы.

Параметры

Параметр | Описание | Версия
$params | Параметры. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFilterContextData

array public
\Bitrix\Crm\Widget\Data\DataSource::getFilterContextData(
);

Метод получает контекст фильтрации параметров словаря. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFirst

array public
\Bitrix\Crm\Widget\Data\DataSource::getFirst(
 array $params
);

Метод получает первую сущность из списка. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Список параметров. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getFirstValue

array public
\Bitrix\Crm\Widget\Data\DataSource::getFirstValue(
 array $params,
 string $fieldName,
 string $defaultValue = ''
);

Метод получает значение поля первой сущности из списка. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Список параметров. |
$fieldName | Имя поля. |
$defaultValue | Значение поля по умолчанию. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getList

array public
\Bitrix\Crm\Widget\Data\DataSource::getList(
 array $params
);

Нестатический метод получает список сущностей.

Параметры

Параметр | Описание | Версия
$params | Список параметров. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPresetFullName

string public
\Bitrix\Crm\Widget\Data\DataSource::getPresetFullName(
);

Метод получает полное имя данных предустановки (имя источника данных + имя предустановки). Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPresetName

string public
\Bitrix\Crm\Widget\Data\DataSource::getPresetName(
);

Метод получает имя данных предустановки. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTypeName

string public
\Bitrix\Crm\Widget\Data\DataSource::getTypeName(
);

Метод получает имя типа источника данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getUserID

integer public
\Bitrix\Crm\Widget\Data\DataSource::getUserID(
);

Метод получает идентификатор пользователя. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


initializeDemoData

array public
\Bitrix\Crm\Widget\Data\DataSource::initializeDemoData(
 array $data,
 array $params
);

Метод инициализирует демо-данные. Метод нестатический.

Параметры

Параметр | Описание | Версия
$data | Данные. |
$params | Параметры. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isPermissionCheckEnabled

boolean public
\Bitrix\Crm\Widget\Data\DataSource::isPermissionCheckEnabled(
);

Метод проверяет, включена ли проверка разрешения. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareEntityListFilter

array public
\Bitrix\Crm\Widget\Data\DataSource::prepareEntityListFilter(
 array $filterParams
);

Метод подготавливает фильтр для списка сущностей. Метод нестатический.

Параметры

Параметр | Описание | Версия
$filterParams | Параметры фильтра. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setFilterContextData

void public
\Bitrix\Crm\Widget\Data\DataSource::setFilterContextData(
);

Метод устанавливает контекст фильтрации параметров словаря. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DealActivityStatistics

DealActivityStatistics - наследник базового класса DataSource, реализует источник данных "Статистика активных сделок".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. | 16.0.5


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\DealActivityStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DealDataSource

DealDataSource - класс для источников данных для виджетов сделок.

Метод | Описание | С версии
applyFilterContext | Метод подготавливает внешние параметры фильтра в зависимости от контекста данных. | 16.5.2
extractDetailsPageUrlParams | Метод извлекает детальные параметры URL страницы из запроса. |
getDetailsPageUrl | Метод получает детальный URL страницы. |


applyFilterContext

void public
\Bitrix\Crm\Widget\Data\DealDataSource::applyFilterContext(
 \Bitrix\Crm\Widget\Filter $filter
);

Метод подготавливает внешние параметры фильтра в зависимости от контекста данных. Метод нестатический.

Параметры

Параметр | Описание | Версия
$filter |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


extractDetailsPageUrlParams

array public static
\Bitrix\Crm\Widget\Data\DealDataSource::extractDetailsPageUrlParams(
 array $request
);

Метод извлекает детальные параметры URL страницы из запроса. Метод статический.

Параметры

Параметр | Описание | Версия
$request | Источник параметров запроса. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDetailsPageUrl

string public
\Bitrix\Crm\Widget\Data\DealDataSource::getDetailsPageUrl(
 array $params
);

Метод получает детальный URL страницы. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Параметры. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DealIdle

DealIdle - наследник базового класса DataSource, реализует источник данных "Забытые сделки".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. | 16.0.5


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\DealIdle::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DealInvoiceStatistics

DealInvoiceStatistics - наследник базового класса DataSource, реализует источник данных "Счета сделок".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. | 16.0.5


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\DealInvoiceStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DealInWork

DealInWork - наследник базового класса DataSource, реализует источник данных "Сделки в работе".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. | 16.0.5


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\DealInWork::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DealStageHistory

DealStageHistory - наследник базового класса DataSource, реализует источник данных "Изменение стадий сделки".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. | 16.0.5


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\DealStageHistory::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


DealSumStatistics

DealSumStatistics - наследник базового класса DataSource, реализует источник данных "Сумма сделок".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. | 16.0.5
getList | Метод подготавливает список элементов в соответствии с входящими параметрами. | 16.0.7
getPresets | Метод подготавливает набор пресетов. | 16.0.7
getTypeName | Метод получает наименование типа. | 16.0.7
prepareEntityListFilter | Метод подготавливает фильтр для списка сущностей. | 16.0.7


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\DealSumStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getList

array public
\Bitrix\Crm\Widget\Data\DealSumStatistics::getList(
 array $params
);

Метод подготавливает список элементов в соответствии с входящими параметрами. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Параметры. |

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\InvalidOperationException
  • \Bitrix\Main\ObjectNotFoundException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPresets

array public static
\Bitrix\Crm\Widget\Data\DealSumStatistics::getPresets(
);

Метод подготавливает набор пресетов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTypeName

string public
\Bitrix\Crm\Widget\Data\DealSumStatistics::getTypeName(
);

Нестатический метод получает наименование типа.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareEntityListFilter

array public
\Bitrix\Crm\Widget\Data\DealSumStatistics::prepareEntityListFilter(
 array $filterParams
);

Метод подготавливает фильтр для списка сущностей. Метод нестатический.

Параметры

Параметр | Описание | Версия
$filterParams | Входящие параметры фильтра. |

Исключения

  • \Bitrix\Main\InvalidOperationException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ExpressionDataSource

ExpressionDataSource - класс-источник данных для выражений в виджетах..

Метод | Описание | С версии
getList | Метод подготавливает список элементов в соответствии с входными параметрами. |
getTypeName | Метод получает наименование типа. |


getList

array public
\Bitrix\Crm\Widget\Data\ExpressionDataSource::getList(
 array $params
);

Метод подготавливает список элементов в соответствии с входными параметрами. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Параметры. |

Исключения

  • \Bitrix\Main\NotSupportedException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTypeName

string public
\Bitrix\Crm\Widget\Data\ExpressionDataSource::getTypeName(
);

Метод получает наименование типа. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


InvoiceDataSource

InvoiceDataSource - класс для источников данных для виджетов счетов.

Метод | Описание | С версии
extractDetailsPageUrlParams | Метод извлекает детальные параметры URL страницы из запроса. |
getDetailsPageUrl | Метод получает детальный URL страницы. |


extractDetailsPageUrlParams

array public static
\Bitrix\Crm\Widget\Data\InvoiceDataSource::extractDetailsPageUrlParams(
 array $request
);

Метод извлекает детальные параметры URL страницы из запроса. Метод статический.

Параметры

Параметр | Описание | Версия
$request | Источник параметров запроса. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDetailsPageUrl

string public
\Bitrix\Crm\Widget\Data\InvoiceDataSource::getDetailsPageUrl(
 array $params
);

Метод получает детальный URL страницы. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Параметры. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


InvoiceInWork

InvoiceInWork- наследник базового класса DataSource, реализует источник данных "Счета в работе".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. | 16.0.5


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\InvoiceInWork::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


InvoiceOverdue

InvoiceOverdue - наследник базового класса DataSource, реализует источник данных "Просроченные счета".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. | 16.0.5


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\InvoiceOverdue::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


InvoiceStatusHistory

InvoiceStatusHistory - наследник базового класса DataSource, реализует источник данных "История статусов счёта".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. | 16.0.5


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\InvoiceStatusHistory::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


InvoiceSumStatistics

InvoiceSumStatistics - наследник базового класса DataSource, реализует источник данных "Сумма счетов".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. | 16.0.5
getList | Метод подготавливает список элементов в соответствии с входящими параметрами. | 16.0.7
getPresets | Метод подготавливает набор пресетов. | 16.0.7
getTypeName | Метод получает наименование типа. | 16.0.7
prepareEntityListFilter | Метод подготавливает фильтр для списка сущностей. | 16.0.7


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\InvoiceSumStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getList

array public
\Bitrix\Crm\Widget\Data\InvoiceSumStatistics::getList(
 array $params
);

Метод подготавливает список элементов в соответствии с входящими параметрами. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Параметры. |

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\InvalidOperationException
  • \Bitrix\Main\ObjectNotFoundException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getPresets

array public static
\Bitrix\Crm\Widget\Data\InvoiceSumStatistics::getPresets(
);

Метод подготавливает набор пресетов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTypeName

string public
\Bitrix\Crm\Widget\Data\InvoiceSumStatistics::getTypeName(
);

Метод получает наименование типа. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


prepareEntityListFilter

array public
\Bitrix\Crm\Widget\Data\InvoiceSumStatistics::prepareEntityListFilter(
 array $filterParams
);

Метод подготавливает фильтр для списка сущностей. Метод нестатический.

Параметры

Параметр | Описание | Версия
$filterParams | Входящие параметры фильтра. |

Исключения

  • \Bitrix\Main\InvalidOperationException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LeadActivityStatistics

LeadActivityStatistics - наследник базового класса DataSource, реализует источник данных "Статистика активных лидов".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. | 16.0.5


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\LeadActivityStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LeadConversionRate

LeadConversionRate - наследник базового класса DataSource, реализует источник данных "Сконвертированные лиды", представляет данные о конверсии и потерях.

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. | 16.0.5


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\LeadConversionRate::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LeadConversionStatistics

LeadConversionStatistics - наследник базового класса DataSource, реализует источник данных "Статистика конвертирования лидов".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. | 16.0.5


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\LeadConversionStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LeadDataSource

LeadDataSource - класс для источников данных для виджетов лидов.

Метод | Описание | С версии
extractDetailsPageUrlParams | Метод извлекает детальные параметры URL страницы из запроса. |
getDetailsPageUrl | Метод получает детальный URL страницы. |


extractDetailsPageUrlParams

array public static
\Bitrix\Crm\Widget\Data\LeadDataSource::extractDetailsPageUrlParams(
 array $request
);

Метод извлекает детальные параметры URL страницы из запроса. Метод статический.

Параметры

Параметр | Описание | Версия
$request | Источник параметров запроса. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getDetailsPageUrl

string public
\Bitrix\Crm\Widget\Data\LeadDataSource::getDetailsPageUrl(
 array $params
);

Метод получает детальный URL страницы. Метод нестатический.

Параметры

Параметр | Описание | Версия
$params | Параметры. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LeadIdle

LeadIdle - наследник базового класса DataSource, реализует источник данных "Забытые лиды".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. | 16.0.5


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\LeadIdle::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LeadInWork

LeadInWork - наследник базового класса DataSource, реализует источник данных "Лиды в работе".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. | 16.0.5


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\LeadInWork::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LeadJunk

LeadJunk - наследник базового класса DataSource, реализует источник данных "Забракованные лиды".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. | 16.0.5


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\LeadJunk::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LeadNew

LeadNew - наследник базового класса DataSource, реализует источник данных "Новые лиды".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. | 16.0.5


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\LeadNew::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LeadStatusHistory

LeadStatusHistory - наследник базового класса DataSource, реализует источник данных "Изменение стадий обработки лида".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. | 16.0.5


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\LeadStatusHistory::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


LeadSumStatistics

LeadSumStatistics - наследник базового класса DataSource, реализует источник данных "Сумма лидов".

Методы класса

Метод | Описание | С версии
getDataContext | Метод получает текущий контекст данных. | 16.0.5


getDataContext

\Bitrix\Crm\Widget\Data\DataContext public
\Bitrix\Crm\Widget\Data\LeadSumStatistics::getDataContext(
);

Метод получает текущий контекст данных. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Filter

Filter - класс для фильтрации данных для виджетов

Методы класса

Метод | Описание | С версии
getExtraParam | Метод получает значение дополнительного параметра. | 16.5.2
getExtras | Метод получает дополнительные параметры. | 16.5.2
merge | Метод осуществляет слияние параметров двух фильтров. | 16.5.0
removeExtraParam | Метод удаляет внешний параметр. | 16.5.2
sanitizeParams | Метод санирует массив параметров. | 16.5.5
setExtraParam | Метод устанавливает значение внешнего параметра. | 16.5.2
setExtras | Метод настраивает внешние параметры. | 16.5.2


getExtraParam

mixed public
\Bitrix\Crm\Widget\Filter::getExtraParam(
 string $name,
 mixed $defaultValue
);

Метод получает значение дополнительного параметра. Метод нестатический.

Параметры

Параметр | Описание | Версия
$name | Наименование параметра. |
$defaultValue | Значение по умолчанию. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getExtras

array public
\Bitrix\Crm\Widget\Filter::getExtras(
);

Метод получает дополнительные параметры. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


merge

void public static
\Bitrix\Crm\Widget\Filter::merge(
 \Bitrix\Crm\Widget\Filter $seed,
 \Bitrix\Crm\Widget\Filter $target
);

Метод осуществляет слияние параметров двух фильтров. Метод статический.

Если параметр отсутствует в фильтре-приемнике он будет скопирован из фильтра-источника.

Параметры

Параметр | Описание | Версия
$seed | Источник (фильтр-источник). |
$target | Приемник (фильтр-приемник). |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


removeExtraParam

void public
\Bitrix\Crm\Widget\Filter::removeExtraParam(
 string $name
);

Метод удаляет внешний параметр. Метод нестатический.

Параметры

Параметр | Описание | Версия
$name | Наименование параметра. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


sanitizeParams

void public static
\Bitrix\Crm\Widget\Filter::sanitizeParams(
 array $params
);

Метод санирует массив параметров (до прогона в конструкторе). Метод статический.

Параметры

Параметр | Описание | Версия
$params | Массив параметров. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setExtraParam

void public
\Bitrix\Crm\Widget\Filter::setExtraParam(
 string $name,
 mixed $value
);

Метод устанавливает значение внешнего параметра. Метод нестатический.

Параметры

Параметр | Описание | Версия
$name | Наименование параметра. |
$value | Значение параметра. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setExtras

void public
\Bitrix\Crm\Widget\Filter::setExtras(
 array $extras
);

Метод настраивает внешние параметры. Метод нестатический.

Параметры

Параметр | Описание | Версия
$extras | Параметры. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Widget

Widget - класс для формирования данных для виджетов.

Метод | Описание | С версии
getFilterContextData | Метод получает контекст фильтрации параметров словаря. |
setFilterContextData | Метод устанавливает контекст фильтрации параметров словаря. |


getFilterContextData

array public
\Bitrix\Crm\Widget\Widget::getFilterContextData(
);

Метод получает контекст фильтрации параметров словаря. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setFilterContextData

void public
\Bitrix\Crm\Widget\Widget::setFilterContextData(
);

Метод устанавливает контекст фильтрации параметров словаря. Метод нестатический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Dav

Dav - пространство имён для классов, работающих по протоколу WebDAV.

Класс, пространство имен | Описание
Application | Класс обеспечивает доступ клиента не по обычному паролю, а по паролю приложения (caldav, carddav, webdav). Является расширением класса \Bitrix\Main\Authentication\Application.
Profile | Пространство имён для классов, обслуживающих генерацию специальных профилей для синхронизации по протоколу DAV.
TokensTable | Класс для работы с таблицами токенов.


Application

Application - класс обеспечивает доступ клиента не по обычному паролю, а по паролю приложения (caldav, carddav, webdav). Является расширением класса \Bitrix\Main\Authentication\Application.

Метод | Описание | С версии
[link=5592839]__construct[/link] | Конструктор класса Application. |
onApplicationsBuildList | Метод возвращает список конфигурации для паролей приложения. |
checkScope | Метод проверяет scope для доступа. |
generateAppPassword | Метод для генерации паролей приложений. |


__construct

 public
\Bitrix\Dav\Application::__construct(
);

Конструктор класса Application.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


checkScope

  public static
\Bitrix\Dav\Application::checkScope(
);

Статический метод проверяет валидность scope для приложения. Возвращает true в случае валидности.

Без параметров


generateAppPassword

array public static
\Bitrix\Dav\Application::generateAppPassword(
   int $userId,
   string $appId
);

Статический метод создаёт пароль приложения в вызове Rest. Возвращает пароль либо false.

Параметры

Параметр | Описание | Версия
$userId | id пользователя, владельца пароля |
$appId | Тип приложения (caldav, carddav, webdav) |


onApplicationsBuildList

array public static
\Bitrix\Dav\Application::onApplicationsBuildList(
);

Статический метод возвращает список конфигурации для паролей приложения. Возвращает сортированный массив с описанием возможных приложений:

array(
           "ID" => id приложения,
            "NAME" => имя приложения,
            "DESCRIPTION" => описание приложения,
            "SORT" => индекс сортировки,
            "OPTIONS" => массив опций,
            "CLASS" => имя класса приложения
         )

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Profile

Profile - пространство имён для классов, обслуживающих генерацию специальных профилей для синхронизации по протоколу DAV.

Класс | Описание | С версии
RequestHandler | Базовый класс объектов, используемых для обработки HTTP-запросов. |
Response | Пространство имен, содержащее методы обработки ответа HTTP. |


RequestHandler

RequestHandler - базовый класс объектов, используемых для обработки HTTP-запросов. Точка входа для запросов генерации описания профилей.

Сущность | Описание
[link=5592911]__construct[/link] | Конструктор класса RequestHandler.


__construct

 public
\Bitrix\Dav\Profile\RequestHandler::__construct(
);

Конструктор класса RequestHandler.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Response

Response - пространство имен, содержащее методы обработки ответа HTTP.

Сущности | Описание
Payload | Пространство имен, содержащее классы для работы с полезной нагрузкой.
Token | Класс для генерации и проверки токенов доступа к описаниям профилей.


Payload

Payload - пространство имен, содержащее классы для работы с полезной нагрузкой.

Сущности | Описание
Base | Базовый класс для формирования описания профиля.
Dictionaries | Пространство имен, содержащее классы для работы с библиотеками.


Base

Base - базовый класс для формирования описания профиля.

Сущность | Описание
[link=5592887]__construct[/link] | Конструктор класса Base.


__construct

 public
\Bitrix\Dav\Profile\Response\Payload\Base::__construct(
 \Bitrix\Main\HttpRequest $request
);

Конструктор класса Base.

Параметры

Параметр | Описание | Версия
$request | Объект запроса. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Dictionaries

Dictionaries - пространство имен, содержащее классы для работы с библиотеками.

Классы | Описание
DecoratorBase | Базовый класс декоратора, формирующий описание профиля.


DecoratorBase

DecoratorBase - базовый класс декоратора, формирующий описание профиля.

Сущность | Описание
[link=5592879]__construct[/link] | Конструктор класса DecoratorBase.


__construct

 public
\Bitrix\Dav\Profile\Response\Payload\Dictionaries\DecoratorBase::__construct(
 array $dictionaries = array(),
 string $accessToken
);

Конструктор класса DecoratorBase.

Параметры

Параметр | Описание | Версия
$dictionaries | Сборник справочников визуализации. |
$accessToken | Выборка токенов для полезной нагрузки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Token

Token - класс для генерация и проверки токенов доступа к описаниям профилей.

Методы | Описание
[link=5592859]__construct[/link] | Конструктор класса Token.
[link=5592863]setUser[/link] | Нестатический метод, устанавливающий пользователя для текущего токена.


__construct

 public
\Bitrix\Dav\Profile\Response\Token::__construct(
);

Конструктор класса Token.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


setUser

void public
\Bitrix\Dav\Profile\Response\Token::setUser(
 \CAllUser|\CUser $user
);

Нестатический метод, устанавливающий пользователя для текущего токена.

Параметры

Параметр | Описание | Версия
$user | Пользователь. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


TokensTable

TokensTable - класс для работы с таблицами токенов.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
[link=5592835]clearDeprecatedTokens[/link] | Метод для удаления всех устаревших токенов. |
[link=5592831]getMap[/link] | Метод возвращает описание карты сущностей. |
[link=5592827]getTableName[/link] | Метод возвращает имя таблицы БД для сущности. |


clearDeprecatedTokens

void public static
\Bitrix\Dav\TokensTable::clearDeprecatedTokens(
);

Статический метод для удаления всех устаревших токенов. Можно использовать в агентах.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMap

array public static
\Bitrix\Dav\TokensTable::getMap(
);

Статический метод, возвращает описание карты сущностей.

См. \Bitrix\Main\Entity\Base::getFields() и \Bitrix\Main\Entity\Base::getField()

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Dav\TokensTable::getTableName(
);

Статический метод, возвращает имя таблицы БД для сущности.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


E-mail Маркетинг

Раздел содержит информацию о классах модуля E-mail Маркетинг, относящихся к ядру D7 и находящихся соответственно в пространстве имен \Bitrix\Sender.

Перед использованием модуля необходимо проверить, установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('sender');

Класс | Описание
ConnectorManager | Класс для работы с коннекторами.
ContactTable | Класс для работы c таблицей контактов получателей рассылки.
GroupTable | Класс для работы с таблицей групп адресов для рассылки.
ListTable | Класс для работы с таблицей списка адресов рассылки.
MailingChainTable | Класс для работы с таблицей выпусков рассылки. Устарел с 18.0.0.
MailingSubscriptionTable | Класс для работы c таблицей подписок на рассылку.
MailingTable | Класс для работы с таблицей рассылок. Устарел с версии 18.0.0.
PostingClickTable | Класс для работы с таблицей переходов из письма.
PostingManager | Класс для работы с выпусками рассылок.
PostingReadTable | Класс для работы с таблицей прочтения писем.
PostingTable | Класс для работы с таблицами рассылок.
PostingUnsubTable | Класс для работы отписок от рассылки.
SenderConnectorUnSubscribers | Класс для работы с коннекторами отписавшихся от рассылки пользователей.
Subscription | Класс для работы c подписками.
TemplateTable | Класс для работы c таблицей шаблонов сообщения рассылки.
TriggerConnector | Класс для работы с коннекторами триггерных рассылок.
TriggerManager | Класс для работы с триггерными рассылками.

Смотрите также

  • Модуль Email-маркетинг
  • Настройки модуля Email-маркетинг


ConnectorManager

ConnectorManager - класс для работы с коннекторами.

Методы класса

Методы | Описание | С версии
getConnector | Возвращает объект коннектора по параметрам. | 15.0.0
getConnectorClassList | Возвращает список коннекторов по параметрам. | 15.0.0
getConnectorList | Возвращает массив объектов коннектора по параметрам. | 15.0.0


getConnector

Отправить отзыв по этому разделу
Пространство имён Bitrix>E-mail маркетинг>ConnectorManager>getConnector (с версии 15.0.0)

ConnectorManager::getConnector

\Bitrix\Sender\Connector|null public static
\Bitrix\Sender\ConnectorManager::getConnector(
 array
);

Метод возвращает объект коннектора по параметрам. Метод статический.

Параметры

Параметр | Описание | Версия
$endpoint | Массив с данными о коннекторе: модуль коннектора - MODULE_ID, код коннектора - CODE. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getConnectorClassList

Отправить отзыв по этому разделу
Пространство имён Bitrix>E-mail маркетинг>ConnectorManager>getConnectorClassList (с версии 15.0.0)

ConnectorManager::getConnectorClassList

array public static
\Bitrix\Sender\ConnectorManager::getConnectorClassList(
 array|null
);

Метод возвращает список коннекторов по параметрам. Метод статический.

Параметры

Параметр Описание Версия
$endpointList Массив со списком коннекторов. Ключи массива:
  • MODULE_ID - модуль коннектора;
  • CLASS_NAME - имя класса коннектора;
  • CODE - код коннектора;
  • NAME - название коннектора;
  • REQUIRE_CONFIGURE - флаг, обозначающий нужна ли настройка коннектора - true|false.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getConnectorList

Отправить отзыв по этому разделу
Пространство имён Bitrix>E-mail маркетинг>ConnectorManager>getConnectorList (с версии 15.0.0)

ConnectorManager::getConnectorList

array public static
\Bitrix\Sender\ConnectorManager::getConnectorList(
 array|null
);

Метод возвращает массив объектов коннектора по параметрам. Метод статический.

Параметры

Параметр Описание Версия
$endpointList Массив объектов коннектора. Ключи массива:
  • MODULE_ID - модуль коннектора;
  • CLASS_NAME - имя класса коннектора.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ContactTable

ContactTable - класс для работы с таблицей контактов получателей рассылки.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Методы | Описание | С версии
[link=5053319]onBeforeAdd[/link] | Является обработчиком по умолчанию события onBeforeAdd. | 16.5.0
[link=5053323]onBeforeUpdate[/link] | Является обработчиком по умолчанию события onBeforeUpdate. | 16.5.0
validateEmail | Возвращает валидатор для поля EMAIL - e-mail получателя рассылки. | 15.0.2


onBeforeAdd

Отправить отзыв по этому разделу
Пространство имён Bitrix>E-mail маркетинг>ContactTable>onBeforeAdd (16.5.0)

ContactTable::onBeforeAdd

\Bitrix\Main\Entity\EventResult public static
\Bitrix\Sender\ContactTable::onBeforeAdd(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onBeforeAdd. Статический метод.

Параметры

Параметр | Описание | Версия
$event | Данные для добавления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onBeforeUpdate

Отправить отзыв по этому разделу
Пространство имён Bitrix>E-mail маркетинг>ContactTable>onBeforeUpdate (16.5.0)

ContactTable::onBeforeUpdate

\Bitrix\Main\Entity\EventResult public static
\Bitrix\Sender\ContactTable::onBeforeUpdate(
 \Bitrix\Main\Entity\Event $event
);

Является обработчиком по умолчанию события onBeforeUpdate. Статический метод.

Параметры

Параметр | Описание | Версия
$event | Данные для изменения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateEmail

Отправить отзыв по этому разделу
Пространство имён Bitrix>E-mail маркетинг>ContactTable>validateEmail (с версии 15.0.2)

ContactTable::validateEmail

array public static
\Bitrix\Sender\ContactTable::validateEmail(
);

Возвращает валидатор для поля EMAIL - e-mail получателя рассылки. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


GroupTable

GroupTable - класс для работы с таблицей групп адресов для рассылки.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Методы | Описание | С версии
validateDescription | Возвращает валидатор для поля DESCRIPTION - описание группы адресов для рассылки. | 15.0.0


validateDescription

array public static
\Bitrix\Sender\GroupTable::validateDescription(
);

Возвращает валидатор для поля DESCRIPTION - описание группы адресов для рассылки. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


ListTable

ListTable - класс для работы с таблицей списка адресов рассылки.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Методы | Описание | С версии
validateCode | Возвращает валидаторы для поля CODE - символьный код списка адресов рассылки. | 15.0.0


validateCode

array public static
\Bitrix\Sender\ListTable::validateCode(
);

Возвращает валидатор для поля CODE - символьный код списка адресов рассылки. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


MailingSubscriptionTable

MailingSubscriptionTable - класс для работы с таблицей подписок на рассылку.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Методы | Описание | С версии
addSubscription | Создает объект подписки на рассылку по параметрам. | 16.0.0
addUnSubscription | Создает объект отписки от рассылки по параметрам. | 16.0.0
getSubscriptionList | Возвращает список подписок на рассылки. | 16.0.0
getUnSubscriptionList | Возвращает список отписок от рассылок. | 16.0.0


addSubscription

\Bitrix\Main\DB\Result public static
\Bitrix\Sender\MailingSubscriptionTable::addSubscription(
 array $parameters = array()
);

Создает объект подписки на рассылку по параметрам. Метод статический.

Параметры

Параметр Описание Версия
$parameters Массив со списком коннекторов. Ключи массива:
  • MAILING_ID - ID рассылки;
  • CONTACT_ID - ID контакта;
  • IS_UNSUB - флаг отписки от рассылки - N|Y.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


addUnSubscription

\Bitrix\Main\DB\Result public static
\Bitrix\Sender\MailingSubscriptionTable::addUnSubscription(
 array $parameters = array()
);

Создает объект отписки от рассылки по параметрам. Метод статический.

Параметры

Параметр Описание Версия
$parameters Массив со списком коннекторов. Ключи массива:
  • MAILING_ID - ID рассылки;
  • CONTACT_ID - ID контакта;
  • IS_UNSUB - флаг отписки от рассылки - N|Y.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getSubscriptionList

Описание

\Bitrix\Main\DB\Result public static
\Bitrix\Sender\MailingSubscriptionTable::getSubscriptionList(
 array $parameters = array()
);

Возвращает список подписок на рассылки. Метод статический.

Параметры

Параметр | Описание | Версия
$parameters | Массив списка подписок. |

Примеры

Выборка подписчика:

$subscriptionDb = \Bitrix\Sender\MailingSubscriptionTable::getSubscriptionList([
  'select' => [
     'ID' => 'CONTACT_ID',
     'EMAIL' => 'CONTACT.CODE',
     'EXISTED_MAILING_ID' => 'MAILING.ID'
  ],
  'filter' => [
     '=CONTACT.TYPE_ID' => Bitrix\Sender\Recipient\Type::EMAIL,
     '=CONTACT.CODE' => strtolower($arResult["arUser"]["EMAIL"]),
     '!MAILING.ID' => null
  ],
]);
while(($subscription = $subscriptionDb->fetch()))
{
  $arUserSender = $subscription;
}

Добавление подписчика:

$arFields["EMAIL"] = "mail@mail.ru";
$arFilter = array("SITE_ID" => 's1');
$mailingList = \Bitrix\Sender\Subscription::getMailingList($arFilter);
$mailingIdList = array();
//добавляем рассылки
foreach($mailingList as $mailing)
    $mailingIdList[] = $mailing['ID'];
\Bitrix\Sender\Subscription::add($arFields["EMAIL"], $mailingIdList, 's1');


getUnSubscriptionList

\Bitrix\Main\DB\Result public static
\Bitrix\Sender\MailingSubscriptionTable::getUnSubscriptionList(
 array $parameters = array()
);

Возвращает список отписок от рассылок. Метод статический.

Параметры

Параметр | Описание | Версия
$parameters | Массив отписок от подписок. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


MailingTable

MailingTable - класс для работы с таблицей рассылок.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Методы | Описание | С версии
validateDescription | Возвращает валидатор для поля DESCRIPTION - описание рассылки. | 15.0.0


validateDescription

array public static
\Bitrix\Sender\MailingTable::validateDescription(
);

Возвращает валидатор для поля DESCRIPTION - описание рассылки. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


PostingClickTable

PostingClickTable - класс для работы с таблицей переходов из письма.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Методы | Описание | С версии
onAfterAdd | Обработчик события \Bitrix\Sender\PostingClick::add. | 16.0.0


onAfterAdd

\Bitrix\Main\Entity\EventResult public static
\Bitrix\Sender\PostingClickTable::onAfterAdd(
 \Bitrix\Main\Entity\Event $event
);

Обработчик события \Bitrix\Sender\PostingClick::add.

Параметры

Параметр | Описание | Версия
$event | Объект \Bitrix\Main\Entity\Event |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


PostingManager

PostingManager - класс для работы с выпусками рассылок.

Методы класса

Методы | Описание | С версии
[link=5053279]click[/link] | Метод отслеживает совершенные клики (переходы). | 16.0.2
[link=5053283]getChainReSend[/link] | Метод получает список рассылок для повторной отправки. | 16.0.2
[link=5053295]lockPosting[/link] | Метод блокирует отправку для предотвращения двойной отправки. | 16.0.2
[link=5053271]onMailEventMailClick[/link] | Обработчик событий click. | 16.0.2
[link=5053267]onMailEventMailRead[/link] | Обработчик события прочтения. | 16.0.2
[link=5053275]read[/link] | Метод фиксирует событие прочтения. | 16.0.2
[link=5053291]send[/link] | Метод отправляет рассылку. | 16.0.2
[link=5053287]sendToAddress[/link] | Метод отправляет письмо сообщением от почтового адреса. | 16.0.2
[link=5053299]unlockPosting[/link] | Метод снимает блокировку с отправки, которая блокировалась для предотвращения двойной отправки. | 16.0.2


click

void public static
\Bitrix\Sender\PostingManager::click(
  $recipientId,
  $url
);

Статический метод, отслеживает совершенные переходы.

Параметры

Параметр | Описание | Версия
$recipientId | Идентификатор получателя. |
$url | URL страницы, на которой было произведено действие (клик). |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getChainReSend

array|null public static
\Bitrix\Sender\PostingManager::getChainReSend(
  $mailingId
);

Статический метод, получает список рассылок для повторной отправки.

Параметры

Параметр | Описание | Версия
$mailingId | Идентификатор рассылки |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


lockPosting

boolean public static
\Bitrix\Sender\PostingManager::lockPosting(
  $id
);

Статический метод, блокирует отправку для предотвращения дублирования.

Параметры

Параметр | Описание | Версия
$id | Идентификатор рассылки. |

Исключения

  • \Bitrix\Main\Db\SqlQueryException
  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onMailEventMailClick

array public static
\Bitrix\Sender\PostingManager::onMailEventMailClick(
 array $data
);

Статический метод, обработчик событий переходов (click).

Параметры

Параметр | Описание | Версия
$data | Данные. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onMailEventMailRead

array public static
\Bitrix\Sender\PostingManager::onMailEventMailRead(
 array $data
);

Статический метод, обработчик события прочтения.

Параметры

Параметр | Описание | Версия
$data | Данные события |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


read

void public static
\Bitrix\Sender\PostingManager::read(
  $recipientId
);

Статический метод, фиксирует событие прочтения.

Параметры

Параметр | Описание | Версия
$recipientId | Идентификатор получателя. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


send

boolean|string public static
\Bitrix\Sender\PostingManager::send(
  $id,
 integer $timeout,
 integer $maxMailCount
);

Статический метод, отправляет рассылку.

Параметры

Параметр | Описание | Версия
$id | Идентификатор рассылки |
$timeout | Перерыв |
$maxMailCount | Максимальное число писем. |

Исключения

  • \Bitrix\Main\ArgumentException
  • \Bitrix\Main\DB\Exception
  • \Bitrix\Main\Db\SqlQueryException
  • \Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


sendToAddress

boolean public static
\Bitrix\Sender\PostingManager::sendToAddress(
  $mailingChainId,
  $address
);

Статический метод, отправляет рассылку как сообщения от определенного почтового адреса.

Параметры

Параметр | Описание | Версия
$mailingChainId | Идентификатор почтовой сети. |
$address | Почтовый адрес. |

Исключения

  • \Bitrix\Main\DB\Exception

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


unlockPosting

boolean public static
\Bitrix\Sender\PostingManager::unlockPosting(
  $id
);

Статический метод, снимает блокировку с отправки, которая была ранее заблокирована для предотвращения дублирования.

Параметры

Параметр | Описание | Версия
$id | Идентификатор рассылки. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


PostingReadTable

PostingReadTable - класс для работы с таблицей прочтения писем.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Методы | Описание | С версии
onAfterAdd | Обработчик события \Bitrix\Sender\PostingRead::add. | 16.0.0


onAfterAdd

\Bitrix\Main\Entity\EventResult public static
\Bitrix\Sender\PostingReadTable::onAfterAdd(
 \Bitrix\Main\Entity\Event $event
);

Обработчик события \Bitrix\Sender\PostingRead::add.

Параметры

Параметр | Описание | Версия
$event | Объект \Bitrix\Main\Entity\Event |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


PostingTable

PostingTable - класс для работы с таблицами выпусков рассылок.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Методы | Описание | С версии
[link=5053307]getSendPercent[/link] | Возвращает статус отправки в процентах путем размещения идентификатора. | 16.0.2


getSendPercent

integer public static
\Bitrix\Sender\PostingTable::getSendPercent(
  $id
);

Статический метод, возвращает статус отправки в процентах путем размещения идентификатора.

Параметры

Параметр | Описание | Версия
$id | Идентификатор выпуска. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


PostingUnsubTable

PostingUnsubTable - класс для работы с таблицей отписок от рассылки.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Методы | Описание | С версии
onAfterAdd | Обработчик события \Bitrix\Sender\PostingRead::add. | 16.0.0


onAfterAdd

\Bitrix\Main\Entity\EventResult public static
\Bitrix\Sender\PostingUnsubTable::onAfterAdd(
 \Bitrix\Main\Entity\Event $event
);

Обработчик события \Bitrix\Sender\PostingUnsub::add.

Параметры

Параметр | Описание | Версия
$event | Объект \Bitrix\Main\Entity\Event |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


SenderConnectorUnSubscribers

SenderConnectorUnSubscribers - класс для работы с коннекторами отписавшихся от рассылки пользователей.

Методы класса

[link=5053351]getCode[/link] | Метод возвращает код
[link=5053355]getData[/link] | Метод возвращает список адресов отписавшихся от рассылки пользователей
[link=5053359]getForm[/link] | Метод возвращает форму
[link=5053347]getName[/link] | Метод возвращает имя отписавшегося пользователя


getCode

string public
\Bitrix\Sender\SenderConnectorUnSubscribers::getCode(
);

Нестатический метод, возвращает php-код.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getData

\Bitrix\Main\DB\Result public
\Bitrix\Sender\SenderConnectorUnSubscribers::getData(
);

Нестатический метод, возвращает список адресов отписавшихся от рассылки пользователей.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getForm

string public
\Bitrix\Sender\SenderConnectorUnSubscribers::getForm(
);

Нестатический метод, возвращает образец формы.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getName

string public
\Bitrix\Sender\SenderConnectorUnSubscribers::getName(
);

Нестатический метод, возвращает имя отписавшегося от рассылки пользователя.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Subscription

Subscription - класс для работы с подписками.

Методы класса

Методы | Описание | С версии
add | Создает подписку в соответствии с e-mail подписчика и возвращает массив со списком подписок. | 15.0.2
getLinkSub | Возвращает ссылку на страницу подтверждения подписки на рассылку пользователем. | 15.0.2
getLinkUnsub | Возвращает ссылку на страницу для отписки от подписки пользователем. | 15.0.0
getList | Возвращает список всех подписок на рассылки для подписчика. | 15.0.0
getMailingList | Возвращает список рассылок, доступных для подписки. | 15.0.2
isUnsubscibed | Возвращает true, если e-mail адрес был отписан от рассылки. | 15.5.1
onMailEventSubscriptionDisable | Обработчик события \Bitrix\Sender\Subscription::Disable. | 15.0.0
onMailEventSubscriptionEnable | Обработчик события \Bitrix\Sender\Subscription::Enable. | 15.0.0
onMailEventSubscriptionList | Обработчик события \Bitrix\Sender\Subscription::List. | 15.0.0
sendEventConfirm | Отправляет письмо на e-mail с ссылкой подтверждения подписки на рассылку. | 15.0.2
subscribe | Подписывает email на рассылку. | 15.0.0
unsubscribe | Отписывает e-mail от рассылки. | 15.0.0


add

integer|null public static
\Bitrix\Sender\Subscription::add(
 string $email,
 array $mailingIdList
);

Создает подписку в соответствии с e-mail подписчика и возвращает массив со списком подписок. Метод статический.

Параметры

Параметр | Описание | Версия
$email | Email подписчика
$mailingIdList Массив со списком подписок. Ключи массива:
  • MAILING_ID - ID подписки;
  • CONTACT_ID - ID подписчика.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLinkSub

string public static
\Bitrix\Sender\Subscription::getLinkSub(
 array $fields
);

Возвращает ссылку на страницу подтверждения подписки на рассылку пользователем. Метод статический.

Параметры

Параметр | Описание | Версия
$fields | Массив с данными ссылки на страницу подписки на рассылку. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getLinkUnsub

string public static
\Bitrix\Sender\Subscription::getLinkUnsub(
 array $fields
);

Возвращает ссылку на страницу для отписки от подписки пользователем. Метод статический.

Параметры

Параметр | Описание | Версия
$fields | Массив с данными ссылки на отписку от рассылки. | 15.0.2

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getList

array public static
\Bitrix\Sender\Subscription::getList(
  $data
);

Возвращает список всех подписок на рассылки для подписчика. Метод статический.

Параметры

Параметр | Описание | Версия
$data | Данные списка всех подписок на рассылки для подписчика. | 15.5.1

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getMailingList

array public static
\Bitrix\Sender\Subscription::getMailingList(
 array $params
);

Возвращает список рассылок, доступных для подписки. Метод статический.

Параметры

Параметр | Описание | Версия
$params | Массив с данными. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isUnsubscibed

boolean public static
\Bitrix\Sender\Subscription::isUnsubscibed(
 integer $mailingId,
 string $email
);

Возвращает true, если e-mail адрес был отписан от рассылки. Метод статический.

Параметры

Параметр | Описание | Версия
$mailingId | ID рассылки |
$email | E-mail подписчика |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onMailEventSubscriptionDisable

\Bitrix\Main\EventResult public static
\Bitrix\Sender\Subscription::onMailEventSubscriptionDisable(
  $data
);

Обработчик события \Bitrix\Sender\Subscription::Disable. Метод статический.

Параметры

Параметр | Описание | Версия
$data | Данные события | 15.5.1

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onMailEventSubscriptionEnable

\Bitrix\Main\EventResult public static
\Bitrix\Sender\Subscription::onMailEventSubscriptionEnable(
  $data
);

Обработчик события \Bitrix\Sender\Subscription::Enable. Метод статический.

Параметры

Параметр | Описание | Версия
$data | Данные события. | 15.5.1

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onMailEventSubscriptionList

mixed public static
\Bitrix\Sender\Subscription::onMailEventSubscriptionList(
  $data
);

Обработчик события \Bitrix\Sender\Subscription::List. Метод статический.

Параметры

Параметр | Описание | Версия
$data | Данные события. | 15.5.1

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


sendEventConfirm

void public static
\Bitrix\Sender\Subscription::sendEventConfirm(
 string $email,
 array $mailingList,
 string $siteId
);

Отправляет письмо на e-mail с ссылкой подтверждения подписки на рассылку. Метод статический.

Параметры

Параметр | Описание | Версия
$email | E-mail подписчика. |
$mailingIdList | Массив со списком ID подписок. |
$siteId | ID сайта с рассылкой. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


subscribe

boolean public static
\Bitrix\Sender\Subscription::subscribe(
  $data
);

Подписывает email на рассылку. Метод статический.

Параметры

Параметр | Описание | Версия
$data | Данные подписки. | 15.5.1

Примеры

Подписать пользователя на список рекламных компаний:

$aParams = array(
  'EMAIL' => "",
  'SUBSCRIBE_LIST' => array(/*идентификаторы компаний*/)
);
\Bitrix\Sender\Subscription::subscribe($aParams);


unsubscribe

boolean public static
\Bitrix\Sender\Subscription::unsubscribe(
 array $data
);

Отписывает e-mail от рассылки. Метод статический.
Метод устарел, вместо него рекомендуется использовать \Bitrix\Sender\Entity\Contact::unsubscribe.

Параметры

Параметр | Описание | Версия
$data | Данные подписки. | 15.5.1

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


TemplateTable

TemplateTable - класс для работы с таблицей шаблонов сообщения рассылки.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Методы | Описание | С версии
getMap | Метод возвращает список полей для таблицы шаблонов. | 15.0.0
getTableName | Метод возвращает название таблицы шаблонов рассылок. | 15.0.0
isContentForBlockEditor | Метод возвращает true, если содержимое сообщения шаблона в параметре $content поддерживается блочным редактором. | 16.0.0
onBeforeDelete | Обработчик события onBeforeDelete. | 16.0.0
initEditor | Метод подключения блочного редактора шаблона рассылки. | 15.0.0
onPresetTemplateList | Обработчик события, возвращающий массив списка шаблонов. | 15.0.0

Поля шаблонов сообщения рассылки

Поле | Описание | Тип | Обяз.
ID | Идентификатор шаблона. | Int | Да
ACTIVE | Флаг активности. | Char(1) | Нет
NAME | Название шаблона сообщения. | String | Да
CONTENT | Текст шаблона сообщения. | String | Нет


getMap

array public static
\Bitrix\Sender\TemplateTable::getMap(
);

Метод возвращает список полей для таблицы шаблонов. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Sender\TemplateTable::getTableName(
);

Метод возвращает название таблицы шаблонов рассылок. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


initEditor

string public static
\Bitrix\Sender\TemplateTable::initEditor(
 array $params
);

Метод возвращает html-код для подключения блочного редактора шаблона рассылки. Метод статический.

а возвращает

Параметры

Параметр | Описание | Версия
$params | Параметры блочного редактора. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


isContentForBlockEditor

boolean public static
\Bitrix\Sender\TemplateTable::isContentForBlockEditor(
 string $content
);

Метод возвращает true, если содержимое сообщения в шаблоне в параметре $content поддерживается блоковым редактором. Метод статический.

Параметры

Параметр | Описание | Версия
$content | Текст шаблона сообщения. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onBeforeDelete

\Bitrix\Main\Entity\EventResult public static
\Bitrix\Sender\TemplateTable::onBeforeDelete(
 \Bitrix\Main\Entity\Event $event
);

Обработчик события onBeforeDelete. Метод статический.

Параметры

Параметр | Описание | Версия
$event | Данные для удаления. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


onPresetTemplateList

array public static
\Bitrix\Sender\TemplateTable::onPresetTemplateList(
 string|null $templateType = null,
 string|null $templateId = null
);

Обработчик события, возвращающий массив списка шаблонов. Метод статический.

Параметры

Параметр | Описание | Версия
$templateType | Тип шаблона сообщения рассылки. |
$templateId | Идентификатор шаблона сообщения. |

Исключения

  • \Bitrix\Main\ArgumentException

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


TriggerConnector

TriggerConnector - класс для работы с коннекторами триггерных рассылок.

Методы класса

Методы | Описание | С версии
getConnector | Возвращает массив с данными о коннекторе с ключами: MODULE_ID - модуль коннектора, CODE - код коннектора или объект \Bitrix\Sender\Connector. | 15.5.0


getConnector

array|\Bitrix\Sender\Connector public
\Bitrix\Sender\TriggerConnector::getConnector(
);

Возвращает массив с данными о коннекторе с ключами: MODULE_ID - модуль коннектора, CODE - код коннектора или объект \Bitrix\Sender\Connector.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


TriggerManager

TriggerManager - класс для работы с триггерными рассылками.

Методы класса

Методы | Описание | С версии
getClassList | Возвращает список описаний коннекторов вместе с названием класса. | 15.5.0
getList | Возвращает список коннекторов. | 15.5.0
getOnce | Возвращает экземпляр коннектора. | 15.5.0


getClassList

array public static
\Bitrix\Sender\TriggerManager::getClassList(
 array|null
);

Возвращает список описаний коннекторов вместе с названием класса. Метод статический.

Параметры

Параметр Описание Версия
$endpointList Массив массивов вида array(MODULE_ID => '', CODE => '') c ключами:
  • MODULE_ID - ID модуля.
  • CODE - код коннектора.

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getList

array public static
\Bitrix\Sender\TriggerManager::getList(
 array|null
);

Возвращает список коннекторов. Метод статический.

Параметры

Параметр | Описание | Версия
$endpointList | Массив со списком коннекторов. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOnce

\Bitrix\Sender\Trigger|null public static
\Bitrix\Sender\TriggerManager::getOnce(
 array
);

Возвращает экземпляр коннектора. Метод статический.

Параметры

Параметр | Описание | Версия
$endpoint |  |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Экстранет

Extranet - пространство имён для классов модуля Extranet.

Класс, простраство имён | Описание
Util | Класс вспомогательных методов, служащих различным целям в рамках реализации логики экстранета.


Экстранет в старом ядре

Список событий модуля Экстранет в старом ядре:

Событие | Вызывается | Метод
OnUserInitialize | при инициализации пользователя экстранета | Событие вызывается в компоненте bitrix:system.auth.initialize

Дополнительно

  • Для разработчиков [image].


Util

Util - класс вспомогательных методов, служащих различным целям в рамках реализации логики экстранета.

Метод | Описание | С версии
[link=2610315]checkExternalAuthId [/link] | Возвращает true в случае, если пользователь имеет тип авторизации, который может соответствовать внешнему пользователю (т.е. типы авторизации за исключением email, replica, bot, imconnector). |


checkExternalAuthId

boolean public static
\Bitrix\Extranet\Util::checkExternalAuthId(
 string $authId
);

Статический метод, возвращает true в случае, если пользователь имеет тип авторизации, который может соответствовать внешнему пользователю (т.е. типы авторизации за исключением email, replica, bot, imconnector).

Параметры

Параметр | Описание | Версия
$authId | Тип авторизации |

Примеры

$arResult["User"]["IS_EXTRANET"] = (
    empty($arResult["User"]['UF_DEPARTMENT'][0])
    && \Bitrix\Main\Loader::includeModule('extranet')
    && \Bitrix\Extranet\Util::checkExternalAuthId($arResult["User"]['EXTERNAL_AUTH_ID'])
);


Highload-блоки

\Bitrix\Highloadblock - пространство имен модуля Highload-блоки.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('highloadblock');

Класс | Описание
DataManager | Класс для работы с данными highload-блоков.
HighloadBlockLangTable | Класс для работы с таблицей языкозависимых параметров highload-блоков.
HighloadBlockRightsTable | Класс для работы с таблицей прав к highload-блокам.
HighloadBlockTable | Класс для работы с таблицей highload-блоков.

Важно! Нельзя вызывать highloadblock до обработчика пользовательских свойств.


Highload-блоки в старом ядре

Список классов модуля Highload-блоки в старом ядре:

Класс | Описание
CIBlockPropertyDirectory | Класс для работы со свойствами highload-блоков.


DataManager

DataManager - класс для работы с данными highload-блоков.

Методы класса

Метод | Описание | С версии
getHighloadBlock | Метод возвращает информацию о highload-блоке. | 14.5.0


getHighloadBlock

null public static
\Bitrix\Highloadblock\DataManager::getHighloadBlock(
);

Метод возвращает информацию о highload-блоке. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


HighloadBlockLangTable

HighloadBlockLangTable - класс для работы с таблицей языкозависимых параметров highload-блоков.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы языкозависимых параметров highload-блока. |
getTableName | Метод возвращает название таблицы языкозависимых параметров highload-блоков. |
validateLid | Метод возвращает валидатор для поля LID. |
validateName | Метод возвращает валидатор для поля NAME. |

Помимо работы с классом по правилам D7, получить языкозависимые параметры highload-блока можно следующим образом при выборке:

$res = \Bitrix\Highloadblock\HighloadBlockTable::getList(array(
            'select' => array('*', 'NAME_LANG' => 'LANG.NAME'),
            'order' => array('NAME_LANG' => 'ASC', 'NAME' => 'ASC')
    ));
while ($row = $res->fetch())
{
    if ($row['NAME_LANG'] != '')
    {
        echo $row['NAME_LANG'];//языкозависимое название есть
    }
    else
    {
        echo $row['NAME'];//языкозависимого названия нет
    }
}


getMap

array public static
\Bitrix\Highloadblock\HighloadBlockLangTable::getMap(
);

Метод возвращает список полей для таблицы языкозависимых параметров highload-блока. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getTableName

string public static
\Bitrix\Highloadblock\HighloadBlockLangTable::getTableName(
);

Метод возвращает название таблицы языкозависимых параметров highload-блоков. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateLid

array public static
\Bitrix\Highloadblock\HighloadBlockLangTable::validateLid(
);

Метод возвращает валидатор для поля LID. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateName

array public static
\Bitrix\Highloadblock\HighloadBlockLangTable::validateName(
);

Метод возвращает валидатор для поля NAME. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


HighloadBlockRightsTable

HighloadBlockRightsTable - класс для работы с таблицей прав к highload-блокам.

В связи с архитектурой модуля проверка прав доступа в модуле не реализована на уровне запросов. Но вы можете самостоятельно проверить права на тот или иной highload-блок перед действиями с ним с помощью метода [link=5115353]\Bitrix\HighloadBlock\HighloadBlockRightsTable::getOperationsName[/link].

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
getMap | Метод возвращает список полей для таблицы прав к highload-блокам. |
getOperationsName | Метод выполняет проверку прав доступа к highload-блоку для текущего пользователя. |
getTableName | Метод возвращает название таблицы прав к highload-блокам. |
validateAccessCode | Метод возвращает валидатор для поля ACCESS_CODE. |


getMap

array public static
\Bitrix\Highloadblock\HighloadBlockRightsTable::getMap(
);

Метод возвращает список полей для таблицы прав к highload-блокам. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


getOperationsName

array public static
\Bitrix\Highloadblock\HighloadBlockRightsTable::getOperationsName(
 integer|array $hlId
);

Метод выполняет проверку прав доступа к highload-блоку для текущего пользователя. Метод статический.

Параметры

Параметр | Описание | Версия
$hlId | Идентификатор (или массив идентификаторов) highload-блока. |

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

Если метод возвращает пустой массив, то это значит, что текущий пользователь не имеет никаких прав на указанный highload-блоку (или highload-блоки).

Если возвращаемый массив не пустой, то он может состоять из значений:

  • hblock_denied - доступ запрещен;
  • hblock_read - доступ разрешен на чтение;
  • hblock_write - доступ разрешен на запись.

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

Примеры

$id = 1;
$rights = \Bitrix\HighloadBlock\HighloadBlockRightsTable::getOperationsName($id);
echo 'На highload-блок #'.$id.' присутствуют права: '.PHP_EOL;
if (in_array('hblock_write', $rights))
{
    echo 'на запись'.PHP_EOL;
}
elseif (in_array('hblock_read', $rights))
{
    echo 'на чтение'.PHP_EOL;
}
elseif (empty($rights))
{
    echo 'никаких прав...'.PHP_EOL;
}


getTableName

string public static
\Bitrix\Highloadblock\HighloadBlockRightsTable::getTableName(
);

Метод возвращает название таблицы прав к highload-блокам. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


validateAccessCode

array public static
\Bitrix\Highloadblock\HighloadBlockRightsTable::validateAccessCode(
);

Метод возвращает валидатор для поля ACCESS_CODE. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


HighloadBlockTable

HighloadBlockTable - класс для работы с таблицей highload-блоков.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Метод | Описание | С версии
add | Метод добавляет новый highload-блок. | 12.0.0
delete | Метод удаляет highload-блок с ключом $primary. | 12.0.0
compileEntityId | Метод возвращает ID сущности-владельца полей highload-блока. | 20.0.0
getTableName | Метод возвращает название таблицы highload-блоков в базе данных. | 12.0.0
update | Метод изменяет параметры highload-блока с ключом $primary. | 12.0.0

Поля Highload-блоков

Поле | Описание | Тип | Обяз.
ID | Идентификатор highload-блока. | Int | Да
NAME | Название highload-блока. | String | Да
TABLE_NAME | Название таблицы с элементами highload-блока. | String | Да


add

\Bitrix\Main\Entity\AddResult public static
\Bitrix\Highloadblock\HighloadBlockTable::add(
 array $data
);

Метод добавляет новый highload-блок. Метод статический.

Параметры

Параметр | Описание | Версия
$data | Массив, содержащий значения полей highload-блока. |

Примеры

//создание hl-блока
$result = Bitrix\Highloadblock\HighloadBlockTable::add(array(
    'NAME' => 'MyTbl',//должно начинаться с заглавной буквы и состоять только из латинских букв и цифр
    'TABLE_NAME' => 'myname',//должно состоять только из строчных латинских букв, цифр и знака подчеркивания
));
if (!$result->isSuccess()) {
    $errors = $result->getErrorMessages();
} else {
    $id = $result->getId();
}
...


compileEntityId

string public static
\Bitrix\Highloadblock\HighloadBlockTable::compileEntityId(
    $id
);

Метод возвращает ID сущности-владельца полей highload-блока (string). Статический метод.

Параметры

Параметр | Описание | Версия
$id | Идентификатор highload-блока (Тип: int или string). |

Примеры

//добавление поля в highload-блок
$id = 10; //ID highload-блока

$fields = array(
    'ENTITY_ID' => \Bitrix\Highloadblock\HighloadBlockTable::compileEntityId($id),
    ... // все остальные поля
);


delete

\Bitrix\Main\Entity\DeleteResult public static
\Bitrix\Highloadblock\HighloadBlockTable::delete(
 mixed $primary
);

Метод удаляет highload-блок с ключом $primary. Метод статический.

Параметры

Параметр | Описание | Версия
$primary | Идентификатор highload-блока. |

Примеры

//удаление hl-блока с кодом 11
Bitrix\Highloadblock\HighloadBlockTable::delete(11);


getTableName

string public static
\Bitrix\Highloadblock\HighloadBlockTable::getTableName(
);

Метод возвращает название таблицы highload-блоков в базе данных. Метод статический.

Без параметров

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


update

\Bitrix\Main\Entity\UpdateResult public static
\Bitrix\Highloadblock\HighloadBlockTable::update(
 mixed $primary,
 array $data
);

Метод изменяет параметры highload-блока с ключом $primary.

Параметры

Параметр | Описание | Версия
$primary | Первичный ключ. Идентификатор highload-блока. |
$data | Массив, содержащий значения полей highload-блока. |

Примеры

© «Битрикс», 2001-2008, «1C-Битрикс», 2008-2022 1С-Битрикс: Управление сайтом


Push and Pull

Push and Pull - модуль для обеспечения работы интерактивных приложений.

Перед использованием модуля необходимо проверить установлен ли он, и подключить его при помощи конструкции:

\Bitrix\Main\Loader::includeModule('pull');

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

Класс | Описание | С версии
PushTable | Таблица, содержащая описание мобильных устройств, для дальнейшей отправки по ней push-уведомлений. |

Смотрите также:

  • Push and Pull (учебный курс)
  • Push and Pull (API для старой версии ядра)


Push and Pull в старом ядре

PHP классы

Список классов модуля Push and Pull в старом ядре.

Класс | Описание | С версии
CPullStack | Отправка данных. | 11.5.0
CPullWatch | Отправка данных подписанным пользователям. | 11.5.0
CPullOptions | Проверка, включена ли данная опция в настройках. | 11.5.0
CPushManager | Отправка пуш уведомления. | 11.5.0

JS методы

Список JS методов модуля Push and Pull в старом ядре.

Класс | Описание | С версии
BX.addCustomEvent | "Ловушка" на JS. |
BX.PULL.extendWatch | Продление подписки. | 14.0.0
BX.PULL.subscribe | Подписка на события модуля Push&Pull. | 18.5.0

События

Список событий модуля Push and Pull в старом ядре.

Метод | Описание | С версии
onPullOnlineEvent | Событие для получения данных об онлайне. | 14.1.0


PushTable

Описание и методы

PushTable - таблица, содержащая описание мобильных устройств, для дальнейшей отправки по ней push-уведомлений.

\Bitrix\Main\Loader::includeModule('voximplant');

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager [image] (до версии 18.0.2 модуля Main - класса Bitrix\Main\Entity\DataManager).

Методы класса

Класс | Описание | С версии
getMap | Возвращает список полей с типами. |
getTableName | Возвращает имя таблицы базы данных, соответствующей данной сущности. |
validateAppId | Возвращает валидаторы для поля APP_ID. |
validateDeviceId | Возвращает валидаторы для поля DEVICE_ID. |
validateDeviceName | Возвращает валидаторы для поля DEVICE_NAME. |
validateDeviceToken | Статический метод возвращает валидаторы для поля DEVICE_TOKEN. |
validateDeviceType | Возвращает валидаторы для поля DEVICE_TYPE. |
validateUniqueHash | Возвращает валидаторы для поля UNIQUE_HASH. |

Таблица с описанием мобильных устройств

Поле | Описание | Тип | Обяз.
USER_ID | Идентификатор пользователя. | int | Y
DEVICE_TYPE | Тип устройства. | varchar(50) | N
APP_ID | Идентификатор приложения. | varchar(50) | N
UNIQUE_HASH | Уникальный хэш. | varchar(50) | N
DEVICE_ID | Идентификатор устройства. | varchar(255) | N
DEVICE_NAME | Имя устройства. | varchar(50) | N
DEVICE_TOKEN | Токен устройства. | varchar(255) | Y
DATE_CREATE | Дата создания. | datetime | Y
DATE_AUTH | Дата аутентификации. | datetime | N


getMap

array public static
\Bitrix\Pull\PushTable::getMap(
);

Статический метод возвращает список полей с типами.

Без параметров


getTableName

string public static
\Bitrix\Pull\PushTable::getTableName(
);

Статический метод возвращает имя таблицы базы данных, соответствующей данной сущности.

Без параметров


validateAppId

array public static
\Bitrix\Pull\PushTable::validateAppId(
);

Статический метод возвращает валидаторы для поля APP_ID.

Без параметров


validateDeviceId

array public static
\Bitrix\Pull\PushTable::validateDeviceId(
);

Статический метод возвращает валидаторы для поля DEVICE_ID.

Без параметров


validateDeviceName

array public static
\Bitrix\Pull\PushTable::validateDeviceName(
);

Статический метод возвращает валидаторы для поля DEVICE_NAME.

Без параметров


validateDeviceToken

array public static
\Bitrix\Pull\PushTable::validateDeviceToken(
);

Статический метод возвращает валидаторы для поля DEVICE_TOKEN.

Без параметров


validateDeviceType

array public static
\Bitrix\Pull\PushTable::validateDeviceType(
);

Статический метод возвращает валидаторы для поля DEVICE_TYPE.

Без параметров


validateUniqueHash

array public static
\Bitrix\Pull\PushTable::validateUniqueHash(
);

Статический метод возвращает валидаторы для поля UNIQUE_HASH.

Без параметров