BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 21 июн 2025, 00:18

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
СообщениеДобавлено: 12 сен 2008, 22:12 
Не в сети

Зарегистрирован: 21 май 2008, 10:28
Сообщения: 11
Карма: 0
Хорошо бы в тему документации "Договор" включить примерное описание процесса переноса пачки договоров из других биллинговых систем. Хочется увидеть, какие данные необходимо заполнить при создании договора, используя исключительно SQL, и какие указать связи с различными таблицами, чтобы договор был "дееспособным" для дальнейших действий по управлению и использованию его. И возможно ли при этом как-то использовать шаблоны договоров?

Уж очень не хочется руками переносить несколько сотен договоров.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 14 сен 2008, 22:37 
Сервер и клиент биллинга общаются по протоколу HTTP.
Посмотреть что и как передаеться можно либо в логах сервера либо в логах клиента(если клиент запущен в режиме debug)

Я делал так:
1. Производим одну операцию в биллинге. Например создание договора по шаблону.
2. Смотрим в логах последний запрос. Смотрим какие передавались папаметры.
3. Формируем такой же HTTP запрос из сторонней программы или скрипта (я перенос договоров делал из перла).

Советую SQLем пользоваться в крайних случаях. Например при переносе остатков.
Структура базы документирована, так что не потеряетесь.


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 сен 2008, 02:33 
Не в сети

Зарегистрирован: 21 май 2008, 10:28
Сообщения: 11
Карма: 0
Спасибо. Попробую. Думаю, должно получиться.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 янв 2009, 20:36 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
Corwin писал(а):
Хочется увидеть, какие данные необходимо заполнить при создании договора, используя исключительно SQL, и какие указать связи с различными таблицами, чтобы договор был "дееспособным" для дальнейших действий по управлению и использованию его. И возможно ли при этом как-то использовать шаблоны договоров?
в своем скрипте переноса юзеров я использовал следующие запросы:
Код:
-- получение данных из шаблона
SELECT id, closesumma, groups, mode, pgid, pfid, fc, tgid, scrid FROM contract_pattern WHERE (groups & (1 << ?)) > 0

-- получение списка услуг по шаблону
SELECT sid FROM contract_pattern_services WHERE pid = ? ORDER BY sid

-- создание договора
INSERT INTO contract (gr, title, pswd, date1, closesumma, mode, pgid, pfid, fc) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)

-- добавление услуг договору
INSERT INTO contract_service (cid, sid, date1) VALUES (?, ?, ?)

-- установка тарифа договора
INSERT INTO contract_tariff (cid, tpid, date1) VALUES (?, ?, ?)

-- привязка группы тарифов к договору
INSERT INTO contract_tariff_group (cid, date1, gid) VALUES (?, ?, ?)

-- привязка скрипта поведения к договору
INSERT INTO contract_script (cid, date1, script_id) VALUES (?, ?, ?)

-- установка баланса для договора
-- (ставится summa1, т.к. она получается из депозита пред. биллинга)
INSERT INTO contract_balance (yy, mm, cid, summa1, summa2, summa3, summa4) SELECT YEAR(?), MONTH(?), ?, ?, 0, 0, 0

-- создание логина для договора
INSERT INTO user_login_1 (cid, login, pswd, date1, session) SELECT ?, IF(MAX(login) IS NULL, 0, MAX(login) + 1), ?, ?, ? FROM user_login_1

-- создание алиаса для договора
INSERT INTO user_alias_1 SELECT ul.id, c.title FROM contract AS c LEFT JOIN user_login_1 AS ul ON (ul.cid = c.id) WHERE c.id = ?
все перенеслось без проблем :) при этом половина данных для заполнения была взята именно из шаблонов ...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 янв 2009, 17:00 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Corwin писал(а):
Хорошо бы в тему документации "Договор" включить примерное описание процесса переноса пачки договоров из других биллинговых систем. Хочется увидеть, какие данные необходимо заполнить при создании договора, используя исключительно SQL, и какие указать связи с различными таблицами, чтобы договор был "дееспособным" для дальнейших действий по управлению и использованию его. И возможно ли при этом как-то использовать шаблоны договоров?

Уж очень не хочется руками переносить несколько сотен договоров.


Можем конечно выложить код на java нексольких конвертеров из других биллинговых систем ..Только там не все делается sql- запросами , там часто используетс API биллинга , например создание догвора по шаблону , удаление договоров (при повтроном залитии) и т.п .. Каждый раз эти конвертеры разные , т.к бывает много разных биллинговых систем , самописные и т.п и условия переноса разные ..


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 апр 2009, 15:41 
Не в сети
Клиент

Зарегистрирован: 30 мар 2009, 17:51
Сообщения: 431
Карма: 23
snark писал(а):
в своем скрипте переноса юзеров я использовал следующие запросы:

спасибо! помогло сэкономить Н-ное количество времени на поиск связей между таблицами и куда что вносить.

snark писал(а):
[code]-- добавление услуг договору
INSERT INTO contract_service (cid, sid, date1) VALUES (?, ?, ?)

разбираюсь с версией 4.6 - в ней я так понимаю надо сначала добавить модуль, а потом уже услугу через этот модуль подключать? не знаю как раньше было, но сейчас сделали так и работает =)
ну и поэтому соответственно разрешенную услугу пришлось добавлять уже в модуль. допустим у меня вышло для добавления услуги абонентской платы через модуль абан плат пришлось вставить
insert into npay_service_object_2 (cid,sid,col,date1) values ('?','?','?','?')


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 20 апр 2009, 16:32 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Да, в 4.6 нужно сначала в contract_module добавить модуль.. И абонку уже в npay_service_object.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 июл 2009, 13:35 
Не в сети

Зарегистрирован: 04 апр 2008, 13:13
Сообщения: 87
Карма: 0
stark писал(а):
Можем конечно выложить код на java нексольких конвертеров из других биллинговых систем ..Только там не все делается sql- запросами , там часто используетс API биллинга , например создание догвора по шаблону , удаление договоров (при повтроном залитии) и т.п .. Каждый раз эти конвертеры разные , т.к бывает много разных биллинговых систем , самописные и т.п и условия переноса разные ..


Если не трудно прошу выложить.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 июл 2009, 14:09 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
dale писал(а):
stark писал(а):
Можем конечно выложить код на java нексольких конвертеров из других биллинговых систем ..Только там не все делается sql- запросами , там часто используетс API биллинга , например создание догвора по шаблону , удаление договоров (при повтроном залитии) и т.п .. Каждый раз эти конвертеры разные , т.к бывает много разных биллинговых систем , самописные и т.п и условия переноса разные ..


Если не трудно прошу выложить.


так уже есть
http://wiki.bgbilling.ru/index.php/%D0% ... 0%B5%D0%BC


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 окт 2010, 18:00 
Не в сети

Зарегистрирован: 29 июл 2008, 13:57
Сообщения: 94
Карма: 0
Для 5.1 никто не писал конвертер?..


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 окт 2010, 20:09 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
Fate писал(а):
Для 5.1 никто не писал конвертер?..

поставить версию БГБ под которую написан конвертер, конвертнуть и потом обновить БГБ - чем не выход?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 окт 2010, 10:45 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
snark писал(а):
Fate писал(а):
Для 5.1 никто не писал конвертер?..

поставить версию БГБ под которую написан конвертер, конвертнуть и потом обновить БГБ - чем не выход?


проще допилить конвертер


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.074s | 38 Queries | GZIP : On ]