• Как задать верное значение суммы в битрикс24?

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

    Для размышления: например если мы знаем что операция только сложение, а элементов всегда определенное количество то можно сделать как комбинацию функций firstValue, explode, swirl
    Ответ написан
    Комментировать
  • Чем заменить (паузу, ожидание) в бизнес-процессах Битрикс?

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

    Если же ваш бизнес-процесс подразумевает откладывание логики на 1-2-5 месяцев то это вполне нормально.
    Если ваш процесс подразумевает годовые паузы - то возможно не стоит так делать и следует использовать другие инструменты.

    Например:
    - Если вы используете "Доставку", то логичнее использовать триггер "Отслеживание доставки"
    - Если вы используете отслеживание какой-то даты, то просто оставляйте как есть - ожидание даты (паузу) в БП.
    - Если вы используете дату для создания новой сделки, то лучше воспользоваться генератором продаж.
    Ответ написан
    Комментировать
  • Как свернуть левое меню в Б24?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    <script>
    BX.ready(function(){
      let isVisible = false; // Показать - true, скрыть - false 
      BX.Intranet.LeftMenu.toggle(isVisible);
    });
    </script>
    Ответ написан
    Комментировать
  • Как вызвать диалог выбора компании Битрикс24 при помощи BX.UI.EntitySelector.Dialog?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    <button id='companySelectButtonNode'>Select company</button>
    
    <script type="text/javascript">
    BX.ready(function(){
    	const button = document.getElementById('companySelectButtonNode');
    
    	let dialog = new BX.UI.EntitySelector.Dialog({
    		targetNode: button,
    		context: 'MY_PAGE_CONTEXT',
    		enableSearch: true,
    		searchOptions: {
    				allowCreateItem: false
    		}, 
    		multiple: false,
    		entities: [
    			{
    				id: 'company',
    				dynamicLoad: true,
    				dynamicSearch: true
    			},
    		],
    	});
    
    	button.addEventListener('click', () => {
    		dialog.show();
    	});
    });
    </script>


    6673ce43e438e057835629.png
    Ответ написан
  • Как запускать бизнес процесс от ответственного?

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

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

    Вы можете кастомизировать шаблон компонента bitrix:bizproc.workflow.instances для вывода туда нужных полей, но помните что этот компонент отвечает за вывод всех экземпляров бп (даже не из crm)
    Ответ написан
    Комментировать
  • Как убрать поле "комментарий" в заданиях бп?

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

    Для того чтобы убрать или контролировать его появление необходима кастомизация шаблона bitrix:bizproc.task
    Ответ написан
    1 комментарий
  • Как добавить счетчик комментариев в карточке смарт-процесса?

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

    А потом самое малое - подписавшись на событие отсовать ваш кружочек с цифрой.
    Ответ написан
    Комментировать
  • Сайты на битрикс как ограничить доступ?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Можно ли как-то разрешить посещение данного сайта, только для определённых IP?


    По web-адресу который дает битрикс24 - не можете.
    Если вы делаете создание сайта на своем домене, то там вы можете настроить любые правила.
    Ответ написан
  • Где лучше хранить историю переписки телеграм-бота с клиентом в битрикс 24?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    1. Где лучше хранить историю переписки телеграм-бота с клиентом в битрикс 24?


    Историю? В диалоге открытой линии.
    Видел кейс когда сообщение клиента пробрасывали в комментарий к сделке (1 сообщение = 1 комментарий).
    Но с точки зрения идеологии Битрикс24 - это именно открытая линия и точка.

    2. Если же в строке то как можно расширить количество символов которая ?


    Нельзя
    Ответ написан
    Комментировать
  • Как можно отследить действия в связанной сделке?

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

    Не вижу других способов полноценно поддерживать такую связку по последним изменениям.
    Ответ написан
    Комментировать
  • Как в Bitrix 24 отправить уведомление?

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


    Вы используете метод REST вне рамок приложения.
    Для корректной работы некоторых rest методов требуется авторизация через oauth или вебхук, в противном случае работать они не будут.
    Ответ написан
    Комментировать
  • Бизнес процесс и кастомные поля список. Как забрать выбранные значения из поля?

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

    Получить значение глобальной переменной можно многими путями, например через парсинг:

    $globalVarAsdasd = $this->ParseValue('{'.'{Переменные глобальные: asdasd}}');


    Взято из книжки
    Ответ написан
    1 комментарий
  • Как объединить сделку и контакт при создании методом crm.deal.contact.add?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    batch-запрос это группировка запросов, когда в одном запросе вы можете использовать результаты предыдущего запроса.
    В вашем batch запросе указано 3 комманды:

    1. Команда "find_contact" выполняет метод "crm.duplicate.findbycomm" который по номеру телефона ищет контакты (да - может вернутся от 0 до 50 контактов).
    2. Команда "get_contact" выполняет получение контакта по идентификатору. В вашем случае по "$contact['CONTACT_ID']"
    3. Команда "get_deal" выполняет получение сделки по ее идентификатору. В вашем случае по "$contact['DEAL_ID']".

    Как вы можете видеть НИ ОДНА из команд не создает сделку, привязанную к контакту И не привязывает контакт к сделке.

    Есть несколько вариантов как выполнить создание сделки привязанной к контакту:

    1. Вы знаете ID контакта, поэтому вам нужно создать только сделку.
    Вы используете метод crm.deal.add и заполняете поле CONTACT_ID указывая туда ID контакта.

    2. Вы знаете ID контакта и ID сделки куда должны его прикрепить.
    Вы используете метод "crm.deal.contact.add" передавая в "fields" ключи "CONTACT_ID" и "IS_PRIMARY".

    3. Вы НЕ знаете ID контакта - в таком случае нужно сначала найти контакт по мультифилду (например по номеру телефона) используя метод "crm.duplicate.findbycomm", а потом уже в зависимости от того существует сделка или нет использовать методы 1 или 2.
    Ответ написан
    Комментировать
  • Как через rest API Битрикс24 искать контакты по номеру телефона конкретного типа (например по мобильному)?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Такой возможности нет.
    Ответ написан
    Комментировать
  • Как изменить цвет карточки сделки в зависимости от ее статуса?

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


    Вы иметее ввиду покрасить карточку в канбане?
    Размышление можете начать отсюда: Как присвоить стиль через JS?
    Ответ написан
    Комментировать
  • Как реализовать поиск по содержимому файлов(pdf, txt, rtf, doc, docx, excel)?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Если поле имеет тип "Файл" (E) и для него включена опция индексации содержимого, при этом на сайте установлен модуль "Поиск" (search), то можно можно подписаться на событие OnSearchGetFileContent модуля search (оно принимает только 1 параметр - абсолютный путь к файлу), а возвращает: либо null / false, либо структуру с результатами парсинга.

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

    Пример структуры:
    $result = [
    	'CONTENT' => 'содержимое файла, которое мы распарсили',
    	'PROPERTIES' => [
    		COption::GetOptionString("search", "page_tag_property") => 'тег1, тег2',
    	]
    ];
    Ответ написан
  • Как создать Highload-блок с типом текст?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    "Highload-блок с типом текст" создать нельзя, так же как и создать "Инфоблок с типом текст".
    Highload-блок это сущность у которой может быть поле с каким-то типом.

    В системе нет по-умолчанию типа "текст", есть строка с ограничением длинны и форматом отображения.
    Например можно сделать пользовательское поле с типом "Строка" размером 5 строк на 30 символов.
    Ответ написан
    Комментировать
  • Как сделать отправку системных уведомлений битрикс в телеграм бота?

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

    Вам нужно подписаться на событие OnAfterMessagesAdd модуля im - на вход принимает $messageId (число, идентификатор сообщения) и $arFields (массив, набор данных о сообщении). Это событие обрабатывается когда сообщение (не важно уведомление или сообщение в чат) добавляется на портале, поэтому нужно отслеживать что именно отправляется.

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

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


    Такое поведение возникает когда для пользователя есть непрочитанные комментарии/уведомления по задаче.
    Это обычно выражается в "зеленом кружочке" рядом с названием задачи.
    Для того чтобы они не выводились ему необходимо прочитать эти задачи или нажать на кнопку "Прочитать все" в панеле под фильтром.
    Ответ написан
    Комментировать
  • Как вы используете RPA в Битрикс24 в реальных проектах?

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