Структура базы данных

Материал из ISPWiki

Перейти к: навигация, поиск

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

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

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

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

После редактирования данных в базе данных, необходимо либо перезапустить BILLmanager (killall billmgr), либо сбросить кэш для конкретной таблицы (/usr/local/ispmgr/sbin/mgrctl -m billmgr drop.cache elid=ИМЯ_ТАБЛИЦЫ)

Данные о клиентах

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

  • account - содержит записи о клиентах
    • id - идентификатор (код) клиента
    • name - наименование, произвольное внутренне имя клиента
    • level - уровень доступа, для клиентов всегда равен 5
    • parent - ссылка на аккаунт провайдера, обычно 1
    • partner - ссылка на партнера, если клиент был зарегистрирован по чьей-то партнерской программе
    • bonustype - тип выбранной партнерской программы
    • regdate - дата регистрации
    • regip - ип-адрес, с которого проводилась регистрация
    • note - произвольное примечание
  • user - пользователи клиента (клиент может иметь несколько пользователей)
    • id - идентификатор (код) пользователя
    • name - имя пользователя, которое он вводит при авторизации в системе
    • account - ссылка на account, которому принадлежит пользователь
    • password - хеш пароля, воспринимаются хеши DES, MD5, BLF
    • realname - ФИО пользователя
    • email - электронный почтовый ящик
    • superuser - обычно 1, т.к. единственный пользователь не может быть ограничен в правах
  • profile - плательщики клиента (клиент может иметь несколько плательщиков)
    • id - идентификатор (код) плательщика
    • name - наименование
    • account - ссылка на account, которому принадлежит плательщик
    • ptype - тип плательщика (1 - частное лицо, 2 - юр. лицо)
    • person - контактное лицо
    • vatnum - ИНН
    • kpp - КПП
    • country - физический адрес, ссылка на страну (таблица country)
    • zip - физический адрес, индекс
    • city - физический адрес, город
    • address - физический адрес, улица, дом и т.д.
    • ccountry - юридический адрес, ссылка на страну (таблица country)
    • czip - юридический адрес, индекс
    • ccity - юридический адрес, город
    • caddress - юридический адрес, улица, дом и т.д.
    • phone - телефон
    • fax - факс
    • email - электронный почтовый адрес
    • www - веб-сайт
    • director - для договора, ФИО директора
    • jobtitle - для договора, должность директора
    • rdirector - для договора, ФИО директора в родительном падеже
    • rjobtitle - для договора, должность директора в родительном падеже
    • baseaction - для договора, действует на основании ...
    • passport - для договора физ. лиц, паспорт.
    • regdate - дата регистрации
    • id1c - идентификатор в 1С: Бухгалтерии (для интеграции)
    • fastinvoice - тип генерации актов (0 - После оплаты. 1 - Автоматически по авансовым платежам. 2 - По расходам, в кредит)


Кроме основных данных необходимо создать несколько привязок:

  • к каким проектам подключен клиент, account2project
    • account - ссылка на таблицу account
    • project - код проекта, если у вас версия младше Corporate, тогда 1
  • с какими компаниями ему разрешено иметь отношения profile2profile
    • profile - ссылка на таблицу profile
    • company - код компании (можно посмотреть в интерфейсе в списке компаний, для версии standart - 1)

Продукты/услуги клиента

  • item - общее описание услуги
    • id - идентификатор (код) услуги
    • name - наименование услуги
    • account - ссылка на account, которому принадлежит услуга
    • price - ссылка на pricelist, тарифный план услуги
    • period - ссылка на priceperiod, определяет период заказа
    • server - ссылка на server, используется, если продукт использует сервер
    • status - состояние услуги (1 - заказан, 2 - активен, 3 - остановлен, 4 - удален, 5 - обрабатывается)
    • createdate - дата заказа услуги
    • suspenddate — дата остановки услуги
    • deletedate - дата удаления услуги
    • billdate — последняя дата обработки услуги
    • expiredate — дата, по которую оплачена услуга
    • autoprolong - ссылка на priceperiod, указывает период автопродления услуги.
    • note — дополнительная информация
  • vhost - данные о виртуальном хостинге
    • pid - ссылка на item, идентификатор хостинга
    • domain - доменное имя хостинга
    • username — логин пользователя
    • password — пароль пользователя
    • ip - ip-адрес хостинга
  • vds - данные о ВДС
    • pid - ссылка на item, идентификатор виртуального сервера
    • domain - доменное имя виртуального сервера
    • ip - ip-адрес виртуального сервера
    • ostempl - шаблон диска
    • password - пароль для входа в панель управления
  • domaincontact - контакты доменов
    • id - идентификатор (код) контакты домена
    • ctype - тип контакта (person - частное лицо, company - компания, generic - администратор)
    • name - имя контакты
    • account - ссылка на account, пользователь, которому принадлежит контакт
    • company - компания на английском
    • company_ru - компания на русском
    • firstname - имя на английском
    • firstname_ru - имя на русском
    • middlename - отчество на английском
    • middlename_ru - отчество на русском
    • lastname - фамилия на английском
    • lastname_ru - фамилия на русском
    • email - адрес электронной почты
    • phone - телефон
    • fax - факс
    • birthdate - день рождения
    • passport — паспортные данные
    • inn - ИНН
    • kpp - КПП
    • private - скрывать данные контакта в whois (1 - скрывать, 0 - не скрывать)
    • Адрес контакта:
    • la_country - страна
    • la_state - штата (область)
    • la_postcode - индекс
    • la_city - город
    • la_address - адрес
    • Почтовый адрес контакта:
    • pa_country - страна
    • pa_state - штата (область)
    • pa_postcode - индекс
    • pa_city - город
    • pa_address - адрес
    • pa_addressee - получатель почты
  • domain - данные о домене
    • pid - ссылка на item, идентификатор домена
    • name - имя домена, без зоны
    • tld - ссылка на tld, указывает, к какой зоне принадлежит домен
    • owner - ссылка на domaincontact, контакт владельца
    • admin - ссылка на domaincontact, контакт администратора домена
    • tech - ссылка на domaincontact, контакт технической поддержки
    • bill - ссылка на domaincontact, контакт финансового отдела
    • ns0, ns1, ns2, ns3 - сервера имен домена
    • autoperiod - ссылка на priceperiod, указывает период при автопродлении
    • registrar - ссылка на registrar, указывает на регистратора домена
    • expire - дата окончания регистрации
    • status - состояние домена
  • itemip - дополнительные ip-адреса
    • id - идентификатор (код) ip-адреса
    • name - ip-адрес
    • item - ссылка на item, указывает, какой услуге принадлежит дополнительный ip-адрес
    • cdate - дата заказа

Денежные средства, платежи, расходы, лицевой счет

  • subaccount - счет клиента, отдельный для каждого проекта
    • id - идентификатор (код) счета
    • name - описание
    • account - ссылка на account, которому принадлежит счет
    • currency - валюта счета, ссылка на таблицу currency
    • project - ссылка на таблицу project, проект, для которого счет
    • balance - текущий баланс
    • creditlimit - кредитный лимит
    • postpayd - флаг на разрешение postpaid
  • credit -платежи
    • id - идентификатор (код) платежа
    • sender - плательщик, ссылка на таблицу profile
    • recipient - компания получатель, ссылка на таблицу profile
    • type - метод оплаты, ссылка на таблицу companycrtype
    • num - номер платежа
    • cdate - дата создания
    • pdate - дата оплаты
    • currency - валюта платежа, ссылка на таблицу currency
    • amount - сумма в валюте платежа
    • nativeamount - сумма в валюте метода оплаты
    • usedamount - использованная сумма
    • state - статус( 1 - не оплачен, 2 - оплачивается, 3 - условно зачислен, 4 - оплачен, 5 - мошеннический)
    • subaccount - счет, для которого производится платеж, ссылка на таблицу subaccount
    • description - назначение платежа
    • info - дополнительная информация
  • expense - расходы
    • id - идентификатор (код) расхода
    • name - описание
    • subaccount - счет, с которого списано, ссылка на таблицу subaccount
    • item - услуга, за которую списано, ссылка на таблицу item
    • cdate - дата списания
    • amount - сумма
    • notpayd - не оплаченная сумма
  • expense2credit - привязка расхода к платежу
    • expense - ссылка на таблицу expense
    • credit - ссылка на таблицу credit
    • amount - сумма
Была ли эта информация полезной? Да | Нет
Личные инструменты