Установка соответствия полей в файле данных и полей в базе

Обновлено: 06.07.2024

Механизм сопоставления данных при обмене через универсальный формат

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

Внутренние идентификаторы объектов

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

На практике соблюдать данное требование не всегда возможно, особенно в случае настройки синхронизации между приложениями, работа в которых велась независимо. Это связано с тем, что у двух одинаковых объектов, созданных параллельно в каждом приложении, будет два разных GUID.

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

Публичные идентификаторы объектов

Для успешного сопоставления объектов с разными GUID должно быть место для хранения информация об их соответствии. Таким местом является регистр сведений Публичные идентификаторы синхронизируемых объектов (далее РПИ).


Рис. 1 Регистр сведений Публичные идентификаторы синхронизируемых объектов

Структура регистра представлена в таблице:

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

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

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

Сопоставление объектов

  • Нажмите Сопоставить автоматически (рекомендуется), выберите поля для сопоставления с помощью флажков. Некоторые поля выбраны программой по умолчанию. Для того чтобы подтвердить свой выбор, нажмите Выполнить сопоставление. После поиска программа выводит на просмотр сопоставленные ею данные. Для подтверждения нажмите Применить.
  • После автоматического сопоставления можно оставшиеся объекты сопоставить вручную или изменить сопоставление объектов. Выделите нужные объекты двух баз, нажмите Отменить соответствие, для того чтобы попытаться сопоставить объекты вручную, нажмите Установить соответствие для того чтобы сопоставить объекты.
  • Для подтверждения нажмите Записать и закрыть.

Настройка полей таблицы сопоставления

  • Нажмите Колонки, чтобы добавить поля в колонки списка. С помощью флажков можно отметить дополнительные поля, для подтверждения нажмите Применить.

Получение данных из другой программы

Порядок сопоставления объектов

Варианты идентификации объектов при получении

Порядок автоматического сопоставления объектов при получении, содержится в правилах конвертации объектов (ПКО), предназначенных для получения данных. Правила ПКО находятся в общем модуле МенеджерОбменаЧерезУниверсальныйФормат


Рис 3 Разделы общего модуля МенеджерОбменаЧерезУниверсальныйФормат

Вариант автоматического сопоставления (идентификации) объектов при получении задается с помощью свойства ВариантИдентификации ПКО


Рис 4. Настройки идентификации в модуле менеджера

Существуют 3 варианта ( 3 значения) идентификации объекта


Рис 5. Настройки идентификации в КД3.0.

Еще одним свойством, определяющим логику сопоставления, является массив полей поиска, определяемый в свойстве ПоляПоиска ПКО.

Алгоритм поиска по полям

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

Переход к следующему варианту осуществляется в двух случаях:

  1. У загружаемого объекта не заполнено какое-либо из полей, которое указано в варианте поиска.
  2. Вариант поиска не дал результата.

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

Особенности.
При сопоставлении на этапе анализа данных у загружаемых объектов не проверяется заполнение полей, участвующих в поиске.

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

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

На этапе загрузки данных вариант поиска Номер + Дата для документов работает следующим образом: номер искомого документа проверяется на точное соответствие, дата определяет интервал, в котором проводится поиск по номеру. Сам интервал определяется как период уникальности номеров документа, в который входит указанная дата. Например, если номера документов уникальны в пределах месяца и задана дата 10 декабря 2001 года, то поиск будет проводиться в интервале с 01 по 31 декабря 2001 года.
На этапе анализа данных этот вариант поиска будет работать как обычно: оба поля будут проверяться на точное соответствие.

Работа в Битрикс24 строится на большом количестве данных, и зачастую это данные из внешних источников. В этом случае необходимо произвести импорт элементов - будь то база лидов, сделок, контактов или компаний.

С чего начать?

Для импорта данных перейдите в нужный раздел. Например, для импорта контактов это CRM - Контакты, для лидов - CRM - Лиды. Затем нажмите на шестерёнку и выберите нужный вид импорта:

Список видов импорта.jpg

Виды импорта могут отличаться для разных элементов (так, например, для контактов доступен импорт из большинства почтовых сервисов), однако всегда есть базовый тип - импорт из файла формата .CSV. Рассмотрим его на примере импорта контактов.

Импорт CSV файла

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

Настройка параметров импорта.jpg

Зачастую возникают трудности при создании такого файла, поэтому есть универсальная рекомендация - скачать пример файла по ссылке в поле Шаблон импортируемого файла и заполнить свой файл по аналогии с шаблоном.

Далее загрузите подготовленный файл в поле Файл данных и укажите разделитель.

На следующем шаге установите соответствие полей файла с полями системы. В большинстве случаев система сделает это автоматически:

Настройка соответствия полей.jpg

Далее выберите, как поступать с записями из файла, которые уже есть в системе:

Настройка дубликатов.jpg

По умолчанию система проверяет уникальность по полям ФИО, Телефон и Email.

На этом настройка завершена! Мы готовы импортировать новые элементы - нажмите кнопку Далее для запуска процесса. После завершения будет показан результат:

Результат импорта.jpg

Импорт составных полей

Некоторые поля в CRM являются составными - например, адрес в реквизитах контакта или компании. Такие поля необходимо разбить на отдельные строки.

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

Выполняется это в несколько шагов. Предположим, что все реализуется на Битрикс веб окружении. Но легко воспроизводиться на любом, нормальном хостинге. Итак:

1) Получение csv файла от поставщика

Если wget не установлен на сервере выполняем установку, в терминале

2) Добавление профиля импорта

Теперь создадим профиль импорта. на сайте проходим в
Администрирование -> Магазин -> Настройки -> Импорт данных
И добавляем новый профиль Import CSV (new)

Автоматическая загрузка каталогов из csv файлов в Битрикс

Тут просто, пошагово, настраиваем соответствие полей: В какой инфоблок записывать данные, в какие поля и настройки обработки элементов

Автоматическая загрузка каталогов из csv файлов в Битрикс

Сохраняем. И в списке профилей, напротив свеже созданного, выбираем в выпадающей менюшке "Привязать к cron"

Автоматическая загрузка каталогов из csv файлов в Битрикс

В следующем окне оставляем все поля пустыми, если что-то будет прописано- удаляем и нажимаем "Установить"

Автоматическая загрузка каталогов из csv файлов в Битрикс

Запоминаем ID профиля, в моем случае "1"

3) Подготавливаем файл-обработчик для запуска импорта csv

Для того, что бы импорт из csv заработал на cron по расписанию, сначала копируем файл
/bitrix/php_interface/include/catalog_import/cron_frame.php
прямо в эту же директорию, называем import_catalog.php и открываем на редактирование.

Удаляем все что касается php интерпритатора (первые строчки) и заменяем путь к корневой директории на:

И указываем ID своего сайта в переменной $siteID

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

Автоматическая загрузка каталогов из csv файлов в Битрикс

Дальше, заходим в терминал на сервере, пользователем bitrix и проходим в директорию с этим файлом

И делаем файл import_catalog.php исполняемым

4) Добавляем cron задание на выполнение импорта из профиля csv

Дело осталось за малым: Добавить выполнение этого скрипта в cron задание:

— 10 1 * * * Каждый день в 01:10
— bitrix /usr/bin/php -f Пользователем bitrix и интерпритатором php
— /home/. /import_catalog.php запускаем скрипт импорта
— 1 ID профиля импорта - 1

Если импортов несколько, не нужно постоянно копировать файл import_catalog.php, просто, в каждом cron задании, указывает ID нужного профиля в аргумент

PS: Если нужны логи импорта

Если понадобятся логи, дабы отладить и отслеживать процесс импорта каталога из csv. Можно добавить аргументом, в cron задание путь до файла логгирования. Пример:

Текст соглашения на обработку данных:

Настоящим в соответствии с Федеральным законом № 152-ФЗ «О персональных данных» от 27.07.2006 года Вы подтверждаете свое согласие на обработку ИП Башкатов К.Ю. персональных данных: сбор, систематизацию, накопление, хранение, уточнение (обновление, изменение), использование, передачу исключительно в целях продажи программного обеспечения на Ваше имя, как это описано ниже, блокирование, обезличивание, уничтожение.

ИП Башкатов К.Ю. гарантирует конфиденциальность получаемой информации. Обработка персональных данных осуществляется в целях эффективного исполнения заказов, договоров и иных обязательств, принятых ИП Башкатов К.Ю. в качестве обязательных к исполнению.

В случае необходимости предоставления Ваших персональных данных правообладателю, дистрибьютору или реселлеру программного обеспечения в целях регистрации программного обеспечения на ваше имя, вы даёте согласие на передачу ваших персональных данных. ИП Башкатов К.Ю. гарантирует, что правообладатель, дистрибьютор или реселлер программного обеспечения осуществляет защиту персональных данных на условиях, аналогичных изложенным в Политике конфиденциальности персональных данных.

Настоящее согласие распространяется на следующие Ваши персональные данные: фамилия, имя и отчество, адрес электронной почты, почтовый адрес доставки заказов, контактный телефон, платёжные реквизиты.

Срок действия согласия является неограниченным. Вы можете в любой момент отозвать настоящее согласие, направив письменное уведомления на адрес: г. Санкт-Петербург, ул. Профессора Качалова, 7, офис 313 с пометкой «Отзыв согласия на обработку персональных данных».

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

Настоящее согласие действует в течение всего периода хранения персональных данных, если иное не предусмотрено законодательством Российской Федерации.

Читайте также: