Внесение данных по компании с помощью механизма импорта-экспорта

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

Как использовать сам механизм и какие типы данных можно загружать и выгружать из системы, описано здесь.

Загрузка данных по компании в систему начинается с создания структуры компании.

Под структурой мы понимаем заведение всех юридических лиц компании, а также создание и настройку всех необходимых справочников

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

Заведение списка юридических лиц компании

Первое юридическое лицо компании всегда создается одновременно с договором.

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


На открывшейся странице видим список всех ранее заведенных юрлиц:

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

Кнопка "Добавить" позволит создать новое юридическое лицо в существующем договоре:

Создание справочников кодов и их настройка

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

Для этого следует перейти в раздел Настройки / Справочники кодов и создать необходимые структурные и структурные меняемые справочники:

При нажатии на кнопку "Перейти" под любым из типов справочников - откроется страница со списком справочников данного типа:

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

Проверку привязки справочника к организации можно осуществить в закладке "Организации" в настройках каждого конкретного спровочника:

Нажатие кнопки "Добавить все" привяжет справочник ко всем существующим в договоре юр. лицам.

Загрузка персон

Экспорт структуры данных персон

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

Итак, какие данные мы можем залить:

  • Список справочников, если они еще не заведены;

  • Список кодов в этих справочниках;

  • Список персон (они же пассажиры);

  • Список пользователей (персоны, у которых есть аккаунт в системе).

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

Также именно к персоне привязывается информация о пользователе.

Поэтому первым шагом нам надо залить в систему список персон. А потом при необходимости сделать некоторых из них пользователями.


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

Сразу возникает вопрос, откуда мы можем взять эту таблицу?

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

Далее создаем заявку на экспорт:

После выполнения задания в очереди скачиваем файл с персонами из списка очередей задач:

В скачанном файле содержится несколько закладок:

  • Персоны и пользователи - основная закладка, на которой находятся данные о персоне (ФИО, дата рождения, паспорта, гражданство, привязки к организациям, коды, и т. д.);

  • Персональные тревел-политики - закладка, на которой можно привязать персональные тревел-политики к персонам*;

  • Мильные карты - закладка, на которой можно привязать мильные карты к персонам;

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

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

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

На приведенном выше скрине мы видим табличку, в которой в столбце “ID персоны” у некоторых пользователей уже заполнены ID

Если нам необходимо внести изменения по ним, то мы меняем данные в нужных столбцах, не изменяя при этом этот ID.

При заведении новой персоны ID персоны не указывается, поскольку ее еще нет в системе, а, значит, и нет номера ее записи (ID) в базе данных.

ID организации необходимо заполнять для вновь заводимых персон и сохранять для тех, по которым вносим изменения.  

ID организации или ИНН/КПП организации должны быть обязательно указаны для вновь заводимых персон.

ФИО пассажира заполняются в соответствующих столбцах.

Пол - латиницей, заглавными буквами:

  • M - Male (муж.); 

  • F - Female (жен.).

Данные о гражданстве - двухбуквенный alpha-код страны.

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

Зеленым цветом выделены данные по загранпаспортам (актуально только для граждан РФ). Тут точно также вносим данные о номере, сроке действия (уже актуальный из документа) и двухбуквенный alpha-код страны выдачи паспорта (RU).

Последний важный момент на этой странице - колонка "Удален":


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

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

Проверка и сохранение данных в таблице

Теперь еще раз проверим все занесенные данные.

  • Корректность указания ID организации или связки ИНН/КПП;

  • Корректность внесенных ФИО;

  • Корректность внесения пола (корректные буквы);

  • Корректность внесения гражданства (корректные буквы);

  • Корректность занесенных паспортов и сроков их действия;

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

Загрузка отредактированного файла в систему

После того, как данные проверены, сохраняем файл под нужным именем, но в исходном формате .xlsx, и возвращаемся в раздел "Импорт/Экспорт".

Выбираем процедуру "Импорт":

 

Тип импортируемых данных - “Персоны и пользователи”.

Нажимаем на кнопку загрузки и выбираем сохраненный файл:

В системе формируется очередь на загрузку:

В случае, если все данные были заполнены верно, то по окончанию обработки очереди мы увидим вот такую запись в общем списке очередей:

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

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

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


Важные моменты:
1 - Не изменяйте формат файла;

2 - Не переименовывайте вкладки;

3 - Заполняйте столбцы корректными данными (например, не стоит вносить латинское написание ФИО пассажира в столбцы для русскоязычной вариации. Лучше сделать транслитерацию).

 

Загрузка пользователей

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

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

Рассмотрим полученный файл:

Этот файл намного компактнее по объему данных. Рассмотрим, какие данные нам нужны для заполнения файла:

  1. ID - это ID (номер записи в базе) пользователя в системе;

  2. ID персоны - этот параметр мы уже рассматривали выше при заполнении таблицы персон;

  3. ФИО - фамилия и имя персоны через пробел;

  4. Email - это логин будущего или существующего пользователя в системе

  5. ID роли - это номер записи в базе кортеос, который соответствует тому или иному типу роли. По умолчанию, ID роли распределяются от 1 до 3, где 1 - Селф-букер, 2 - Тревел-координатор, 3 - Тревел-менеджер.

  6. Удален - по аналогии со списком персон, признак есть ли этот пользователь, или мы помечаем пользователя на удаление.

Как видно на приведенном скрине, в столбце ID роли есть значения, отличающиеся от стандартных. Это означает, что в настройках компании были созданы специальные кастомные роли, и они были присвоены некоторым из уже существующих пользователей. Подробнее о настройке ролей можно прочитать здесь).

Для того, чтобы узнать, какие роли еще есть в настройках компании, нам снова надо воспользоваться механизмом экспорта и сделать выгрузку по типу объекта "Роли". В выгруженной табличке мы видим собственно ID роли и ее название и сможем использовать их в дальнейшем для заполнения файла пользователей:

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

Сделаем пользователем персону Джейми Ланнистера из нашей таблицы персон:


Нам потребуется его ID персоны и его фамилия и имя. Внесем их в нашу таблицу персон. Графу ID оставляем незаполненной, т. к. этот пользователь еще не внесен в систему и не имеет номера записи в ней:

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

При успешной загрузке статус у нашей очереди станет “Выполнено”:

А в профиле Джейми появятся данные его аккаунта: