• Как в Битрикс24 связать (bind) элемент Activity таймлайна с произвольным CRM объектом методами ядра D7?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    CCrmActivity::GetBindings - получает текущие привязки дела
    CCrmActivity::SaveBindings - удаляет все старые и делает новые привязки.

    \Bitrix\Main\Loader::requireModule('crm');
    
    // Замените на ID своего дела
    $activityId = 1;
    
    $arBindings = \CCrmActivity::GetBindings($activityId);
    
    // Добавьте свои привязки
    $arBindings[] = [
    	"OWNER_ID"      => 10,
    	"OWNER_TYPE_ID" => 2,
    ];
    
    \CCrmActivity::SaveBindings($activityId, $arBindings, false, false, true);
    Ответ написан
    1 комментарий
  • Как настроить отправку писем в битрикс24 (коробка)?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Скорее всего вы пытаетесь настроить отправку из модуля "Почта", а штатно она отправляется через системную. Обычно smtp relay на почтовых серверах запрещен (или стоит денег).

    Для избежания этой проблемы можно:
    1. Перейти на локальные smtp настройки.
    2. Забить все конфигурациии в msmtp и написать код распределения. На этой технологии кстати работают многие решения по отправке писем.

    Рекомендую вариант 1.
    Ответ написан
  • Как сделать проверку по сроку согласования в цикле согласования договора?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Судя по приложенной схеме ошибка в реализации.
    Вам нужно сделать параллельное выполнение.
    В левой ветке - задание на согласование. В правой цикл проверки времени согласования и уведомление.

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

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    У вас ошибка в запросе, о чем HTTP 400 вам сообщает.

    Если обратиться к документации:
    В фильтр передаются обязательных поля:
    - iblockId - тип информационного блока;
    - productType - тип продукта:
    [1] => простой
    [2] => комплект
    [3] => товар с предложениями
    [4] => предложение
    [5] => предложение без товара


    Т.е. как минимум у вас отсутствует 2 обязательных поля: iblockId и productType
    Ответ написан
    Комментировать
  • Фильтрация адресованных мне комментариев в задаче Битрикс24?

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

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Меню с Битрикс24 состоит из 3 частей:
    1. То что находится в самом файле меню (в зависимости от версии это либо .top.menu.php либо .superleft.menu.php)
    2. То что подключается расширением ( .<тип меню>.menu_ext.php, например .top.menu_ext.php)
    3. То что лично пользователь или админ глобально добавил себе/всем - для этого нужно найти его пресет в таблице b_option (модуль intanet, название: left_menu_sorted_items_s1 вместо s1 может быть другой ID сайта) и далее найти там цифры, которые могут быть в другом option (модуль тот же, название left_menu_self_items_s1) и уже удалить нужно и от self_items и от sorted_items
    Ответ написан
    Комментировать
  • Как сделать превью pdf документа?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Вопрос такой: как сделать превью пдф документа?


    Через любую программу, которая позволяет конвертировать PDF в изображение, например convert, pdftoppm

    Подобные ответы легко ищутся в интернете:
    https://stackoverflow.com/questions/43085889/how-t...

    используется битрикс. клиент загружает пдф. он должен загрузить пдф файл и на выходе получить карточку с превью.


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

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Если у вас абстрактный вопрос "как отслеживать изменение полей", то лучше чем ответил belc не будет.
    Суть подхода такая: вы делаете еще Н полей (по 1 на каждое отслеживаемое поле) и при изменении/создании копируете туда старые значения.
    Делаете БП на изменение и проверяете старые значения, сравнивая с текущими - если есть разница то делаете что нужно.
    Подход самый НЕ оптимальный и самый НЕ гибкий.

    Обычно следует изменить подход к проектированию и разделить бизнес-процесс на две группы: первая относится к процессу, т.е. определить жизненный цикл сделки и необходимые шаги для ее реализации, а вторая - это подпроцессы которые должны выполняться при определенных условиях.
    Соответственно у вас будут условия перехода сделки по стадиям (это жизненный цикл), переходя по которым вы будете проверять условия которые регулируются подпроцессами.

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

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Самое простое - сделать в указанном БП параметр "Завершить все" (Да/Нет) - по-умолчанию "Нет", не обязательный.
    Первым действием сделать условие, а потом "Прерывание процесса" (все кроме текущего) и потом убить текущий.

    Ну а дальше запуск этого на роботов перенести
    Ответ написан
  • Почему подзадачи не отображаются в скраме?

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


    Подзадача отображается на скрам доске в спринте.
    Что такое задача? Это то что нужно сделать.
    Что такое подзадача? Это часть которую нужно сделать для выполнения основной задачи.

    Отсюда получается - в беклоге отображаются только родительские задачи.
    В спринте отображаются и родительские и их дочерние.

    Наглядная иллюстрация:
    65a52c7914156062433796.png
    65a52c74ad383760659904.png
    Ответ написан
  • Как установить АСПРО Максимум на коробочном портале Битрикс 24 на отдельный домен?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Все дело в работе многосайтовости и настроек.

    2. При создании отдельного сайта с ядром и БД Б24, когда сайт создаётся в папке /home/bitrix/ext_www/папка сайта и создания там символических ссылок на папки /home/bitrix/www/bitrix и /home/bitrix/www/upload, в момент перехода на URL сайта, происходит переадресация на главную страницу Б24(((


    Вам нужно корректно заполнить следующие моменты:
    1. Нужно указать распространение авторизации на все домены
    2. НЕ прописываете адрес сайта у crm в настройках сайта
    3. Указать корректные пути в сайтам
    4. Повысить сортировку сайта ИМ выше CRM
    Ответ написан
  • Почему не записывается id файла в ячейку таблицы БД при использовании фабрики?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    При создании записи вы должны не просто "закинуть файл в поле", но и зарегистрировать его (внутренняя техническая особенность).

    Адаптируйте ваш пример и попробуйте код:
    use \Bitrix\Main\Loader;
    use \Bitrix\Crm\Service\Container;
    
    // $entityTypeID - entity type id
    // $fileId - saved file identifier (CFile::SaveFile)
    
    Loader::requireModule('crm');
    
    $factory = Container::getInstance()->getFactory($entityTypeID);
    
    $avatarField = $factory->getFieldsCollection()
      ->getField('UF_CRM_11_AVATAR');
    
    $item = $factory->createItem();
    $item->set('UF_CRM_11_AVATAR', $fileId);
    
    Container::getInstance()
      ->getFileUploader()
      ->registerFileId($avatarField, $fileId);
    
    $result = $factory->getAddOperation($item)->launch();
    var_dump($result->isSuccess());
    Ответ написан
    Комментировать
  • Автоматическая синхроизация календарей в Outlook?

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


    Никак. Это техническое ограничения календарей Outlook и MS Exchange - внешние системы не могут писать события в календарь по-умолчанию. Они могут только создавать свои каледари и писать события туда.
    Вам нужно обратиться к профильному специалисту - администратору MS Exchange чтобы изучить варианты копирования/переноса событий.
    Ответ написан
    Комментировать
  • Выгружать дела из сделки в календарь?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Это статья для коробочного Битрикс24.
    В коробочном Битрикс24 код нужно вводить в php-командной строке - этого будет достаточно. Можете сделать свой скрипт и запустить, но это будет излишним.

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

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Что-то вы не договариваете или у вас проблемы с кастомом. Вы можете заполнять поле через робота всегда.
    Выведено поле на форму или не выведено - вы всегда можете изменить элемент заполнив поле.
    Исключение составляет только если вы указали права на это поле (Ограничить видимость поля).
    Ответ написан
    Комментировать
  • Как отображать дела в календаре?

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

    В коробочной версии можете попробовать воспользоваться нативным API: подписаться на событие OnActivityAdd модуля crm и самому создавать элементы календаря.
    Ответ написан
    Комментировать
  • Почему сообщение не отправляется через REST запрос Bitrix24 API?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Пишите в техническую поддержку с примером запроса и результатом ответа.
    false означает что ваше сообщение было передано в провайдер, а он вернул ошибку, но эту ошибку в метод вам не отдали и сами вы ее не посмотрите.
    Ответ написан
    Комментировать
  • Почему не отслеживаются события при обновлении сделки через API?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Потом переделал в:


    То во что вы переделали метод - ошибка.
    DealTable - это низкоуровневая операция, row access в самой таблице.
    Он не обрабатывает события, push и т.п.

    Переделайте назад.
    И когда `$updateResult` вернет вам false (всегда проверяйте возвращаемые значения), смотрите что у вас в `$deal->LAST_ERROR`
    Ответ написан
  • Как в Битрикс24 в php коде получить глобальную константу CRM?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    use \Bitrix\Bizproc\Workflow\Type\GlobalVar;
    use \Bitrix\Main\Loader;
    
    Loader::requireModule('bizproc');
    
    $variableId = 'Variable1684762282405'; // Код вашей константы
    
    $property = GlobalVar::getById($variableId);
    
    if ( is_null($property) )
    {
    	throw new \Exception("Property not exist: ".$variableId);
    }
    
    // $property['Default']  - значение тут


    Взято отсюда: https://bx24devbook.website.yandexcloud.net/Modul_...
    Ответ написан
    Комментировать
  • Как автоматически отправить созданный документ сотруднику?

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


    Почитайте про возвращаемые значения.
    Каждое активити возвращает какие-то данные.

    Если в роботе вы не сможете использовать возвращаемые значения, то переключитель в дизайнер БП и выполните необходимые операции там.
    Ответ написан
    3 комментария