Ответы пользователя по тегу 1С-Битрикс
  • Сделать кластер сайта на Битрикс, без Битрикс?

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


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

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

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

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

    Дело в том что битрикс лицензирует только свой программный код. Если вы сделаете публичную часть на каком-нибудь Gatsby, а в роли API endpoint будет выступать битрикс, то это не будет нарушением лицензионного соглашения, однако лишает некоторых возможностей на сайте и почти сводит на нет отдельные преимущества платформы.
    Ответ написан
    Комментировать
  • Как добавить обработку события изменения сделки в коробке Битрикс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);
    	}
    );
    Ответ написан
    Комментировать
  • Нельзя зарегистрировать пользователя через админку bitrix, что делать?

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

    Возможно такая работа находится вне вашей компетенции, в таким случае рекомендую обратиться в техническую поддержку Битрикс по официальным каналам или к партнерам для получения платной консультации.
    Ответ написан
    Комментировать
  • Как изменить webhook на сайте от 1с битрикс?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Для начала вам необходимо создать новый вебхук со всеми необходимыми правами. В этом поможет официальная документация: https://dev.1c-bitrix.ru/learning/course/index.php...

    Где искать старый webhook

    К сожалению на этот вопрос может ответить только разработчик, кто делал интеграцию.
    Если вы знаете адрес портала и/или старый вебхук, вы можете выполнить поиск по файлам. Например grep
    Ответ написан
    Комментировать
  • Почему catalog.set.constructor иногда лежит в catalog.element?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Существуют некоторые компоненты, которые реализуют целый пласт большой дополнительной логики или отображения.
    Если шаблон такого элемента требует чтобы шаблон другого элемента был заточен специально под использование данного компонента и вне рамок его использования не работает, то не имеет смысла его выносить в общие шаблоны.

    Проще придумать не смог, но зато есть пример: предположим существуют 2 компонента A и B с шаблонами .default. Оба компонента могут использоваться независимо друг от друга.
    Однако в какой-то момент в шаблоне A потребовалось модифицировать шаблон B в определенном месте под определенную задачу. Этот шаблон название special_a.
    Так вот, использование компонента B с шаблоном special_a вне рамок компонента B не имеет смысла, посколькую шаблнон special_a задействует части шаблона компонента A и хранить его отдельно просто нет смысла.

    Можно ли вынести такой шаблон из шаблона? Да, можно. Однако практического смысла подобное действие не имеет.
    Ответ написан
  • Как структурировать файлы сайта при работе с @bitrix/cli?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Вы не разобрались в структуре продукта и пытаетесь принести в битрикс то на что он впринципе не рассчитан. Прочитайте сначала: https://dev.1c-bitrix.ru/learning/course/index.php...

    Есть расширения (extension).
    Это JS библиотеки подключаемые на страницах. Они находятся в /local/js/* или /bitrix/js/*
    Документация: https://dev.1c-bitrix.ru/learning/course/index.php...

    Есть шаблоны сайта (template).
    Они находятся в /local/templates/* или /bitrix/templates/*
    Документация: https://dev.1c-bitrix.ru/learning/course/index.php...

    Документация по @bitrix/cli: https://dev.1c-bitrix.ru/learning/course/index.php...

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

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Дополню комментарий Егор и ответ коллеги Алексей Емельянов: сделать 'интеграцию' никак.

    Можно сменить лицензию (расширить) до продукта CRM+ИМ и уже после этого установить второй сайт, настроив многосайтовость.

    Без этого всего, можно сделать лишь следующее:
    - Добавить ссылку в верхнее меню для перехода в Б24 (если он установлен на отдельном домене).
    - Разработать собственную интеграционную шину между ИМ и CRM (если это отдельные платформы).
    - Включить для менеджеров ИМ SAML SSO (точнее сначала его нужно будет написать самому).
    Ответ написан
    Комментировать
  • Как подключить свой сетевой диск в битрикс (коробка)?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Существующий сетевой диск нельзя подключить к Битрикс24.
    Наоборот: Диск из Битрикс24 можно подключить к своему ПК как сетевой диск.

    Особенность заключается в том, что фактически файлы хранятся в Битриксе и нужны для отображения, версионирования, индексации. Именно поэтому существующую шару нельзя просто так приконнектить к Б24, а даже если и использовать окольные методы, то физический файл будет хранится аж в 2 местах (потребуется увеличение места на сервере битрикса равное количеству места на сетевом диске).
    Ответ написан
    Комментировать
  • Ошибка при установке плагина bitrix?

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


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

    require_once('/home/bitrix/www/bitrix/modules/mcart.xls/lib/orm/profile.php');
    Mcart\Xls\ORM\ProfileTable::getEntity()->createDBTable();


    После чего перейти в список установленных решений и вызвать повторую установку.
    Ответ написан
    Комментировать
  • Где найти бесплатную версию Bitrix CMS?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Не существует бесплатной версии 1С-Битрикс которую вы сможете использовать в полной мере и без ограничений.
    Если Вы хотите освоить платформу вы можете сделать следующее:

    1) Оформить партнерство.
    При регистрации (не обязательно быть юр.лицом), вам будут предоставлен NFR ключ для редакции Бизнес.
    С этого вы можете начать свое изучение и нет необходимости ее обновлять.

    2) Использовать 30-дневный бесплатный период.
    В течении 30 дней (+ еще около 2 недель с сообщением об окончании поддержки) вы можете использовать ограниченные наборы возможностей Битрикса, однако это лучше чем ничего.

    Можно ли получить бесплатный битрикс?
    Нет, к сожалению получить полностью бесплатный битрикс нельзя. Можно конечно чуть-чуть его хакнуть и убрать некоторые ограничения, но вместе с ними частично отваляться облачные возможности. Вариант с NFR в данном случае предпочтительнее (вас никто не заставляет оформлять юр.лицо или платить какие-то деньги за оформление).
    Ответ написан
  • Можно ли использовать CIBlockSection::GetMixedList или GetList не в компоненте ,а в index.php страницы?

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

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


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

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

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

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

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

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


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

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


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

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

    Собственно первый вариант не отменяет второй и наоборот.
    Ответ написан
  • Почему битрикс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 комментария
  • Bitrix файл обмена с заказами сохранять?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Последний файл сохраняется автоматически в директории /upload/1c_*/
    Ответ написан
  • Будет ли работать сайт на Bitrix без ключа?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Если вы купили лиценизонную версию, то в течении календарного года битрикс будет работать без ограничений по возможностям. По прошествии года все облачные сервисы используемые в вашем сайте перестанут работать, но сам сайт будет.

    Если вы не покупали лицензионную битрикс будет работать лишь 30 дней, потом сайт потребует ввода лицензионного ключа.
    Ответ написан
    5 комментариев
  • Не обновляется оргструктура и должности сотрудников в Битрикс24, в чём проблема?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Для начала ответа на этот вопрос нужно понять: а как именно раньше обновлялась орг.структура?
    Возможные варианты:
    - Ручками силами HR
    - Интеграция с AD
    - Интеграция с 1С
    - Сторонние скрипты

    В случае "Ручками силами HR":
    - нанять нового HR который будет это делать или обучить текущего.

    В случае "Интеграция с AD":
    - проверить чтобы синхронизация работала
    - проверить чтобы настройки полей подразделений были установлены верно
    - Возможно разово нужно обновить провести синхронизацию заново.

    В случае "Интеграция с 1С":
    - проверить чтобы синхронизация работала
    - проверить чтобы в выгружаемом файле (можно найти в /upload/1c_intranet/) есть подразделения
    - проверить логи обмена со стороны 1С

    В случае "Сторонние скрипты":
    - найти документацию и обратиться к разработчикам
    Ответ написан