• При создании заказа через rest api в битрикс24 создаются лишние компания и контакт при указанном companyId, в чем может быть проблема?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Это ошибка (или особенность поведения) о которой необходимо сообщить тех.поддержке.
    Насколько я знаю, в данный момент связь между заказом и контактами/компанией через rest api не отлажена.
    Ответ написан
    Комментировать
  • Сделать кластер сайта на Битрикс, без Битрикс?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Увы, но для того чтобы обеспечить "Отказоустойчивость" вам необходимо купить "1С-Битрикс: Управление сайтом. Лицензия «Энтерпрайз»".
    Дело тут вовсе не в технических ограничениях, а в лицензионном соглашении:
    *Все сайты, работающие на одной лицензии, должны размещаться на одном хостинге и использовать одну копию программного продукта «1С-Битрикс: Управления сайтом».


    Что можно сделать не нарушая лицензионного соглашения:

    1) Разделить зоны ответственности:
    * Вынести load balancer на отдельный сервер.
    * Вынести файлы на отдельный сервер (подключите CDN или облачные хранилища).
    * Вынести httpd / php-fpm на отдельный сервер.
    * Вынести СУБД на отдельный сервер (возможно кластерное решение или другие).

    Таким образом вы не сможете добиться отказоустойчивости, но хотя бы диверсифицируете риски (часть системы поднять проще чем всю).

    2) Изменить подход к формированию сайта.

    Дело в том что битрикс лицензирует только свой программный код. Если вы сделаете публичную часть на каком-нибудь Gatsby, а в роли API endpoint будет выступать битрикс, то это не будет нарушением лицензионного соглашения, однако лишает некоторых возможностей на сайте и почти сводит на нет отдельные преимущества платформы.
    Ответ написан
    Комментировать
  • Как сделать разграничение прав телефонии битрикса?

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

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


    Механика еще новая и думаю это будет обкатываться дополнительно.
    Подобное действие возможно только в коробочной версии Битрикс24 силами разработчиков.

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

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


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

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

    use \Bitrix\Main,
    	\Bitrix\Tasks\CheckList\Task
    	;
    
    Main\Loader::IncludeModule('tasks');
    
    /**
     * @var integer Идентификатор задачи
     */
    $taskId = 6;
    
    /**
     * @var integer Идентификатор пользователя
     */
    $userId = 1;
    
    $result = Task\TaskCheckListFacade::add(
    	$taskId,
    	$userId,
    	[
    		'TITLE'        => 'Test data',
    		'PARENT_ID'    => 0,
    		'SORT_INDEX'   => '10',
    		'IS_COMPLETE'  => 'N',
    		'IS_IMPORTANT' => 'N',
    		'MEMBERS'      => [],
    		'ATTACHMENTS'  => [],
    	]
    );
    
    var_dump($result);
    Ответ написан
    4 комментария
  • Как вывести popup окно стандартной bx библиотекой в карточке лида?

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


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

    Как можно притворить это решение в жизнь?

    1) Кастомизировать шаблон компонента bitrix:crm.lead и поместить код в details.php
    Плюсы:
    - Мнимальное изменение
    - Шаблон меняется очень редко

    Минусы:
    - Придется поддерживать до конца проекта при любом обновлении

    2) Кастомизировать шаблон компонента bitrix:crm.lead.details

    Плюсы:
    - Незначительное изменение
    - Частично можно опираться на поля лида

    Минусы:
    - Придется поддерживать до конца проекта при любом обновлении

    3) Делать это через JS.
    На событии эпилога подключать библиотеку, которая будет проверять нужную страницу и выводить popup

    Плюсы:
    - Не влияет на обновления

    Минусы:
    - Не просто в разработке (требует глубоких знаний платформы)
    - Будет сложнее поддерживать, если битрикс будет менять апи/чпу

    Документации по всем 3 способам в интернете не найти.
    Ответ написан
    2 комментария
  • Битрикс24 коробка. Дела-письма произвольно переходят в статус прочитано,в чём дело?

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


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

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


    В составе коробочного Битрикс24 имеются штатные средства для загрузки и проигрывания видео в ленте или на диске, однако в некоторых местах они не совсем корректно работают (некоторые видео требуют конвертирования, что занимает достаточно много времени и ресурсов).
    Возможности стриминга видео тоже ограничены.

    Я бы посоветовал вам поискать сторонние средства видеотрансляции и уже их код вставить внутри битрикс24, т.е. чисто модули под Б24 вы не найдете.
    Ответ написан
    Комментировать
  • Как экспортировать таблицу html в Excel?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Если уж мы говорим про Битрикс24, то для начала было бы не плохо не выводить содержимое буфера до вызова вашего кода.
    Это можно сделать при помощи кода:
    global $APPLICATION;
    $APPLICATION->RestartBuffer();


    Затем чтобы это все корректно прочиталось, необходимо еще и предотвратить вывод после этого кода.
    Упрощенный вариант как можно это сделать:
    \CMain::FinalActions();

    Таким образом ваш код можно дополнить до следующего результата:
    global $APPLICATION;
    $APPLICATION->RestartBuffer();
    
    $file="demo.xls";
    $test="<table  ><tr><td>Cell 1</td><td>Cell 2</td></tr></table>";
    header("Content-type: application/vnd.ms-excel");
    header("Content-Disposition: attachment; filename=$file");
    echo $test;
    
    \CMain::FinalActions();
    Ответ написан
    Комментировать
  • Как при каждой итерации подставлять значение массива?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Структурируйте пожалуйста ваш код, чтобы не было скачущих отступов.

    Что касается задачи, если $arProps['OPLATY_PO_SCHETAM']['VALUE'] у вас содержится массив идентификаторов то это тоже сработает.
    То есть, если у вас он имеет вид:
    $arProps['OPLATY_PO_SCHETAM']['VALUE'] = [
        1,
        2,
        3,
        4
    ];


    То вам достаточно заменить ваш фильтр на
    $arFilterOplataPoSchetam = array(
        "IBLOCK_ID" => "89",
        "ID" => $arProps['OPLATY_PO_SCHETAM']['VALUE'],
        ">=DATE_CREATE" => $minDate,
        "<=DATE_CREATE" => $maxDate
    );


    Т.е. удалить "[0]"

    Как только вы это сделаете, у вас вернется массив элементов, но в вашем коде в $arFieldsOplataPoSchetamDluaDolgNaDatu всегда будет 1 результат - последний.

    Чтобы предотвратить это, нужно куда-то складывать результаты.
    Например сделать так:
    $debtsOnDate = [];
    
    while ($obOplataPoSchetamDluaDolgNaDatu = $resOplataPoSchetamDluaDolgNaDatu->GetNextElement()) {
        $debtsOnDate[] = $obOplataPoSchetamDluaDolgNaDatu->GetFields();
    }


    А после того как это сделаете можно еще и ускорить весь цикл (убрав лишние запросы):
    while ( $debtOnDate = $resOplataPoSchetamDluaDolgNaDatu->GetNext() )
    {
        $debtsOnDate[] = $debtOnDate;
    }


    Ну и конечно же, если не предусматривается вывод пользователю (например нужен только подсчет), то можно заменить GetNext на Fetch метод.
    Ответ написан
    Комментировать
  • Как создать новый тип отображения списков в Bitrix24?

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

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

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Попробуйте использовать новую запись EventManager:

    <?php
    
    $eventManager = \Bitrix\Main\EventManager::getInstance();
    
    $eventManager->addEventHandlerCompatible(
    	'crm',
    	'OnAfterCrmDealUpdate',
    	function (&$arFields){
    
    		ob_start();
    		echo PHP_EOL."<pre>".PHP_EOL;
    		var_dump($arFields);
    		file_put_contents(__DIR__.'/log.log', ob_get_clean(), FILE_APPEND);
    	}
    );
    Ответ написан
    Комментировать
  • Как сделать автоматическое распределение лидов на ответственных менеджеров ПО ДНЯМ НЕДЕЛИ?

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

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Во-первых, сделки получаются методом crm.deal.list. То что вы указали (crm.lead.list) это Лиды.

    Во-вторых, увы в облачной версии нельзя так искать, только по primary контакту.
    А поле CONTACT_IDS действительно есть, но оно больше в коробке и не для всех методов используется.
    Ответ написан
    1 комментарий
  • Почему не обновляются значения списка в битрикс через REST API?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Вот и ошибка.

    В поле `LIST` автор пытается отправить json структуру, в то время как битрикс ожидает HTTP параметры.
    Таким образом его исходный запрос:
    https://domain.bitrix24.ua/rest/321/apicode/crm.deal.userfield.update.json?ID=223&LIST=[{"id": "49", "DEL": "Y"}]


    Должен выглядеть следующим образом:
    https://domain.bitrix24.ua/rest/321/apicode/crm.deal.userfield.update.json?id=223&LIST[0][ID]=49&LIST[0][DEL]=Y


    Либо, установить заголовок отправляемой информации в javascript и отравить json:
    {
    	"id": 223,
    	"LIST": [{"id": "49", "DEL": "Y"}]
    }
    Ответ написан
    Комментировать
  • Можно ли делать запросы сразу в два Bitrix24?

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


    Что такое "rest-запрос"? Это обычный HTTP запрос к определенному URI со указанием данных доступа.
    Поэтому отвечаю на ваш поставленный вопрос: можно делать почти сразу (там все же будет задержка, пусть и небольшая) запросы даже в несколько Битрикс24.

    Я пробовал подключать 2 файла с rest api, что бы они не путались переименовал класс, но не прокатывает


    Если вы говорите о библиотеке CRest которую официально поддерживает битрикс, то она не предусматривает выполнение запросов к разными Битрикс24.
    Вам все равно придется ее доработать.

    К слову сказать, ни одна библиотека из коробки не предоставляет вам таких возможностей.
    Ответ написан
    Комментировать
  • Есть ли возможность запускать cron-задания?

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

    Теоретически возможны следующие варианты:
    - Использовать свое REST приложение для совершения каких-либо действий
    - Использовать RPA ( не путать с модулем битрикса), например Electroneek.
    - Для некоторых задач можно запускать БП с циклом и паузой на некоторый промежуток времени (нужно подходить с осторожностью).
    Ответ написан
  • Как я могу на событии OnAfterCrmDealAdd отображать поля в карточке сделки?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Никак.
    Событие происходит в фоновом режиме и вы не можете влиять на отображение в облачном Битрикс24.
    В коробочном Битрикс24 используя модуль Push'n'pull вы можете делать определенные изменения, однако сложность таких изменений достаточно велика, как и трудозатраты.
    Ответ написан
  • Почему не устанавливается веб окружение для Битрикс24 на Linux CentOS?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Удалите пакеты mariadb*, они мешают установиться Percona-Server
    Ответ написан
    1 комментарий