Внесение данных по компании с помощью механизма импорта-экспорта
В этой статье мы рассмотрим алгоритм внесения данных по компании с помощью механизма импорта-экспорта данных.
Как использовать сам механизм и какие типы данных можно загружать и выгружать из системы, описано здесь.
Загрузка данных по компании в систему начинается с создания структуры компании.
Под структурой мы понимаем заведение всех юридических лиц компании, а также создание и настройку всех необходимых справочников
Справочники можно делать как предзаполненными, впоследствии только присваивая персонам нужные значения, так и оставлять их пустыми. В этом случае значения сохранятся в справочники и одновременно присвоятся персонам.
Заведение списка юридических лиц компании
Первое юридическое лицо компании всегда создается одновременно с договором.
Для внесения в систему дополнительных юрлиц необходимо пройти в раздел “Настройки - Организации”:
На открывшейся странице видим список всех ранее заведенных юрлиц:
В левой колонке указаны 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 - Заполняйте столбцы корректными данными (например, не стоит вносить латинское написание ФИО пассажира в столбцы для русскоязычной вариации. Лучше сделать транслитерацию).
Загрузка пользователей
После того, как успешно были загружены персоны, мы можем сделать их пользователями. Это отдельная процедура, требующая дополнительной работы с механизмом импорта/экспорта.
Первым делом нам необходимо выгрузить таблицу "Пользователи" с помощью механизма экспорта. Это делается по аналогии с экспортом таблицы персон, который мы рассматривали ранее.
Рассмотрим полученный файл:
Этот файл намного компактнее по объему данных. Рассмотрим, какие данные нам нужны для заполнения файла:
ID - это ID (номер записи в базе) пользователя в системе;
ID персоны - этот параметр мы уже рассматривали выше при заполнении таблицы персон;
ФИО - фамилия и имя персоны через пробел;
Email - это логин будущего или существующего пользователя в системе
ID роли - это номер записи в базе кортеос, который соответствует тому или иному типу роли. По умолчанию, ID роли распределяются от 1 до 3, где 1 - Селф-букер, 2 - Тревел-координатор, 3 - Тревел-менеджер.
Удален - по аналогии со списком персон, признак есть ли этот пользователь, или мы помечаем пользователя на удаление.
Как видно на приведенном скрине, в столбце ID роли есть значения, отличающиеся от стандартных. Это означает, что в настройках компании были созданы специальные кастомные роли, и они были присвоены некоторым из уже существующих пользователей. Подробнее о настройке ролей можно прочитать здесь).
Для того, чтобы узнать, какие роли еще есть в настройках компании, нам снова надо воспользоваться механизмом экспорта и сделать выгрузку по типу объекта "Роли". В выгруженной табличке мы видим собственно ID роли и ее название и сможем использовать их в дальнейшем для заполнения файла пользователей:
Теперь, имея табличку с данными персоны и табличку с ID ролей, мы можем приступить к заполнению таблицы пользователей.
Сделаем пользователем персону Джейми Ланнистера из нашей таблицы персон:
Нам потребуется его ID персоны и его фамилия и имя. Внесем их в нашу таблицу персон. Графу ID оставляем незаполненной, т. к. этот пользователь еще не внесен в систему и не имеет номера записи в ней:
Сохраняем и загружаем файл с помощью механизма импорта, используя тип импортируемого объекта "Пользователи". После выбора файла будет автоматически сформирована очередь загрузки:
При успешной загрузке статус у нашей очереди станет “Выполнено”:
А в профиле Джейми появятся данные его аккаунта: