BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 17 июн 2025, 05:18

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




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
СообщениеДобавлено: 27 окт 2009, 12:56 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Добрый день!

Подскажите, пожалуйста, не могу сообразить. Мне хочется печатать определенный шаблон только если в счете присутствует определенная наработка, можно ли такое сделать? Например: если наработка по телефонии > 0, то печатаем шаблон детализации звонков.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 окт 2009, 13:05 
Настройка в типе документа
Цитата:
create.only.when.pos.positive=x,y,...,z - создание счета\счета-фактуры только в том случае, если указанные позиции с кодами x,y,...,z положительны.

не решает проблему?


Вернуться к началу
  
 
СообщениеДобавлено: 27 окт 2009, 13:53 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Нет, не решает, так как у меня один общий документ по всем услугам, а не отдельные счета на каждую услугу.


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

Зарегистрирован: 07 май 2008, 13:34
Сообщения: 594
Откуда: Москва
Карма: 27
речь как я понимаю о том как в XSL проверить условие и в случае его истинности запустить темплейт с детализацией ?

вариантов масса
вот мой кусок вызова детализации
Код:
     <xsl:template name="VOIP_DETAIL">
                <!--
                        Суммарное время звонков по договору и субдоговорам для проверки на наличие активных логинов (код модуля 4).
                -->
                <xsl:variable name="summary_query" select="concat('
                        SELECT  sum(session_time) AS duration
                        FROM    contract JOIN
                                log_session_4_', $mysql_date_suffix, ' AS log ON (contract.id = log.cid AND log.session_time > 0)
                        WHERE   contract.id = ', /data/bill/@cid, ' OR contract.scid = ', /data/bill/@cid
                        )" />
                <xsl:variable name="summary" select="sql:select( $summary_query )" />
                <xsl:variable name="duration" select="format-number($summary/row[1]/@duration, '0.00', 'zero')" />
                <xsl:if test="$detail_voip_style != 'NONEED' and $duration > 0 ">
                        <fo:page-sequence master-reference="portrait2" initial-page-number="1" force-page-count="no-force">
                                <fo:static-content flow-name="PageHeader">
                                        <fo:block xsl:use-attribute-sets="text6_right">
                                                страница <fo:page-number /> из <fo:page-number-citation ref-id="endofvoip" />
                                        </fo:block>
                                </fo:static-content>
                                <fo:flow flow-name="xsl-region-body">
                                        <xsl:value-of select="counter:set( 'voip_page_fill', '27.0' )" />
                                        <xsl:call-template name="VOIP_LOGIN_DETAIL" />
                                        <fo:block id="endofvoip" />
                                </fo:flow>
                        </fo:page-sequence>
                </xsl:if>
        </xsl:template>


вы можете просто сделать foreach по элементу /bill/pos и найти позицию с требуемым ID, сумма этой позиции будет условием


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 30 окт 2009, 10:33 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Спасибо. Что селект можно сделать и по его результату посмотреть я догадался. А вот про for-each bill/pos забыл. Попробую.


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

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


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

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


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

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