BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
СообщениеДобавлено: 20 фев 2015, 14:41 
Не в сети
Клиент

Зарегистрирован: 21 май 2008, 10:54
Сообщения: 599
Откуда: 50-й рег.
Карма: 40
Добрый день !
Исходные данные :

Код:
  Клиент: вер. 6.0 сборка 1369 от 26.01.2015 20:55:27
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45
  Сервер: вер. 6.0 сборка 1829 от 29.01.2015 18:21:52
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45

  bill вер. 6.0 сборка 344 от 09.09.2014 14:07:48
  card вер. 6.0 сборка 229 от 19.11.2014 05:42:26
  dialup вер. 6.0 сборка 406 от 12.09.2014 18:24:32
  drweb вер. 6.0 сборка 98 от 10.04.2014 19:28:24
  email вер. 6.0 сборка 187 от 05.02.2014 15:53:45
  inet вер. 6.0 сборка 1482 от 29.01.2015 18:53:57
  ipn вер. 6.0 сборка 277 от 19.08.2014 18:05:49
  mps вер. 6.0 сборка 224 от 24.12.2014 13:50:40
  npay вер. 6.0 сборка 229 от 14.11.2014 18:59:36
  payonline вер. 6.0 сборка 101 от 30.12.2014 15:22:39
  reports вер. 6.0 сборка 221 от 03.09.2014 16:39:20
  ru.bitel.bgbilling.plugins.crm вер. 6.0 сборка 219 от 31.10.2014 05:37:29
  ru.bitel.bgbilling.plugins.dispatch вер. 6.0 сборка 159 от 19.01.2015 17:42:18
  ru.bitel.bgbilling.plugins.documents вер. 6.0 сборка 205 от 26.01.2015 20:55:42
  ru.bitel.bgbilling.plugins.helpdesk вер. 6.0 сборка 210 от 27.11.2014 14:35:24
  trayinfo вер. 6.0 сборка 176 от 05.02.2014 15:55:51
  voiceip вер. 6.0 сборка 233 от 16.12.2014 13:31:04
  wm вер. 6.0 сборка 191 от 05.02.2014 15:56:42
  yamoney вер. 6.0 сборка 81 от 02.06.2014 14:51:09

Окружение:

  Клиент:
    os: Linux amd64, 3.13.0-45-generic
    java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45
    jre home: /home/oleg/BGBillingClient/jdk1.6.0_45/jre
    default tz: 20.02.2015 11:17 MSK +0300 (Europe/Moscow)
    user tz: 20.02.2015 11:17 MSK +0300 (Europe/Moscow)
    locale: ru_RU
  Сервер:
    os: Linux amd64, 3.2.0-4-amd64
    java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45
    jre home: /opt/java/jdk1.6.0_45/jre
    default tz: 20.02.2015 11:18 MSK +0300 (Europe/Moscow)
    locale: ru_RU


Имеется договор с id 4062 которому в модуле бухгалтерии выставили счёт и пытаются этот счёт выгрузить в реестр.

В конфиге модуля bill реквизиты бухгалтерии такие:

Код:
bill.attributes=account:Счет;inn:ИНН;kpp:КПП;address:Адрес;dolz:Должность;face:Ф.И.О;osn:Основание;org_name:Полное название организации;pril:Приложение


Позиции такие :

Код:
bill.pos.1.title=Доступ в Интернет
bill.pos.1.name=Услуга доступа в Интернет согл. договора за {$month,date,MMMM yyyy г.}
bill.pos.1.summ=SERVICE_ACCOUNT($month, 30,13)
bill.pos.1.insum=1
bill.pos.1.awlz=0

bill.pos.3.title=Аренда IP-адреса
bill.pos.3.name=Аренда IP-адреса согл. договора за {$month,date,MMMM yyyy г.}
bill.pos.3.summ=SERVICE_ACCOUNT($month, 15)
bill.pos.3.insum=1
bill.pos.3.awlz=0

bill.pos.5.title=Обслуживание радиоканала
bill.pos.5.name=Обслуживание радиоканала согл. договора за {$month,date,MMMM yyyy г.}
bill.pos.5.summ=SERVICE_ACCOUNT($month, 31)
bill.pos.5.insum=1
bill.pos.5.awlz=0


В справочнике параметров договоров есть такие поля:
Код:
select id,title from contract_parameters_pref where id in (2,5,21,24)

2   Адрес подключения
5   Название организации
21   Телефон_текст
24   Приложение


У этого договора с id=4062 параметры договора такие :

Код:
select * from contract_parameter_type_1 where cid="4062"

4062   5   ООО Компания XxXxXx
4062   21   7916123456 ; 7499123456
4062   24   № 777 от 12.12.2012


и

Код:
select cid,pid,address from contract_parameter_type_2 where cid="4062"

4062   2    YyYyYyYyYyYy, YyYyyYyyYyy, южная часть, YyyYyy, д. 1, др. а, кв. 2, 2 эт.



а реквизиты для бухгалтерии такие :

Код:
select id,cid,name,value from bill_attribute_5 where cid="4062"

248   4062   org_name   XxXxXx
249   4062   address      YyYyYyYyYyYy YyYyyYyyYyy
250   4062   osn      № 1234567 от 01.01.2001
251   4062   pril      № 777 от 12.12.2012
252   4062   face      Xyxxy Z.X.


клиенту выставляется счёт по документу :

Код:
elect * from bill_doc_type_5

1   1   Счет за интернет      1,3,5   14         1

select * from bill_contract_doc_type_5 where cid="4062"

173   4062   1

select * from bill_data_5 where cid="4062":

1945   4062   1   2   1049   1   105   0105   1   2015   1   2015-02-20      0   0   2.00 <?xml ....data>   0   1   


Само поле xml из этой записи в несколько "урезанном" виде (тока основные поля):

Код:
<bill account="..." bik="..." bank_title="..." corr_account="..." saldo="239.98" saldo_prev="240.98" amounts="2.00" payments="1.00" charges="0.00" cid="4062" type="1" type_title="Счет за интернет"
contract="1100001" contract_date1="01.02.2007" contract_date2="" fc="0" balance_mode="1" yy="2015" mm="2" month="февраль" period_date1="01.02.2015" period_date2="28.02.2015" date="20.02.2015" bill_number="0105"
payer="Xyxxy Z.X. YyYyYyYyYyYy, YyYyyYyyYyy, южная часть, YyyYyy, д. 1, др. а, кв. 2, 2 эт." total_sum="2.00" npid="1" correction="0">
<pos position_id="1" name="Услуга доступа в Интернет согл. договора за февраль 2015 г." summ="2.00" sumUnscaled="2.00000" unit="шт." unitCode="796" quantity="1" qtynums="0" qtynumsRnd="4" insum="1" awlz="0"/>
<tariff_bill>
<personal_tariff id="137" tree_id="293" title="XyxxyZX" date1="01.01.2015" date2=""/>
</tariff_bill>
<contract_data cid="4062">
<contract cid="4062"
title="1100001" comment="Xyxxy Z.X. YyYyYyYyYyYy, YyYyyYyyYyy, южная часть, YyyYyy, д. 1, др. а, кв. 2, 2 эт." mode="1" limit="0.00" date1="01.02.2007" date2="" pswd="ksv1860" fc="0" time="20.02.2015 06:59"
gr="4503599627370496" param_group="1" status="0" status_date="17.03.2010" balance_rest="239.98"><personal_tariff id="137" title="XyxxyZX" date1="01.01.2015" date2=""/>
</contract>
<module id="5" title="Buhgalteriya" name="bill">
<bill_attribute_5 id="248" cid="4062" name="org_name" value="XxXxXx"/>
<bill_attribute_5 id="249" cid="4062" name="address" value="YyYyYyYyYyYy YyYyyYyyYyy"/>
<bill_attribute_5 id="250" cid="4062" name="osn" value="№ 1234567 от 01.01.2001"/>
<bill_attribute_5 id="251" cid="4062" name="pril" value="№ 777 от 12.12.2012"/>
<bill_attribute_5 id="252" cid="4062" name="face" value="Xyxxy Z.X."/>
<bill_contract_doc_type_5 id="173" cid="4062" doc_type="1"/>
</module>
..........
...........
...........
..........
</contract_data>
<condel pgid="1" del="0" fc="0" pfid="1"/>
<contract_params>
<parameter pid="1" pt="1" sort="1" title="ФИО" value="Xyxxy ZzZzZ XyYyYyYyY"/>
<parameter pid="21" pt="1" sort="18" title="Телефон_текст" value="7916123456 ; 7499123456 "/>
<parameter pid="22" pt="1" sort="19" title="Особые отметки" value="192.168.0.1"/>
<parameter pid="23" pt="1" sort="20" title="IP-адрес радиооборудования" value="порт 88"/>
<parameter pid="2" pt="2" title="Адрес подключения" sort="2" value=" YyYyYyYyYyYy, YyYyyYyyYyy, южная часть, YyyYyy, д. 1, др. а, кв. 2, 2 эт." comment=""/>
<parameter pid="3" pt="9" sort="6" title="Телефон" value="7916123456 [Личный]; 7499123456 [Домашний]; "/>
</contract_params>
<params nds="0"/>
<attributes address="YyYyYyYyYyYy YyYyyYyyYyy" face="Xyxxy Z.X." org_name="XxXxXx" osn="№ 1234567 от 01.01.2001" pril="№ 777 от 12.12.2012"/>
</bill></data>


Как видите, все параметры договора и реквизиты для бухгалтерии на месте.
Теперь попробуем выгрузить этот счёт в файл реестра счетов с именем p.csv помощью шаблона preempt_bill_reestr.xsl, имеющего следующий вид:

Код:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:svg="http://www.w3.org/2000/svg"
        xmlns:xalan="http://xml.apache.org/xalan"
        xmlns:st="bitel.billing.server.bill.bean.SummaToString"
        xmlns:counter="bitel.billing.server.util.exslt.Counter"
        xmlns:server_utils="ru.bitel.bgbilling.server.util.ServerUtils"
        version="1.0">
        <xalan:component prefix="st" functions="summaToString">
                         <xalan:script lang="javaclass" src="xalan://bitel.billing.server.bill.bean.SummaToString"/>
        </xalan:component>
        <xalan:component prefix="counter" functions="add set get">
                         <xalan:script lang="javaclass" src="xalan://bitel.billing.server.util.exslt.Counter"/>
        </xalan:component>
        <xalan:component prefix="server_utils" functions="replace">
                         <xalan:script lang="javaclass" src="xalan://ru.bitel.bgbilling.server.util.ServerUtils"/>
        </xalan:component>
        <xsl:output encoding="UTF-8" method='text' indent='yes' />
        <xsl:template match="data">
                <xsl:apply-templates select="bill" />
        </xsl:template>
        <xsl:variable name="fio" select="/data/bill/contract_params/parameter[@pid='5']/@value"/>
        <xsl:variable name="address" select="/data/bill/contract_params/parameter[@pid='2']/@value"/>
        <xsl:variable name="phone" select="/data/bill/contract_params/parameter[@pid='21']/@value"/>
        <xsl:variable name="prill" select="/data/bill/contract_params/parameter[@pid='24']/@value"/>
        <xsl:variable name="dolg" select="format-number(/data/bill/@saldo_prev, '0.00')"/>
        <xsl:variable name="itogo" select="format-number(/data/bill/@total_sum,'0.00')"/>
        <xsl:template match="bill">
                        <xsl:value-of select="$fio"/>;
         <xsl:value-of select="$address"/>;
         <xsl:value-of select="@bill_number"/>;
         <xsl:value-of select="@type_title"/>;
         <xsl:value-of select="@date"/>;
         <xsl:value-of select="server_utils:replace($phone,';',',')"/>;
         <xsl:value-of select="$prill"/>;
         <xsl:value-of select="$dolg"/>;
         <xsl:call-template name="positions"/> <xsl:value-of select="$itogo"/>;
        </xsl:template>
        <xsl:template name="positions">
                <xsl:for-each select="pos"><xsl:value-of select="@name"/>;<xsl:value-of select="@summ"/>;</xsl:for-each>
        </xsl:template>
</xsl:stylesheet>


в результате в файле p.csv имеем :

Код:
; YyYyYyYyYyYy, YyYyyYyyYyy, южная часть, YyyYyy, д. 1, др. а, кв. 2, 2 эт.;0105;Счет за интернет;20.02.2015;7916123456 , 7499123456 ;;240.98;Услуга доступа в Интернет согл. договора за февраль 2015 г.;2.00;2.00;


т.е. поле №1 ( fio ) и поле № 7 (prill) остались не заполненными хотя в этих полях должны были бы быть значения "ООО Компания XxXxXx" и "№ 777 от 12.12.2012" соответственно.

Вопрос - в каком месте я дурак или это так задуманно ?

_________________
"Все правые - в резерве!" (c) (translate.google.ru/#en/ru/all%20rigths%20reserved)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 21 фев 2015, 12:03 
Не в сети
Клиент

Зарегистрирован: 21 май 2008, 10:54
Сообщения: 599
Откуда: 50-й рег.
Карма: 40
Продолжаем...
Я так понимаю что в таблице bill_data_5 в поле xml лежат данные. которыми пользуются файлы bill_pdf.xsl и preempt_bill_reestr.xsl
при генерации pdf-ок
Заметил. что в блоке
Код:
<contract_params>
<parameter pid="1" pt="1" sort="1" title="ФИО" value="Xyxxy ZzZzZ XyYyYyYyY"/>
<parameter pid="21" pt="1" sort="18" title="Телефон_текст" value="7916123456 ; 7499123456 "/>
<parameter pid="22" pt="1" sort="19" title="Особые отметки" value="192.168.0.1"/>
<parameter pid="23" pt="1" sort="20" title="IP-адрес радиооборудования" value="порт 88"/>
<parameter pid="2" pt="2" title="Адрес подключения" sort="2" value=" YyYyYyYyYyYy, YyYyyYyyYyy, южная часть, YyyYyy, д. 1, др. а, кв. 2, 2 эт." comment=""/>
<parameter pid="3" pt="9" sort="6" title="Телефон" value="7916123456 [Личный]; 7499123456 [Домашний]; "/>
</contract_params>

отсутствует упоминание параметра договора pid=24 title="Приложение"

Может поэтому этот параметр не отображается в реестре счетов ?

А какой код формирует поле xml в bill_data_5 ? Где-то есть шаблон , который можно подправить ? или надо перекомпилить какие-то ява-классы ?

_________________
"Все правые - в резерве!" (c) (translate.google.ru/#en/ru/all%20rigths%20reserved)


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

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
1) какой тип параметра с pid=24 title="Приложение"
2) этот параметр был (создан и заполнен) до создание счета?


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

Зарегистрирован: 21 май 2008, 10:54
Сообщения: 599
Откуда: 50-й рег.
Карма: 40
1. тип -текст, лежит в contract_parameter_type_1.
2 Параметр был создан и заполнен до выставления счёта.

_________________
"Все правые - в резерве!" (c) (translate.google.ru/#en/ru/all%20rigths%20reserved)


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

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
параметр входит в группу параметров назначенных на договор (и входил ли в момент создания счета)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 фев 2015, 12:06 
Не в сети
Клиент

Зарегистрирован: 21 май 2008, 10:54
Сообщения: 599
Откуда: 50-й рег.
Карма: 40
Цитата:
параметр входит в группу параметров назначенных на договор


О да! именно это я и не проверил! Параметр "Приложение" не входил в группу параметров
, назначенных на группу договоров к которым принадлежал данный договор!
Добавил этот параметр в группу и всё заработало!
Спасибо за подсказку!

_________________
"Все правые - в резерве!" (c) (translate.google.ru/#en/ru/all%20rigths%20reserved)


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

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


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

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


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

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