Версия формата миграции: 2.7.3

Миграция из других АСР делается через промежуточный набор таблиц в формате CSV.

Пример:

"ID";"STATUS_ID";"LOGIN";"JUR";"NAME";"ADDR";"PASSPORT";"W_PHONE";"H_PHONE";"M_PHONE";"EMAIL"
"12";"1";"example";"0";"Шварценгольд Виктор Робертович";"Москва г,Большой Сергиевский пер.,8,1,2,53,";"";"";"9101234567";"9031234567";""

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

Упрощения и допущения

  1. Юридические и физические лица находятся в одной таблице и отличаются только по специальному признаку.
  2. Из реквизитов юридического лица выгружается только его название, остальное требует ручного ввода (таблицу при необходимости можно дополнить полями с реквизитами).
  3. Текущий объём потреблённых услуг (трафик, минуты) никак не мигрирует, но дата окончания текущего периода мигрирует.
  4. Особенности оказания услуг (периодичность, пороги, единицы измерения, стоимость и т.д.) не мигрируют, а переносятся вручную и затем сопоставляются.

Выгрузка из старой АСР

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

Для полей с типом «Дата и время» используется следующий формат: 26.04.2009 13:04:55 (Oracle: DD.MM.YYYY HH24:MI:SS). Для полей только с датой или только с временем нужно использовать 26.04.2009 и 13:04:55 соответственно.

Таблицы сопоставлений, обязательные для выгрузки

В этом разделе указаны таблицы, данные из которых не мигрируются, а служат для сопоставления значений в приложении «Миграция» в мигрируемой системе с состояниями абонентов в Гидре.

Справочник состояний абонента

Таблица STATUS

Поле

Описание

ID

ID состояния

NAME

Наименование состояния

В простейшем случае в справочнике всего два состояния (включен, отключен).

Справочник сетевых служб

Таблица NS_LIST

ID

ID сетевой службы

NAME

Название сетевой службы

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

Справочник единиц измерения

Таблица UNITS_LIST

ID

ID единицы измерения

NAME

Название единицы измерения

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

Справочник услуг и тарифных планов

Таблица SERVICES

ID

ID услуги (тарифного плана)

NAME

Наименование услуги (ТП)

TYPE

Признак тарифного плана (если Y, то ТП; если N, то услуга)

UNIT_ID

ID единицы измерения — ссылка на UNITS_LIST.ID

Примечание: значения данного справочника не мигрируют, а сопоставляются с Номенклатурой.

Справочник валют

Таблица CURRENCY

ID

ID валюты

NAME

Наименование валюты

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

Справочник типов оборудования

Таблица EQUIP_TYPE

ID

ID типа

NAME

Название оборудования

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

Справочник абонентских групп

Таблица GROUPS

ID

ID группы

NAME

Название группы

Примечание: значения сопоставляются со справочником групп. Если в вашей системе нет групп, то имеет смысл всё равно добавить значения в этот справочник и привязать всех абонентов к группам в зависимости от их категории, например, Физические лица, Юридические лица, Сотрудники и т.п.

Справочник банков

Таблица BANKS

ID

ID банка

NAME

Название банка

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

Справочник типов счетов

Таблица ACC_TYPES

ID

ID типа счета

NAME

Тип счета

Примечание: значения сопоставляются со справочником типов счетов

Справочник типов удостоверений личности

Таблица AUTH_DOC_TYPES

ID

ID типа документа

NAME

Тип документа

Примечание: значения сопоставляются со справочником типов документов - удостоверений личности

Необязательные таблицы сопоставлений

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

Справочник видов телефонов

Таблица PHONE_TYPES

ID

ID вида привязки телефона

NAME

Вид привязки (Мобильный, Домашний, Рабочий итд)

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

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

Таблица FACT_ADDR_BIND_TYPES

ID

ID вида привязки фактического адреса

NAME

Вид привязки (Фактический, Адрес обслуживания итд)

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

Типы платежей

Таблица PAYMENT_TYPE

ID

ID типа платежа

NAME

Наименование типа платежа

VIRTUAL

Флаг. 'Y' если корректировка

Примечание: справочник служит для разделения платежей по разным видам (исправление ошибки, наличные, безналичные банк, ОСМП, Visa, Webmoney и тп), тип используется для удобства построения отчётов.

Таблицы с данными для миграции

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

Справочник абонентов и базовых субъектов учёта

Таблица USERS

ПолеОписаниеПримечание

ID

ID абонента

 

STATUS_ID

ID состояния абонента

Ссылка на STATUS.ID. Базовый СУ всегда создаётся в состоянии Активен
BASE_IDID базового СУСсылка на USERS.ID базового СУ (отдельная запись в таблице). Обычно выгружается пустым для автоматического формирования привязок

LOGIN

Код абонента

Уникальное краткое наименование, идентифицирующее абонента

JUR

Физическое или юридическое лицо (0 — физическое, 1 — юридическое)

 

NAME

ФИО (физ. лица) / Наименование (юр. лица)

 

ADDR

Домашний адрес. Формат адреса абонента:
<Город>,<Улица>,<Дом>,<Подъезд>,<Этаж>,<Квартира>,<Код домофона>

Если каких-то данных нет, то оставляйте пустые запятые, например, Самара г.,Пролетарская ул.,5,,,78,5к234
Номер дома может быть дополнен номером корпуса: Самара г.,Пролетарская ул.,5 корп. 7,,,78,5к234
ADDR_REMПримечание к адресу субъекта 

AUTH_DOC_TYPE_ID

Тип документа - удостоверения личности

Ссылка на AUTH_DOC_TYPES.ID

AUTH_DOC_SERIAL

Серия документа

 

AUTH_DOC_NO

Номер документа

 

AUTH_DOC_DATE

Дата выдачи документа

Формат DD.MM.YYYY

AUTH_DOC_ISSUE

Кем/где выдан

 
D_BIRTHДата рожденияФормат DD.MM.YYYY
BIRTH_PLACEМесто рождения 

INN

ИНН

 

OPF

Организационно-правовая форма, например ИП, ООО

ОПФ не сопоставляются. Значение из справочника ОПФ подбирается по совпадению наименования

W_PHONE

Рабочий телефон в формате E.164

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

H_PHONE

Контактный домашний телефон в формате E.164

Только для физических лиц, у которых в поле JUR указано 0. Можно указать несколько, разделив запятыми

M_PHONE

Контактный мобильный телефон в формате E.164

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

EMAIL

Контактный email

 

FIRM_ID

ID филиала

Ссылка на FIRMS.ID. Используется только при миграции с учетом многофилиальности

Примечание: список атрибутов для личных данных абонента может быть расширен по необходимости.

Справочник лицевых счетов

Таблица ACCOUNTS

ПолеОписаниеПримечание

ID

ID лицевого счёта

 

USER_ID

ID абонента

Ссылка на USERS.ID

ACC_NUM

Номер счёта

 

ACC_TYPE_ID

ID типа счета (ЛС, РС итд)

Ссылка на ACC_TYPES.ID

CUR_ID

ID валюты

Ссылка на CURRENCY.ID (если в системе только российский рубль, можно не указывать)

BANK_ID

ID банка

Ссылка на BANKS.ID (для лицевых счетов - оставлять пустым)

BALANCE

Баланс счёта

 

CREDIT

Текущий кредит абонента

Заполняется, только если кредит нужен. Если нет — оставлять пустым.

CREDIT_END_DATE

Дата окончания кредитного лимита

Если поле пустое, но в CREDIT указана величина кредита, то кредит будет постоянным

BALANCE_DATE

Дата, на которую рассчитан баланс

DD.MM.YYYY HH24:MI:SS

Нужно учитывать, что все платежи из PAYMENTS, которые пришли позже, чем дата указанная здесь, будут добавляться к балансу указанному в ACCOUNTS.BALANCE.

Привязки абонента к сетевым службам

Таблица NETSERV

ПолеОписаниеПримечание

ID

ID привязки

 

USER_ID

ID абонента

Ссылка на USERS.ID

NS_ID

ID сетевой службы

Ссылка на NS_LIST.ID

EQUIP_ID

ID абонентского оборудования

Ссылка на EQUIP.ID

Заполняется только для подписок на службы, в которых должно быть указано оборудование. В строках доступа к приложениям (например Личный кабинет абонента) поле должно быть пустым.

LOGIN

Логин

 

PASSWORD

Пароль

 

PASS_TYPE

Тип шифрования пароля (md5 итд). Оставлять пустым для plaintext

Типы шифрования не сопоставляются. Значение из справочника подбирается исходя из совпадения наименования

Примечание: в эту таблицу выгружаются логины и пароли на VPN, на личный кабинет, SIP-аккаунт и на другие ресурсы, которые контролирует биллинг. При этом в целях безопасности пароли при тестовых выгрузках нужно заменять на звёздочки или случайные строки. Настоящие пароли будут выгружаться всего один раз, при окончательной миграции.

Участие абонентов в группах

Таблица GROUPLINK

ПолеОписаниеПримечание

ID

ID записи об участии

 

USER_ID

ID абонента

Ссылка на USERS.ID

GROUP_ID

ID группы

Ссылка на GROUPS.ID

MAIN

Признак основной группы - 'Y'

Используется для выделения основной группы при привязке абонента к нескольким группам. Основная группа должна быть одна.

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

Подписка абонентов на услуги

Таблица SUBSCR

ПолеОписаниеПримечание

ID

ID подписки

 

ACC_ID

ID лицевого счёта

Ссылка на ACCOUNTS.ID

CONTRACT_ID

ID договора

Ссылка на CONTRACTS.ID

TARIFF_ID

ID услуги (тарифного плана)

Ссылка на SERVICES.ID

EQUIP_ID

ID абонентского оборудования

Ссылка на EQUIP.ID

D_BEGIN

Дата начала подписки

Дата, когда абонент выбрал новый тарифный план/услугу для смены

D_END

Дата окончания подписки

Оставлять пустым, если это последний выбранный тариф

QUANT

Заказанное количество услуги

Для тарифных планов - оставлять пустым

PAY_DAY

Расчетный день

Для плавающего расчетного дня оставлять пустым

Примечание: выгружаются услуги и тарифный план на следующий период. Если у вас фиксированный расчётный день, привязанный к 1 числу месяца, то выгружайте PAY_DAY = 1 (обычно для юридических лиц).

Операторское оборудование

Таблица OP_EQUIP

ПолеОписаниеПримечание

ID

ID оборудования

 

EQUIP_TYPE_ID

ID типа оборудования

Ссылка на EQUIP_TYPE.ID

CODE

Код оборудования

 

IP

IP-адрес для управления

 

FIRM_ID

ID филиала

Ссылка на FIRMS.ID. Используется только при миграции с учетом многофилиальности

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

Оконечное оборудование абонентов

Таблица EQUIP

ПолеОписаниеПримечание

ID

ID оборудования

 

USER_ID

ID абонента

Ссылка на USERS.ID

EQUIP_TYPE_ID

ID типа абонентского оборудования

Ссылка на EQUIP_TYPE.ID

Оставлять пустым для компонентов служб с единственным типом спецификации

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

OP_EQUIP_ID

ID операторского оборудования

Ссылка на OP_EQUIP.ID

OP_EQUIP_PORT

Порт операторского оборудования

 
OP_EQUIP_PORT_TYPEКод типа порта операторского оборудованияЗначение сопоставляется по коду, поскольку архитектурно в системе одинаковые типы портов различного оборудования являются различными сущностями
NS_IDID сетевой службы для управления оборудованиемСсылка на NS_LIST.ID. Обычно не используется - оставлять пустым

CODE

Код оборудования

Краткое наименование, идентифицирующее оборудование

MAC

Физический адрес (MAC)

Можно указать несколько, разделив запятой

IP

IP-адрес

Можно указать несколько, разделив запятой

MASK

Маска IP-адреса

 

PHONE

Абонентский телефонный номер в формате E.164

Можно указать несколько, разделив запятой

ADDR

Адрес обслуживания

Адрес выгружается в таком же формате, как USERS.ADDR
ADDR_REMПримечание к адресу обслуживания 

Примечание: поля OP_EQUIP_ID, OP_EQUIP_PORTOP_EQUIP_PORT_TYPE используются для указания привязки абонентского оборудования к операторскому и не являются необходимыми.

Справочник абонентских договоров

Таблица CONTRACTS

ПолеОписаниеПримечание

ID

ID договора

 

USER_ID

ID абонента

Ссылка на USERS.ID

NUM

Номер договора

 

D_DOC

Дата заключения договора

 

D_BEGIN

Дата начала действия договора

 

D_END

Дата окончания действия договора

 

Платежи

Таблица PAYMENTS

ПолеОписаниеПримечание

ID

ID операции

 

ACC_ID

ID лицевого счёта

Ссылка на ACCOUNTS.ID

BANK_ID

ID банка

Ссылка на BANKS.ID. Оператор связи должен иметь счет в этом банке

D_OPER

Дата и время операции

 

PAYMENT_SUM

Сумма платежа, умноженная на 100 (целое число)

 

PAYMENT_TYPE_ID

Тип платежа

Ссылка на PAYMENT_TYPE.ID. Можно оставлять пустым - будут использоваться типы платежей по умолчанию

Списания

Таблица WRITEOFFS

ПолеОписаниеПримечание

ID

ID операции

 

ACC_ID

ID лицевого счёта

Ссылка на ACCOUNTS.ID

CONTRACT_ID

ID договора

Ссылка на CONTRACTS.ID

D_OPER

Дата и время операции

 

TARIFF_ID

ID услуги (тарифного плана)

Ссылка на SERVICES.ID

EQUIP_ID

ID абонентского оборудования

Ссылка на EQUIP.ID

SUM

Сумма списания, умноженная на 100

Полная сумма списания, не цена услуги.

D_BEGIN

Дата и время начала периода списания

 

D_END

Дата и время окончания периода списания

 

USED

Количество, умноженное на 100

В единицах измерения, указанных для услуги в TARIFF_ID, введенной в Гидре

Суммы в таблице WRITEOFFS не должны быть отрицательными - только положительные значения и 0.

Многофилиальная структура

При наличии многофилиальной структуры используется справочник филиалов, на который ссылаются поля FIRM_ID в таблицах USERS и OP_EQUIP

Таблица FIRMS

ID

ID филиала

NAME

Наименование филиала

Сопоставляется с организационной структурой предприятия.

Множественные комментарии

Поддерживается загрузка множественных комментариев к абонентам и абонентскому оборудованию

Таблица COMMENT_TYPES

IDID типа комментария
NAMEНаименование комментария

Сопоставляется со справочником "Типы комментариев"

Таблица USER_COMMENTS

IDИдентификатор
USER_IDСсылка на USERS.ID
COMMENT_TYPE_IDСсылка на COMMENT_TYPES.ID
CL_COMMENTТекст комментария
D_OPERДата создания
D_SIGNALДата напоминания
D_EXECДата выполнения

Таблица EQUIP_COMMENTS

IDИдентификатор
EQUIP_IDСсылка на EQUIP.ID
COMMENT_TYPE_IDСсылка на COMMENT_TYPES.ID
CL_COMMENTТекст комментария
D_OPERДата создания
D_SIGNALДата напоминания
D_EXECДата выполнения

Дополнительные таблицы

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

В частности, адрес из USERS.ADDR подвергается парсингу и записывается в таблицу PARSED_USER_ADDRESSES. Таким образом, если в биллинге, из которого выгружаются данные, информация об адресе хранится в разобранном виде, то нет нужды писать его в одну строку — можно сразу заполнить таблицу.

Таблица PARSED_USER_ADDRESSES

ПолеОписаниеПримечание

USER_ID

Соответствующий ID из таблицы USERS

Ссылка на USERS.ID
ADDR_BIND_TYPE_ID

Вид адреса

Ссылка на FACT_ADDR_BIND_TYPES.ID.
Необязательное поле. По умолчанию - фактический адрес

VC_ORIGINAL

Строка с адресом из USERS.ADDR. При ручном заполнении необязательно

 
VC_DISTRICTРайон 

VC_CITY

Название населенного пункта

 

VC_CITY_TYPE

Тип населенного пункта

Краткое наименование типа региона: «г.», «пгт.»...

VC_STREET

Название улицы

 

VC_STREET_TYPE

Тип улицы

Краткое наименование типа региона: «ул.», «п-т», «пер.»...

VC_HOUSE

Номер дома

 

VC_BUILDING

Корпус

 
VC_CONSTRUCTСтроение 
VC_OWNERSHIPВладение 

VC_ENTRANCE_NO

Номер подъезда

Допустимо только числовое значение

VC_FLOOR

Номер этажа

Допустимо только числовое значение

VC_FLAT

Квартира

 

VC_DIS_CODE

Код домофона

 
VC_CUSTOM_ADDRESSНестандартный адресс 
VC_REMКомментарий 

 

Таблица PARSED_EQUIP_ADDRESSES

ПолеОписаниеПримечание

EQUIP_ID

Соответствующий ID из таблицы EQUIP*

Ссылка на EQUIP.ID
ADDR_BIND_TYPE_ID

Вид адреса

Ссылка на FACT_ADDR_BIND_TYPES.ID.
Необязательное поле. По умолчанию - адрес обслуживания

VC_ORIGINAL

Строка с адресом из EQUIP.ADDR. При ручном заполнении необязательно.

 
VC_DISTRICTРайон 

VC_CITY

Название населенного пункта

 

VC_CITY_TYPE

Тип населенного пункта

Краткое наименование типа региона: «г.», «пгт.»...

VC_STREET

Название улицы

 

VC_STREET_TYPE

Тип улицы

Краткое наименование типа региона: «ул.», «п-т», «пер.»...

VC_HOUSE

Номер дома

 

VC_BUILDING

Корпус

 
VC_CONSTRUCTСтроение 
VC_OWNERSHIPВладение 

VC_ENTRANCE_NO

Номер подъезда

Допустимо только числовое значение

VC_FLOOR

Номер этажа

Допустимо только числовое значение

VC_FLAT

Квартира

 

VC_DIS_CODE

Код домофона

 
VC_CUSTOM_ADDRESSНестандартный адресс 
VC_REMКомментарий 

 

Таблица USER_PHONES

USER_IDСоответствующий ID из таблицы USERS*
PHONE_TYPE_IDСоответствующий ID вида привязки телефона к СУ из таблицы PHONE_TYPES*
PHONEТелефон
REMПримечание

Во время повторной миграции может оказаться полезным загрузить состав абонента из выгрузки в состав уже существующего абонента в Гидре. Для этого необходимо заполнить таблицу USER_MAPPINGS

Таблица USER_MAPPINGS

USER_IDСоответсвующий ID из таблицы USERS*
USER_DST_CODEСоответствующий код абонента из Гидры


Сотрудники компании

Часто число сотрудников достаточно велико, и вводить их вручную нецелесообразно. Для этого необходимо добавить сотрудников как абонентов в таблицу USERS, выдать доступ к приложениям с помощью NETSERV (по аналогии с доступом в ЛК) и заполнить следующие таблицы.

Таблица DEPARTMENTS (Отделы)

 ПолеОписание
1IDИдентификатор отдела
2FIRM_IDСсылка на фирму из FIRMS.ID
3NAMEНаименование отдела

Таблица EMPLOYEE_TYPES (типы сотрудников)

 ПолеОписание
1IDИдентификатор
2NAMEНаименование

Таблица EMPLOYEES (сотрудники)

 ПолеОписаниеПримечание
1IDИдентификатор 
2USER_IDАбонентСсылка на USERS.ID
3FIRM_IDФирма, сотрудником которой является абонентСсылка на FIRMS.ID
4DEPARTMENT_IDОтдел (может быть использован в Гидре для разграничения прав)Ссылка на DEPARTMENTS.ID
5EMPLOYEE_TYPE_IDТип сотрудника (может быть использован в Гидре для разграничения прав)Ссылка на EMPLOYEE_TYPES.ID
6NAME_GENITIVEФИО в родительном падеже 
7APPOINTMENTДолжность 
8APPOINTMENT_GENITIVEДолжность в родительном падеже 
9ACT_AUTHORITYДействует на основании 
10TAB_NOТабельный номер 
11D_BEGINДата принятия на работу 
12D_FIREДата увольнения 
13REMКомментарий