forum.bitel.ru
http://forum.bitel.ru/

Создание счетов на стороне сервера.
http://forum.bitel.ru/viewtopic.php?f=14&t=4613
Страница 1 из 1

Автор:  Cromeshnic [ 03 окт 2010, 10:49 ]
Заголовок сообщения:  Создание счетов на стороне сервера.

Создание счетов в модуле Bill происходит по следующей схеме:
- "Сгенерировать" - на стороне сервера создаются таблицы позиций счетов и передаются клиенту BG.
- В GUI клиента мы имеем возможность отредактировать эти позиции перед собственно созданием счетов.
- "Создать счета" - таблицы из клиента выгружаются на сервер, где по ним генерируется xml счета.

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

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

Автор:  dimOn [ 04 окт 2010, 12:17 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

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

Автор:  lda [ 04 окт 2010, 18:14 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

У нас счета и счет-фактуры создаются из 1С-ки (реализована обработка).
При создании всегда делается проверка, не допускается дублирование счетов (для одного и того же договора не может быть создано за месяц два счета (или счет-фактуры) с одинаковым типом). Следовательно, если в процессе создания документов произошол какой-то сбой, то можно запустить создание еще раз.

Автор:  focus [ 06 окт 2010, 11:43 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

У нас связка BG -> 1С. В биллинге создаются счета - далее их использует 1С, как сумму наработки.
В BG у нас обязательно выставляются счета.
Солидарен с Cromeshnic об изменении стандартной процедуры генерации счетов.

Автор:  Cromeshnic [ 05 янв 2011, 15:45 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

Снова встала эта проблема. При создании нескольких тысяч счетов по группе и клиент и сервер отъедают большие куски памяти. При этом серверу в течение месяца никогда больше столько памяти не нужно (мониторим jvm через com.sun.management.snmp). Если бы счета полностью создавались на сервере по одному, то это занимало бы ресурсов максимум на один счёт.
Решил написать скрипт - выходит слишком сложно, т.к. xml с позициями, приходящими клиенту, отличается от xml, которые клиент отправляет обратно на сервер. Беда :(

Автор:  dimOn [ 13 янв 2011, 11:52 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

В чём, собственно, предложение то? Генерить полностью на сервере? А как тогда быть с тем случаем, когда надо из клиента править?

Автор:  Cromeshnic [ 13 янв 2011, 12:21 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

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

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

Автор:  Cromeshnic [ 13 янв 2011, 12:23 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

Иначе мне сейчас приходится сидеть и ждать минут 40, когда клиент "отвиснет" при генерации позиций, запускать "создание документов" и снова ждать.

Автор:  dimOn [ 13 янв 2011, 12:55 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

Это всё понятно. То есть надо сделать настройку в конфиге (тм), которая будет сразу генерить только на сервере? Это как-то неправильно.

Автор:  Cromeshnic [ 13 янв 2011, 13:01 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

Почему в конфиге? Просто отдельную кнопку и отдельный Action в клиенте, который объединяет и оптимизирует логику 2-х экшенов.

Автор:  restart [ 15 фев 2011, 14:48 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

В 5.2 будет такой функционал.

Автор:  skyb [ 15 фев 2011, 14:51 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

как в 5.1 переделанный лк :-D, сарказм...

Автор:  restart [ 15 фев 2011, 17:40 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

skyb писал(а):
как в 5.1 переделанный лк :-D, сарказм...

Так ведь сделано уже, поэтому и говорю, что будет :)

Автор:  Cromeshnic [ 15 фев 2011, 19:28 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

О, спасибо. А в 5.1 сложно это зарелизить?

Автор:  restart [ 15 фев 2011, 19:57 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

Cromeshnic писал(а):
О, спасибо. А в 5.1 сложно это зарелизить?

За денюжку только :roll:

Автор:  Cromeshnic [ 05 апр 2011, 08:13 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

Cromeshnic писал(а):
Решил написать скрипт - выходит слишком сложно, т.к. xml с позициями, приходящими клиенту, отличается от xml, которые клиент отправляет обратно на сервер. Беда :(


Оказалось, что не отличаются. Да и скрипт такой уже есть:
http://wiki.bgbilling.ru/index.php/%D0% ... C%D0%B8%29

Допилил скрипт под себя, выложил там же - довольный :D
Теперь счета создаются за примерно те же 3,5 часа, но одним кликом + не жрут уйму памяти на сервере и в клиенте.

Автор:  Cromeshnic [ 05 апр 2011, 08:14 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

И это, на будущее - давайте писать на форум, если выложили что-то новое на вики?

Автор:  skyb [ 05 апр 2011, 10:41 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

Cromeshnic писал(а):
И это, на будущее - давайте писать на форум, если выложили что-то новое на вики?

а может какую то систему изменений прикрутить на вики? типо rss а?

Автор:  Cromeshnic [ 05 апр 2011, 10:46 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

Хм, да вроде есть:

http://wiki.bgbilling.ru/index.php?titl ... s&feed=rss

Автор:  skyb [ 05 апр 2011, 11:46 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

Cromeshnic писал(а):

а, ну вот, поставить да и забыть. :)

Автор:  Cromeshnic [ 12 апр 2011, 10:29 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

note: в шедулере скрипт не хочет выполняться - нет нужного контекста:

Код:
scheduler 04-12/12:33:15 ERROR [pool-1-thread-4] LoggingPrintStream - java.lang.NullPointerException
scheduler 04-12/12:33:15 ERROR [pool-1-thread-4] LoggingPrintStream -   at bitel.billing.server.bill.bean.counter.IPNCounter.count(IPNCounter.java:44)
scheduler 04-12/12:33:15 ERROR [pool-1-thread-4] LoggingPrintStream -   at bitel.billing.server.bill.bean.BillUtil.parsePositionQuantity(BillUtil.java:393)
scheduler 04-12/12:33:15 ERROR [pool-1-thread-4] LoggingPrintStream -   at bitel.billing.server.bill.bean.BillUtil.parsePosition(BillUtil.java:122)
scheduler 04-12/12:33:15 ERROR [pool-1-thread-4] LoggingPrintStream -   at bitel.billing.server.bill.bean.BillUtil.getPositionList(BillUtil.java:778)
scheduler 04-12/12:33:15 ERROR [pool-1-thread-4] LoggingPrintStream -   at bitel.billing.server.bill.bean.TemplateBillManager.getTemplatePositions(TemplateBillManager.java:196)
scheduler 04-12/12:33:15 ERROR [pool-1-thread-4] LoggingPrintStream -   at bitel.billing.server.bill.bean.TemplateBillManager.getTemplatePayBillList(TemplateBillManager.java:158)


Печаль, хотел распараллелить через RunTask

Автор:  skyb [ 12 апр 2011, 11:26 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

Cromeshnic писал(а):
note: в шедулере скрипт не хочет выполняться - нет нужного контекста:

а у меня, в 5.0, раборама %)

Автор:  Cromeshnic [ 12 апр 2011, 11:40 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

По расписанию?
Хм, странно.

Ну да ладно, я уже в контексте сервера распараллелил тупо через Thread, потестирую - выложу.

Ты до сих пор на 5.0? о_О

Автор:  skyb [ 12 апр 2011, 12:10 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

Cromeshnic писал(а):
Ты до сих пор на 5.0? о_О

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

Автор:  dimOn [ 12 апр 2011, 12:44 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

skyb писал(а):
Cromeshnic писал(а):
Ты до сих пор на 5.0? о_О

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

ааа.... все прячемся....

Автор:  Cromeshnic [ 12 апр 2011, 13:16 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

Работает! :D
Теперь вместо 3.5 часов - чуть меньше 1 часа.

Автор:  skyb [ 12 апр 2011, 14:32 ]
Заголовок сообщения:  Re: Создание счетов на стороне сервера.

dimOn писал(а):
skyb писал(а):
Cromeshnic писал(а):
Ты до сих пор на 5.0? о_О

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

ааа.... все прячемся....

:lol: :lol: :lol: :lol: :lol: :lol: :D :D :D :D
Не хороший вы человек!!!....

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/