BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 29 мар 2024, 11:25

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




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

Зарегистрирован: 20 окт 2016, 00:34
Сообщения: 82
Карма: 0
Здравствуйте.
Поломалось тут после последнего обновления следующее - параметры супердоговора не добавляются в xml при генерации документов для суба.
Суть - есть в конфигурации модуля bill параметр - add.contract=1, заставляет добавлять в xml-документ, например, ветку super_contract. Внутри неё
были раньше параметры супердоговора super_contract/parameters, что было очень удобно, т.к. этих параметров на субе нет (ибо не нужен дубляж данных).
Код в bitel.billing.server.contract.bean.ContractUtils метод addContractXML(int cid, XMLStreamWriter rootNode, boolean withParams, boolean addSub, boolean addSuper)
поменялся так, что он теперь использует при добавлении данных о супердоговоре значение параметра withParams.
Может это конечно и удобно, только в модуле Bill, при обработке add.contract метод ContractUtils.addContractXML(int cid, XMLStreamWriter rootNode, boolean withParams, boolean addSuper)
вызывается как
Код:
addContractXML(cid, node, false, true)

т.е. ни когда не увидим в xml-субдоговора параметры супера.
В итоге в xsl-шаблоне пришлось напихать sql-запросов для выдёргивания параметров супера, что как-то ну совсем не нужно, ибо:
1) абсолютно ненужная нагрузка на базу при печати большого количества документов;
2) значения параметров со временем могут измениться, а следовательно, при повторной печати старых документов может быть косяк, т.к. как не будет совпадать с прошлым видом документа.
Собственно вопрос - можно ли вернуть старое поведение, хотя бы каким-то дополнительным параметром в конфигурации?

_________________
Клиент: вер. 7.1.206 / 15.08.2019 22:37:24
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_181
Сервер: вер. 7.1.1144 / 15.08.2019 22:39:22
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_181


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 янв 2018, 20:18 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Да, это было сделано осознанно, т.к. выглядело как неожидаемое и нелогичное поведение.

Цитата:
что он теперь использует при добавлении данных о супердоговоре значение параметра withParams.
и для суба и для супера теперь так используется. Вы считаете, что это неправильно?

Вероятно ваша задача всё же корректно решается тем, что из bill должно вызываться addContractXML с withParams=true , нет?
Ну раз вы собираетесь использовать это, значит не помешает.
Тогда и для основного договора они будут рисоваться и для связанных с ним, что логично.
Или вам именно надо чтобы для текущего cid не рисовалось параметры а только для субов/суперов, как раньше (это странно как-то?)

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 янв 2018, 05:13 
Не в сети

Зарегистрирован: 20 окт 2016, 00:34
Сообщения: 82
Карма: 0
dimOn писал(а):
и для суба и для супера теперь так используется. Вы считаете, что это неправильно?

Нет я так не считаю :-)
Да это было неочевидное поведение, но оно так работало много лет, и, я так подозреваю, не у одного меня есть документы на субе которые опирались на параметры супера из xml.
Я совершенно не прошу вернуть код "как росло", это как минимум некорректно. Хочется просто вернуть поведение при котором данные всё же будут в xml.

dimOn писал(а):
Вероятно ваша задача всё же корректно решается тем, что из bill должно вызываться addContractXML с withParams=true , нет?
Ну раз вы собираетесь использовать это, значит не помешает.
Тогда и для основного договора они будут рисоваться и для связанных с ним, что логично.


Да, это должно решить проблему.
Главное чтобы данные супера были в самой xml документа суба и наоборот, и оставались неизменными со временем, что с помощь sql из xsl проблематично.

dimOn писал(а):
Или вам именно надо чтобы для текущего cid не рисовалось параметры а только для субов/суперов, как раньше (это странно как-то?)

Нет, такого не нужно, лучше пусть все рисуются.

Правильно ли я понимаю, что в очередном обновлении можно ожидать изменений вызова из bill и счастье вернётся?

_________________
Клиент: вер. 7.1.206 / 15.08.2019 22:37:24
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_181
Сервер: вер. 7.1.1144 / 15.08.2019 22:39:22
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_181


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 янв 2018, 19:25 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Цитата:
Главное чтобы данные супера были в самой xml документа суба и наоборот, и оставались неизменными со временем, что с помощь sql из xsl проблематично.
Непонятно тут, у каждого договора будут его параметры актуальные и всё.
Вы же понимаете в чём проблема, судя по знанию кода. Раньше в этом методе был флаг "добавлять параметры" и он работал только на тот договор который корневой сейчас, а для субов и суперов (их наличие определяется уже другими параметрами но в данном случае они есть) параметры добавлялись ВСЕГДА. Это явно нелогично. Потому если нужны параметры то и метод надо вызывать соответственно, а получалось что в документе этом вашем раньше были параметры для связанных договоров, но для самого договора не было? Это тоже нелогично. Они вам не нужны просто были, потому вы не страдали от этого?
Ну видимо да, надо в bill исправить вызов.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 янв 2018, 14:50 
Не в сети

Зарегистрирован: 20 окт 2016, 00:34
Сообщения: 82
Карма: 0
dimOn писал(а):
а получалось что в документе этом вашем раньше были параметры для связанных договоров, но для самого договора не было? Это тоже нелогично. Они вам не нужны просто были, потому вы не страдали от этого?

Всё так. Например, если у договора есть телефония, то мг/мн считается на его субе с независимым балансом.
Так же на субе висит документ - счёт-фактура, т.о. для генерации документа нужны ИНН/КПП, почтовый адрес и т.д., естественно они должны быть точно такими же, как и на супере.
До изменений, в xml-документе, который генерился для суба при генерации счетов-фактур, были параметры супера в ветке super_contract/parameters (add.contract=1), мне этого было более чем достаточно.
Так же это позволяло надеяться, что сгенерированный ранее документ при печати останется неизменным.
Например, сменился почтовый адрес, следовательно в старом xml он будет старым, так и должно быть.
Собственно мне и сейчас эти параметры на субе не нужны, т.к. просто дубляж данных.

dimOn писал(а):
Ну видимо да, надо в bill исправить вызов.

Да, я думаю, это должно решить проблему. Спасибо.

_________________
Клиент: вер. 7.1.206 / 15.08.2019 22:37:24
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_181
Сервер: вер. 7.1.1144 / 15.08.2019 22:39:22
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_181


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 08 янв 2018, 12:22 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Ну понятно, вы вытаскивали все параметры из супердоговора для суба.

Для старых документов конечно меняться не будет ничего, xml генерится и хранится в БД потом.
В след обновлении должно быть, напомните в рабочее время или в hd напишите

_________________
I'm clever. I've got a computer.


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

Зарегистрирован: 20 окт 2016, 00:34
Сообщения: 82
Карма: 0
Спасибо. Теперь всё должно быть как и раньше, осталось выбрать время для обновления :-)

сорри, не было возможности отписаться

_________________
Клиент: вер. 7.1.206 / 15.08.2019 22:37:24
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_181
Сервер: вер. 7.1.1144 / 15.08.2019 22:39:22
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_181


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

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


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

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


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

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