В этой статье мы рассмотрим алгоритм внесения данных по компании с помощью механизма импорта-экспорта данных.
Как использовать сам механизм и какие типы данных можно загружать и выгружать из системы, описано здесь.
Загрузка данных по компании в систему начинается с создания структуры компании.
Под структурой мы понимаем заведение всех юридических лиц компании, а также создание и настройку всех необходимых спровочников
Справочники можно делать как предзаполненными, впоследствии только присваивая персонам нужные значения, так и оставлять их пустыми. В этом случае значения сохранятся в справочники и одновременно присвоятся персонам.
Заведение списка юридических лиц компании
Первое юридическое лицо компании всегда создается одновременно с договором.
Для внесения в систему дополнительных юрлиц необходимо пройти в раздел Настройки / Организации:
На открывшейся странице видим список всех ранее заведенных юрлиц:
В левой колонке указаны 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 оставляем незаполненной, т.к. этот пользователь еще не внесен в систему и не имеет номера записи в ней.
Сохраняем и загружаем файл с помощью мезанизма импорта, используя тип импортируемого объекта "Пользователи".
После выбора файла будет автоматически сформирована очередь загрузки
При успешной загрузке статус у нашей очереди станет выполнен
А в профиле Джейми появятся данные его аккаунта