Задать вопрос
  • Как настроить робота в битрикс, чтоб при покупке определенного товара отправлялись определлные файлы?

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


    Здесь штатно такой возможности не предусмотрено и эту потребность закрывает REST.
    Вам нужно поставить какое-нибудь приложение, которое по идентификатору достанет необходимые товары и чтобы вы могли сопоставить условия.
    Ответ написан
  • Почему возникает ошибка при импорте пользователей из Active Directory в Битрикс24?

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


    В настройках главного модуля есть опция "Email является обязательным полем", если ее выключить то можно добавлять пользователей вообще без email.
    После чего из настроек импорта контроллера в Битрикс24 убрать из списка вообще синхронизацию поля email.
    У вас вход все равно по логину.
    Это способ номер 1 - когда вообще никому мыло не нужно.

    На стороне AD можно завести доп. аттрибут куда прописывать валидный email адрес и указать его в качестве синхронизирующего.
    После чего на стороне AD заполнить этот аттрибут у нужных сотрудников.
    Далее в Битрикс24 в настройках модуля AD/LDAP заполнить аттрибут "E-mail для пользователей, у которых он не указан" - туда нужно вписать ЛЮБОЙ ВАЛИДНЫЙ email адрес.
    По техническому условию не обязательно чтобы у каждого сотрудника был уникальный email, так что можно вписать no@email.com например.
    Это способ номер 2 - когда есть сотрудники которым в профиле мыло все-таки нужно, но есть те кому не нужно.

    Эти способы можно и комбинировать.
    Ответ написан
    Комментировать
  • Как найти элемент списка?

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


    Возможно - через REST приложение в облаке или PHP-код (свое активити) в коробке Битрикс24.
    Штатных инструментов в данном случае нет - разве что только очень экзотические.
    Ответ написан
    Комментировать
  • Как изменить приветственную фразу в битриксе?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    На Битриксе версии 23.750+ Настройки (рядом с логотипом) -> Сотрудники -> Приглашения.
    Выключить "Показывать сообщение о новом сотруднике"
    66d17f1270151896917014.png

    Или через php-консоль (скорее всего работает на версих младше):
    \Bitrix\Main\Config\Option::set('im', 'general_chat_message_join', false);
    Ответ написан
    Комментировать
  • Копирование События в календаре?

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

    gromdron
    @gromdron
    Работаю с Bitrix24
    Если вы прописали в php_interface/init.php (а не в конкретный сайт), при этом если он не перекрывается другим init.php то все должно работать с точки зрения подключения классов.

    Однако метод агента должен возвращать строку - либо php-код (полное название функции) следующего агента, либо ничего - у вас же дальше будет "eval("агент");" что вызовет ошибку php.

    Смотрите логи httpd и php
    Ответ написан
  • Как выдать права на просмотр календаря?

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


    Никак, потому что права выдаются на "событие", а не на "бронирование".

    Есть несколько способа как можно это организовать:

    Первый: выдать каждую пользователю права на чтение каждого календаря другого пользователя.
    Минус 1: таким образом можно смотреть в том числе и личные встречи сотрудника.
    Минус 2: Огромное количество настроек которое нужно сделать.

    Второй способ: выдать всем полные права на управления календарями.
    Минус 1: теперь можно не только смотреть чужие события, но и редактировать их.

    Третий способ (для коробки): поставить бесплатный модуль "Fusion: Занятость переговорных комнат".
    Он добавляет новую страницу на которой отображены переговорные комнаты, кто их занял и зачем (названия/описания событий).
    Ответ написан
  • Возможно ли через REST API Битрикс24 изменить склад у товаров в сделке?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    В данный момент REST'а для складов
    Ответ написан
    Комментировать
  • Можно ли из php кода активити получить массив Дополнительных результатов в Битрикс24?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Да, можно.
    Самый простой способ - парсером:

    $rootActivity = $this->GetRootActivity();
    
    $result = $this->ParseValue('{'.'=ACTIVITY_NAME_AA1312312313123:VoteResult}');
    
    // В зависимости от множественности и типа значения может быть разное содержание, например перечисление через запятую (использовать explode)


    Подробнее тут.
    Ответ написан
    Комментировать
  • Как не создавать элемент через событие?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Событие "onCrmDynamicItemAdd" используется исключительно для REST и срабатывает после создания элемента смарт-процесса. Т.е. отменить в этот момент вы ничего не можете.

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

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

    Можно сделать работу обработчиков в паре, для получения воспользоваться объектом.

    Для вдохновения можно использовать код:
    use \Bitrix\Main\ORM\Event;
    
    class DeleteHandler
    {
        static $queue = [];
    
        public static function beforeDelete(Event $event)
        {
            // Получаем объект
            $item = $event->getParameter('object');
    
            // Запрашиваем из БД `FILE_ID`
            $item->fill('FILE_ID');
    
            // Пишем в "стек" удаляемый файл
            static::$queue[ $event->getParameter('ID') ] = (int) $item->get('FILE_ID');
        }
    
        public static function afterDelete(Event $event)
        {
            if (
                in_array($event->getParameter('ID'), static::$queue )
                && static::$queue[$event->getParameter('ID')]>0
            )
            {
                \CFile::Delete(static::$queue[$event->getParameter('ID')]);
    
                unset(static::$queue[$event->getParameter('ID')]);
            }
        }
    }
    Ответ написан
    Комментировать
  • Как задать верное значение суммы в битрикс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. Если же в строке то как можно расширить количество символов которая ?


    Нельзя
    Ответ написан
    Комментировать