Жизнь непредсказуема порой. Файл urlrewrite.php рекомендуют исключать из версионного контроля. Но его можно легко потерять. Например, попытаться установить какой-нибудь «мегамодуль».

Поэтому нужно знать как восстанавливать urlrewrite.php. В административной панели Настройки продукта — Обработка адресов — Правила обработки — Пересоздание.

Похоже, что эта команда проходит по всем компонентам в публичке, у которых установлен параметр SEF_FOLDER, и добавляет соответствующие записи в urlrewrite.php.

Для того, чтобы заработал фильтр в сущностях CRM для нестандартных пользовательских типов необходимо создать соответствующий шаблон для компонента crm.field.filter. Лучше всего его создать в каталоге /local/templates/.default/components/bitrix/crm.field.filter.

К сожалению, разработчики Битрикс24 пока не предусмотрели возможность вывода в фильтре нестандартных сущностей (/bitrix/components/bitrix/main.ui.filter/templates/.default/js/search.js)

Выводится только название пользовательского поля (current.LABEL). Доработаем это, добавив обработчик js-события BX.Filter.Search:beforeSquaresUpdate в шаблоне компонента:

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

Иногда шаблон компонента может отсутствовать. Эта ситуация может возникнуть, когда компонент используется для отрисовки пользовательских типов. Например, компоненты system.field.edit, system.field.view, crm.field.filter. Все возможные пользовательские типы предусмотреть невозможно. Поэтому можно сделать один шаблон по умолчанию (special), который подключать в случае отсутствия нужного.

Подключаем компонент с несуществующим шаблоном ‘unknown’:

А внутри компонента проверяем наличие шаблона, имя которого было передано в параметрах компонента(‘unknown’). Если такой шаблон не найден, то подключаем шаблон ‘special’:

В видео с партнерской конференции есть пункт о том, как добавить новый пункт во всплывающее меню:

Там же Антон предложил способ поиска нужных событий:

Т.е. ВРЕМЕННО добавить в скрипт /bitrix/js/main/core/core.js вывод в консоль названия события и его параметров:

Отследить вызовы в бекэнде можно, если в файле /bitrix/php_interface/init.php ВРЕМЕННО добавить код:

А у себя в блоге Антон описал как добавить вкладку в сущность CRM.

В продолжении темы кастомизации опубликована статья Изменяем пользовательский интерфейс коробочного Битрикс24 и соответствующее видео:

Получение значения пользовательского поля:

Установка значения пользовательского поля:

Ссылки:
Поля к нештатным объектам и новые объекты

1. Закомментировать в файле bitrix/modules/security/classes/general/iprule.php строки (в районе 1238):

2. А потом в административном разделе Проактивная защита / Защита административного раздела = Выключить защиту.
3. Раскомментировать строки из п.1

Если частей архива меньше 10, то можно распаковать сразу командой

А если больше 10, то файлы нужно переименовать, добавив 0:
site.ru_20170905_083901_full_991920ba.tar.gz.1 в site.ru_20170905_083901_full_991920ba.tar.gz.01


Как сделать сортировку при отключенном количественном учете описано здесь.

1. Добавить числовое свойство IS_AVAILABLE в инфоблок товаров.

2. Добавить в init.php

Но по-хорошему еще нужно добавить индекс по добавленному свойству PROPERTY

Отрицательное value — не нравится