Jump to content
Калькуляторы

Вопрос спецам по Lanbilling'y переход с 1.9 до 2.0

Использую функицию api getAgreements (php):

$filter = array( "agrmnum" => $account );
$res = $lb->get("getAgreements", array("flt" => $filter));

 

все работает, но мне нужен поиск по строгому соответствию, а в примере выше находятся все договора номер которых содержит $account.

как быть?

Тут надо искать через шаблон, примерно так

$filter=array("flt" => array("searchtempl" => array("tplname" => "", "tablename" => "agreements", "field" => "agrmnum", "condition" => "=", "value" => "номер_договора_для_поиска", "logic" => "")));

Share this post


Link to post
Share on other sites

У кого-то есть реальный пример скрипта (лучше на php) как через API с другого, доверенного хоста, по номеру договора сделать платеж ?

Буду очень признателен.

Share this post


Link to post
Share on other sites

пример скрипта (лучше на php) как через API с другого, доверенного хоста, по номеру договора сделать платеж

Велосипедисты такие велосипедисты :)

Да возьмите любой готовый скрипт в поставке биллинга, например тот же осмп,

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

Зачем все усложнять?

Share this post


Link to post
Share on other sites

У кого-то есть реальный пример скрипта (лучше на php) как через API с другого, доверенного хоста, по номеру договора сделать платеж ?

Буду очень признателен.

 

Вот както так

 

<?php
include("soap.class.php");
include("main.class.php");
$lanbilling = new LANBilling();
$auth=array("login" => "$login", "pass" => "$password");
$lanbilling->get("Login", $auth, false);
$lanbilling->save("Payment", array("agrmid" => $agrmid, "amount" => "$balance", "currid" => "1", "comment" => $comment, "paymentordernumber" => $ordernum, "classid" => "$classid"));
$lanbilling->get("Logout");
?>

Share this post


Link to post
Share on other sites

Внезапно в лог lbcore каждые 2 минуты начало сыпаться

23.10.2015 23:12:20 ERROR       0xa77e8b70      [email_collector]       Can't read configuration.
23.10.2015 23:14:20 ERROR       0xa77e8b70      [email_collector]       Can't read configuration.
23.10.2015 23:16:20 ERROR       0xa77e8b70      [email_collector]       Can't read configuration.

при этом биллинг вроде работает нормально.

С чем это может быть связано?

Share this post


Link to post
Share on other sites

Посмотрите права доступа конфига "email_collector", не знаю что это, ну и наличие этого конфига вообще ))

Share this post


Link to post
Share on other sites

У меня тоже самое, пока не разобрался)

Share this post


Link to post
Share on other sites

Наверно паламалася "configuration" у "[email_collector]". :)

Share this post


Link to post
Share on other sites

В документации ЛБ email_collector не упоминается.

Есть "email connector", но с ним все в порядке.

Share this post


Link to post
Share on other sites

Коллеги! Подскажите по сборке 2.0.006.

Понадобилось изменить права доступа для определенного менеджера к объектам в биллинге.

Захожу в вэбку админом, в свойства менеджера, перетаскиваю объект в группу чтение\запись, нажимаю сохранить , "отправка данных", но ничего не сохраняет.

В логах apache, sql, LBCore в режиме info - тишина.

php для 006й сборки должно быть 5.3.х, так и есть:

php -v
PHP 5.3.3-7+squeeze19 with Suhosin-Patch (cli) (built: Feb 18 2014 13:59:15)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
   with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH

Прямо хоть ручками правь таблицу managers :(

Share this post


Link to post
Share on other sites

Захожу в вэбку админом, в свойства менеджера, перетаскиваю объект в группу чтение\запись, нажимаю сохранить , "отправка данных", но ничего не сохраняет.

Браузер попробуйте другой.

Share this post


Link to post
Share on other sites

Пробовал MS IE, FireFox, Chrome. И с разных машин.

С одинаковым результатом. :(

Share this post


Link to post
Share on other sites

После полуночи, когда запустился процесс списаний и обработки телефонных cdr-ов вылезла еще и проблема с mysql:

04.11.2015 00:10:24 ERROR       0xb5af3b70      [do_sql_query]  MySQL query failed with error 2013: Lost connection to MySQL ser
ver during query
Query: "SELECT `c_limit_in`, `c_limit_out` FROM `climits` WHERE `vg_id` = 674 AND `c_date` = DATE(20151101) AND `tar_id` = 53 AN
D `cat_idx` = 0". Retrying query...
04.11.2015 00:10:24 ERROR       0xb3aefb70      [do_sql_query]  MySQL query failed with error 2013: Lost connection to MySQL ser
ver during query
Query: "SELECT t.traff_type, t.dynamic_rent, c.cat_idx, c.includes, c.above, l.c_limit_in, l.c_limit_out FROM tarifs t JOIN cate
gories c USING( tar_id ) LEFT JOIN climits l ON l.tar_id = c.tar_id AND l.cat_idx = c.cat_idx AND l.vg_id = '910' AND l.c_date =
GET_C_DATE(0, NOW()) WHERE t.tar_id = '15' AND `c`.`uuid` = 'N'". Retrying query...
04.11.2015 00:10:24 ERROR       0xb52f2b70      [do_sql_query]  MySQL query failed with error 2013: Lost connection to MySQL ser
ver during query
Query: "DELETE FROM static_list". Retrying query...
04.11.2015 00:10:24 ERROR       0xb42f0b70      [do_sql_query]  MySQL query failed with error 2013: Lost connection to MySQL ser
ver during query

... и много еще аналогичного, а потом и вовсе

04.11.2015 00:21:54 ERROR       0xb4496b70      [lb2]   Unknown table engine 'InnoDB'
04.11.2015 00:21:54 INFO        0xb4496b70      [lb2]   Query: select id, day, keepdetail, now() from settings where type < 13 and (date(lastcontact)+0) - (day + 0) > 1
04.11.2015 00:21:54 ERROR       0xb4c97b70      [lb2]   Unknown table engine 'InnoDBetY'
04.11.2015 00:21:54 INFO        0xb4c97b70      [lb2]   Query: SELECT value FROM options WHERE name = :name
04.11.2015 00:21:55 ERROR       0xa5dfdb70      [lb2]   Unknown table engine 'InnoDB'
04.11.2015 00:21:55 INFO        0xa5dfdb70      [lb2]   Query: select recalc_stat, recalc_date + 0, recalc_group from settings where id = :agent_id

 

Хотя на самом деле

mysql>  SHOW ENGINES;
+------------+---------+----------------------------------------------------------------+-----------                            ---+------+------------+
| Engine     | Support | Comment                                                        | Transactio                            ns | XA   | Savepoints |
+------------+---------+----------------------------------------------------------------+-----------                            ---+------+------------+
| InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys     | YES                                      | YES  | YES        |
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                          | NO                                       | NO   | NO         |
| BLACKHOLE  | YES     | /dev/null storage engine (anything you write to it disappears) | NO                                       | NO   | NO         |
| CSV        | YES     | CSV storage engine                                             | NO                                       | NO   | NO         |
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables      | NO                                       | NO   | NO         |
| FEDERATED  | NO      | Federated MySQL storage engine                                 | NULL                                     | NULL | NULL       |
| ARCHIVE    | YES     | Archive storage engine                                         | NO                                       | NO   | NO         |
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance         | NO                                       | NO   | NO         |
+------------+---------+----------------------------------------------------------------+-----------                            ---+------+------------+
8 rows in set (0.00 sec)
    |

 

В mysql.err:

151104 00:10:30 mysqld_safe Number of processes running now: 0
151104 00:10:30 mysqld_safe mysqld restarted
151104  0:10:36 [Note] Plugin 'FEDERATED' is disabled.
151104  0:10:38  InnoDB: Initializing buffer pool, size = 1.0G
151104  0:10:38  InnoDB: Error: cannot allocate 1073758208 bytes of
InnoDB: memory with malloc! Total allocated memory
InnoDB: by InnoDB 40888776 bytes. Operating system errno: 12
InnoDB: Check if you should increase the swap file or
InnoDB: ulimits of your operating system.
InnoDB: On FreeBSD check you have compiled the OS with
InnoDB: a big enough maximum process size.
InnoDB: Note that in most 32-bit computers the process
InnoDB: memory space is limited to 2 GB or 4 GB.
InnoDB: We keep retrying the allocation for 60 seconds...
151104  0:11:38InnoDB: Fatal error: cannot allocate the memory for the buffer pool
151104  0:11:38 [ERROR] Plugin 'InnoDB' init function returned error.
151104  0:11:38 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
151104  0:11:39 [Note] Event Scheduler: Loaded 0 events
151104  0:11:39 [Note] /usr/sbin/mysqld: ready for connections.

 

Рестрарт mysql конечно вылечил ситуацию хоть и не сразу прошел корректно, но что-то странно все это.

И ведь работало все нормально с почти 5 лет.

Share this post


Link to post
Share on other sites

Захожу в вэбку админом, в свойства менеджера, перетаскиваю объект в группу чтение\запись, нажимаю сохранить , "отправка данных", но ничего не сохраняет.

Браузер попробуйте другой.

Вопрос решился.

Экспериментально выяснил - ситуация возникает если менеджер входит в группу, имя которой совпадает с именем менеджера. Если сделать менеджера вовсе без группы, то все работает нормально. Либо создать группу менеджеров с именем типа "Менеджеры абонентского отдела" для менеджеров с одинаковыми правами, и в ней уже конкретных менеджеров - Ivanova, ...

 

У меня тоже самое, пока не разобрался)

Во время борьбы с вышеописанными проблемами mysql-я перегружал mysql и ядро с агентами.

После этого сообщения вида "[email_collector] Can't read configuration." пропали из лога ядра

Share this post


Link to post
Share on other sites

Кто-то успешно использует возможности LB по работе с документами (счета, акты, счета-фактуры)?

Не можем придумать красивую концепцию в рамках LB...

Казалось бы схема простая:

1. Формируем абонентам счета на предоплату в размере аб.платы (работаем с юр.лицами по предоплате) и доставляем их (email/почта).

2. Ежедневно банковские выписки проводим через интерфейс Объекты-->Реестры платежей.

3. В конце месяца формируем акты и счета-фактуры. Доставляем.

4. В конце месяца (или чаще?) делаем выгрузку данных о начислениях в 1с.

 

Проблема в том, что в данной схеме выставленные счета остаются в системе, как неоплаченные! И абонент в ЛК видит их в списке неоплаченных счетов.

ТП LB передлагает два варианта решения этой проблемы:

1. Вручную оплачивать счета через интерфейс Отчеты-->Печатные формы. Но во-первых это лишняя ручная работа и человеческий фактор, а во-вторых (что более важно) в таком случае на счет абоненту всегда зачисляется сумма равная сумме на которую был выставлен счет! А абонент ведь может оплатить и не всю сумму по счету.

2. Использовать процедуру sales_cover из системы дополнительной финансовой отчетности. Данная процедура должна покрывать выставленные счета полученными платежами автоматически. Но со слов ТП процедуру нельзя использовать без использования системы дополнительной финансовой отчетности. А я так понимаю, что эта система - "лес неизведанных граблей" раз она не поставляется в виде платного модуля.

 

Поделитесь опытом! Кто как у себя решил эту проблему или возможно используете другую схему работы с документами?

Share this post


Link to post
Share on other sites

Коллеги, кто как реализует в ЛБ акции вида "первый месяц бесплатно"?

Share this post


Link to post
Share on other sites

Коллеги, кто как реализует в ЛБ акции вида "первый месяц бесплатно"?

 

мы назначаем тариф без абон. платы и сразу планируем смену тарифа на платный.

Share this post


Link to post
Share on other sites

Коллеги, кто как реализует в ЛБ акции вида "первый месяц бесплатно"?

мы назначаем тариф без абон. платы и сразу планируем смену тарифа на платный.

Можно и так. Я все же склоняюсь к варианту с коэффициентом стоимости в свойствах тарифа.

Share this post


Link to post
Share on other sites

Коллеги, кто как реализует в ЛБ акции вида "первый месяц бесплатно"?

мы назначаем тариф без абон. платы и сразу планируем смену тарифа на платный.

Можно и так. Я все же склоняюсь к варианту с коэффициентом стоимости в свойствах тарифа.

 

Это безусловно удобнее. Только мы функционал использования скидок еще не тестировали и не знаем чего он него ждать. Как оно? Накладок с суммами по актам и прочими документами нет?

Share this post


Link to post
Share on other sites

Это безусловно удобнее. Только мы функционал использования скидок еще не тестировали и не знаем чего он него ждать. Как оно? Накладок с суммами по актам и прочими документами нет?

Функционал скидок пробовали, абонентку со скидкой считает нормально (2.0 сборка 006).

Документы в ЛБ не формируем, все счета и прочее в 1С.

Share this post


Link to post
Share on other sites

Камрады! Отзовитесь, кто обновился до 14й сборки! Были ли какие-либо крупные проблем?

Share this post


Link to post
Share on other sites

Тоже задумался об обновлении, хотя сейчас все работает стабильно.

Перепрыгнуть со сборки 006 сразу на 014 - наверное сродни русской рулетке? :)

И говорят новые версии память жрут не меряно, а у меня сервер старенький и там всего 2 Гига.

Share this post


Link to post
Share on other sites

Перепрыгнуть со сборки 006 сразу на 014 - наверное сродни русской рулетке? :)

Имхо, пока не рекомендую!!! Уже обжёгся.

Share this post


Link to post
Share on other sites

Любое обновление ЛБ - это боль, страдание и бессонные ночи.

Лучше уточните, какие платформы используете (Интернет, Телефония/IP телефония, ЦТВ/КТВ и т.д.), могу рассказать более детально.

 

ЗЫ Учитывая, что сейчас обновление только с пакетом тех. поддержки, то должно быть проще. Но, не уверен.

Share this post


Link to post
Share on other sites

Лучше уточните, какие платформы используете (Интернет, Телефония/IP телефония, ЦТВ/КТВ и т.д.), могу рассказать более детально.

У нас авторизация в инет по радиусу.

Одна из проблем это зацикливание выполнения процедуры смены скорости на тарифах по расписанию в биллинга, в виде:

radius.log

...
18.01.2016 15:56:31 INFO        0x80180a040     [RunScript]     Script edit procedure for account 3037 started.
18.01.2016 15:56:31 INFO        0x80180a040     [RunScript]     Script edit procedure for account 3041 started.
18.01.2016 15:56:31 INFO        0x80180a040     [RunScript]     Script edit procedure for account 3043 started.
...
18.01.2016 16:22:04 INFO        0x80180a040     [RunScript]     Script edit procedure for account 5021 started.
18.01.2016 16:22:04 INFO        0x80180a040     [RunScript]     Script edit procedure for account 5603 started.
...
18.01.2016 16:24:16 INFO        0x80180a040     [RunScript]     Script edit procedure for account 2934 started.
18.01.2016 16:24:16 INFO        0x80180a040     [RunScript]     Script edit procedure for account 2946 started.
18.01.2016 16:24:16 INFO        0x80180a040     [RunScript]     Script edit procedure for account 2950 started.
...

В ТП отправил лог с дебагом, жду, что ответят.

Edited by Brainiac

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now