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

РазработчикуНовый

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

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

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

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

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

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

photo photo

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

photo photo

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

  • Название синхронизации - имя синхронизации, которое будет использоваться для отображения синхронизации среди общего перечня. Для удобства, можно использовать имя сайта, с которым будет производиться синхронизация, либо дату создания синхронизации.
  • Режим синхронизации. Обычно, при синхронизации двух программ "Клиентская база", одна из них должна быть инициатором синхронизации. В данном случае, синхронизироваться будут сайт и "Клиентская база", поэтому инициатором синхронизации будет "Клиентская база". Таким образом, в этом поле выбираем активный режим.
  • Тип синхронизации. Тип синхронизации указывает каким образом будет происходить обмен данными между программами (или, в нашем случае, между программой и сайтом)  В нашем случае, обмен будет происходить по протоколу FTP, поэтому выбираем соответствующий тип

photo

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

photo

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

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

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

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

photo

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

photo

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

photo

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

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

photo

photo

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

photo

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

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

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

photo

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

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

а. Файл должен иметь расширение .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



comments powered by HyperComments

+ сегодня

компаний уже выбрали Клиентскую базу!
Узнайте, почему.

  • компания
  • компании
  • компаний
  • выбрала
  • выбрали
  • выбрали

Создайте собственный аккаунт прямо сейчас! Бесплатно! Создать аккаунт