Ответы пользователя по тегу Битрикс24
  • Как вставить в поле "крайний срок" (в БП в добавлении задачи) последний рабочий день текущего месяца?

    ReaverJS
    @ReaverJS
    Количество дней в месяце
    =date('t', {=System:Date})
    Текущий месяц и год
    =date('d.y', {=System:Date})
    Последний день месяца (склеенный из предыдущих строк) [lastDay]
    =date('t', {=System:Date}) & '.' & date('d.y', {=System:Date})

    Проверка на рабочее время
    =if( isWorkDay({=Variable:lastDay}),  'Да',  'Нет')

    Если день рабочий - оставляем как есть, если нет - минусуем один рабочий день
    =if(  isWorkDay({=Variable:lastDay}),  {=Variable:lastDay},  addworkdays({=Variable:lastDay}, -1)  )


    Итого:
    Блок 1: Установка переменной lastDay
    {=date('t', {=System:Date}) & '.' & date('d.y', {=System:Date}) }
    
    Блок 2: Установка времени в задаче
    {=if(  isWorkDay({=Variable:lastDay}),  {=Variable:lastDay},  addworkdays({=Variable:lastDay}, -1)  )}


    Можно и без переменной, но тут такая жесть будет
    Ответ написан
  • Возможно ли заполнять тип поля «выпадающий список» в лиде, поступающей из формы на сайте информацией?

    ReaverJS
    @ReaverJS
    Битрикс вставляет форму прямо в ваш dom, так что проблем с манипуляциями нет.
    В коде ниже - автоматически заполняется поле Компания, спустя 1 секунду (когда уже 100% отрендерится форма).
    Можно сделать более красиво, к примеру, через mutation observer.
    И еще - битрикс не дает названия полям, так что придется составлять селектор до элемента руками.
    Ответ написан
    7 комментариев
  • Как кастомизировать интерфейс Битрикс24?

    ReaverJS
    @ReaverJS
    Привет!

    можно ли сделать встраивание только с помощью JS, чтобы обойтись статичным локальным приложением?

    Правильно ли я понял что локальное - имеется в виду хостинга у вас нет?
    В документации Битрикс написано следующее:
    Важно: Следствием вышеуказанных пунктов является то, что механизм встраивания доступен только для серверных приложений!

    Так что... можно!

    1) Закидываем в архив zip наше приложение (или только index.html)
    2) Регистрируем приложение в битрикс (разработчикам > готовые сценарии > локальное приложение)
    Настраиваем права (обязательно, placements)
    3) Теперь ваше приложение можно открыть в битриксе. Заходим в Разработчикам > интеграции, ищем наше приложение и через контекстное меню жмем "Перейти к приложению"
    Нам надо посмотреть куда его закинул Битрикс. Можно через дев тулзы найти iFrame с нашим приложением и скопировать адрес.
    4) Осталось зарегистрировать место встраивания.
    Тут несколько вариантов.

    Вариант 1. Открываем входящие вебхуки, кидаем запрос на bind (можно просто открыть в браузере).
    https://dev.1c-bitrix.ru/rest_help/application_emb...
    {{url вебхука, который вам выдали}}/placement.bind?PLACEMENT=TASK_VIEW_TAB&HANDLER={{адрес из шага 3}}&TITLE={{My awesome APP}}


    Вариант 2. В нашем же приложении с помощью JS-библиотеки Б24 - регаем обработчик методом BX24.callMethod. Там же можно сразу указать HANDLER как текущий url iFrame-а.

    Вариант 3. Берем мои файлы index.html и placements.js, добавляем к ним страницу, которую надо отображать (к примеру my-awesome-page.html). Архивируем это все и на шаге 1 - заливаем этот архив.
    Тогда в приложении будет открываться уже моя страница. На ней 3 кнопки - зарегать плейсмент, удалить плейсмент, вывести в консоль список текущих плейсментов.
    Жмем "добавить" - указываем PLACEMENT (код места встраивания), HANDLER (адрес страницы которую надо встроить - т.е. адрес iFrame-а + /my-awesome-page.html), TITLE.
    Код (html - index.html, js - placements.js) В CODEPEN - не работает! Только при запуске из-под Битрикс24:

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

    5) Готово. Идем проверять.
    Ответ написан
    5 комментариев
  • Как в уведомление вывести ссылку на задание БП?

    ReaverJS
    @ReaverJS
    Параллельно заданию БП - ставите уведомление, где просто в ссылке указываете id задания (доп. результат).
    5e5c0ebed072a949827153.png
    Параметры уведомления:
    [url=xxx.bitrix24.ru/company/personal/bizproc/{=A65499_72685_20284_67323:TaskId}/]{=Document:NAME}[/url]

    Тут {=A65499_72685_20284_67323:TaskId} - как раз id созданного задания (у вас будет свой). {=Document:NAME} - отображаемый заголовок ссылки.
    Ответ написан
    5 комментариев
  • Как сделать автоматический набор номера при заполнении клиента формы CRM битрикс 24?

    ReaverJS
    @ReaverJS
    В настройках формы можно включить режим "Обратный звонок" - тогда у ответственного сразу стартанет звонок.

    Если надо именно через 1.5 минуты - выход только через REST API - метод voximplant.callback.start
    1 вариант через роботов CRM (тарифы CRM+, компания, команда):
    1) Форма падает как лид в 1-ую стадию.
    2) Запускается робот (с условием (CRM форма = my_callback_form)):
    2.1) Ждет 1.5 минуты.
    2.2) Вызывает вебхук с методом voximplant.callback.start

    2 вариант - прицепить исходящий вебхук на свой обработчик. Вебхук стреляет при срабатывании event - onCrmLeadAdd. А обработчик уже считает полторы минуты и уже вызывает метод voximplant.callback.start
    Ответ написан
  • Получить информаию о звонке в деле по REST API?

    ReaverJS
    @ReaverJS
    voximplant.statistic.get
    ID - это ID звонка в /telephony/detail.php. Т.е. отдельная сущность от дела.
    Чтобы получить инфо по звонку - надо фильтровать по CRM_ACTIVITY_ID.
    Ответ написан