Структура базы данных модуля пользователей
Таблица `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` — дата рождения,
`SECOND_NAME` — отчество,
`CONFIRM_CODE` — код подтверждения при восстановлении пароля,
`LOGIN_ATTEMPTS` — количество попыток авторизации,
`LAST_ACTIVITY_DATE` — дата последней активности.
Таблица `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 – показывать в фильтрации административного листинга,
EDIT_IN_LIST — возможно ли редактирование в списке административного листинга,
IS_SEARCHABLE – возможен поиск по поля,
SETTINGS – дополнительные настройки в сериализованном виде, типа: (a:6:{s:4:»SIZE»;i:20;s:4:»ROWS»;i:1;s:6:»REGEXP»;N;s:10:»MIN_LENGTH»;i:0;s:10:»MAX_LENGTH»;i:0;s:13:»DEFAULT_VALUE»;N;})
Таблица `b_user_field_enum` предназначена для хранения значений типа поля enumeration:
Структура таблицы `b_user_field_enum` :
ID – идентификатор записи
USER_FIELD_ID – идентификатор пользовательского поля
VALUE – значение
DEF – значение используется как значение по умолчаниию
SORT – индекс сортировки
Мультиязычность для названий пользовательских полей реализуется с помощью таблицы `b_user_field_lang`.
Структура таблицы `b_user_field_lang`:
USER_FIELD_ID — идентификатор пользовательского поля
LANGUAGE_ID – идентификатор языка
EDIT_FORM_LABEL – фраза представления поля в форме просмотра и редактирования
LIST_COLUMN_LABEL –фраза представления поля в листинге
LIST_FILTER_LABEL – фраза представления поля в листинге фильтрации
ERROR_MESSAGE – фраза сообщения ошибки при работе с полем
HELP_MESSAGE – фраза помощи при работе с полем
Дополнительные пользовательские свойства хранятся в таблице`b_uts_user`, где каждое поле в структуре таблицы является пользовательским полем. Привязка осуществляется по полю VALUE – идентификатор пользователя, это единственное предустановленное поле в этой таблице, остальные поля соответствуют полям записи из таблицы `b_user_field`.
Пример структуры моей таблицы:
VALUE_ID
UF_CITY – пользовательское поле «город»
UF_СOUNTRY – пользовательское поле «страна»
Группы пользователей хранятся в `b_group` .
Структура таблицы `b_group` :
ID –идентификатор записи
TIMESTAMP_X
ACTIVE – активность группы
C_SORT – индекс сортировки
ANONYMOUS
NAME – имя группы
DESCRIPTION — описания
SECURITY_POLICY
STRING_ID
Связь между пользователями и пользовательскими группами осуществляется через таблицу `b_user_group`.
Структура таблицы `b_user_group`:
USER_ID – идентификатор пользователя
GROUP_ID – идентификатор группы
DATE_ACTIVE_FROM – время активности пользователя в группе с …
DATE_ACTIVE_TO – время активности пользователя в группе по …
Таблица используемых полей CRM
Стандартные поля сделок
TITLE — Название
OPPORTUNITY — Сумма
CURRENCY_ID — Валюта
OPPORTUNITY_ACCOUNT — Сумма в валюте учета
ACCOUNT_CURRENCY_ID — Валюта учета
PROBABILITY — Вероятность,%
ASSIGNED_BY_ID — Ответственный
ASSIGNED_BY_EMAIL — Ответственный (e-mail)
CATEGORY_ID — Направление
STAGE_ID — Стадия сделки
COMMENTS — Комментарий
CLOSEDATE — Предполагаемая дата закрытия
CONTACT_ID — Контакт
CONTACT_IDS — Контакты
COMPANY_ID — Компания
Стандартные поля контактов
NAME — Имя
LAST_NAME — Фамилия
SECOND_NAME — Отчество
BIRTHDATE — Дата рождения
EMAIL — E-mail
PHONE — Телефон
WEB — Сайт
POST — Должность
FULL_ADDRESS — Адрес
ADDRESS — Улица
ADDRESS_2 — Квартира
ADDRESS_CITY — Город
ADDRESS_REGION — Район
ADDRESS_PROVINCE — Область
ADDRESS_COUNTRY — Страна
COMMENTS — Комментарий
TYPE_ID — Тип контакта
ASSIGNED_BY_ID — Ответственный
SOURCE_ID — Источник
SOURCE_DESCRIPTION — Описание
COMPANY_ID — Компания
LEAD_ID — Лид
PHONE_WORK — Рабочий телефон
PHONE_MOBILE — Мобильный телефон
PHONE_FAX — Номер факса
PHONE_HOME — Домашний телефон
PHONE_OTHER — Другой телефон
WEB_WORK — Корпоративный сайт
WEB_HOME — Личная страница
WEB_FACEBOOK — Страница Facebook
WEB_VK — Страница ВКонтакте
WEB_LIVEJOURNAL — Страница LiveJournal
WEB_TWITTER — Микроблог Twitter
WEB_OTHER — Другой сайт
EMAIL_WORK — Рабочий e-mail
EMAIL_HOME — Частный e-mail
EMAIL_OTHER — Другой e-mail
Стандартные поля компании
TITLE — Название компании
COMPANY_TYPE — Тип компании
INDUSTRY — Сфера деятельности
EMPLOYEES — Кол-во сотрудников
REVENUE — Годовой оборот
CURRENCY_ID — Валюта
ASSIGNED_BY_ID — Ответственный
COMMENTS — Комментарий
EMAIL — E-mail
PHONE — Телефон
WEB — Сайт
IM — Мессенджер
ADDRESS — Фактический адрес
ADDRESS_LEGAL — Юридический адрес
BANKING_DETAILS — Банковские реквизиты
OPENED — Доступна для всех
LEAD_ID — Лид
PHONE_WORK — Рабочий телефон
PHONE_MOBILE — Мобильный телефон
PHONE_FAX — Номер факса
PHONE_HOME — Домашний телефон
PHONE_PAGER — Номер пейджера
PHONE_OTHER — Другой телефон
WEB_WORK — Корпоративный сайт
WEB_HOME — Личная страница
WEB_FACEBOOK — Страница Facebook
WEB_LIVEJOURNAL — Страница LiveJournal
WEB_TWITTER — Микроблог Twitter
WEB_OTHER — Другой сайт
EMAIL_WORK — Рабочий e-mail
EMAIL_HOME — Частный e-mail
EMAIL_OTHER — Другой e-mail
Предустановленные поля для сделок
OPPORTUNITY — сумма из поля «сумма». Важно что эт не сумма товаров, а именно то что пришло в поле «сумма»
CURRENCY_ID — Валюта. Из поля заказа «валюта»
Добавление пользовательских полей
Для того, чтобы получить идентификатор пользовательского поля, нужно :
Зайти в настройки уже созданного пользовательского поля (CRM > Настройки > Настройки форм и отчетов > Пользовательские поля > … )
Идентификатор содержится в адресе страницы после слова edit/
Типы полей
1) строка
2) число
3) дата/время
4) да/нет
Для полей типа булево (да/нет) модуль реагирует на значения в файле импорта (false, true)
Идентификаторы направления сделок
CRM > Настройки > С чего начать > направления сделок.
Идентификатор совпадает с ID направления.
Общее — направление по умолчанию. Туда будут попадать все не распределенные сделки.
Настройка соответствия стадий сделок
Стадии сделок следует искать в административной части Настройки > Производительность > таблицы таблица называется b_crm_status
В этой таблице нужно вынести в фильтр поле ENTITY_ID в фильтре указать значение ?DEAL_STAGE
Так же можно перейти по ссылке Адрес_вашего_портала/bitrix/admin/perfmon_table.php?PAGEN_1=1&SIZEN_1=50&lang=ru&set_filter=Y&adm_filter_applied=0&table_name=b_crm_status&find_type=ID&find_ENTITY_ID=%3FDEAL_STAGE&by=SORT&order=asc
Из этой таблицы будет видно
- ENTITY_ID — направление сделок. Без цифры — общее, с цифрой соответствует своему направлению.
- STATUS_ID — идентификатор статуса
- NAME — Ваше название стадии сделки.
0
Импорт из файла | Описание курса | Концепция использования
— Некоторые запросы к таблицам битрикс | |
— `b_option` хранит ваши опции | |
выберите count(*) из b_option; | |
— выбрать параметры для определенного модуля | |
выберите * из b_option, где MODULE_ID = ‘module. name’; | |
— выбрать опцию для определенного модуля с определенным именем | |
выберите * из b_option, где MODULE_ID = ‘module.name’ и NAME = ‘NAME_GOES_HERE’ | |
— удалить все опции для определенного модуля | |
удалить из b_option, где MODULE_ID = ‘module.name’; | |
— получить описание для некоторых таблиц, связанных с поиском: | |
— `b_search_content` хранит результаты поиска | |
описать b_search_content; | |
— `b_search_content_site` хранит связь между сайтом и результатом поиска из `b_search_content` | |
описать b_search_content_site; | |
— `b_search_content_right` хранит связь между группой пользователей и результатом поиска из `b_search_content` | |
описать b_search_content_right; | |
— `b_search_content_stem` хранит варианты основы | |
описать b_search_content_stem; | |
— выбрать результаты поиска для определенного модуля (например, iblock) | |
выберите * из b_search_content, где MODULE_ID = ‘iblock’ — упорядочить по идентификатору desc limit 10; | |
— выберите идентификаторы результатов поиска для определенного сайта (например, s1) | |
выберите * из b_search_content_site, где SITE_ID = ‘s1’; | |
— выбрать элементы из `b_search_content_right` | |
выберите * из b_search_content_right; | |
Импорт базы данных клиентов в Битрикс
База данных клиентов и сделок
Хотя некоторые из нас могут работать с CRM с нуля, большинство предпринимателей и компаний приходят к CRM в результате расширения своей деятельности. Поэтому к моменту установки новой CRM у нас уже должен быть список наших клиентов и сделок.
Другая ситуация – получение готового бизнеса и использование ранее собранной базы данных. В этом случае вы можете добавить и объединить базы данных.
В любом случае, импорт базы данных является важным шагом в начале использования CRM.
Процесс импорта в Битрикс
В Битриксе нет действительно удобного способа импортировать клиентскую базу в несколько кликов. Первое, что нужно отметить, это то, что сделки идентифицируются с контактом только по имени и фамилии.
Это неудобно, потому что у клиентов могут быть одинаковые имена или фамилии, а то и то и другое. Если у вас есть однофамильцы, система свяжет их сделки с одним человеком. Так, может возникнуть путаница и стать причиной серьезных обстоятельств.
Важно, что в Битрикс сделки должны импортироваться после контактов, а не наоборот. К сожалению, сделки в Битрикс не идентифицируются по идентификационным номерам. Значит, нужно правильно соотносить имена и фамилии без дублирующих значений.
Предполагая, что большинство баз данных имеют табличный формат Excel, мы рассмотрим образец базы данных и покажем скрытые опасности. Мы будем использовать стандартные инструменты Excel, чтобы избежать однофамильцев, поэтому этот процесс довольно прост и не требует каких-либо дополнительных навыков.
Рассмотрим подробно, как нам импортировать базу контактов в CRM Битрикс.
Мы начнем с импорта контактов. Только после Контакты мы сможем импортировать Сделки, если они есть.
Это довольно простая база данных наших клиентов и их сделок в Excel.
Прежде чем мы продолжим, нам нужно создать новый столбец с именем и фамилией. Мы делаем это для того, чтобы найти однофамильцы. Мы создали столбец и ввели следующую формулу: B2&», «&A2. Пробел между кавычками означает, что Имя и Фамилия будут разделены пробелом в новом столбце.
В результате у нас появилась новая колонка с подключенными Имя и Фамилия. Мы можем выделить несколько однофамильцев.
Наш пример базы данных очень мал, поэтому, если у вас будет лист намного большего размера, лучше использовать инструменты Excel. Нажмите «Главная» > «Условное форматирование» > «Правила выделения ячеек» > «Повторяющиеся значения».
Все однофамильцы будут выделены.
Далее мы добавляем 1 (или любой другой необычный символ) перед одним из повторяющихся имен. Идея состоит в том, чтобы как можно проще разделить однофамильцев.
Теперь у нас нет выделенных значений, что означает, что сделки не будут объединены между дублирующими контактами.
Последнее, что нам нужно сделать с нашей таблицей, это скопировать новый столбец и вставить его как значения. Итак, у нас будут только результаты формулы, без форматирования и комментариев.
Вернемся к Битриксу. Прежде чем мы импортируем нашу базу данных, нам нужно подготовить наш документ. Для этого перейдите в CRM — Контакты — нажмите на шестеренку и нажмите «Импортировать как файл CSV» с вашими настройками.
Перейдите непосредственно к «Импорт шаблона файла» и загрузите шаблон.
В скачанном шаблоне у нас есть файл Excel со всеми параметрами, которые по умолчанию имеют карточки контактов Битрикс.
Нам нужно скопировать наши столбцы и вставить соответствующие столбцы этого шаблона. В нашем примере мы копируем имя, фамилию, номер телефона и адрес электронной почты. Те параметры, которых у нас нет, следует оставить как есть.
Вернитесь в Bitrix и нажмите Выбрать файл данных и Выбрать файл CSV, который мы заполняли до
Оставьте все параметры импорта по умолчанию. Если у нас не было ответственного имени в базе данных, то Битрикс будет определять ответственного для всех строк по умолчанию.
Щелкните Далее.
Мы видим корреляцию наших данных с параметрами карточки контакта Битрикс. Нажмите «Далее.
Тогда у нас есть двойной контроль. В нашем случае мы загружаем совершенно новую базу данных клиентов, поэтому нажимаем «Далее».
На странице результатов мы видим количество контактов, которые будут импортированы. Нажмите Готово.
В результате в Битрикс было импортировано 6 карточек контактов.
Внутри карточки контакта видим реквизиты: номер телефона и адрес электронной почты.
Следующий шаг — импорт сделок. Перейдите в CRM — Сделки — значок шестеренки — Импорт сделок.
Аналогично импорту контактов необходимо скачать шаблон.
Аналогичным образом мы видим таблицу со всеми параметрами карточки Сделки Битрикс. Есть одна необходимая колонка, которая должна быть заполнена для всех сделок — Название сделки.
Копируем сделки из нашей базы, начиная с названия сделки.
В столбце «Контакты» нам нужно скопировать значения нового столбца, которые мы создали перед использованием формулы (не забудьте скопировать значения, а не саму формулу).
Сохранить CSV-файл.
Вернитесь в Bitrix и скачайте этот файл для импорта сделок.
Щелкните Далее.
Мы видим, как Битрикс соотносит значения с параметрами сделки. Нажмите «Далее.
Наконец, мы видим несколько импортированных сделок. Нажмите Готово.
Вот так они выглядят в виде списка.
Давайте рассмотрим их в представлении Канбан.
Заходя в сделку, мы видим правильно прикрепленную карточку контакта.
Наоборот, из карточки контакта мы можем просмотреть все актуальные Сделки.
Во вкладке сделок будут все сделки, связанные с этим конкретным контактом.
Последнее, что нужно сделать, это удалить дополнительные символы. Для этого перейдите в «Контакты» и в поле поиска введите этот символ. В нашем случае это 1.
.Видим 2 контакта с дублирующимися Именами с 1 в начале.