Импорт данных из внешней системы
Многие компании используют для обслуживания клиентов систему 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, с разделителем «запятая».
Важно! Если вы работаете на компьютере с русской версией ОС Windows, в качестве разделителя вместо запятой система поставит точку с запятой. Открыв CVS-файл в формате Notepad, убедитесь, что разделитель — это точка с запятой.
Если в качестве разделителя система предложила другой символ, войдите в конфигурацию импорта данных (с помощью кнопки Configure) и вручную измените параметр Delimiter.
Положите файл с контрактами в заранее созданную папку: C:\NAME\контракты.xlsx.
Запустите Pyrus Sync, перейдите в пункт Forms, выберите Контракты и нажмите кнопку Run Now.
После окончания импорта лог появится у указанного пользователя во входящих Pyrus.
Подсказка: вы можете импортировать базу данных и в xlsx-формате. Для этого нужно:
- установить на компьютер ODBC-драйвер и MS Excel;
- в целевую папку сохранить только один xlsx-файл, а не несколько;
- после загрузки файла открыть его и заново сохранить в Excel.
В остальном действовать так же, как и при импорте CSV-файла.
Особенности импорта значений из CSV-файла в поля формы
Обратите внимание: значения колонок CSV-файла могут быть переданы не во все типы полей формы Pyrus. Они не импортируются в поля следующих типов: Время, Телефон, Файл, Подпись, Автор, Форма.
- Поле типа Текст. В это поле можно импортировать любые значения из CSV-файла, в том числе гиперссылки.
- Поле типа Число. При импорте из CSV-файла числовых значений, содержащих десятичные дроби, целую и дробную части нужно отделить друг от друга точкой (.). Десятичная дробь, разделенная запятой, импортироваться не будет, например число 123,456 будет импортировано в поле формы в виде 123,000.
- Поле типа Деньги. Для импорта в это поле действует то же условие, что и для поля типа Число: разделителем целой и дробной частей должна быть точка (.).
- Поле типа Выбор. При импорте значений CSV-файла в поле Выбор необходимо иметь в виду, что из CSV-файла будут импортироваться только значения, соответствующие указанным значениям в поле формы, только на латинице, а значения множественного выбора в колонке CSV-файла должны отделяться друг от друга точкой с запятой (;), иначе задача создастся, но без выбора значений формы;
- Поле типа Галочка. При импорте в это поле значений из CSV-файла, необходимо иметь в виду, что значениями должны быть только YES или NO. При попытке импорта отличных значений, или импорта без значения, задача по форме будет создана, но галочка не будет выставлена.
- Поле типа Справочник:
- Pyrus Sync позволяет загружать значение колонки из CSV-файла в поле типа Справочник формы. Поиск значения ведется по всему файлу, и элемент, содержащий искомое значение, загружается в задачу.
- можно загружать значение из определенной колонки CSV-файла. Для этого в конфигурации импорта CSV-файла надо добавить настройку "CatalogColumIndex": 1, где 1 — номер колонки справочника (нумерация начинается с 0). Далее при импорте CSV-файла происходит поиск этого значения в колонке справочника в файле и, если значение найдено, в поле формы загрузится элемент, содержащий это значение.
- Поле типа Дата. При импорте в это поле необходимо, чтобы импортируемое значение имело формат формате MM/DD/YYYY (например, 12/04/2023, т.е. 4 декабря 2023 года). При попытке импортировать значения в любом другом формате, равно как и значения с ошибкой, например 12/32/2023 (32 декабря 2023 года), импорт не будет осуществлен, задача не будет создана.
- Поле типа E-mail. Pyrus Sync импортирует значение из CSV-файла и создает задачу даже при ошибке в написании электронной почты. Например, при импорте значение someone@gmail из CSV-файла, задача создается, значение импортируется, но в поле указывается, что импортированное значение не соответствует формату e-mail.
- Поле типа Контакт. Необходимо, чтобы импортируемое значение из файла существовало в списках Сотрудники и Контрагенты вашей организации Pyrus. Если совпадений импортируемого значения и значений указанных справочников не будет найдено, задача не будет создана. Обратите внимание: импорт значения 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 договора в предыдущем примере);
- ключевую колонку поля типа Таблица с уникальным значением.