Импорт данных из внешней системы
Многие компании используют для обслуживания клиентов систему Pyrus Service Desk и хранят договора с клиентами в Пайрусе в виде форм. В ходе общения с клиентами у них постоянно возникает необходимость обратиться к актуальным договорам: проверить, на каких условиях он заключен, каков его срок и нужна ли пролонгация и т.д.
Также нередки случаи, когда необходимо сделать рассылку клиентам по электронной почте так, чтобы каждое отправленное письмо отображалось в виде задачи в Pyrus. Для этого нужно импортировать в Pyrus список электронных адресов клиентов.
Для таких целей нужна система удобного хранения, обновления и синхронизации баз данных, которые хранятся вовне, с формами в Пайрусе. Её можно настроить с помощью Pyrus Sync.
После настройки достаточно будет разместить файл с базой договоров в формате CSV в определенную папку на вашем компьютере, и текущие данные будут обновляться, а новые появляться в Пайрусе в виде новых задач.
Как все происходит
Конфигурация Pyrus Sync хранится на сервере и описывает следующие действия с CSV-файлом:
- проверка уникальности контракта по идентификатору (например, номеру договора, ИНН клиента или его электронный адрес);
- идентификация пользователя, которому по завершении процесса импорта отправится лог;
- определение папки для размещения файла с базой договоров после того, как импорт будет завершен;
- создание новых задач в Pyrus при появлении в файле новых договоров;
- мэппинг: определение того, данные каких полей в файле в какие поля формы Pyrus импортируются.
Настраиваем конфигурацию
Скачайте Pyrus Sync с сайта https://pyrus.com/ru/pyrus-sync и установите себе на компьютер.
Зарегистрируйтесь в Pyrus Sync как пользователь Pyrus c доступом к нужной форме.
В левом меню в разделе Forms выберите нужную форму, например Контракты.
Скопируйте конфигурацию из папки Pyrus Sync на сервере, нажмите кнопку New Import, выберите пункт CSV File и вставьте конфигурацию.
Справочник, из которого импортируется файл с данными и имя самого файла можно поменять в настройках в строке Connection String.
Также в настройках в строке ResultUser можно поменять идентификатор пользователя, которому должен прийти лог (в виде задачи в Пайрусе) по совершенному импорту.
Нажмите Save. Импортирование настроено.
Импортируем файл с данными
Откройте нужный xlsx-файл на компьютере, с которого запускается Pyrus Sync, и сохраните его в формате CSV, с разделителем «запятая» и форматом UTF-8.
Важно! Если вы работаете на компьютере с русской версией ОС Windows, в качестве разделителя вместо запятой система поставит точку с запятой. Открыв CVS-файл в формате Notepad, убедитесь, что разделитель — это точка с запятой.
Если в качестве разделителя система предложила другой символ, войдите в конфигурацию импорта данных (с помощью кнопки Configure) и вручную измените параметр Delimiter.
Положите файл с контрактами в заранее созданную папку: C:\NAME\контракты.xlsx.
Запустите Pyrus Sync, перейдите в пункт Forms, выберите Контракты и нажмите кнопку Run Now.
После окончания импорта лог появится у указанного пользователя во входящих Pyrus.
Подсказка: вы можете импортировать базу данных и в xlsx-формате. Для этого нужно:
- установить на компьютер ODBC-драйвер и MS Excel;
- в целевую папку сохранить только один xlsx-файл, а не несколько;
- после загрузки файла открыть его и заново сохранить в Excel.
В остальном действовать так же, как и при импорте CSV-файла.
Импорт данных в поле типа Таблица. Бывает нужно, чтобы табличные поля формы заполнялись значениями из таблицы, размещенной вне системы Pyrus. Для того чтобы импортировать эти значения в Pyrus Sync и синхронизировать с формой, нажмите кнопку New Import в разделе настроек Pyrus Sync, выберите пункт CSV File и вставьте конфигурацию следующего типа:
{ "Id": "d479f309-90e8-4384-8747-05daf2955392", "Name": "Import Импорт таблицы (создание)", "Path": "C:\\Users\\akabu\\Downloads\\updatetest1.csv", "Delimiter": ";", "Encoding": "UTF-8", "ImportSettings": { "SyncExistingTasks": true, "PkFields": [ "Поле вне таблицы (ключевое)" ], "TablePkFields": [ "Ключевая колонка таблицы (уникальное значение)" ], "CreateNewTask": true, "ImportRules": [ { "ColumnMap": [ { "CsvColumn": "Поле вне таблицы (ключевое)", "PyrusField": "Поле вне таблицы (ключевое)" }, { "CsvColumn": "Ключевая колонка таблицы (уникальное значение)", "PyrusField": "Ключевая колонка таблицы (уникальное значение)" }, { "CsvColumn": "Вторая колонка таблицы", "PyrusField": "Вторая колонка таблицы" } ] } ] } }
Обратите внимание, что в конфигурации обязательно указать:
- ключевое поле, которое находится вне таблицы (значение поля выступает в качестве идентификатора, аналогично роли ID договора в предыдущем примере);
- ключевую колонку поля типа Таблица с уникальным значением.