Синхронизация КБ+сайт

Начиная с версии 3.0.4.22893, доступно только в линейке тарифов PRO. Подробнее о тарифах можете узнать на странице Аренда аккаунта / Покупка лицензии.

Общая информация

Иногда может возникать ситуация, когда необходимо подтягивать данные из "Клиентской базы" на сайт и наоборот. Для этих целей возможно использовать функцию синхронизации в CRM системе "Клиентская база".

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

Настройка синхронизации

Для синхронизации программы "Клиентская база" и сайта совершите следующие шаги:

  1. Подключаемся по FTP к хостингу, на котором находится сайт, с которого в «Клиентскую базу» будут поступать счета, и создаем две папки - sync_in и sync_out, устанавливаем права на чтение запись в эти папки (желательно 777)

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

  1. Открываем программу и переходим в "Настройки" - "Дополнительно"

  2. Переходим в раздел "Синхронизация" и добавляем новую синхронизацию

img-2023-12-14-14-02-12

  1. После нажатия на кнопку "добавить синхронизацию" откроется окно, в котором возможно будет задать следующие настройки синхронизации:

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

Режим синхронизации. Обычно, при синхронизации двух программ "Клиентская база", одна из них должна быть инициатором синхронизации. В данном случае, синхронизироваться будут сайт и "Клиентская база", поэтому инициатором синхронизации будет "Клиентская база". Таким образом, в этом поле выбираем активный режим.

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

1387193897_3106

  1. После изменения указанных выше настроек, появляются поля, в которые стоит внести параметры для подключения к серверу, на котором находится сайт. Эти данные идентичны тем, которые вносились бы при подключении к серверу при подключении с помощью FTP-менеджера (типа Filezilla). В полях "Папка выгрузки" и "Папка загрузки" указываем путь к созданным ранее папкам для синхронизации (sync_in и sync_out, соответственно).

img-2023-12-14-14-17-09

После добавления всех данных нажмите на кнопку "Сохранить".

Важно! Если в программе настроено несколько синхронизаций, для каждой синхронизации нужны отдельные папки загрузки и выгрузки.

Важно! В папках для выгрузки и загрузки должны быть созданы папки для синхронизации файлов. Название папки должно быть "files".

  1. Настраиваем таблицу "Счета".

а. Переходим в настройки поля таблицы "Счета" и открываем поле "Категория". Добавляем новую категорию - "Сайт". Таким образом, мы сможем выделить из общей массы счета, добавленные по синхронизации.

1387289044_033

б. На основе этого поля создаем в таблице "Счета" фильтр. Условием фильтра будет "поле "Категория" равно "Текущий".

1387290006_2664

Также, раскрываем меню "Скрыть поля", ставим галочку рядом с полем "Категория" и ставим значение по умолчанию "Сайт".

1387290051_9916

После этого, сохраняем фильтр.

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

1387291133_3872

Аналогичным образом, добавим синхронизацию с полем "Описание".

1387352233_3985

По мере добавления полей для синхронизации, необходимо указать в поле "По фильтру" значение "Сайт". Т.е. указать тот фильтр, который мы специально создали ранее.

Важно! Здесь стоит заметить, что рядом с названием полей "Сумма" и "Описание" показываются их ID (2071 и 1083, соответственно). Стоит запомнить их, т.к. они будут нам необходимы для дальнейших действий по синхронизации.

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

1387366443_8725

Требования к файлу, который будет загружаться в КБ

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

а. Файл должен иметь расширение .log (например такой - 2013-03-12_13-02-41.log) и должен загружаться в папку sync_in

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

ID поля в которое загружается информация;Уникальный номер записи;Данные которые будут внесены в поле

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

Пример 1

Например, на сайте появился счет № 81 на сумму 9981 с описанием Покупка холодильника Samsung. В таком случае содержимое файла для импорта должно выглядеть примерно так

2071;81;9981  
1083;81;Покупка холодильника Samsung

где

2071 и 1083 - ID полей "Сумма" и "Описание"

81 - Номер счета

9981 и "Покупка холодильника Samsung" - значения, которые добавляются в таблицу "Счета" в поля "Сумма" и "Описание" соответственно.

Пример 2

При заполнении счета на сайте указываются также его позиции. И у нас появился счет № 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