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

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

В программе "Клиентская база" реализована возможность синхронизировать данные в двух и более CRM программ "Клиентская база". Это могут быть программы любых версий (SaaS, Web, Local). Теперь вы можете синхронизировать данные отдельных полей или целые таблицы. Синхронизация может быть как односторонняя, так и двусторонняя. Синхронизация осуществляется в режиме реального времени с установленной вами периодичностью (от 1 секунды).

Синхронизация двух и более программ "Клиентская база"

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

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

Пример 1

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

Пример 2

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

Пример 3

Есть несколько программ, но необходимо вести единую таблицу Счета с единой нумерацией и данными об оплатах. Или есть несколько программ, но необходимо вести единую таблицу Клиенты. В этом случае также используется двусторонняя синхронизация нескольких программ.

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

План действий по синхронизации

Каждый из пунктов подробно описан ниже:

  • Определяем какая программа будет активной, а какая пассивной;
  • Настраиваем первичную синхронизацию в пассивной программе;
  • Настраиваем первичную синхронизацию в активной программе (подцепляемся к пассивной);
  • Добавляем поля для синхронизации в активной программе;
  • Добавляем поля и проставляем соответствия полей в пассивной программе.

Три типа синхронизации

Возможные типы синхронизации: HTTP, локальный, FTP.

HTTP - активная база подключается к пассивной, синхронизация через HTTP - запросы, папки для синхронизации не используются. Это наиболее простой способ, однако, таким образом невозможно синхронизировать файлы больших размеров (более 2Мб).

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

FTP - информация из текущей программы отсылается в удаленные папки по протоколу FTP. Возможно синхронизировать файлы более 2Мб.

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

1. Определяем, какая программа будет активной, а какая пассивной
При синхронизации двух программ одна должна быть активная, а другая пассивная. Активная программа является инициатором синхронизации периодически посылая запросы и выгружая данные. В случае синхронизации версии LOCAL, следует назначать активной её, так как она не имеет глобального адреса, поэтому она сама должна выгружать данные соединяясь с программой расположенной онлайн. В случае синхронизации двух программ расположенных на веб-сервере, то какая из них будет активная, а какая пассивная не принципиально. Необходимо сначала настраивать пассивную программу, а затем активную.

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

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

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

img-2023-12-14-14-38-04

Разберем настройки:

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

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

Тип синхронизации - выберите тип синхронизации. В данном случае "HTTP".

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

Пароль - введите пароль для пассивной программы (он будет использоваться для подключения с активной программой).

Лог - поставьте галочку, если требуется логировать действия синхронизации.

Нажимаем "Сохранить". Мы подготовили синхронизацию в пассивной программе, переходим к активной.

1572518085_5984

3. Настраиваем первичную синхронизацию в активной программе

1572518226_0954

Аналогично заполняем поля в активной программе.

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

Режим синхронизации - выберите «Активная».

Тип синхронизации - выберите тип синхронизации так же "HTTP".

Доступ к удаленной программе - включите доступ. После чего пояится поле «Адрес удаленной программы», сюда вводите адрес программы где настроена пассивная синхронизация.

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

После того как первичная синхронизация в пассивной программе создана, то же самое создаем в активной. В случае если активная программа “увидела” пассивную, рядом с названием активной синхронизации загорится зеленая галочка.

1572516634_6335

4. Добавляем поля для синхронизации в активной программе

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

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

1572518314_4543

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

Выгрузка - данные поля только выгружаются. Изменения в другой программе не будут загружаться в текущую.

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

Синхронизация поля отключена - синхронизация полей приостановлена.

1623313515_9987

После того как мы выбрали все параметры поля, нажимаем “Добавить”. Мы видим, что это поле добавилось внизу, рядом с ним появилась иконка способа синхронизации и номер поля в системе. Номер пригодится нам в дальнейшем при настройке пассивной программы. Повторяем добавление поля нужное количество раз, добавляя все необходимые для синхронизации поля. На этом настройка полей активной программы завершена. Возвращаемся к пассивной программе.

В случае, если вы хотите изменить способ синхронизации, щелкните на иконку со стрелочками.

5. Добавляем поля и проставляем соответствия полей в пассивной программе
Повторяем механизм добавления полей описанный в пункте 4, за одним исключением.

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

1623313922_7029

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

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

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

В случае если данные не синхронизируются, необходимо проверить, работает ли в программах CRON.

Важно! Для того чтобы записи в таблицах удалялись, у синхронизированных программ (и активной, и пассивной) необходимо обязательно добавить системные поля «Время добавления» и «Статус записи».

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

1572517379_2236

Синхронизация пользователей

В версии 3.0.2 была добавлена возможность синхронизации пользователей. Как правило, в разных базах набор пользователей может различаться, например, у одного и того же пользователя разный ID, но при этом совпадает логин или ФИО. В этом случае можно установить нужный режим синхронизации данных полей - по логину, по ФИО или по ID. Настройка находится в разделе "Дополнительно". В обеих программах (и в пассивной, и в активной) выставите одинаковое значение.

1623314481_9254

Первичная синхронизация одного поля

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

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

1623317033_3547

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

Ссылки на синхронизируемые записи

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

1623319371_8286

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

1623325046_4676

Доп. действие для ручной синхронизации

В версии 3.0.2 появилась возможность автоматически вывести доп. действие «Синхронизация» в заданной таблице. При клике на данное допдействие будет засинхронизирована запись, к которой это ДД было применено.

Чтобы добавить такое доп. действие, необходимо:

  • зайти в настройки таблицы, в которой нужно вывести доп. действие,
  • нажать вкладку «Синхронизация»,

1623335028_4807

  • перейти в настройки нужной синхронизации,
  • нажать кнопку «Добавить доп. действие «Синхронизация»

1623334142_6007

В таблице появится кнопка, при клике на которую будет засинхронизирована запись, к которой это ДД было применено.

1623335090_0816

Настройка синхронизации по FTP и локальный тип синхронизации

Отличия настроек данных типов синхронизации в способе обмена данными между программами.

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

FTP тип синхронизации для обмена данных используется если программа использует для синхронизации папки на стороннем компьютере. В этом случае необходимо указать доступ к этим папкам.

1572517280_0579

FTP-сервер - Адрес FTP-сервера без указания протокола и папок, например mycompany.ru

FTP-порт - Стандартным портом FTP является 21

Логин - Логин FTP

Пароль - Пароль FTP

Папка выгрузки - Например, /cb/upload

Папка загрузки - Например, /cb/download

Важно! При настройке папок загрузки и выгрузки в активной и пассивной программе эти папки должны быть противоположными.

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

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

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

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

Удачных настроек!