• Как сделать свои поля в бородке продаж?

    gromdron
    @gromdron Куратор тега Битрикс24
    ANTO,
    1) Если мой ответ помог в решении Вашего вопроса - "Отметьте его решением"
    2) Вопрос который вы хотите задать выходит за рамки данного вопроса. Лучше задать отдельный вопрос на эту тему

    P.S. Ничего особо и нету - вендорские курсы + изучение исходников
  • Как сделать свои поля в бородке продаж?

    gromdron
    @gromdron Куратор тега Битрикс24
    ANTO, Ваша задумка не нова, но ввиду дальнейшей путаницы, перемешивании полей и технических ограничений так делать не стоит. CRM это не HRMS, а процесс устройства на работу лучше на RPA сделать
  • Как распределить элементы по разделам GetList?

    Ну вот оно:

    $arFilter = Array("IBLOCK_ID" => $IBLOCK_ID);
    $resItem = CIBlockElement::GetList($arOrder, $arFilter, false, false, $arSelect);


    В этом запросе вы достаете все элементы из инфоблока 13. Причем не важно чнаходятся ли они в какой=то секции или нет.

    У вас получилось:
    - Компонент news.list который имеет параметр PARENT_SECTION достает N записей из какого-то инфоблока.
    - шаблон в котором дополнительно достаете все разделы с свойством UF_SECTION_ID, полученный из arParams
    - шаблон в котором для каждого дополнительного раздела достает ВСЕ элементы из этого же инфоблока.

    Что вам нужно?
    1) Разделить шаблон на 2 части: result_modifier.php (логика, запросы, обработка результатов) и template.php (чисто визуальное отображение), иначе вы запутаетесь.
    2) Проверить чтобы $arParams['PARENT_SECTION'] была не нулевая (не null, 0, false не пустой массив), иначе есть шанс получить все разделы
    3) Когда вы идете по разделам добавьте в фильтр указание конкретного раздела, иначе если перечислить 2-3 раздела вы 2-3 раза достанете все элемены из инфоблока
  • Как распределить элементы по разделам GetList?

    mills, за 1 GetList вы это не вытяните. Получили ID разделов из иб 2, делаете следующий запрос чтобы получить ID элементов из полученных разделов для ИБ2
  • Как сделать свои поля в бородке продаж?

    gromdron
    @gromdron Куратор тега Битрикс24
    ANTO, ну так никто не мешает их Вам сделать.
    В Битриксе 2 уровня обязательность: для поля и для стадии.
    В случае обязательности для поля - хоть вы треснете, то они должны быть заполнены.
    Если они обязательны со стадии, то в каких-то воронках они вполне могут быть не обязательными.
    Помните что стадия "Новая" в воронке1 и стадия "Новая" в воронке2 это разные стадии и одни и те же поля могут быть обязательными только для воронки1.

    В вообще вести в CRM что-нибудь типа приема сотрудников - плохая идея.
  • Совместим bitrix (v20.0.1198) и php7.4?

    Илья, прошу прощения - ошибся в весии. Будет требовать php 7.2 но рекомендуемая версия будет 7.4

    Об этом говорится в системе обновлений, если Ваша версия ниже 7.2 (7.1 или 7.0)
    5ef74efac6801341071952.png

    Так же об этом сказано в бета-пакете Bitrix Env:
    https://dev.1c-bitrix.ru/learning/course/index.php...

    – Добавлена возможность обновить PHP до версии 7.4 (только для Centos 7).


    Если в Bitrix Env появляется такая версия, значит автоматически появляется поддержка на уровне последней версии Битрикса
  • Почему атрибут «rel» тега «link» в разных ситуация имеет разные значения (stylesheet или preload)?

    Какие действия предшествовали ошибке? Например что-нибудь связанное с Композитным кешем?
  • Как связать форму обратной связи с Битрикс 24?

    gromdron
    @gromdron Куратор тега Битрикс24
    Надежда Головина, это отдельный вопрос на toster с пояснением и примером. Это не форум с темами, не стоит сводить все к единой переписке.
    1) Напишите на листочке что у вас есть
    2) Напишите что вы хотите получить
    3) Сформулируйте для себя вопрос, попытайтесь погуглить и почитать документацию.

    Если вы не смогли решить задайте отдельный вопрос на toster и получите на него быстрый и конкретный ответ.
    Не думаю что ваша конкретная ситуация и дальнейшее ее тут обсуждение будет интересно пользователям которых будет интересовать конкретный вопрос "Как связать форму обратной связи с Битрикс 24?"
  • Почему появляется ошибка в настройки модуля интеграции СДЭК?

    Вы не пробовали нажать "Добавить доствку" в сообщении об ошибке?
  • Как получить значение свойства элемента по ID в Битрикс?

    UnderDog32, а ты уверен что есть ключ PROPERTY_SLOGAN? Что говорит var_dump($element);?
  • Как автоматически (SQL-запросом?) поместить сотрудников в какой то отдел в Битрикс24?

    gromdron
    @gromdron Куратор тега Битрикс24
    Несколько сотен пользователей, десятки отделов... Я задолбаюсь вручную всех раскидывать


    Тогда используйте php api, с которым вы будете разбираться не меньше чем с REST. Быстрее будет ручками установить их (можно закинуть в головное подразделение и поручить это HRу)
    Если хотите попробовать через SQL, то стоит сделать бекап базы данных.

    Для данной задачи нам потребуется:
    - Иметь 2 списка: "Пользователь -> Подразделение" и "Подразделение - Руководитель подразделения"
    - Узнать ID пользователей которых нужно смаппить
    - Узнать ID подразделений
    - Установить подразделение пользователю
    - Установить руководителя к подразделению

    Как узнать ID пользователя?

    Все пользователи хранятся в таблице b_user.
    Туда можно отправить SQL запрос и по ФИО/Логину/email найти нужны пользователей

    Как найти все существующие подразделения?

    Узнаем ID инфоблока подразделений.
    Он хранится в таблице b_option. MODULE_ID = intranet, NAME = iblock_structure в VALUE будет идентификатор инфоблока (далее #IBLOCK_ID#)

    Получаем список существующих подразделений.
    Подразделение - раздел информационного блока "Орг.структура".
    Все разедлы хранятся в таблице b_iblock_section где по IBLOCK_ID = #IBLOCK_ID# можно найти все существующие подразделения.
    Нас интересуюет ключ ID из этой таблицы

    Как установить подразделение пользователю?

    За привязку подразделения к пользователю отвечает поле UF_DEPARTMENT.
    Это пользовательское поле (т.е. не хранится в таблице пользователей) множественное (хранится в табилце множественных значений) типа число.

    Сначала узнаем идентификатор пользовательского поля. Мета-информация обо всех пользовательских полях хранится в таблице b_user_field
    ENTITY_ID - мнемонический код сущности для поля (в данном случае USER)
    FIELD_NAME - код поля (в нашем случае UF_DEPARTMENT)

    После выполнения запроса мы получи ID поля UF_DEPARTMENT для пользователей.

    Значения множественных пользовательских полей для сотрудников хранятся в таблице b_utm_user
    VALUE_ID - идентификатор пользователя
    FIELD_ID - идентификатор пользовательского поля (см выше)

    Нас интересует VALUE_INT, туда и нужно заносить значения. Ко скольким подразделениям принадлежит пользователь, столько записей и получиться.

    Как установить руководителя к подразделению?
    Руководитель подразделение это свойство подразделения, а не пользователя.
    Сначала находим идентификатор инфоблока подразделения (см выше).
    Поле UF_HEAD (руководитель) не является множественным, поэтому его установить проще.

    Нас интересует таблица b_uts_iblock_666_section, где 666 - идентификатор инфоблока (помнишь мы нашли выше из b_option?)
    Для каждого пользователя есть строка VALUE_ID - идентификатор ПОДРАЗДЕЛЕНИЯ, UF_HEAD - идентификатор руководителя (пользователя).

    Но помни - там могут быть и другие поля, которые обязательны к заполнению из-за чего у пользователей могут возникнуть различные ошибки.
  • Как получить значение свойства элемента по ID в Битрикс?

    Т.е. мы получаем дамп всех значений?


    Нет, не всех. Элемент инфоблока состоит из двух групп "Поля элемента" и "Свойства элемента". Если не указано иное, то по-умолчанию запрашиваются ВСЕ значения из группы "Поля элемента".
    В моем фрагменте кода я запросил часть полей из группы "Поля элемента" (ID, IBLOCK_ID) и два интересующих вас поля из группы "Свойства элемента". Так что нет, дамп всех значений мы не получим.

    А чтобы вывести значение мы пишем:

    Нет, не пишем. $resElement объект класс CIblockResult и у него нет свойств и тем более к нему нельзя обратиться как к массиву. Поэтому и есть конструкция
    $element = $resElement->getNext()

    Это изложено в документации https://dev.1c-bitrix.ru/learning/course/index.php...
  • Как связать форму обратной связи с Битрикс 24?

    gromdron
    @gromdron Куратор тега Битрикс24
    Надежда Головина,

    для начала не светите $queryUrl. Я знаю токен, пользователя и мог бы скачать все данные с вашего битрикс24.
    Что касается остальных вопросов: не вы же явно их не передаете сами.

    Про товарные позиции почитайте в документации: https://dev.1c-bitrix.ru/rest_help/crm/productrow/...
    Про пользовательские поля тоже изложено в ней: https://helpdesk.bitrix24.ru/open/5488795/

    P.S. Если помог - есть отличная кнопка: "Отметить решением"
  • Как сделать значение параметра в таблице ссылкой?

    gromdron
    @gromdron Куратор тега Битрикс24
    У вас облачная или коробочная версия?
  • Как связать форму обратной связи с Битрикс 24?

    gromdron
    @gromdron Куратор тега Битрикс24
    Надежда Головина, endpoint это место куда физически отправляются данные (скрипт).
    Если у вас идет запись в конкретный инфоблок, то вы можете использовать событие "OnAfterIBlockElementAdd". Подробнее в документации: https://dev.1c-bitrix.ru/api_help/iblock/events/on...
  • Лид отображается только у директора?

    gromdron
    @gromdron Куратор тега Битрикс24
    tokmaganbet, для благодарностей есть кнопочка "Отметить решением".
    Что касается можно ли его передавать "и директору и менеджеру":
    1) Это другой вопрос (лучше не смешивать)
    2) Нет, это 2 лида. У лида может быть только один ответственный.
  • Лид отображается только у директора?

    gromdron
    @gromdron Куратор тега Битрикс24
    tokmaganbet, есть разные способы решения:

    1) В вызове REST метода передавать явно кому вы хотите направить лид (ответственного сотрудника)
    2) Сделать бизнес-процесс при создании лида, в нем проверять автора и если это директор (можно прописать и другие условия) переназначать на кого-нибудь.
    3) Создать веб-хук от пользователя, на которого должны падать лиды
    4) Поменять ролевую систему так, чтобы менеджеры видели свои + все открытые и создавать лид с параметром "доступен для всех"

    Способов масса. Выбирать Вам.