• Можно ли использовать CIBlockSection::GetMixedList или GetList не в компоненте ,а в index.php страницы?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Не стоит миксовать вопросы в одном.
    Если вы разделите их, то поймете что это не является проблемой.

    Можно ли использовать CIBlockSection::GetMixedList или GetList не в компоненте ,а в index.php страницы?


    Можно.
    Вам напрямую никто не запрещает использовать классы и вне компонентов. Главное чтобы были подклчюены необходимые модули и пролог.
    Однако подобное нарушает одну из идеологических концепций системы. Правильнее следует сделать компонент.

    у меня есть табы в index.php страницы содержимое которых сделано "bitrix:catalog.section", а название вкладок это название подразделов хочу взять их из админки ,как можно это сделать?

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

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

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Судя по общему описанию проблемы реального пользователя в Битрикс24 при запуске БП не создается.
    Т.е. у вас настроена синхронизация по бюджетам пользователей из AD (ручками на портале они не создаются).
    А процесс такой: запуск БП -> задача сис.админу на создание пользователя -> завершение БП

    Вот только вы не учитываете пару нюансов:
    1) Импорт пользователей из AD не мгновенный процесс, а отрабатывает раз в Н-ное время.
    Т.е. на момент создания бюджета пользователя в AD он может попасть на портал только через сутки
    2) Задача на пользователя может ставиться только в случае наличия его бюджета в списке пользователей Битрикс24.

    Таким образом до момента синхронизации Б24 с AD задачу поставить ему нельзя.

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

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

    В целом можно просто написать свой компонент используя: CIBlockSection::GetMixedList
    Ну а если не хочется писать собственный компонент, то всегда можно обернуть элементы в разделы и воспользоваться традиционным bitrix:catalog.section.list
    Ответ написан
  • Как правильно обновить базу тестового сайта с боевого на битрикс?

    gromdron
    @gromdron
    Работаю с Bitrix24
    правильно ли будет просто в myAdmin залить базу с боевого?


    Нет, архитектура продукта не подразумевает копирование на уровне баз данных.
    Перенос базы может вызвать отказ в работе системы в целом.

    на боевом сайте появились изменения в настройках полей и в товарах ,которых нету на его тестовой копии


    К сожалению в платформе не предусмотрен такой перенос. В зависимости от характера изменений нужно учитывать различные особенности разного бизнеса.
    Например мы практикуем:
    1) Вся разработка ведется только на тестовой версии, а на боевую переносится миграциями.
    Т.е. на бою можно только вводить новый контент, редактировать существующий.
    Совершенно нельзя: изменять поля, создавать новые инфоблоки и т.п.

    2) Один раз в квартал (или по условному событию) полный бекап боевого сервера.
    Т.е. берется полноценная копия сайта разворачивается вместо текущего тестового сервера.

    Собственно первый вариант не отменяет второй и наоборот.
    Ответ написан
  • Битрикс24. Автообновление прикреплённых файлов в почтовом шаблоне, как?

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

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Для начала: вам нужна коробочная версия Битрикс24, в облаке он искать не будет.
    Как только поставите коробку, следующее что нужно - консольная (на сервере) утилита которая будет принимать на вход путь к файлу, а на выходе печатать его в stdout.
    Затем в настройках интранета вам необходимо зарегистрировать эту программу как провайдер для поиска.
    А после чего - в настройках модуля диск разрешить индексацию содержимого файла
    Ответ написан
    Комментировать
  • Отличается ли ередача лида из формы в Б24 коробку от облока?

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

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

    Как работает приложение?
    - Битрикс сделает проверку на доступ к соответствующему адресу. Будет проверяться корректный резолв.
    - Битрикс перенаправит вас на специальную страницу где в iframe откроется приложение. Т.е. если приложение лежит то 127.0.0.1 будет учитываться относительно вашего ПК, а не сервера.
    - Будут произведены действия по установке и после BX.installFinish вам откроется index-страница вашего приложения.

    Таким образом 127.0.0.1 для вас и для вашего сервера это будут разные конечные адреса.
    Если вы используете облачный сервер то ваше приложение должно быть либо zip-архивом (т.е. без ссылок, обработчиков событий и т.п.) либо быть доступно изве (127.0.0.1 это ваш локальный адрес).

    Я вижу у вас защищенное соединение. Битриксу требуется чтобы стоял корректный полный сертификат, а это значит что если у вас отсутствует цепочка или она не верна, то такая ссылка не откроется (даже если последний сертификат у вас добавлен в доверенных и браузер его открывает без предупреждений).
    Ответ написан
    Комментировать
  • Возможно ли создать webhook при активации Бизнес процесса "Заявление на отпуск"?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Все достаточно просто:
    - Пишете бота в телеграме, подписываете на него HR
    - При создании заявления на отпуск вешаете БП, в нем отправка на вашего бота.
    Ответ написан
    3 комментария
  • Как отловить событие onCrmCompanyAdd в Битрикс24?

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

    /**
     * Получаем объект менеджера событий.
     * Нужен для подписки на событие
     * @var Main\EventManager
     */
    $eventManager = \Bitrix\Main\EventManager::getInstance();
    
    /**
     * Подписка на событие "после создании компании"
     * постфикс Compatible нужен потому что событие из старого ядра 
     */
    $eventManager->addEventHandlerCompatible(
    	"crm",
    	"OnAfterCrmCompanyAdd",
    	[
    		CompanyHandler::class,
    		"handleCompanyAdd"
    	]
    );
    
    class CompanyHandler
    {
    	/**
    	 * Обработчик события crm::OnAfterCrmCompanyAdd
    	 * @param array &$arFields 
    	 * @return boolean
    	 */
    	public static function handleCompanyAdd( &$arFields )
    	{
    		/**
    		 * Тут создаешь агента для этой компании
    		 * См. примечание
    		 */
    		return true;
    	}
    }
    Ответ написан
  • Как проверить стоит ли чекбокс в поле через бизнес-процесс?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Пытаюсь сделать бизнес-процесс, где условие: если "Проверка рисков" = да, то конец. Если "Проверка рисков" = не заполнено, то назначить задачу.
    Но это не работает


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

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

    Если результатом этих действий должна быть задача, то нужно определиться кто за нее будет ответственным.
    Задаче в битрикса обязятелен ответственный и к сожалению есть несколько способов автоматически создавать такие задачи:
    - Через личную почту (специальный адрес у каждого)
    - Через лиды (Почта -> лид -> задача)
    - В коробке: через собственные обработчики

    Но это не "определенная группа людей видели эту заявку и реагировали кто свободен"
    Ответ написан
    3 комментария
  • Как вставить свой js-код в crm-форму bitrix24?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    1. В настройке битрикс24 crm-формы есть пункт "Свой CSS" (см. скрин), но нету "Свой js". Форма вставляется на сторонний сайт и хотелось бы иметь возможность в этом сгенерируемом iframe оставить какой-нибудь свой велосипед, но не могу найти где...


    Это сделано по соображениям безопасности. Дополнить битриксовый iframe своим кодом нельзя. Все взаимодействие осуществляется только через описанные возможности.

    когда я вставляю эту форму через iframe на стороннем сайте

    Т.е. вы вставляете Чужой сайт -- iframe --> Ваш сайт -- код битрикс24 --> Битрикс24??
    Нужно чтобы код Я.Метрики были на вашем сайте.
    Если вы вставляете:

    Внешний сайт --- виджет --> Битрикс24
    То нужно чтобы код ЯМ был установлен на внешнем сайте
    Ответ написан
  • Почему битрикс24 (коробка) может не проходить тест производительности?

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


    На какие окружения пробовали ставить? Родное Bitrix Env пробовали?

    Может в какую хоть сторону глянуть подскажите?


    1) Bitrix Server Test - сначала прогоните скрипт
    2) Проверка системы - затем исправить ошибки тут
    3) Проактивную защиту на время теста лучше отключить (можно попасть на самоблокировку)

    p/s влияет ли на эти тесты init.php? (его нету)

    Если его нет - влиять не может, а вот если он есть то в зависимости от того что в нем написано
    Ответ написан
    Комментировать
  • Как заполнять поле в CRM-форме Автоматически?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Для того чтобы отображалась правильная формат, необходимо чтобы она вызывалась из JS.
    Т.е. вы подписываетесь на событие нажатия, получаете название элемента и на JS открываете форму (выполняете код), подсовывая вместо php кода, js значение вашего товара
    Ответ написан
    Комментировать
  • Как добавить пункт меню Битрикс24?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Для конкретно этого пункта меню есть прекрасное событие OnAfterCrmControlPanelBuild

    Пример вызова:
    \Bitrix\Main\EventManager::getInstance()->addEventHandlerCompatible(
    	"crm",
    	"OnAfterCrmControlPanelBuild",
    	function( &$menuItems ){
    
    		// $menuItems - список элементов меню по ссылке. Можно даже удалить
    		$menuItems[] = [
    			/**
    			 * ID пункт меню. Нужен для подсветки на странице
    			 * @var string
    			 */
    			'ID'      => 'CUSTOM_REPORTS',
    
    			/**
    			 * ID js-пункта меню. Для счетчиков и action-комманд
    			 * @var string
    			 */
    			'MENU_ID' => 'menu_crm_custom_reports',
    
    			/**
    			 * Название и hover title
    			 * @var string
    			 */
    			'NAME'    => 'Пользовательские отчеты',
    			'TITLE'   => 'Пользовательские отчеты',
    
    			/**
    			 * Ссылка, куда вести по нажатию
    			 * @var string
    			 */
    			'URL'     => '/crm/_some_link_/',
    		];	
    	}
    );


    Ну и собственно на своей странице нужно вызвать доп.компонент:

    $APPLICATION->IncludeComponent(
    	'bitrix:crm.control_panel',
    	'',
    	array(
    		'ID'             => 'CUSTOM_REPORTS',
    		'ACTIVE_ITEM_ID' => 'CUSTOM_REPORTS',
    	)
    );
    Ответ написан
    1 комментарий
  • Как добавить новое свойство элемента инфоблока через скрипт, так чтобы оно было доступно только для определенного раздела?

    gromdron
    @gromdron
    Работаю с Bitrix24
    В коробке такого механизма не поставляется.
    Что имеется?

    1) Можно ли добавить особенности (feature) к свойству (property)?
    Можно. Для этого нужно дополнить их на событии OnPropertyFeatureBuildList. Документации нет, но вам поможет копание ядра в классе \Bitrix\Iblock\Model\PropertyFeature

    2) Можно ли сделать так, чтобы какие-то свойства отображались в зависимости от каких-то условий?
    И да и нет. В коробке такого механизма не присутствует, однако можно полностью переопределить форму для редактирования элемента.

    Но опять же, эти изменения не станут выводить данные в карточку товара (в публичную часть).
    Как это обычно делают? Делают общую карточку элемента, а дальше делают несколько вкладок под разные разделы.

    Кстати хорошим тоном (да и вообще очень полезно) не делать разделы в рамках одного инфоблока, а делать разные инфоблоки для разных типов товара. Это конечно усложняет обмен с 1С (придется выкинуть то что из коробки и заказать свой), но увеличивает производительность и сразу решает такие проблемы.
    Ответ написан
    4 комментария
  • Как открыть просмотр контактов компании для пользователя?

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


    В Битрикс24 доступ к контактам, компаниям, сделкам на стадиях и лидам определяется отдельно.
    Это значит что понятия "скрытый контакт связанный со сделкой" в принципе не существует. Есть просто контакт к которому у вас либо есть доступ либо нет.

    Или как сделать контакт не скрытым?


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