Меню

Пользовательские поля в Bitrix24 передача значений в лидах

Пользовательские поля

На странице Пользовательские поля (Настройки > Настройки продукта > Пользовательские поля) можно добавлять новые поля, просматривать и изменять существующие, удалять ненужные пользовательские поля. Вывод значений пользовательских полей в публичной части производится с помощью API продукта.

Форма поиска

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

Чтобы отобрать пользовательские поля по заданным критериям поиска, нажмите кнопку Найти. Для отображения всех пользовательских полей нажмите кнопку Отменить.

Контекстная панель

Кнопка Описание
Добавить Переход к форме создания нового пользовательского поля.
Настроить Переход к диалогу настройки внешнего вида отчетной формы.
Excel Экспорт данных из отображаемой таблицы в MS Excel.

Список пользовательских полей

Пользовательские комментарии

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

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.

Источник

Пользовательские поля в Bitrix24 — передача значений в лидах

Если Вам необходимо передать значения для произвольных полей в лиды Bitrix 24, тогда предлагаю ознакомится Вам с данной статьей, где наглядно разобраны пошаговые действия.

Пользовательские поля в Bitrix 24 — это поля, которые вы задаете самостоятельно как для лида, так и для контакта и сделки. Данные поля функционируют точно так же как и стандартные поля в Битрикс 24. С их помощью вы можете совершать поиск и фильтрацию по базе.

Если вы настроили автоматическое создание лидов с сайта в Битрикс 24, то наверняка столкнись с таким вопрос как же передать значения для пользовательских полей вместе с заявкой с сайта.

Для этого необходимо всего лишь узнать ID уже созданного вами поля и добавить его значения в PHP скрипт для отправки данных.

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

Для того, чтобы узнать ID уже созданного Вами поля, необходимо:

  • открывать Ваш Bitrix 24;
  • перейти в раздел CRM → Настройки → Настройки форм и отчетов → Пользовательские поля → Лид (Список поле);
  • в списке найти ваше поле и перейти в него;
  • в поисковой строке, в конце url, вы увидите значение UF_CRM_XXXXXXXXXX
    https://ваш-домен.bitrix24.ru/crm/configs/fields/CRM_LEAD/edit/UF_CRM_XXXXXXXXXX/
    , где UF_CRM_XXXXXXXXXX — это и есть ID

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

Как создать пользовательское поле?

Для создания вашего пользовательского поля, необходимо:

  • открывать Ваш Bitrix 24;
  • перейти в раздел CRM → Настройки → Настройки форм и отчетов → Пользовательские поля → Лид (Добавить поле);
  • задать название поля;
  • поставить галочку для «Показывать в списке»;
  • желательно использовать тип поля «Строка»;
  • сохранить

Только после того как вы создадите пользовательское поле можно узнать его ID.

Как передать значение пользовательского поля в PHP скрипт для отправки данных?

Сам PHP скрипт для отправки данных вы можете найти в статье «Bitrix24 лиды с сайта — автоматическое создание лидов«, а также посмотреть его вариации по интеграции с:

Для того, чтобы передать значения для вашего пользовательского поля с помощь ваше упомянутого скрипта Вам необходимо в $postData = array добавить ID вашего поля и передать полученное для него значение.
Для примера приведу кусочек php скрипта по интеграции Contact Form 7 для WordPress и Битрикс24:

Читайте также:  Что показывает коэффициент финансовой независимости

Вот в принципе и вся настройка по передаче значений для пользовательских полей в лиды Битрикс24.

Источник



Битрикс. Пользовательские поля раздела инфоблока

Битрикс позволяет создавать пользовательские свойства для элементов инфоблока и пользовательские поля для разделов инфоблока, кроме тех, что доступны изначально. Давайте создадим два пользовательских поля для разделов инфоблока и посмотрим, как их можно получить, чтобы в дальнейшем использовать в шаблоне.

Это будут свойства для хранения мета-тегов description и keywords . В панели управления переходим на страницу управления разделами и элементами инфоблока

И вызываем форму редактирования какого-нибудь раздела. Переходим на вкладку «Доп.поля»:

Создаем два поля:

  • UF_SECT_DESCR — для хранения мета-тега description
  • UF_SECT_KEYWRD — для хранения мета-тега keywords

Чтобы получить пользовательские поля в коде компонента:

Теперь можем установить значения мета-тегов для страницы раздела инфоблока — либо ниже по коду компонента:

либо в файле component_epilog.php , который никогда не кешируется:

Отложенные функции — технология, позволяющая задавать заголовок страницы, пункты навигационной цепочки, CSS стили, дополнительные кнопки в панель управления, мета-теги и т.п. с помощью функций, используемых непосредственно в теле страницы. Соответствующие результаты работы этих функций выводятся в прологе, то есть выше по коду, чем они были заданы.

Технология была создана в первую очередь для использования в компонентах, которые, как правило, выводятся в теле страницы, но при этом внутри них могут быть заданы заголовок страницы, добавлен пункт в навигационную цепочку, добавлена кнопка в панель управления и так далее. Отложенные функции нельзя использовать в файлах шаблона компонента template.php и result_modifier.php (так как результаты их выполнения кешируются).

Обратите внимание, что нативные компоненты Битрикс могут сами устанавливать мета-теги descriptoin и keywords . И тем самым переопределять значения, установленные в component_epilog.php . Вот типичный код нативного компонента:

Пользовательские поля других объектов

Пользовательское поле — инструмент, позволяющий добавлять к объектам системы поля, не предусмотренные штатным функционалом. Пользовательские поля могут создаваться в неограниченном количестве для каждого объекта. При выборе того или иного типа пользовательского поля становятся доступными дополнительные поля настройки для соответствующего типа.

Применение пользовательских полей в Битрикс в привязке к тем или иным модулям, задаётся с помощью объектов, которые необходимо указать при создании поля. Не все модули имеют объекты для пользовательских полей по умолчанию. Разработчик может создавать собственные объекты, но надо понимать, что в методах GetList() поддерживаются только системные объекты:

Источник

Bitrix — Структура базы данных модуля пользователей

Таблица `b_user` содержит основные пользовательские данные: внутренний идентификатор, электронный адрес, логин, хэш пароля, хэш контрольного слова, дата регистрации и дополнительные предустановленные поля личных и рабочих данных.

Структура таблицы `b_user` :

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

`LOGIN` — логин пользователя,
`PASSWORD` — хэш пароля пользователя,
`CHECKWORD` — хэш контрольного слова,
`ACTIVE` — активность пользователя (‘Y’, ‘N’),
`NAME` — имя пользователя,
`LAST_NAME` фамилия пользователя,
`EMAIL` электронный адрес пользователя,
`LAST_LOGIN` — дата последнего авторизованного входа,
`DATE_REGISTER` — дата регистрации,
`LID` привязка к сайту,
`PERSONAL_* — поля персональных данных
`WORK_* — поля данных связанных с работой,
`ADMIN_NOTES` — комментарий админа,
`PERSONAL_BIRTHDAY` — дата рождения,
`EXTERNAL_AUTH_ID` — идентификатор внешнего сервиса авторизации,
`SECOND_NAME` — отчество,
`CONFIRM_CODE` — код подтверждения при восстановлении пароля,
`LOGIN_ATTEMPTS` — количество попыток авторизации,
`LAST_ACTIVITY_DATE` — дата последней активности.

Читайте также:  Open office таблица заголовок

Таблица `b_user_field` хранит набор пользовательских полей для различных модулей, типа блог, пользователи и т.п. Фильтрация по модулю осуществляется с помощью содержимого поля ENTITY_ID (в нашем случае для пользователя там будет указано USER).

Структура таблицы `b_user_field`
ENTITY_ID – идентификатор модуля,
FIELD_NAME – имя поля,
USER_TYPE_ID – тип поля(string, iblock_element, file и т.п.),
XML_ID
SORT – индекс сортировки,
MULTIPLE – является ли поле полем с множественным значением,
MANDATORY – обязательно ли поле,
SHOW_FILTER – показывать в фильтрации административного листинга,
SHOW_IN_LIST – показывать в списке административного листинга,
EDIT_IN_LIST — возможно ли редактирование в списке административного листинга,
IS_SEARCHABLE – возможен поиск по поля,
SETTINGS – дополнительные настройки в сериализованном виде, типа: (a:6:)

Источник

Собственный тип пользовательских полей в 1С Битрикс

Для решения некоторых задач порой не хватает стандартного набора пользовательских полей поставляемых из «коробки» 1С Битрикс Управление сайтом. Однако вы можете создать свой собственный тип пользовательского поля, определить его внешний вид и даже подключить какие-нибудь сторонние jQuery плагины. В данной статье мы рассмотрим несколько таких полей:

  • Привязка к пользователю
  • Выбор цвета

Первый можно использовать для фиксации автора изменения записи в HL блоке, второй для изменения внешнего вида элемента на странице. И так приступим.

Находим подходящий стандартный тип поля

Естественно мы не будем писать всё с нуля и изобретать велосипеды, а подберём подходящий под наши задачи существующий класс реализующий нужный тип поля. Все классы пользовательских полей хранятся в главном модуле в папке /bitrix/modules/main/classes/general/ файлы классов имеют префикс usertype, здесь вы найдёте следующий набор классов:

  • usertypebool.php
  • usertypedate.php
  • usertypedbl.php
  • usertypeelement.php
  • usertypeenum.php
  • usertypefile.php
  • usertypeint.php
  • usertypesection.php
  • usertypestr.php
  • usertypestrfmt.php
  • usertypetime.php
  • usertypeurl.php

Как мы будем хранить значения? Очевидно что для пользователя это будет USER_ID, а для цвета строка, я предпочитаю hex формат формат цвета. Следовательно нам потребуется скопировать и кастомизировать классы usertypeenum (список) и usertypestr (строка).

В принципе USER_ID можно реализовать на основе usertypeint, но давайте дадим администратору возможность удобного выбора пользователя, к тому же возможно нам потребуется сделать это поле множественным.

Подготовка init.php и пространства имён

Давайте для начала подготовим место где будем хранить все наши пользовательские классы, константы и обработчики событий. Я предпочитаю использовать папку local с вот такой структурой:

Структура папки local

первый делом рассмотрим init.php

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

Рассмотрим остальные файлы.

Файл constants.php

Файл autoload.php

Файл event_handler.php

Чтобы наши кастомные свойства были доступны в списке выбора типа пользовательского поля, нам необходимо перехватить событие создания этого списка и дополнить его своими типами свойств, вызвав зарезервированный метод GetUserTypeDEscription.

Создаём класс для определения своего пользовательского свойства

Как вы уже поняли и листинга файла с константами, наши классы будут лежать в директории /local/php_interface/lib/. Я предпочитаю разделять собственные классы на группы по директориям, например классы для работы с инфоблоками храню в папке Iblock, работы с каталогом в Catalog, для пользовательских свойств предлагаю создать папку UserType.

И так в директории /local/php_interface/lib/UserType/ создадим 2 файла CUserTypeUserId.php и CUserTypeColor.php. Начнём со свойства «Привязка к пользователю». Определим пространство имён, подключим доп.классы ядра.

В принципе, этого достаточно чтобы наш новый тип свойств появился в этом списке:

Свойства привязка к пользователю

Однако, пока что оно бесполезно. Давайте добавим недостающие методы:

  • GetList() — Получаем список значений
  • GetEditFormHTML() — Получить HTML формы для редактирования свойства
  • GetEditFormHTMLMulty() — Получить HTML формы для редактирования МНОЖЕСТВЕННОГО свойства
  • GetAdminListViewHTML() — Получаем HTML для списка элементов в админке
  • getEmptyCaption() — Получаем текст для пустого значения свойства
  • GetAdminListEditHTML() — Получить HTML для редактирования свойства в списке админ-панели
  • GetAdminListEditHTMLMulty() — Получить HTML для редактирования МНОЖЕСТВЕННОГО свойства в списке админ-панели
  • GetFilterHTML() — Получаем HTML блок для фильтрации списка элементов по этому свойству
Читайте также:  Сероводород H2S и сульфиды химические свойства

Я не стану размещать здесь все методы, хочу отметить лишь GetList(), т.к. в стандартных классах он обычно возвращает объект CDBResult, а мне больше нравится подготовить данные для отображения заранее, поэтому в нём я получаю массив значений для отрисовки его в методах GetEditFormHTML() и подобных:

Оба класса целиком вы найдёте в конце статьи. Подключив полноценный класс мы получаем вот такое свойство:

Выбор значения собственного свойства

За вывод этого списка отвечает метод GetEditFormHTML(). В настройках свойства так же можно включить множественный вариант его работы, который выглядит так:

Множественный вариант свойства
В данном случае работает метод GetEditFormHTMLMulty(). Если у класса корректно определены метод

  • GetAdminListViewHTML()
  • GetAdminListEditHTML()
  • GetAdminListEditHTMLMulty()

Значение свойств будут так же корректно отображаться и редактироваться в списке элементов:

Множественное свойство в списке и фильтре

На скриншоте виден так же блок фильтрации, он определяется методом GetFilterHTML() . Чтобы вывести собственное свойство в фильтр его можно добавить в настройках формы фильтра так:

Фильтр списка

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

Пользовательское свойство «Цвет»

Давайте разберёмся с более экзотическим классов «Цвет». Иногда нужно дать возможность контент-менеджеру определять цветовую схему элемента (новости, статьи или какой-то части её оформления), обычно для этого создаётся простое свойство типа «строка» куда записывается цвет скопированный из Photoship или ColorPicker, однако это требует больше действий от контентщика. Давайте реализуем такой функционал прямо внутри элемента.

За основу возьмём стандартный класс типа пользовательского поля «Строка» и определим для него необычный внешний вид (метод GetEditFormHTML()) . Нам так же потребуется какой-нибудь jQuery плагин для выбора цвета, я остановил свой выбор на jQuery ColorPicker он обладает нужным функционалом имеет необходимые события и довольно прост в настройке.

И так, для начала скачаем этот плагин и загрузим всё в /local/media/ как помните выше я определил константу APP_MEDIA_FOLDER.

Создаём класс для свойства «Цвет»

Как и для первого класса нам нужно определить метод GetUserTypeDescription который будет вызван в момент построения списка доступных пользовательских свойств.

Самый примечательный метод здесь это GetEditHTML()

В нём я подключаю css и js файлы плагина и пользовательский CUserTypeColor.js в котором осуществляется запуск плагина и указаны его настройки. Здесь блок colorpickerHolder предназначен для отрисовки формы выбора цвета а в поле colorpickerHolderInput записывается значение света, когда пользователь меняет параметры в форме или выбирает цвет на палитре при помощи мышки. Т.к. это демонстрационный пример, методы типа GetAdminListViewHTML() унаследованы у пользовательского типа «Строка» и просто выводят значение цвета в виде HEX-кода.

В результате подключения такого класса и создания пользовательского свойства типа «Цвет» получаем вот такой вот функционал:

Его можно использовать для подсветки важных элементов в списке или другого визуального оформления страницы. Как и обещал все материалы из статьи прикреплю в виде архива.

Источник