Материалы
Кейсы, заметки и инструменты
Кейсы, заметки и инструменты собраны на одной странице. Можно искать по названию и содержимому.
Список
Все материалы
- ИнструментКалькулятор миграции Битрикс24 Интерактивная проверка направления миграции: облако, коробка, переносимые разделы, ограничения, риски и предварительный план работ.
- ИнструментГенератор вебхуков Битрикс24 Интерактивный генератор REST-запросов: URL, JSON, cURL, Python, PHP, PHP CRest, B24JsSDK и BX24.js для входящих вебхуков Битрикс24.
- ЗаметкаКак правильно подключать prolog_before.php в CLI-скрипте Как подключать служебный пролог Битрикса в CLI-скрипте: DOCUMENT_ROOT, абсолютный путь, cron и безопасный шаблон запуска.
- ЗаметкаПочему $_SERVER['DOCUMENT_ROOT'] пустой в консоли Почему в консольном PHP нет DOCUMENT_ROOT, чем CLI отличается от веб-запуска и какой шаблон использовать для коробочных скриптов.
- ЗаметкаГде хранить свои PHP-скрипты в коробке Где размещать свои PHP-скрипты в коробочном Битрикс24: local/tools, local/php_interface, модуль и подключаемые файлы.
- ЗаметкаПочему не стоит всё писать в init.php Почему init.php не должен превращаться в склад всей логики: производительность, область применения, события и сопровождение.
- ЗаметкаКак подключить свой JS к карточке сделки в коробке Как подключать свой JavaScript к карточке сделки в коробке: Extension, Asset, события страницы и отличие от placement.
- ЗаметкаКак безопасно менять страницы портала без правки /bitrix Как менять поведение и внешний вид коробочного портала без правки ядра: local, модули, события, компоненты и override.
- ЗаметкаКак искать D7-классы и методы в исходниках коробки Как искать D7-классы и методы в исходниках коробочного Битрикса: grep, namespace, ORM map, service container и IDE.
- ЗаметкаLoader::includeModule / CModule::IncludeModule: что использовать Чем отличаются Loader::includeModule и CModule::IncludeModule, что использовать в новом коде и когда встречается старое API.
- ЗаметкаКак получить фабрику CRM через Container Как получить фабрику CRM через Service\Container: getFactory, entityTypeId, элементы и операции.
- ЗаметкаКак обновлять CRM-элемент через D7 Operation Как обновлять CRM-элемент через D7 Operation: права, checkAccess, save, before/after actions и обработка ошибок.
- ЗаметкаПочему DealTable::getList фильтрует UF-поле под админом, но не под сотрудником Почему фильтр по пользовательскому полю в ORM может вести себя по-разному для администратора и сотрудника: права CRM, UF-поля и runtime.
- ЗаметкаКак вывести SQL запроса ORM для отладки Как вывести SQL запроса ORM в коробке: Query, getQuery, параметры, php_command_line и аккуратная отладка.
- ЗаметкаПочему getCount ломается с пользовательскими свойствами инфоблока Почему подсчёт getCount может ломаться или давать неожиданный результат с пользовательскими свойствами инфоблока: joins, свойства и пагинация.
- ЗаметкаКак поймать событие изменения реквизита CRM Как отследить изменение реквизита CRM в коробке: события, EventManager, старые и новые значения.
- ЗаметкаКак запретить удаление комментария из Timeline Как подойти к запрету удаления комментария из таймлайна CRM: события, CommentEntry, ограничения интерфейса и права.
- ЗаметкаКак добавить файл на Диск и комментарий в таймлайн через D7 Как через D7 загрузить файл на Диск и добавить комментарий в таймлайн CRM: Storage, File, CommentEntry и права.
- ЗаметкаКак создать событие календаря из PHP Как создать событие календаря в коробке через PHP: CCalendar::SaveEvent, attendees, meeting и базовые поля.
- ЗаметкаПочему созданное событие календаря не кликабельное Почему событие календаря, созданное из PHP, может не открываться нормально: поля календаря, владелец, тип и встреча.
- ЗаметкаКак в коробке добавить/убрать модуль Как добавлять и удалять модуль в коробочном Битрикс24: install, uninstall, зависимости и осторожность на боевом портале.
- ЗаметкаКак организовать классы модуля в /local/modules/.../lib Как организовать классы локального модуля в lib: namespace, автозагрузка, ORM Table-классы и сервисы.
- ЗаметкаКак писать агент в модуле Как писать агент в локальном модуле: возвращаемая строка вызова, периодичность, ошибки и доступность класса.
- ЗаметкаКак запускать PHP-код разово через php_command_line.php Как безопасно запускать разовый PHP-код через командную строку Битрикса: контекст, пользователь, модули и логирование.
- ЗаметкаКак запускать скрипт через cron в коробке Как запускать PHP-скрипт через cron в коробочном Bitrix24: CLI PHP, DOCUMENT_ROOT, пользователь bitrix и логи.
- ЗаметкаКак подключить кастомное поле userfieldtype.add Как подключить кастомный тип пользовательского поля через userfieldtype.add: JS, обработчик, сохранение значения и placement.call('setValue').
- ЗаметкаПочему кастомное поле не очищается при передаче пустой строки Почему кастомное поле может не очищаться при передаче пустой строки: hidden input, null, unset и логика пользовательского поля.
- ЗаметкаКак отследить изменение документа/файла в коробке Как отследить изменение файла или документа в коробке: события Диска, версии, агенты и контрольные снимки.
- ЗаметкаКак исправлять дублирующийся PHPSESSID Как разбирать дублирующийся PHPSESSID: домен cookie, path, http/https и почему опасны костыли в init.php.
- ЗаметкаКак разбирать Call to undefined method после обновления PHP/Битрикса Как разбирать ошибку Call to undefined method после обновления PHP или Битрикса: версия API, static/non-static и PHP 8.
- ЗаметкаPHP 8: почему старые статические вызовы стали fatal error Почему после перехода на PHP 8 старые нестатические методы, вызванные статически, могут стать fatal error и как переписывать legacy.
- ЗаметкаКак тестировать после изменения файла ядра/модуля Как проверять портал после изменения файла ядра или модуля: минимальный регресс, обновления и почему лучше не править ядро.
- ЗаметкаКоробочный модуль после обновления: что проверить Чек-лист проверки коробочного модуля после обновления портала: автозагрузка, права, события, кеш, агенты и миграции.
- ЗаметкаКак работать с множественными переменными в БП Как работать с множественными переменными в БП: сотрудники, ID сделок, списки элементов, пустые значения.
- ЗаметкаПочему БП не записывает значение в поле типа Список Почему БП не записывает значение в поле типа Список: нужно передавать ID значения, а не текст.
- ЗаметкаКак сбросить поле Да/Нет в состояние “не заполнено” Как сбросить поле Да/Нет в состояние “не заполнено”: отличие 0, N, пустой строки и null.
- ЗаметкаКак в БП создать задачу и дождаться её завершения Как в БП создать задачу и дождаться её завершения: ожидание, задания БП, статусы задачи, ограничения роботов.
- ЗаметкаЗадание БП и задача: что выбрать для согласования Задание БП и задача: что выбрать для согласования: кнопки, комментарии, мобильное приложение, контроль исполнения.
- ЗаметкаКрайний срок задания БП: где хранится OVERDUE_DATE и можно ли его задать Крайний срок задания БП: где хранится OVERDUE_DATE и можно ли его задать: разбор заданий БП и отчётов по просрочкам.
- ЗаметкаКак получить комментарии прерванного бизнес-процесса Как получить комментарии прерванного бизнес-процесса: где искать комментарии процесса, что удаляется при прерывании.
- ЗаметкаГде в базе хранятся комментарии к БП Где в базе хранятся комментарии к БП: таблицы workflow, ограничения и риск прямого SQL.
- ЗаметкаКак запустить БП по сделкам агентом Как запустить БП по сделкам агентом: агенты, CBPDocument::StartWorkflow, права пользователя.
- ЗаметкаПочему агент запускается вручную, но не запускается автоматически Почему агент запускается вручную, но не запускается автоматически: проверка cron/агентов, флаг периодичности, next exec, ошибки.
- ЗаметкаКак автозапускать БП при создании дела в таймлайне Как автозапускать БП при создании дела в таймлайне: письмо, звонок, комментарий, события CRM Activity.
- ЗаметкаКак запустить БП при входящем письме без смены стадии Как запустить БП при входящем письме без смены стадии: варианты через дела, события, агент и технические поля.
- ЗаметкаКак запустить роботов после создания сделки из кода Как запустить роботов после создания сделки из кода: runOnAdd, runOnUpdate, предыдущие поля, подвисания автоматизации.
- ЗаметкаПочему роботы зависли после обновления модуля Почему роботы зависли после обновления модуля: диагностика очереди, агентов, workflow, логов.
- ЗаметкаКак объединить лиды через бизнес-процесс Как объединить лиды через бизнес-процесс: что реально штатно, что только через REST/D7.
- ЗаметкаКак БП получить связанные элементы смарт-процесса Как БП получить связанные элементы смарт-процесса: поиск по полю привязки, REST, PHP-активити, ограничения действия CRM.
- ЗаметкаКак БП связать два смарт-процесса по совпадению двух полей Как БП связать два смарт-процесса по совпадению двух полей: поиск, сравнение сотрудника, запись связи.
- ЗаметкаКак записать в поле связи со смарт-процессом Как записать в поле связи со смарт-процессом: системная связь, пользовательское поле, почему штатным БП может не получиться.
- ЗаметкаКак в БП создать групповой чат с привязкой к CRM Как в БП создать групповой чат с привязкой к CRM: сделка/лид/смарт, ограничения штатных действий.
- ЗаметкаКак через БП сохранить таймлайн в поле карточки Как через БП сохранить таймлайн в поле карточки: почему полного штатного экспорта таймлайна нет, варианты выборки дел.
- ЗаметкаПочему обработчик ONCRMDEALUPDATE срабатывает несколько раз Почему обработчик ONCRMDEALUPDATE срабатывает несколько раз: роботы/БП как источник повторных событий, защита от дублей.
- ЗаметкаКак не зациклить БП при изменении карточки Как не зациклить БП при изменении карточки: флаги, технические поля, проверка изменённых значений.
- ЗаметкаКак сделать автозапуск БП только при изменении конкретного поля Как сделать автозапуск БП только при изменении конкретного поля: сравнение старого/нового значения, события и технические поля.
- ЗаметкаКак в БП менять поле типа Сайт/Телефон/Email Как в БП менять поле типа Сайт/Телефон/Email: fM-поля, мультиполя, ограничения роботов.
- ЗаметкаПочему PHP-функция в БП даёт Cannot redeclare при массовом запуске Почему PHP-функция в БП даёт Cannot redeclare при массовом запуске: объявление функций внутри активити, function_exists, классы, неймспейсы.
- ЗаметкаКак передать входные параметры ручного запуска БП в код Как передать входные параметры ручного запуска БП в код: где они доступны и как не потерять при запуске.
- ЗаметкаКак сделать несколько сообщений с задержкой из БП Как сделать несколько сообщений с задержкой из БП: ограничения ожиданий, очередь, агенты, внешняя отправка.
- ЗаметкаКак в БП отправить email на адрес из карточки компании Как в БП отправить email на адрес из карточки компании: получение email, множественные значения, шаблон письма.
- ЗаметкаКак в БП сформировать документ по связанным элементам Как в БП сформировать документ по связанным элементам: таблицы в шаблоне, множественные связи, смарт-процессы.
- ЗаметкаКак в БП сделать счёт/КП по данным смарт-процесса Как в БП сделать счёт/КП по данным смарт-процесса: документогенератор, формулы Word, ограничения таблиц.
- ЗаметкаКогда лучше разделять автоматизацию на несколько БП Когда лучше разделять автоматизацию на несколько БП: поддержка, производительность, читаемость, наследие.
- ЗаметкаБП не стартует: базовая диагностика БП не стартует: базовая диагностика: автозапуск, права, агенты, ошибки PHP, очередь, журнал.
- ЗаметкаБП стартует, но не меняет поле БП стартует, но не меняет поле: тип поля, права, формат значения, стадия, обязательность.
- ЗаметкаРоботы не отрабатывают после импорта/кода Роботы не отрабатывают после импорта/кода: запуск автоматизации, пересохранение, runOnAdd, runOnUpdate.
- ЗаметкаКак получить комментарии задачи через REST Как получить комментарии задачи через REST: task.commentitem.getlist, права, тарифные ограничения.
- ЗаметкаПочему task.commentitem.getlist возвращает пусто Почему task.commentitem.getlist возвращает пусто: Права, маркетплейс/демо, scope, доступ к задаче.
- ЗаметкаКак получить историю изменения описания задачи Как получить историю изменения описания задачи: tasks.task.history.list, пустые значения description, ограничения.
- ЗаметкаКак создать задачу с файлами с Диска через PHP Как создать задачу с файлами с Диска через PHP: UF_TASK_WEBDAV_FILES, ID n123, D7/старое API.
- ЗаметкаКак сопоставить ufTaskWebdavFiles и реальные файлы Диска Как сопоставить ufTaskWebdavFiles и реальные файлы Диска: Object ID, file ID, attached object.
- ЗаметкаКак добавить чек-лист в задачу из БП Как добавить чек-лист в задачу из БП: Штатные действия, PHP, REST.
- ЗаметкаКак назначить соисполнителей/наблюдателей в пункт чек-листа Как назначить соисполнителей/наблюдателей в пункт чек-листа: Ограничения чек-листов и API.
- ЗаметкаCTasks::update vs CTaskItem::update: почему не приходят уведомления CTasks::update vs CTaskItem::update: почему не приходят уведомления: Старое API, события, параметры уведомлений.
- ЗаметкаКак изменить текст почтовых уведомлений по задачам Как изменить текст почтовых уведомлений по задачам: Почтовые шаблоны, где искать события.
- ЗаметкаКак выдать доступ к разделу “Руковожу” без роли директора Как выдать доступ к разделу “Руковожу” без роли директора: Права задач, структура, ограничения.
- ЗаметкаКак ставить задачи только руководителям отдела Как ставить задачи только руководителям отдела: Права, структура, бизнес-ограничения.
- ЗаметкаКак отфильтровать сделки без задач Как отфильтровать сделки без задач: CRM Activity, связь задач, фильтры.
- ЗаметкаКак создать задачу из email и сохранить полное тело письма Как создать задачу из email и сохранить полное тело письма: Почтовые правила, сделки как промежуточный слой, ограничения робота.
- ЗаметкаКак использовать быстрые шаблоны задач Как использовать быстрые шаблоны задач: Почему список быстрых шаблонов не обновляется как ожидается.
- ЗаметкаКак настроить права на задачи по отделам Как настроить права на задачи по отделам: Руководители, структура, ограничения штатных прав.
- ЗаметкаКак дать доступ к брошенным корзинам Как дать доступ к брошенным корзинам: Sale basket, права магазина.
- ЗаметкаКак ограничить доступ к товарному каталогу в облаке Как ограничить доступ к товарному каталогу в облаке: Группы товаров, права каталога, невозможные сценарии.
- ЗаметкаКак скрыть поле телефона в CRM-списке Как скрыть поле телефона в CRM-списке: Настройки списка vs права на коммуникации.
- ЗаметкаКак разрешить экстранету комментировать нужное поле/сущность Как разрешить экстранету комментировать нужное поле/сущность: Права, карточка, пользовательское поле, портал.
- ЗаметкаКак сделать свои статусы сотрудника по аналогии с отпуском Как сделать свои статусы сотрудника по аналогии с отпуском: Пользовательские поля, UI-кастомизация, видимость.
- ЗаметкаКак считать стаж по дате приёма на работу Как считать стаж по дате приёма на работу: UF_EMPLOYMENT_DATE, агент/событие, поле пользователя.
- ЗаметкаНовая структура компании: почему руководители и подчинённые видны не так Новая структура компании: почему руководители и подчинённые видны не так: Подразделения, роль руководителя, права.
- ЗаметкаЧто проверить перед увольнением сотрудника Что проверить перед увольнением сотрудника: Ответственные, задачи, группы, вебхуки, ОЛ, документы.
- ЗаметкаПочему входящие письма не создают лиды Почему входящие письма не создают лиды: Настройки почты, правило создания лида, существующие контакты.
- ЗаметкаКак создавать лид на каждое входящее письмо Как создавать лид на каждое входящее письмо: Ограничения штатной настройки, альтернативы.
- ЗаметкаКак получить тело письма из CRM-дела Как получить тело письма из CRM-дела: Activity email, REST/D7, HTML/plain.
- ЗаметкаКак поменять отправителя по умолчанию в коробке Как поменять отправителя по умолчанию в коробке: SMTP, свойства сайта, CRM-почта, пользовательские ящики.
- ЗаметкаПочему письма уходят от noreply@portal, а не от ящика пользователя Почему письма уходят от noreply@portal, а не от ящика пользователя: SMTP, подключение ящика, отправка из CRM.
- ЗаметкаSMTP Яндекс/Mail.ru в коробке: чек-лист настройки SMTP Яндекс/Mail.ru в коробке: чек-лист настройки: Сервер, порт, TLS, пароль приложения, sender.
- ЗаметкаMail\Event::sendImmediate не отправляет письмо Mail\Event::sendImmediate не отправляет письмо: Почтовое событие, шаблон, LID, почтовая очередь.
- ЗаметкаПочему письмо есть в отправленных, но клиент его не получает Почему письмо есть в отправленных, но клиент его не получает: SPF/DKIM/DMARC, антиспам, логи SMTP.
- ЗаметкаОшибка Site default status=error, not allow create email for it Ошибка Site default status=error, not allow create email for it: Системная почта, сайт по умолчанию, настройки модуля.
- ЗаметкаКак принудительно синхронизировать почтовый ящик Как принудительно синхронизировать почтовый ящик: syncMailboxAgent, интервалы, ajax-ручки.
- ЗаметкаПочему список исключений email не блокирует создание лида Почему список исключений email не блокирует создание лида: Как работает исключение, источники лидов, почтовые правила.
- ЗаметкаКак отправить HTML из поля в письмо без экранирования Как отправить HTML из поля в письмо без экранирования: HTML-шаблон, pre-wrap, безопасность.
- ЗаметкаПочему маркетинговые сегменты постоянно формируются и почта из маркетинга не уходит Почему маркетинговые сегменты постоянно формируются и почта из маркетинга не уходит: Агенты, cron, smtp, сегменты.
- Заметкаnavigator.mediaDevices is undefined при звонке в приложении navigator.mediaDevices is undefined при звонке в приложении: HTTPS, браузер, iframe, разрешения.
- ЗаметкаОблачная АТС не звонит из карточки CRM Облачная АТС не звонит из карточки CRM: Сопоставление номеров, SIP, сценарий call-back.
- ЗаметкаКак работает click2call в Битрикс24 Как работает click2call в Битрикс24: Звонок сотруднику, затем клиенту, АТС.
- ЗаметкаМожно ли подключить аппаратную АТС к облаку через SIP Можно ли подключить аппаратную АТС к облаку через SIP: Ограничения, коннектор, провайдеры.
- ЗаметкаКак выбрать разные приложения телефонии по пользователю и времени Как выбрать разные приложения телефонии по пользователю и времени: События, ограничения штатного click2call, маршрутизация.
- ЗаметкаКак запустить исходящий звонок через REST по условию Как запустить исходящий звонок через REST по условию: Инициирование вызова, нагрузка, ограничения.
- ЗаметкаОшибка оплаты: “Не указан номер телефона клиента” Ошибка оплаты: “Не указан номер телефона клиента”: Формат телефона, контакт сделки, оплата/доставка.
- ЗаметкаКак скрыть телефон в списках CRM Как скрыть телефон в списках CRM: Настройки колонок, права на коммуникации, кастомизация.
- ЗаметкаКак создать реализацию складского учёта из товаров сделки Как создать реализацию складского учёта из товаров сделки: Документ складского учёта, привязка к сделке, проведение.
- ЗаметкаПочему созданная реализация не привязывается к сделке Почему созданная реализация не привязывается к сделке: Поля документа, owner, CRM-связь.
- ЗаметкаПочему реализация не проводится и товар не списывается Почему реализация не проводится и товар не списывается: Склад, остатки, резервы, документ.
- ЗаметкаАвтоподстановка склада при интеграции с 1С Автоподстановка склада при интеграции с 1С: Настройки обмена, склад по умолчанию, товар.
- ЗаметкаСинхронизация Б24 и 1С в реальном времени: что реально уходит Синхронизация Б24 и 1С в реальном времени: что реально уходит: События UI vs код/БП, пересохранение.
- ЗаметкаПочему элемент, созданный БП, не попадает в 1С Почему элемент, созданный БП, не попадает в 1С: Событие изменения, realtime, техническое пересохранение.
- ЗаметкаКак безопасно обновлять товарные позиции сделки Как безопасно обновлять товарные позиции сделки: Чтение старых, merge, set, история.
- ЗаметкаКак работать с резервами товаров в сделке Как работать с резервами товаров в сделке: ProductRowReservationTable, срок резерва, склад.
- ЗаметкаКак исправить сделку, где товары есть, но склад считает иначе Как исправить сделку, где товары есть, но склад считает иначе: Пересохранение строки, остатки, резерв.
- ЗаметкаКак создать товар, SKU и цену через REST Как создать товар, SKU и цену через REST: Каталог, iblock, offer, price.
- ЗаметкаПочему закупочная цена оффера не сохраняется Почему закупочная цена оффера не сохраняется: Поля offer/product, права, версии.
- ЗаметкаКак обновить цену и почему priceScale становится 0 Как обновить цену и почему priceScale становится 0: Тип цены, scale price, currency.
- ЗаметкаКак ограничить права на товарный каталог Как ограничить права на товарный каталог: Облако/коробка, каталоги, группы пользователей.
- ЗаметкаКак импортировать товары из Excel в смарт-процесс Как импортировать товары из Excel в смарт-процесс: Сопоставление колонок, enum, файлы, цены.
- ЗаметкаКак искать товарные позиции по товару Как искать товарные позиции по товару: REST ограничения, SQL/D7 в коробке.
- ЗаметкаИнтеграция 1С-Битрикс: ошибка [GD1]/[SD2] Communication error Интеграция 1С-Битрикс: ошибка [GD1]/[SD2] Communication error: Адрес сайта, порт, обмен, доступность.
- ЗаметкаКоннектор 1С: что проверять при проблемах обмена Коннектор 1С: что проверять при проблемах обмена: Модули, настройки, права, логи.
- Заметкаplacement.bind: почему открывается install.php, а не нужная страница placement.bind: почему открывается install.php, а не нужная страница: Handler URL, uninstall/install, размещение.
- ЗаметкаКак зарегистрировать вкладку приложения в карточке сделки Как зарегистрировать вкладку приложения в карточке сделки: Placement, URL, параметры, BX24.installFinish.
- ЗаметкаКак получить ID сделки в приложении без ручного ввода Как получить ID сделки в приложении без ручного ввода: placement.info, options, context.
- ЗаметкаКак открыть карточку CRM в слайдере из приложения Как открыть карточку CRM в слайдере из приложения: BX.SidePanel, BX24.openPath, iframe.
- ЗаметкаКак сделать слайдер на всю высоту Как сделать слайдер на всю высоту: SidePanel options, CSS, iframe.
- ЗаметкаКак добавить кастомный пункт меню в Битрикс24 Как добавить кастомный пункт меню в Битрикс24: Placement/menu, приложение, права.
- ЗаметкаКак встроить приложение в карточку компании/контакта/смарта Как встроить приложение в карточку компании/контакта/смарта: Разные placement и ограничения.
- ЗаметкаПочему приложение не видит данные карточки Почему приложение не видит данные карточки: Контекст, права OAuth, placement.
- ЗаметкаКак отличить локальное статичное приложение от OAuth-приложения Как отличить локальное статичное приложение от OAuth-приложения: Авторизация, scope, установка, обновления.
- ЗаметкаКак хранить OAuth-токены приложения Как хранить OAuth-токены приложения: Refresh token, база, безопасность, переустановка.
- ЗаметкаERROR_OAUTH: Application not installed ERROR_OAUTH: Application not installed: Установка, client id, portal, callbacks.
- ЗаметкаПриложение в закрытом контуре: что не заработает Приложение в закрытом контуре: что не заработает: Маркет, внешние URL, callbacks, сертификаты.
- ЗаметкаПочему маркетплейс требует тарифы у бесплатного приложения Почему маркетплейс требует тарифы у бесплатного приложения: Правила модерации, описание, коммерческие условия.
- ЗаметкаКодировка/base64 при загрузке модуля в маркетплейс Кодировка/base64 при загрузке модуля в маркетплейс: Архив, структура, файлы, проверка.
- ЗаметкаКак упаковать модуль для маркетплейса Как упаковать модуль для маркетплейса: Корень архива, install, version, права.
- ЗаметкаКак не сломать приложение при обновлении портала Как не сломать приложение при обновлении портала: Поддерживаемые API, события, версионирование.
- ЗаметкаОшибка DesktopApi is undefined Ошибка DesktopApi is undefined: Старый интерфейс, десктоп API, компоненты, режим разработки.
- ЗаметкаПочему публичная ссылка CRM-формы даёт 404 Почему публичная ссылка CRM-формы даёт 404: Публикация формы, домен, ЧПУ, права.
- ЗаметкаКак кастомизировать карточку CRM без правки ядра Как кастомизировать карточку CRM без правки ядра: Placement, JS, local extensions.
- ЗаметкаПосле обновления: Class ... not found После обновления: Class ... not found: Кеш, модули, неполное обновление, composer/autoload.
- ЗаметкаПосле обновления CRM-страница даёт 500 После обновления CRM-страница даёт 500: Логи, консоль, права файлов, миграции.
- ЗаметкаСмарт-процессы/лиды/пользователи ломаются после обновления Смарт-процессы/лиды/пользователи ломаются после обновления: Чек-лист модулей и кеша.
- ЗаметкаКак искать причину 500 в коробке Как искать причину 500 в коробке: /bitrix/php_interface/dbconn.php, error_reporting, logs, nginx/php-fpm.
- ЗаметкаБэкап коробки зависает или не восстанавливается Бэкап коробки зависает или не восстанавливается: Место, mysql dump, права, размер, логи.
- ЗаметкаMysql connect error после восстановления Mysql connect error после восстановления: dbconn, повреждённый конфиг, синтаксис, резерв.
- ЗаметкаКак проверить cron и агенты в коробке Как проверить cron и агенты в коробке: Cron mode, агенты на хитах, cron_events.php.
- ЗаметкаЧто делать, если роботы/почта/сегменты не работают, а cron “работает” Что делать, если роботы/почта/сегменты не работают, а cron “работает”: Очереди, агенты, логи.
- ЗаметкаЗакрытый контур: почему приложения не устанавливаются даже с открытыми IP Закрытый контур: почему приложения не устанавливаются даже с открытыми IP: Маркет, callbacks, DNS, TLS, outbound.
- ЗаметкаПеренос облака в коробку: какие проблемы ждать Перенос облака в коробку: какие проблемы ждать: АТС, сотрудники, приложения, данные, лицензия.
- ЗаметкаКак диагностировать fsockopen в коробке Как диагностировать fsockopen в коробке: Сеть, SSL, proxy, права, php.ini.
- ЗаметкаПочему звонки/медиа не работают в приложении Почему звонки/медиа не работают в приложении: HTTPS, браузер, navigator.mediaDevices.
- ЗаметкаКак проверить .access.php, если до компонента код не доходит Как проверить .access.php, если до компонента код не доходит: Права до выполнения страницы, авторизация.
- ЗаметкаКак включить подробные ошибки без раскрытия пользователям Как включить подробные ошибки без раскрытия пользователям: Логи, debug, окружение разработки.
- ЗаметкаЧто делать при очереди ТП на сотни заявок Что делать при очереди ТП на сотни заявок: Самостоятельный сбор диагностики для обращения.
- ЗаметкаПосле обновления коробки: минимальный регресс-тест После обновления коробки: минимальный регресс-тест: CRM, БП, задачи, почта, документы, телефония.
- ЗаметкаСтандартный отчёт не фильтруется по дате Стандартный отчёт не фильтруется по дате: Отчёты CRM, права, кеш, переход в список.
- ЗаметкаBI-конструктор или своё приложение: что выбрать BI-конструктор или своё приложение: что выбрать: Когда штатный BI закрывает задачу, когда нет.
- ЗаметкаКак сделать отчёт по просроченным заданиям БП Как сделать отчёт по просроченным заданиям БП: OVERDUE_DATE, workflow tasks, права.
- ЗаметкаКак сделать отчёт по сделкам без задач Как сделать отчёт по сделкам без задач: CRM Activity, tasks, фильтры.
- ЗаметкаКак строить отчёт по истории изменений CRM-полей Как строить отчёт по истории изменений CRM-полей: Лог изменений, snapshot, BI.
- ЗаметкаКак выгрузить данные CRM в свою витрину Как выгрузить данные CRM в свою витрину: REST polling, D7, batch, инкрементальная синхронизация.
- ЗаметкаКак учитывать рабочее время в отчётах Как учитывать рабочее время в отчётах: Календарь, график, выходные.
- ЗаметкаCoPilot в коробке: что зависит от домена и внешнего доступа CoPilot в коробке: что зависит от домена и внешнего доступа: Кириллический домен, TLS, сеть.
- ЗаметкаAI-скоринг отключается: как проверить зависимости автоматизации AI-скоринг отключается: как проверить зависимости автоматизации: Скоринг, роботы, поля, переходные меры.
- ЗаметкаКак подключать внешний GPT к Битрикс24 Как подключать внешний GPT к Битрикс24: REST/модуль, ключи, безопасность, логирование.
- ЗаметкаКак сделать чат-бота-помощника по CRM Как сделать чат-бота-помощника по CRM: Scope, доступ к данным, ограничения.
- ЗаметкаКак провести аудит вебхуков на портале Как провести аудит вебхуков на портале: Владельцы, scopes, активность, IP, удаление.
- ЗаметкаКак найти владельцев вебхуков после увольнения Как найти владельцев вебхуков после увольнения: Пользователи, приложения, входящие/исходящие.
- ЗаметкаКак ограничить вебхуки по IP и времени Как ограничить вебхуки по IP и времени: Reverse proxy, guard, собственный шлюз.
- ЗаметкаКак логировать все входящие интеграции Как логировать все входящие интеграции: URL, метод, пользователь, payload, результат.
- ЗаметкаБезопасность локального приложения в коробке Безопасность локального приложения в коробке: Проверка авторизации, CSRF, права, пролог.
- ЗаметкаПочему нельзя отключать проверку прав ради чат-бота Почему нельзя отключать проверку прав ради чат-бота: Риски прямого доступа к HL/IBLOCK.
- ЗаметкаКак проверить утечки доступа к файлам Диска Как проверить утечки доступа к файлам Диска: Публичные ссылки, права, внешние пользователи.
- ЗаметкаКак получить ссылку на скачивание из поля типа Файл Как получить ссылку на скачивание из обычного файлового поля: авторизованная ссылка, публичная ссылка, REST и D7.
- ЗаметкаПочему файл скачивается в браузере, но не через file_get_contents Почему ссылка на файл открывается в браузере, но не скачивается серверным PHP-кодом: cookie, авторизация, access token и публичные ссылки.
- ЗаметкаКак прикрепить файл к элементу инфоблока через REST Как передать файл в свойство элемента списка или инфоблока через REST: формат файла, Base64 и особенности lists.element.add.
- ЗаметкаКак загрузить файл на Диск и прикрепить к CRM Как загрузить файл на Диск Битрикс24 и связать его с CRM: uploadfile, объект Диска, прикрепление и таймлайн.
- ЗаметкаКак переименовать папку Диска по ID Как переименовать папку Диска в коробочном Bitrix24 через D7: объект Folder, права и отличие от прямого обновления таблицы.
- ЗаметкаКак получить ID папки или файла Диска Как не перепутать storage ID, object ID, folder ID, disk file ID и внутренний FILE_ID при работе с Диском.
- ЗаметкаПочему недостаточно прав при редактировании сформированного документа из email-слайдера Почему сформированный документ может не редактироваться из email-слайдера: права Диска, владелец файла, CRM-документ и контроллер документов.
- Заметкаdocumentgenerator.template.list возвращает пусто Почему documentgenerator.template.list или crm.documentgenerator.template.list могут вернуть пустой список: права, модуль, провайдеры и шаблоны.
- ЗаметкаКак вывести многострочный текст в генераторе документов Как передавать многострочный текст в шаблон документа: переносы строк, HTML, pre-wrap и ограничения Word-шаблона.
- ЗаметкаКак вывести список связанных элементов в таблицу Word Как подготовить связанные элементы для вывода в таблицу Word-шаблона: множественные поля, строки таблицы и смарт-процессы.
- ЗаметкаКак считать суммы в Word-шаблоне документа Как считать суммы в Word-шаблоне: формулы Word, таблицы, подготовка итогов в коде и ограничения DocumentGenerator.
- ЗаметкаПочему документ по смарту не формирует счёт Почему документ из смарт-процесса не превращается в счёт: поддерживаемая сущность, шаблон, связи и сценарий выставления счёта.
- ЗаметкаКак сформировать PDF из документа CRM Как получить PDF из документа CRM: генератор документов, конвертер, права на файл и сервис онлайн-документов.
- ЗаметкаOnlyOffice/Р7/МойОфис после обновления: что проверить Что смотреть после обновления коробочного портала, если перестали открываться или конвертироваться документы: сервис документов, сеть, лицензия и права.
- ЗаметкаКак редактировать сформированный документ из CRM Почему сформированный CRM-документ не всегда редактируется и как связаны права Диска, владелец файла и доступ к папке.
- ЗаметкаКак хранить документы по сделке в своей структуре папок Как создавать папки под сделки, переименовывать их и выдавать права на документы: Диск, сделки, шаблоны и доступ.
- ЗаметкаКак искать файлы CRM по ID сущности Где искать файлы, связанные с CRM-сущностью: поля, дела, таймлайн, документы генератора и прикреплённые объекты Диска.
- ЗаметкаКак проверить, кто имеет доступ к файлу на Диске Как разбирать доступ к файлу на Диске: права объекта, папка, sharing, внешние ссылки и прикреплённые объекты.
- ЗаметкаКак связать открытую линию и сделку Как связать чат открытой линии со сделкой через CRM-дело: crm.activity.add, provider, session ID и кликабельность записи в таймлайне.
- ЗаметкаПочему чат ОЛ есть в таймлайне, но запись не открывается Почему запись открытой линии появляется в таймлайне CRM, но не открывает диалог: неполная activity, provider data и session ID.
- ЗаметкаКак привязать чат открытой линии к компании Как связать чат открытой линии с компанией через CRM-активность, контакт, компанию и привязки таймлайна.
- ЗаметкаКак написать свой коннектор открытых линий Базовая схема своего коннектора открытых линий: imconnector.register, установка приложения, входящие и исходящие сообщения.
- ЗаметкаКак отлаживать imconnector и imopenlines Как отлаживать интеграции открытых линий и коннекторов: логи, события, REST-вызовы и статусы сообщений.
- ЗаметкаКак отправлять несколько сообщений с задержкой в ОЛ Как отправлять сообщения в открытую линию с задержкой: почему роботы неудобны, когда нужна очередь и агент.
- ЗаметкаКак сгруппировать фотографии при отправке из Битрикс24 в Telegram-бот Почему фотографии из Битрикс24 не всегда уходят альбомом в Telegram и как учитывать ограничения коннектора.
- ЗаметкаКак ITR-боту отправлять сообщения через заданное время Как построить отложенную отправку сообщений ITR-ботом: очередь, агенты и event-driven схема.
- ЗаметкаКак бот может запросить телефон клиента в Telegram и связать с контактом Как запросить телефон клиента в Telegram-боте и связать его с контактом CRM: ограничения штатной интеграции и свой бот или коннектор.
- ЗаметкаКак связать клиента Telegram не по username, а по телефону Как связывать Telegram-клиента с CRM по телефону: подтверждение номера, поиск контакта и защита от дублей.
- ЗаметкаКак сделать чат-бот локальным приложением в коробке Как сделать чат-бота локальным приложением в коробочном Bitrix24: REST, scope, безопасность и пролог.
- ЗаметкаБезопасность чат-бота с доступом к HL-блокам и инфоблокам Как безопасно делать чат-бота с доступом к HL-блокам и инфоблокам: аутентификация, scopes и закрытие прямого доступа.
- ЗаметкаКак получить событие сообщения в обычном чате сотрудников Как получать события сообщений в обычных чатах сотрудников: IM-события, REST-ограничения и отличие от открытых линий.
- ЗаметкаКак создать групповой чат из карточки CRM Как создать групповой чат из карточки CRM через IM API, добавить участников и сохранить связь с CRM.
- ЗаметкаКак удалять приветствие бота после подтверждения клиента Как удалить или обновить приветственное сообщение бота после подтверждения клиента: ITR, таймер и удаление сообщения.
- ЗаметкаКак сделать Telegram-бота для создания задач Как построить Telegram-бота, который создаёт задачи в Bitrix24: команды, поиск пользователя и tasks.task.add.
- ЗаметкаПочему в мобильном приложении задания БП хуже задач Почему задания бизнес-процессов в мобильном приложении часто уступают задачам: комментарии, UX, кнопки и контроль выполнения.
- ЗаметкаКак локальное приложение понимает, в какой сделке оно открыто Как локальное приложение понимает, в какой сделке оно открыто: BX24.placement.info, options.ID и размещения карточки CRM.
- ЗаметкаКак получить текст email, прикреплённого к лиду, через REST Как получить текст email, прикреплённого к лиду, через REST: Activity, коммуникации, тело письма и ограничения доступа.
- ЗаметкаКак получить ID файлов задачи через REST и сопоставить с Диском Как получить ID файлов задачи через REST и сопоставить с Диском: ufTaskWebdavFiles, ID объекта Диска и ID файла.
- ЗаметкаПочему PRODUCT_ID из товарной позиции не находится через crm.product.get Почему PRODUCT_ID из товарной позиции не находится через crm.product.get: CRM-товары, каталог, вариации, product row ID vs product ID.
- ЗаметкаКак добавить товарные позиции в сделку через REST без удаления старых Как добавить товарные позиции в сделку через REST без удаления старых: Предварительное чтение строк, merge и сохранение полного списка.
- ЗаметкаПочему crm.deal.productrows.set перезаписывает все товары Почему crm.deal.productrows.set перезаписывает все товары: Принцип работы метода и безопасная обёртка.
- ЗаметкаПочему после REST-добавления товара сделка не закрывается: «недостаточно товара на складе» Почему после REST-добавления товара сделка не закрывается: «недостаточно товара на складе»: Резервы, складской учёт, пересохранение строки, реализация.
- ЗаметкаКак добавить доставку в товары сделки через REST Как добавить доставку в товары сделки через REST: Товарная позиция доставки, служба доставки, оплата и доставка CRM.
- ЗаметкаКак подписаться на изменение товарных позиций сделки Как подписаться на изменение товарных позиций сделки: Почему ONCRMDEALUPDATE может не срабатывать, обходы.
- ЗаметкаКак в REST-фильтре найти сделки по товару Как в REST-фильтре найти сделки по товару: Почему PRODUCT_ROW_PRODUCT_ID не работает как обычное поле.
- ЗаметкаКак через REST добавить комментарий в таймлайн смарт-процесса Как через REST добавить комментарий в таймлайн смарт-процесса: Timeline comments, owner type/id и права.
- ЗаметкаКак получить удалённый элемент в ONCRMDYNAMICITEMDELETE Как получить удалённый элемент в ONCRMDYNAMICITEMDELETE: Почему после удаления crm.item.get уже не поможет, нужен снимок до удаления.
- ЗаметкаКак через REST найти элемент смарт-процесса по пользовательскому полю Как через REST найти элемент смарт-процесса по пользовательскому полю: crm.item.list, фильтр, entityTypeId и формат UF.
- ЗаметкаКак читать и обновлять пользовательские поля через crm.item.* Как читать и обновлять пользовательские поля через crm.item.*: camelCase vs UF_CRM_*, типы значений.
- ЗаметкаПочему crm.item.update обновляет TITLE, но не UF_CRM_* Почему crm.item.update обновляет TITLE, но не UF_CRM_*: Формат поля, права, обязательные поля, категории.
- ЗаметкаКак создать пользовательское поле CRM с привязкой к КП/Quote Как создать пользовательское поле CRM с привязкой к КП/Quote: USER_TYPE_ID=crm, SETTINGS, доступные сущности.
- ЗаметкаКак через REST работать с полем типа crm / привязка к CRM Как через REST работать с полем типа crm / привязка к CRM: Форматы значений для лидов, сделок, компаний, смартов.
- ЗаметкаКак передать телефон или email в контакт через REST Как передать телефон или email в контакт через REST: Массив PHONE/EMAIL, VALUE, VALUE_TYPE.
- ЗаметкаКак удалить все телефоны/email из контакта Как удалить все телефоны/email из контакта: FM-поля, CCrmFieldMulti, пересохранение, пустые значения.
- ЗаметкаПочему HAS_PHONE/HAS_EMAIL не пересчитываются после импорта Почему HAS_PHONE/HAS_EMAIL не пересчитываются после импорта: Мультиполя, пересохранение, индексы, служебные поля.
- ЗаметкаКак получить дату приёма на работу через user.get Как получить дату приёма на работу через user.get: Фильтр по UF_EMPLOYMENT_DATE, дата/диапазон, timezone.
- ЗаметкаКак понять, уволен пользователь или просто неактивен Как понять, уволен пользователь или просто неактивен: ACTIVE=false, экстранет/интранет, статус увольнения.
- ЗаметкаКак через REST получить данные инфоблока из локального приложения Как через REST получить данные инфоблока из локального приложения: Границы REST Б24 и Bitrix Framework.
- ЗаметкаКак через REST запускать метод с несколькими параметрами в batch Как через REST запускать метод с несколькими параметрами в batch: Экранирование &, вложенные query string, cmd[].
- ЗаметкаПочему команды в batch не видят результат предыдущей команды Почему команды в batch не видят результат предыдущей команды: result[], порядок, лимиты, зависимые запросы.
- ЗаметкаКак подписать приложение на несколько событий REST Как подписать приложение на несколько событий REST: event.bind, batch, handler, проверка установки.
- ЗаметкаИсходящий вебхук из активити БП: GET или POST Исходящий вебхук из активити БП: GET или POST: Как смотреть payload, заголовки, ограничения.
- ЗаметкаКак получить событие сообщения в обычном чате сотрудников Как получить событие сообщения в обычном чате сотрудников: REST-события im, ограничения открытых линий и чатов.
- ЗаметкаКак отличить входящий вебхук, исходящий вебхук и OAuth-приложение Как отличить входящий вебхук, исходящий вебхук и OAuth-приложение: Где что использовать, права и безопасность.
- ЗаметкаПочему вебхук вернул method not found Почему вебхук вернул method not found: Метод, scope, версия портала, облако/коробка.
- ЗаметкаПочему REST-метод есть в документации, но не работает на портале Почему REST-метод есть в документации, но не работает на портале: Тариф, права приложения, модуль, регион, коробка/облако.
- ЗаметкаКак правильно логировать входящие REST-события Как правильно логировать входящие REST-события: Idempotency, повторная доставка, подпись, тело запроса.
- ЗаметкаКак защититься от дублей REST-событий Как защититься от дублей REST-событий: Ключ события, timestamp, сущность+операция, очередь.
- ЗаметкаКак сделать надёжную обработку вебхуков без retry от Битрикса Как сделать надёжную обработку вебхуков без retry от Битрикса: Очередь, polling, сверка, журнал интеграции.
- ЗаметкаКак обновлять цену товара через catalog.price.update Как обновлять цену товара через catalog.price.update: price, priceScale, тип цены, валюта.
- ЗаметкаПочему catalog.product.offer.add не сохраняет закупочную цену Почему catalog.product.offer.add не сохраняет закупочную цену: Поля оффера, каталог, права, версия метода.
- ЗаметкаКак создать товар/вариацию/цену в каталоге через REST Как создать товар/вариацию/цену в каталоге через REST: Product, SKU, iblockId, property, price.
- ЗаметкаКак добавить дело в CRM через REST и связать его с сущностью Как добавить дело в CRM через REST и связать его с сущностью: crm.activity.add, owner type, provider.
- ЗаметкаКак создать пользовательское дело для открытой линии Как создать пользовательское дело для открытой линии: Provider ID/type, кликабельность записи, связь с чатом.
- ЗаметкаПочему запись в таймлайне не кликабельна Почему запись в таймлайне не кликабельна: Недостаточно создать activity, нужны корректные provider-данные.
- ЗаметкаКак получить список полей сущности CRM и их enum-значения Как получить список полей сущности CRM и их enum-значения: crm.*.fields, crm.item.fields, кеширование.
- ЗаметкаКак определить entityTypeId смарт-процесса Как определить entityTypeId смарт-процесса: UI, REST, D7, typeId vs entityTypeId.
- ЗаметкаЧем смарт-процессы отличаются от сделок в коробке Чем смарт-процессы отличаются от сделок в коробке: события, права, роботы, карточка, товары, документы.
- ЗаметкаКак получить элементы смарт-процесса PHP-кодом без REST Как получить элементы смарт-процесса PHP-кодом без REST: factory, Container, getItems, entityTypeId.
- ЗаметкаКак сохранить множественное поле смарт-процесса через фабрику Как сохранить множественное поле смарт-процесса через фабрику: item, operation, тип поля, массив значений.
- ЗаметкаКак получить дату создания элемента смарт-процесса Как получить дату создания элемента смарт-процесса: системные поля, REST и D7.
- ЗаметкаЭлемент смарт-процесса не отображается в списке до пересохранения Элемент смарт-процесса не отображается в списке до пересохранения: индексы, права, категория/стадия, операции создания.
- ЗаметкаСмарт-процессы показывают 404 в коробке Смарт-процессы показывают 404 в коробке: модули CRM, rewrite, права, кеш, обновление.
- ЗаметкаКак запретить редактировать поле Клиент в смарт-процессе Как запретить редактировать поле Клиент в смарт-процессе: права, быстрые редактирования, карточка, кастомизация.
- ЗаметкаКак ограничить доступ к смарт-процессу по ответственному и соисполнителю Как ограничить доступ к смарт-процессу по ответственному и соисполнителю: роли CRM, пользовательские поля, наблюдатели, ограничения штатных прав.
- ЗаметкаКак сделать поле соисполнителя влияющим на права Как сделать поле соисполнителя влияющим на права: почему штатные права знают ответственного, но не любое UF-поле.
- ЗаметкаКак добавить кастомную вкладку в карточку смарт-процесса Как добавить кастомную вкладку в карточку смарт-процесса: placement, локальное приложение, смарт entity type.
- ЗаметкаПочему placement есть в сделке, но не появляется в смарт-процессе Почему placement есть в сделке, но не появляется в смарт-процессе: поддерживаемые размещения и альтернативы.
- ЗаметкаКак открыть элемент смарт-процесса в слайдере Как открыть элемент смарт-процесса в слайдере: uRL карточки, SidePanel, iframe.
- ЗаметкаКак связать смарт-процесс с компанией и вывести все элементы в документ Как связать смарт-процесс с компанией и вывести все элементы в документ: системная связь vs поле привязки, множественные значения.
- ЗаметкаПочему в документ попадает только первый связанный элемент смарта Почему в документ попадает только первый связанный элемент смарта: шаблон, таблица, поле-связь, множественные связи.
- ЗаметкаКак связать элементы двух смарт-процессов Как связать элементы двух смарт-процессов: поля привязки, родительская связь, REST/D7.
- ЗаметкаКак сделать смарт-процесс вместо новой воронки сделки Как сделать смарт-процесс вместо новой воронки сделки: когда стоит, а когда лучше отдельная воронка.
- ЗаметкаКак включить/выключить сортировку пользовательских полей в списке смарта Как включить/выключить сортировку пользовательских полей в списке смарта: коробочная кастомизация, grid, ограничения.
- ЗаметкаКак выводить элементы смарт-процесса с другого портала Как выводить элементы смарт-процесса с другого портала: iframe, REST, OAuth, безопасность, CORS.
- ЗаметкаСинхронизация смарт-процесса с 1С: почему элемент из БП не уходит в 1С Синхронизация смарт-процесса с 1С: почему элемент из БП не уходит в 1С: пересохранение, события, realtime-обмен.
- ЗаметкаКак создать чат или дело с привязкой к смарт-процессу Как создать чат или дело с привязкой к смарт-процессу: cRM Activity, IM, таймлайн.
- ЗаметкаКак переименовать папку Диска по ID из элемента смарт-процесса Как переименовать папку Диска по ID из элемента смарт-процесса: disk Folder, права, D7.
- ЗаметкаКак сделать счёт по нескольким элементам смарт-процесса Как сделать счёт по нескольким элементам смарт-процесса: документогенератор, таблицы, суммы.
- ЗаметкаКак работать с товарами в смарт-процессе Как работать с товарами в смарт-процессе: product rows, owner type, ограничения.
- ЗаметкаКак найти ownerType для crm.item.productrow.list Как найти ownerType для crm.item.productrow.list: dYNAMIC_xxx, entityTypeId, отличия от T91.
- ЗаметкаПоле типа Файл и поле типа Файл Диска: в чём разница Чем отличается обычное файловое поле от поля Файл Диска: ID файла, объект Диска, прикреплённый объект и частые ошибки при получении ссылки.
- ЗаметкаОшибка доступа экстранет-пользователя к /index.php Почему экстранет-пользователь в коробочном Bitrix24 может получить запрет доступа к /index.php и как смотреть группы, .access.php и права сайта.
- ЗаметкаКак перевести экстранет-пользователя в интранет в коробке Как в коробочном Bitrix24 перевести экстранет-пользователя в обычного сотрудника: подразделение, группа «Моя компания: Сотрудники» и старые экстранет-связи.
- ЗаметкаКак понять, пользователь уволен или просто неактивен Как отличать уволенного пользователя от приглашённого, экстранет-пользователя или сотрудника без активности: карточка, REST ACTIVE, группы и структура.
- ЗаметкаПочему пользователя нельзя удалить: «является владельцем блога» Что означает ошибка удаления пользователя, если он является владельцем блога, и как передать блог другому сотруднику.
- ЗаметкаКак передать массив в итератор БП Как подготовить множественную переменную для итератора: преобразовать строку, JSON или результат REST в массив значений.
- ЗаметкаКак прочитать переменную БП в PHP-активити Как читать переменные бизнес-процесса Bitrix24 через GetRootActivity и GetVariable, работать с множественными значениями и пользователями.
- Заметка$this->SetVariable() в PHP-активити: где работает и где нет Как SetVariable работает в PHP-активити бизнес-процесса Bitrix24: переменные процесса, глобальные переменные, поля документа и типы значений.
- ЗаметкаКак отлаживать PHP-код внутри бизнес-процесса Как безопасно отлаживать PHP-активити в бизнес-процессах Bitrix24: журнал БП, print_r, запись в файл, переменные и ограничения на проде.
- ЗаметкаДата в БП: System:Date, System:Now, System:NowLocal — чем отличаются Чем отличаются системные даты в бизнес-процессах Bitrix24 и почему сравнение дат может ломаться из-за времени и часового пояса.
- ЗаметкаКак в БП сделать отрицательную разницу дат Почему datediff не всегда подходит для знаковой разницы дат и как посчитать отрицательный интервал через PHP-активити.
- ЗаметкаКак в БП прибавлять и вычитать дни, часы и минуты Как в бизнес-процессах Bitrix24 менять дату через dateadd и strtotime, форматировать результат и не запутаться в часовом поясе.
- ЗаметкаКак прибавить к дате 1 рабочий день и поставить время 17:00 Как в роботе Bitrix24 получить следующий рабочий день, обработать пятницу и выходные, а затем выставить время 17:00.
- Заметкаdatediff в роботах может вернуть 0 вместо разницы дат Почему datediff в роботах Bitrix24 может возвращать 0 и чем отличаются форматы %d и %a.
- КейсБезопасное массовое редактирование CRM-сущностей Как сделать локальное приложение для массового изменения лидов, сделок, контактов, компаний и смарт-процессов с предпросмотром, журналом и откатом.
- КейсСправочник технических полей Bitrix24 Как локальное приложение показывает поля CRM, смарт-процессов, задач, пользователей, диска и открытых линий.
- КейсЦентр качества CRM-данных Как локальное приложение Bitrix24 проверяет контакты, компании, лиды и сделки на пустые поля, дубли и некорректные значения.
- КейсКарта связей CRM и смарт-процессов Как локальное приложение Bitrix24 показывает связи между лидами, сделками, контактами, компаниями и смарт-процессами.
- КейсРасширение поиска по чатам в Bitrix24 Как доработать поиск чатов, чтобы находить диалоги по тексту сообщений и названиям вложенных файлов.
- КейсДобавление упомянутых сотрудников в наблюдатели задачи Как обработчик сообщения в чате задачи автоматически добавляет упомянутых сотрудников в наблюдатели.
- ЗаметкаКак безопаснее обновлять коробочный Bitrix24 Практический порядок обновления коробочного Bitrix24: бэкап, тестовая копия, проверка ошибок, обновление боя и адаптация кастомных доработок.
- ЗаметкаBX24.js и B24JsSDK: какую библиотеку выбрать для приложения Короткое сравнение классической BX24.js и новой B24JsSDK для приложений и интеграций Bitrix24.
- КейсОграничение входящих REST-хуков по методам Как ограничить входящий хук выбранными REST-методами внутри уже выданных скоупов.
- КейсРасширение отображения длинных названий в Scrum Как доработать Scrum-доску, чтобы длинные названия спринтов и задач были видны полностью без открытия карточек.
- ЗаметкаКод статичного приложения можно посмотреть по URL обработчика Почему в статичных приложениях Bitrix24 нельзя хранить токены, вебхуки и закрытую бизнес-логику.
- ЗаметкаBX24.fitWindow может не уменьшить фрейм Почему BX24.fitWindow в Bitrix24 удобно использовать для увеличения высоты фрейма, но не стоит рассчитывать на надёжное уменьшение.
- ЗаметкаПосле удаления лида у чата открытой линии может остаться CRM-привязка Лид из открытой линии удалён, но связь диалога с CRM остаётся и мешает повторному созданию лида.
- ЗаметкаТему письма в mail() нужно кодировать отдельно Почему русская тема письма через PHP mail() может отображаться некорректно и как закодировать её в UTF-8.
- ЗаметкаПустое значение поля в CRM может быть не null Почему пустые значения CRM-полей в Bitrix24 лучше нормализовать перед проверками.
- ЗаметкаПаузы в бизнес-процессах могут сходить с задержкой Почему паузы в бизнес-процессах и роботах Bitrix24 могут выполняться позже ожидаемого времени.
- ЗаметкаПовторный вызов обработчика CRM зациклился Почему обработчик CRM может повторно вызывать сам себя после обновления сущности и как защититься от зацикливания.
- ЗаметкаНе все места встройки видны в интерфейсе приложения Почему в интерфейсе добавления встройки Bitrix24 может не быть нужного места и как зарегистрировать его через placement.bind.
- ЗаметкаОшибка PHP в бизнес-процессе может скрыть факт запуска Почему при ошибке в действии PHP-код бизнес-процесса может не остаться понятного следа, что нужная часть процесса запускалась.
Ничего не найдено. Попробуй изменить тип материала или поисковый запрос.