• Как переслать сообщение из Gmail в bitrix24?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Во-первых, вы не можете "переслать" сообщение, так как у Bitrix24 нет своего почтового сервера, клиентом которого являлся бы ваш Битрикс24.
    Т.е. вы можете подключить свою gmail почту для почтового клиента в Битрикс24 и оттуда создавать лиды и т.п.

    Во-вторых, механизма пересылки из почты в чат нет впринципе. Вы можете скопировать текст и отправить его себе, но это не задача для битрикс24.
    Ответ написан
    Комментировать
  • Как убрать в Битрикс наследование шаблонов метатегов?

    gromdron
    @gromdron
    Работаю с Bitrix24
    КАК УБРАТЬ В БИТРИКС НАСЛЕДОВАНИЕ ШАБЛОНОВ


    Убрать нельзя.
    Вы можете ЛИБО убрать их вообще (или написать свои) ЛИБО смириться и использовать то что есть.
    Еще вы можете для каждого раздела/элемента переопрелелять вручную.

    метатеги разделу, ставлю галочку "для раздела и подразделов" - ок, сохраняет, но все подразделы с такими же тегами.


    Все правильно. Вы же включаете "для раздела И ПОДРАЗДЕЛОВ", т.е. для всех вложенных структур.
    Ответ написан
    Комментировать
  • Ошибка Cannot find 'widget' template with page. Как решить?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    В вашем случае я вижу 2 варианта:

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

    2) Если НЕ настраивалась многосайтовость, то скорее всего Заказчик просто накатил этот модуль на место главного портала чем положил все.
    К сожалению операция не откаткая и можно лишь попробовать собрать пенетавра для временной работы перед подготовкой нового сервера.
    Ответ написан
    Комментировать
  • Как сделать запрет на смену ответственного в сделке Битрикс24 при помощи бизнес процессов (облако)?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Если да, то какое действие БП отвечает за блокировку изменений поля?


    Нет, блокировать поля нельзя.
    Что можно сделать? Создать через api не редактируемое пользователем поле - Статус.
    Сделать БП который будет менять сразу оба статуса именно он будет отвечать за переходы.
    Сделать БП который при изменении будет проверять соответствие реального статуса со статусом в этом поле и если они отличаются устанавливать реальный статус в статус из поля.

    Где будут сложности:
    1) Роботы и триггеры, там скорее всего придется либо отказаться, либо пересмотреть стратегию.
    2) Сторонние приложения могут работать некорректно
    Ответ написан
    2 комментария
  • Как внедрить парсер в Bitrix?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Написать агента достаточно просто, но без конкретных данных рассматривать вашу ситуацию довольно сложно.
    Я могу порекомендовать общие подходы для более глубокого изучения проблемы.

    1) Дописываем разработанный механизм логгирование.
    Принимая во внимание, что windows-путь и linux-путь это 2 разных способа написания путей, то путь к этому файлу лучше определить относительно $_SERVER['DOCUMENT_ROOT'] и с использованием функции realpath
    Парсер должен логгировать:
    - Время вызова
    - Путь до файла (откуда он собирается читать)
    - Наличие файла (есть ли этот файл вообще)
    - Корректность файла (правильное ли расширение, все ли столбцы есть и т.п.)
    - [все бизнес-моменты, как успех, так и провал, в том числе причину провала]
    - Время завершения вызова (когда работа закончена)

    2) Проверяем ТТХ парсера
    - Есть ли спец. требования (например bitrix ставит mb_string = 2, многие парсеры работают строго при mb_string = 0)
    - Версию php (миноры должны быть строго одинаковы)
    - Наличие php-модулей (а вдруг вы используете XMLReader, который на боевом выключен?)

    3) Если все выше "Ок", то проверяем - работает ли парсер без агентов (т.е. прямым вызовом c подключением ядра битрикса)
    Проверяем, чтобы это был не просто php код, а это был код оформленный по соответствующим агентам правилам. Смотрим чтобы лог-файл корректно отработал и записал нужную информацию!
    Особенно поможет документация: https://dev.1c-bitrix.ru/learning/course/index.php...

    4) Создаем агента и смотрим ход выполнения.
    Если что-то не работает - смотрим логи и правим.

    P.S. Если версия вашего php выше 7, то в работе очень поможет try-catch с Throwable, который поймает многие перехватываемые ошибки исполнения.
    Ответ написан
    Комментировать
  • Как мне вывести к товару отзыв для этого товара?

    gromdron
    @gromdron
    Работаю с Bitrix24
    А в чем проблема вместо 125 использовать этот самый "$arResult["ID"]", который и так содержит ID товара который вы смотрите?

    Т.е. по факту вы пишете следующее:
    1) Разрабатываете компонент который на основе ID товара выведет его отзывы
    2) В шаблоне вывода компонента добавляете вызов своего компонента.
    Ответ написан
  • Почему не получается вывести данные из БД?

    gromdron
    @gromdron
    Работаю с Bitrix24
    false возвращается в случае если запрос по какой-то причине не удалось выполнить.
    Посмотреть конкретную причину можно через функцию mysqli_error

    В своем коде, вам так же всегда требуется проверять возвращаемый результат и логировать подобные ошибки.
    Ответ написан
  • Как с помощью REST заполнить переменную БП?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Нет, такого REST метода нет.

    Для коробочной версии Битрикс24 можно написать свое действие БП или расширить REST методы

    Какие варианты в облачном битрикс24 есть?
    - Через свое действие бизнес-процесса.
    Сделать свое действие БП, в котором возвращать в нем нужную информацию.
    Эту информацию записывать в переменную.

    - Если БП запущен на сущности
    (Не рекомендуется) изменять значение сущности напрямую

    - Если БП использует универсальный список
    Можно изменять значения универсального списка. Например 1 экземпляр БП на сделке создает 1 запись в УС и с ней работает.

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

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Элемент универсального списка (добавление которого вы производите и показываете на скриншоте) это по факту элемент инфоблока.
    В коробочной версии Битрикс24 вы можете подписаться на событие OnBeforeIBlockElementAdd модуля iblock и проверять соответствующее поле там.

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

    Есть конечно же и альтернативный вариант: сделать бизнес-процесс который проверяет дату на адекватность (например год должен быть не меньше 2000 и не больше 2100) и в случае разницы найдет соответствующую дельту и прибавит столько же лет к текущей дате.
    Ответ написан
    Комментировать
  • Как добавить тег к задаче с помощью вебхука?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Вы опять задаете 2 вопроса в одном, что не очень хорошо.

    Что касается ошибки, которую вы получаете: там по английски написано "Задача не найдена или у вас нет доступа".
    Это означает что либо задачи с таким id не существует либо пользователь от которого создан веб-хук не имеет роли (ранее) или не имеет доступа (не видит в интерфейсе) этой задачи.

    Что касается добавления тегов: в Битрикс24 не предусмотрен механизм добавления тегов есть только замена значения в поле.
    Каждый раз когда вы выполняете запрос, все теги (это одно поле) заменяются вновь пришедшими.
    Соответственно, чтобы добавить теги вы должны получить все теги, добавить необходимые и установить их. И да - для этого потребуется 2 обращения (на получение и на обновление).

    Что касается количества тегов, то тут действует обычный http протокол и передача в GET-параметрах иерархичных структур, т.е. для установки 2х тегов запрос будет иметь вид:
    /tasks.task.update?taskId=3564&fields[TAGS][]=тег1&fields[TAGS][]=тег2
    Ответ написан
    Комментировать
  • Как обозначить отношение задачи к стадии сделки?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Я бы предложил воспользоваться механизмом списков: создать технический список "Задача -> Сделка" и прописать 2 поля: ID задачи и ID сделки.
    При создании задачи из БП записывать туда эту связь.

    Но такая штука может не прокатить, если обязательно нужно ожидание статуса задачи.
    Ответ написан
  • Какой должна быть логика БП в моем случае, когда происходит ручное переключение стадии сделки на более раннюю?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Для единого БП такое не реализовать.
    Необходимо разбивать Ваш бизнес-процесс на отдельные составляющие таким образом, чтобы единого экземпляра небыло.
    Чтобы БП возвращался к ранним стадиям, вам нужно сделать БП со стадиями и ПОСЛЕ завершения задачи дополнительно проверять статус и отправлять его в соответствующий блок, но проще БП разбить на несколько частей.
    Ответ написан
    1 комментарий
  • Как удалить пользователя через вебхук?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Удалить пользователя нельзя, но можно изменить его данные (обнулить) и деактивировать (сменить поле ACTIVE на N)
    Ответ написан
    Комментировать
  • Можно ли в БП при генерации задачи, указывать постановщика/исполнителя с помощью поля документа?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Не совсем. Ответственным по задаче может быть только сотрудник, для того чтобы указать сотрудника нужно чтобы переменная была соответствующего типа или конвертировалась в нее.

    1) Измените поле список добавив значения

    Т.е. вместо
    Иванов Иван [11]
    Петров Петр [12]


    Нужно сделать
    [11]Иванов Иван
    [12]Петров Петр


    2) Далее необходимо выполнить преобразование и можно использовать при создании задачи.
    Подробнее: https://dev.1c-bitrix.ru/learning/course/?COURSE_I...

    {=Document:UF_CRM_1594297107 > user}
    Ответ написан
    Комментировать
  • Как использовать ссылку вида "myprotocol://C:/My Folder/123" таким образом, что бы битрикс24 не уничтожал двоеточие в подобной ссылке?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    А почему нельзя изменить ваш же протокол и не использовать второе двоеточие, а ставить его уже в методе-обработчике протокола?
    Ответ написан
  • Сайт на bitrix раздувает таблицу b_event, как исправить?

    gromdron
    @gromdron
    Работаю с Bitrix24
    В b_event хранятся исходящие email сообщения и отключить ее нельзя.
    Вы можете сделать:
    1) Защитить форму обратной связи
    2) Уменьшить время хранения письма в b_event (настройки главного модуля).

    Для защиты формы обратной связи помимо капчи можно использовать:
    - Методы защиты от CSRF (https://habr.com/ru/post/318748/)
    - Потайные input'ы не заполняемые пользователем (зачастую роботы их заполняют)

    Эти методы защитят вас от большинства видов атак, но в случае целенаправленного спама это не решит проблему.
    Ответ написан
    Комментировать
  • Как реализовать скачивание файла при нажатии на кнопку на Битрикс 24?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    На текущий момент продажи "цифрового контента" в битрикс24 (что в облачной, что в коробочной версии) не предусмотрено. Отчасти вы можете реализовать ее самостоятельно через автоматизацию/бизнес-процессы после поступления оплаты.
    Ответ написан
    Комментировать
  • Как передать ссылку в поле сделки без перезаписи предыдущих ссылок методом crm.deal.update?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Но эта ссылка все равно перезапишет и уничтожит все что содержалось в дополнительных полях.


    Метод crm.deal.update изменит не конкретный пункт, а все значения. Методов на точечную дозапись элементов нет, поэтому вам придется получить все значения, добавить свою ссылку и сохранить.
    Ответ написан
    Комментировать
  • Возможно ли отформатировать поле со ссылками, и если да, то как?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    К сожалению для данного типа поля такое использовать нельзя, однако можно использовать какое-либо из полей типа HTML/BB и уже там выводить как вам хочется.
    Ответ написан
    8 комментариев
  • Как получить профили всех типов плательщиков в bitrix:sale.order.ajax?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Через кастомизацию выдачи компонента конечно же, но какой в этом смысл, если профиль это комбинация заполненных полей, а поля для разных профилей разные.
    Т.е. значение поля Х для профиля 1 может существовать, а в профиле 2 вообще поле Х может отсутствовать.

    Сделать это проще всего на событиях в компоненте: https://dev.1c-bitrix.ru/api_d7/bitrix/sale/events...
    Ответ написан