• Как в Битрикс24 в php коде получить глобальную константу CRM?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    use \Bitrix\Bizproc\Workflow\Type\GlobalVar;
    use \Bitrix\Main\Loader;
    
    Loader::requireModule('bizproc');
    
    $variableId = 'Variable1684762282405'; // Код вашей константы
    
    $property = GlobalVar::getById($variableId);
    
    if ( is_null($property) )
    {
    	throw new \Exception("Property not exist: ".$variableId);
    }
    
    // $property['Default']  - значение тут


    Взято отсюда: https://bx24devbook.website.yandexcloud.net/Modul_...
    Ответ написан
    Комментировать
  • Как автоматически отправить созданный документ сотруднику?

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


    Почитайте про возвращаемые значения.
    Каждое активити возвращает какие-то данные.

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

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


    С таблице b_user_option можно работать через CUserOptions класс который имеет несколько методов.
    Например для получения данных можно воспользоваться:
    CUserOptions::GetOption($category, $name, $default_value = false, $user_id = false)


    Пример использования:

    $preset = CUserOptions::GetOption(
    	'crm.entity.editor',
    	'DYNAMIC_179_details_C15_common',
    	null
    );
    
    // var_dump($preset); - show
    Ответ написан
  • Где в битриксе можно посмотреть логи действий администраторов?

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

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

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


    Никак. Дела не предполагают "результата".
    Для этого в Битрикс24 реализована концепция Push-CRM чтобы сущность не оставалась без запланированных дел.

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


    Этот кейс обычно закрывается через задания бизнес-процессов с запросом доп. результатов или ручным движением сделки по стадиям от менеджера.
    Например бывает создают стадию "Недозвон" (если это первичный звонок) или параллельно ставят задачу с требованием результата и заданием с подтверждением.
    Ответ написан
    Комментировать
  • Как вернуться на старую версию чата b24?

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

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

    Используйте методы CCrmLead или CCrmContact.

    Например для контакта (взято отсюда):
    $contactFields = [
        "FM"       => [
            "PHONE" => [
                // Телефон с ID 3567 будет изменен
                "3567" => [
                    "VALUE"      => '+78889996644',
                    "VALUE_TYPE" => "WORK",
                ],
                // Телефон в ID 1234 будет удален
                "1234" => [
                    "VALUE"      => '',
                    "VALUE_TYPE" => "HOME",
                ]
            ],
        ],
    ];
    
    $contactEntity = new \CCrmContact(false);
    
    $isUpdateSuccess = $contactEntity->Update($contactId);


    А вот как раз 3567 и 1234 вы можете получить либо через GetList той же сущности, либо через FieldMultiTable.
    Ответ написан
    Комментировать
  • Можно ли использовать Bitrix Framework без Bitrix CMS? Как начать?

    gromdron
    @gromdron
    Работаю с Bitrix24
    TLDR: Никак.

    Давно читал что Битрикс CMS -- это продукт, построенный на Bitrix Framework. Как и Битрикс 24. И по идее, можно построить на нём свой собственный продукт. Использовать без CMS или любого готового решения или продукта.


    Да, есть Bitrix Framework, но это не фреймворк в общепринятом виде, а именно каркас проприетарной системы который непрерывно связан с CMS (точнее обмазан вокруг).

    Есть ядро продукта (которое состоит из модулей main, fileman, ui, rest и сайта-админки), так вот Framework это часть модуля main который обеспечивает работоспособность системы.
    Ответ написан
    Комментировать
  • CRM Битрикс для медцентра со стоматологией, как настроить?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    TLDR;

    Внимательно ознакомьтесь с приказом Министерства здравоохранения РФ от 24 декабря 2018 г. N 911н - он сильно подпортит вам жизнь и наложит серьезные ограничения на ваши хотелки относительно Битрикс24. На вашем месте в указанных случаях лучше рассматривать профильные МИС (Медицинские информационные системы), коих великое множество и они могут существенно упростить жизнь. Лучше заплатить больше, но получить узкоспециализированное решение, чем выбрать "массовый инструмент" и получить штраф/уголовку.

    1. Сайт с возможностью записаться к врачу на прием ( врач, сам выставляет свое расписание доступности в crm и принимает заявки на прием)
    также регистратура имеет доступ к записи пациентов и отмене


    В плане ведения расписаний у битрикса не очень.
    Есть слоты, но они не сильно жизнеспособны.
    Есть бронирование ресурсов, но там нет расписания, да и нормального интерфейса по работе с записями.

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

    2. Нужно напомнить о записи пациенту через смс в день записи или заранее (текстом)

    Есть и штатные сопособы уведомления по СМС (без приложения в маркете), но в конечном итоге решать вам.

    3. Нужны карточки пациентов, с историей оказанных им услуг, оплатах и истории болезни


    Очень внимательно почитайте Приказ Министерства здравоохранения РФ от 24 декабря 2018 г. N 911н.
    Вы можете хранить историю обращений, оплаты, и некоторые персональные данные клиента в своей CRM, однако она должна соответствовать критериям МИС.
    Если вы решите хранить заключения врачей, протоколы исследований, результаты анализов - вы НЕ МОЖЕТЕ этого делать в Битрикс24.

    4. Возможность проводить рассылки смс пациентам


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

    5. Вести финансовый отчет, сколько услуг оказано в день, на какую суммму, каким пациентам, долг пациента (если не оплатили, или оплатил частично)


    Зависит от того как в итоге вы построите работу. В целом это можно и в BI смотреть и в аналитике придумать как.

    6. Считать комиссию врачей, у каждого врача свой процент - врач А зарабатывает 20%, врач Б - 30 %


    Битрикс не предполагает работу с комиссионными вознаграждениями. Т.е. либо писать свое приложение (или искать в маркете) либо высчитывать где-то на бумажке потом.

    7. Хотели рассылки в whatsapp делать, но сервис


    Есть много других систем которые общаются с Whatsapp - посмотрите и посравнивайте.
    Ответ написан
    Комментировать
  • Как правильно делать SELECT в методе CCrmProductRow::GetList Bitrix API?

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

    Для того чтобы получить "PROPERTY_62" вам нужно:
    1. Запросить товарные позиции для Сделки
    2. Отобрать только те товарные позиции у которых заполнен PRODUCT_ID
    3. Выполнить дополнительный запрос к инфоблоку торгового каталога и каталогу торговых предложений для получения свойств.
    Ответ написан
    Комментировать
  • Как импортировать записи в Ленту новостей Битрикса помимо API?

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

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


    Открыть форму создания задачи, развернуть блок "Дополнительно", нажать "Добавить поле".
    6544bec3ee645910942197.png

    "Полностью" в задачах поддерживается только 4 типа поля, остальные добавить можно и даже в карточке будут сносно работать, но вот в списке задач (как в фильтре, так и в отображении строки) такой роскоши не ждите.

    Если все равно хотите добавить: Админка - Настройки - Настройки продукта - Пользовательские поля.
    При добавлении указать код сущности TASKS_TASK
    Ответ написан
    Комментировать
  • Как мне добавить пользовательское поле в поисковый "движок" в Битрикс24?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    В коробочной версии:
    - Зайти в админку
    - Выбрать инфоблок с товарами
    - В свойствах отметить "Участвует в поиске"
    - Обновить товары.
    Ответ написан
  • Bitrix24 Можно ли использовать вебхуки и prolog_before.php в одном файле обработчике?

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


    Возможен, но это костыль - нужно отключить авторизацию для этого файла (NEED_AUTH).

    Если вы уже работаете с коробкой Битрикс24, то зачем вам вообще rest?
    Вы можете штатно подписаться на это и множество других событий и обработать их без всякого http взаимодействия (даже страницу не нужно новую создавать).

    Почитайте про события:
    https://dev.1c-bitrix.ru/learning/course/index.php...
    https://bx24devbook.website.yandexcloud.net/Razrab...

    И про свой код в битрикс: https://bx24devbook.website.yandexcloud.net/Razrab...
    Ответ написан
    Комментировать
  • Как загрузить папку в Б24?

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


    Здесь вы уперлись в ваш собственный лимит и решили перейти на более "простой" как вам показалось вариант.
    Нет, лучше не использовать эластичные диски, а выделять квоту явно и прогнозировать ее рост.
    Сотни гб - это объем который пугает вашу организацию (или вас), но у нас на некоторых проектах расчет идет в ТБ.

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


    Здесь вы упираетесь в организацию файлов - любая ФС будет тормозить при большом количестве файлов в одной директории. Диск битрикса24 не исключение - каталогизируйте ваши данные. Старайтесь не допускать более 500 объектов в директории.

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


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

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

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Штатно такой возможности нет. Интеграция Битрикс24 <-> БУС подразумевает что интегрируется стандартный Б24 и стандартный БУС без допилов.
    Ответ написан
    Комментировать
  • Где посмотреть созданные мною поля в карточке сотрудника?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    UPD 07.12.2023: Приношу свои извинения - неправильно прочитал и интерпретировал вопрос.

    Да, на данный момент есть такая проблема - созданные поля для сотрудника в облачном битрикс24 нельзя удалить через интерфейс. Об этом создана заявка в разработку 115505, можете подключиться (написать в техпод для повышения приоритета). Ждем исправление.

    Поля, однако, можно удалить через REST:
    * получить ID поля через user.userfield.list - https://dev.1c-bitrix.ru/rest_help/users/userfield...
    * удалить по ID поле через user.userfield.delete - https://dev.1c-bitrix.ru/rest_help/users/userfield...


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

    gromdron
    @gromdron
    Работаю с Bitrix24
    CFile::MakeFileArray

    MakeFileArray принимает параметром физический файл который будет, т.е. сначала вам нужно создать корректный pdf файл и положить его куда-нибудь в tmp директорию, а оттуда сохранить.

    А у вас судя по всему render() отрисовывается в контексте текущей страницы, где уже выведен хедер и от этого файл битый.
    Ответ написан
    Комментировать
  • ЧПУ на Битрикс через urlrewrite?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Вот прям вот так на стандартных компонентах вряд ли получиться.
    Дело в том что у вас конфликт с SEF. С одной стороны вы скорее всего в SEF указали что путь к детальной странице у вас выглядит как: #SECTION_CODE_PATH#/#ELEMENT_ID# и в таком случае ваша фраза "brands" воспринимается как символьный код одного из разделов.

    Я бы порекомендовал собрать свой комплексный компонент, который бы работал со следующими ЧПУ:
    /catalog/brands/#BRAND_CODE#/ - деталка конкретного бренда
    /catalog/brands/ - список брендов
    /catalog/item/#ELEMET_CODE#/ - деталка конкретного элемента
    /catalog/section/#SECTION_CODE_PATH#/ - отображение списка элементов в разделе
    /catalog/ - отображение списка разделов.

    А уже в качестве простых компонентов (в составе комплексного) использовать штатные компоненты битрикса.
    Ответ написан