result_modifier.php template.php
PropertyTable, IblockTable, ORM, run-time поле, грид
Получены названия, символьные коды и польз. свойства всех списков и выведены с помощью грида
result_modifier.php template.php changes.php
Названия элементов выведены курсивом. Данные модифицированы через result_modifier.php (можно также подключить свои стили и скрипты) с дальнейшим подключением системного шаблона, который обновляется.
Использован пакет phpoffice/phpspreadsheet, который поставлен через composer.
index.php doctor.php procedure.php add-doctor.php add-procedure.php Events.php events.php migrations
ORM для инфоблоков (списков), получение и добавление данных, разные типы полей списка (файл, привязка к элементам другого списка), IblockTable, PropertyTable, работа с запросом, кнопки из библиотеки интерфейсов битрикса, создание нового пункта в главном меню через js, миграции
Врачи и процедуры, привязанные к врачам. Добавление врачей, процедур. Сделано на списках.
Сниппеты кода для работы с сущностями CRM
Все значения справочника (полная форма)
Все значения справочника (краткая форма)
events.php AbstractEventHandler.php EventHandlerFactory.php CommentEventHandler.php InvoiceEventHandler.php QuoteEventHandler.php AddDealInterface.php
При создании сделки вызывается диспетчер из фабрики, который запускает нужный обработчик в зависимости от типа сделки - для типа Продажа в таймлайне создается комментарий с типом сделки, для типа Комплексная продажа - создается привязанный к сделке счет, для типа Продажа товара - создается привязанное к сделке Коммерческое предложение.
CCrmStatus, CommentEntry, CCrmQuote, создание новых счетов
helloworldactivity.php .description.php
Простое активити, которое делает запись в журнал. Задаются обращение и комментарий.
BaseActivity, PropertiesDialog
Модуль-образец. В админке создается пункт в меню и две(?) страницы с настройками. Есть примеры создания своих таблиц для хранения данных, заполнения их тестовыми данными, подключения обработчиков событий и агентов. Показано, как выполнить установку/удаление модуля в несколько шагов.
Создание своей таблицы для хранения групп. Создание вкладки Группы контактов в разделе CRM. Во вкладке выводится комплексный компонент, который состоит из двух простых компонентов - Список групп и Карточка группы. Список выводится с помощью грида crm.interface.grid. Карточка с помощью компонента crm.interface.form.
Модуль для очистки папки /upload/iblock. Модуль должен удалять файлы, которые не используются в инфоблоках. Код чужой, непроверенный, осторожно. Создание пункта меню в админке и страницы настроек модуля в админке. Создание своих таблиц для хранения данных. Удаление файлов и директорий.
Примеры агентов:
- Простой агент, делающий запись в текстовый лог
- Агент, который делает запись в текстовый лог 7 раз и прекращает выполнение
- Агент, обновляющий курсы валют для модуля Валюты
- Агент, выводящий в текстовый лог элементы списка Клиента, у которых не заполнено поле Ссылка
Создано локальное приложение, которое при установке создает пользовательское поле для контактов Дата последней коммуникации типа Дата-Время.
К событию создания нового дела привязан обработчик, который проверяет является ли дело звонком или отправкой email-сообщения, а также привязано ли оно именно к сущности контакт.
Если да, то поле Дата последней коммуникации у соответствующего контакта обновляется, в него записываются текущие дата-время.
Crest, batch, crm.contact.userfield.add, event.bind, crm.activity.get, crm.contact.update