forum.bitel.ru http://forum.bitel.ru/ |
|
Перенос данных из 1С http://forum.bitel.ru/viewtopic.php?f=19&t=698 |
Страница 1 из 2 |
Автор: | ESV [ 24 янв 2008, 12:52 ] |
Заголовок сообщения: | Перенос данных из 1С |
Добрый день. Вопрос такой: в 1С заведено 5000 договоров. Как перенести данные в биллинг? Только ручной ввод? Спасибо. |
Автор: | Администратор [ 24 янв 2008, 15:26 ] |
Заголовок сообщения: | |
Можно сделать загрузку со стороны 1С, вызывая HTTP вызовы сервера биллинга. Запустите bgbilling_debug.bat (.sh) и посмотрите какие запросы идут в журнал log при создании договора и занесении параметров. |
Автор: | Roy [ 15 фев 2008, 20:52 ] |
Заголовок сообщения: | |
А почему бы это не оформить в качестве главы документации?:) |
Автор: | stark [ 15 фев 2008, 21:10 ] |
Заголовок сообщения: | |
Roy писал(а): А почему бы это не оформить в качестве главы документации?:)
А чем вас не устраивает: http://bgbilling.ru/v4.4/doc/ch03.html |
Автор: | ESV [ 18 мар 2008, 15:56 ] |
Заголовок сообщения: | |
Добрый день. Плотно сижу в сабже. С параметрами вроде получается, но как перенести баланс договора (summa5)? Типа такого? Код: ПослатьЗапрос( "module=contract&value=" + balance + "&action=UpdateContractBalance&cid="+ cid +" );
или как-то по-другому? Спасибо. |
Автор: | Администратор [ 18 мар 2008, 16:41 ] |
Заголовок сообщения: | |
Баланс можно перенести только SQL запросом, вставьте запись в таблицу contract_balance, столбец summa1. |
Автор: | ESV [ 18 мар 2008, 17:23 ] |
Заголовок сообщения: | |
Ясно. Спасибо. |
Автор: | ESV [ 19 мар 2008, 11:37 ] |
Заголовок сообщения: | |
Добрый день. Ещё вопрос. Как изменить только комментарий контракта? Пробую вот так: Код: ПослатьЗапрос( "module=contract&action=UpdateContractTitleAndComment&comment=" + URLEncode(fio) + "&cid=" + cid); не выходит.
Спасибо. |
Автор: | Администратор [ 19 мар 2008, 13:18 ] |
Заголовок сообщения: | |
Такого действия нет, также только запросом: Код: UPDATE contract SET comment='<comment>' WHERE id=<cid>
|
Автор: | ESV [ 19 мар 2008, 13:46 ] |
Заголовок сообщения: | |
Понятно. Всё-таки без SQL не обойтись. Не всё на HTTP замешано. Спасибо за ответ. |
Автор: | Администратор [ 19 мар 2008, 14:29 ] |
Заголовок сообщения: | |
Да, некоторые действия сервер биллинга просто не выполняет. SQL - это нормально вполне. |
Автор: | ESV [ 21 апр 2008, 17:34 ] |
Заголовок сообщения: | |
Добрый день. Переношу из 1С IP адреса и логины. Подскажите, что за параметры lid, addrRealms для module=dialup, action=UpdateLoginInfo Спасибо. |
Автор: | Администратор [ 21 апр 2008, 17:50 ] |
Заголовок сообщения: | |
LoginId - идентификатор логина из таблицы user_login_<mid> |
Автор: | ESV [ 22 апр 2008, 09:30 ] |
Заголовок сообщения: | |
Для IPAddressUpdate: 1) addrRealms и почему в конце %2C 2) addrIps = IP-адрес? и почему в конце %2C Есть подозрение что придётся делать insertы в какие-то таблицы... Спасибо. |
Автор: | ESV [ 22 апр 2008, 21:09 ] |
Заголовок сообщения: | |
up |
Автор: | Администратор [ 23 апр 2008, 10:56 ] |
Заголовок сообщения: | |
%2c - это запятая в формате URL-encoding, там просто может быть несколько адресов. Видимо, разделитель добавляется и к одному адресу. Можете не добавлять. |
Автор: | ESV [ 23 апр 2008, 12:19 ] |
Заголовок сообщения: | |
Добрый день. Два вопроса: 1)Подскажите как вытащить lid? Делаю так (mid - id модуля Dialup, cid - номер контракта): Цитата: od = ПослатьЗапрос( "module=dialup&action=ContractInfo&mid=1&cid=" + cid ); Вот что выдаёт обработка 1С:lid = 0; rc = od.selectNodes( "/data/table/data/row" ); lid = Число( rc.item(0).getAttribute( "f0" )); Цитата: Запрос: module=dialup&action=ContractInfo&mid=1&cid=425
Результат: <?xml version="1.0"?> <data status="ok"><table><data/></table></data> Даёт ошибку: lid = Число( rc.item(0).getAttribute( "f0" )); "Плохой тип переменной" 2) Как убрать уже созданные алиасы? |
Автор: | Администратор [ 23 апр 2008, 13:12 ] |
Заголовок сообщения: | |
1) В debug режиме дайте формат запроса биллинга при получении таблицы с логинами в договоре. И попробуйте его в браузер поставить. 2) Нужно сделать update логина с пустым списком алиасов. |
Автор: | ESV [ 23 апр 2008, 14:49 ] |
Заголовок сообщения: | |
Цитата: 1) В debug режиме дайте формат запроса биллинга при получении таблицы с логинами в договоре. И попробуйте его в браузер поставить. Так это он и есть:
[ length = 189 ] xml = <?xml version="1.0" encoding="windows-1251"?> <data status="ok"><table><data><row f0="20" f1="1" f2="pupkin1" f3="22.04.2008-" f4="не ограничено" f5="разрешен" f6=""/></data></table></data> Как его вытянуть из XML? Цитата: 2) Нужно сделать update логина с пустым списком алиасов.
Дело как раз в том, что договора уже удалены из биллинга. И user_login_<mid> пустой. А при добавлении выдаёт что такой алиас уже есть. |
Автор: | Администратор [ 23 апр 2008, 15:01 ] |
Заголовок сообщения: | |
1. Он и есть. Не пойму, почему в отладке 1С пустой ответ у вас. Ищите функцию получения значения атрибута в API. 2. Видимо не удалили из таблицы user_alias_<mid> |
Автор: | ESV [ 23 апр 2008, 15:07 ] |
Заголовок сообщения: | |
по 2) решилось - спасибо. по 1) можно ссылку на хорошую документацию? |
Автор: | Администратор [ 23 апр 2008, 15:21 ] |
Заголовок сообщения: | |
1) C MsXML Parser SDK шла неплохая.. ftp://bgbilling.ru/pub/soft/xml/msxml4/msxml4.exe |
Автор: | ESV [ 24 апр 2008, 12:33 ] |
Заголовок сообщения: | |
Добрый день. Есть вопрос: Что означает check-box "авто" в модуле dialup на закладке Логины -> Общие -> Пароль? Спасибо. |
Автор: | ESV [ 25 апр 2008, 10:30 ] |
Заголовок сообщения: | |
Доброе утро. Помогите. Всё работает прекрасно! Но из-за этого проклятого lid... Простите - вырвалось. Делаю так: Код: Функция ЗапросРадиусАтриб( cid )
// послать вот такой запрос: // http://192.168.1.252:8081/bgbilling/executer?module=dialup&action=ContractInfo&mid=1&cid=388& od = ПослатьЗапрос( "module=dialup&action=ContractInfo&mid=1&cid=" + cid ); // вот что приходит в ответ: // <data status="ok"><table><data><row f0="19" f1="1" f2="vasya2" f3="22.04.2008-" f4="не ограничено" f5="разрешен" f6=""/></data></table></data> lid = 0; rc = od.selectNodes( "/data/table/data/row" ); // нам нужно f0 Если rc.Length > 0 Тогда lid = Число( rc.item(0).getAttribute( "f0" )) КонецЕсли; Возврат lid; КонцФункци В результате работы rc.Length всегда = 0 Что делать? Спасибо. |
Автор: | Администратор [ 25 апр 2008, 11:26 ] |
Заголовок сообщения: | |
А если сделать selectNodes( "/data" ), "/data/table" ? |
Автор: | ESV [ 25 апр 2008, 12:53 ] |
Заголовок сообщения: | |
Это не помогает. Какой-то нужен другой метод...что-бы достучаться до "row" типа: documentElement.lastChild и там уже искать f0 ??? |
Автор: | Администратор [ 25 апр 2008, 16:00 ] |
Заголовок сообщения: | |
А пример из документации, где договор ищется, работает? |
Автор: | ESV [ 25 апр 2008, 16:43 ] |
Заголовок сообщения: | |
Я же говорю всё прекрасно работает. Кроме форм где нужно выбирать данные из "row". |
Автор: | ESV [ 25 апр 2008, 17:06 ] |
Заголовок сообщения: | |
Попутный вопрос: Куда пишуться IP адреса? А то у меня подозрения, что с этими эксперементами они всё-таки где-то сохраняются. |
Автор: | ESV [ 26 апр 2008, 12:38 ] |
Заголовок сообщения: | |
Добрался до row с помощью такой конструкции: Код: rc = od.getElementsByTagName( "row" );
lid= 0; Если rc.Length > 0 Тогда lid = Число( rc.item(0).getAttribute( "f0" ) ) КонецЕсли; Всё заработало. |
Страница 1 из 2 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |