Иногда может возникать ситуация, когда необходимо подтягивать данные из "Клиентской базы" на сайт и наоборот. Для этих целей возможно использовать функцию синхронизации в CRM системе "Клиентская база".
Для того, чтобы разобраться как это возможно сделать, рассмотрим конкретный пример. В данном примере у нас есть программа и интернет-магазин. Наша задача - подтягивать счета из интернет-магазина в нашу программу.
Для синхронизации программы "Клиентская база" и сайта совершите следующие шаги:
Примечание! Имя папки может быть любым другим, соответствующим правилам создания контента на данном хостинге.
Открываем программу и переходим в "Настройки" - "Дополнительно"
Переходим в раздел "Синхронизация" и добавляем новую синхронизацию
Название синхронизации - имя синхронизации, которое будет использоваться для отображения синхронизации среди общего перечня. Для удобства, можно использовать имя сайта, с которым будет производиться синхронизация, либо дату создания синхронизации.
Режим синхронизации. Обычно, при синхронизации двух программ "Клиентская база", одна из них должна быть инициатором синхронизации. В данном случае, синхронизироваться будут сайт и "Клиентская база", поэтому инициатором синхронизации будет "Клиентская база". Таким образом, в этом поле выбираем активный режим.
Тип синхронизации. Тип синхронизации указывает каким образом будет происходить обмен данными между программами (или, в нашем случае, между программой и сайтом) В нашем случае, обмен будет происходить по протоколу FTP, поэтому выбираем соответствующий тип:
После добавления всех данных нажмите на кнопку "Сохранить".
Важно! Если в программе настроено несколько синхронизаций, для каждой синхронизации нужны отдельные папки загрузки и выгрузки.
Важно! В папках для выгрузки и загрузки должны быть созданы папки для синхронизации файлов. Название папки должно быть "files".
а. Переходим в настройки поля таблицы "Счета" и открываем поле "Категория". Добавляем новую категорию - "Сайт". Таким образом, мы сможем выделить из общей массы счета, добавленные по синхронизации.
б. На основе этого поля создаем в таблице "Счета" фильтр. Условием фильтра будет "поле "Категория" равно "Текущий".
Также, раскрываем меню "Скрыть поля", ставим галочку рядом с полем "Категория" и ставим значение по умолчанию "Сайт".
После этого, сохраняем фильтр.
Аналогичным образом, добавим синхронизацию с полем "Описание".
По мере добавления полей для синхронизации, необходимо указать в поле "По фильтру" значение "Сайт". Т.е. указать тот фильтр, который мы специально создали ранее.
Важно! Здесь стоит заметить, что рядом с названием полей "Сумма" и "Описание" показываются их ID (2071 и 1083, соответственно). Стоит запомнить их, т.к. они будут нам необходимы для дальнейших действий по синхронизации.
Если в счетах, создаваемых на сайте, идет также разбивка позиций счета и есть необходимость загрузки их в соответствующую таблицу нашей программы, то необходимо предварительно подготовить таблицу "Позиции счета" аналогично пункту 5 данной документации. Например, так будет выглядеть задание синхронизации, если нам будет необходимо добавлять и общую информацию из счета и позиции счета.
Для того, чтобы данные корректно загрузились в программу, файл, в котором будет содержаться информация для загрузки должен соответствовать следующим требованиям
а. Файл должен иметь расширение .log (например такой - 2013-03-12_13-02-41.log) и должен загружаться в папку sync_in
б. Структура файла должна быть примерно следующая.
ID поля в которое загружается информация;Уникальный номер записи;Данные которые будут внесены в поле
При этом, каждая новая запись, должна быть в файле с новой строки.
Например, на сайте появился счет № 81 на сумму 9981 с описанием Покупка холодильника Samsung. В таком случае содержимое файла для импорта должно выглядеть примерно так
2071;81;9981
1083;81;Покупка холодильника Samsung
где
2071 и 1083 - ID полей "Сумма" и "Описание"
81 - Номер счета
9981 и "Покупка холодильника Samsung" - значения, которые добавляются в таблицу "Счета" в поля "Сумма" и "Описание" соответственно.
При заполнении счета на сайте указываются также его позиции. И у нас появился счет № 81 с общим описанием "Покупка холодильника Samsung" на сумму 9981 рублей со следующими позициями:
Холодильник - 2шт
Доставка - 1 шт.
Т.к. каждая добавляемая запись должна быть уникальной, то для позиций счета вместо номера счета будет записывать номер счета + номер позиции по этому счету.
В результате, для того, чтобы загрузить информацию как в таблицу "Счета", так и "Позиции счета" файл должен выглядеть примерно так
2071;81;9981
1083;81;Покупка холодильника Samsung
807;81-1;81
1440;81-1;Холодильник
811;81-1;2
807;81-2;81
1440;81-2;Доставка
811;81-2;1