Отображение в счёте для юридических лиц цены с НДС (второй вариант) — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
 
Строка 1: Строка 1:
 +
'''Актуально для версии 2.9'''
 +
 
Задача: нужно в счёте для юридических лиц выводить цену каждого товара с указанным НДС.
 
Задача: нужно в счёте для юридических лиц выводить цену каждого товара с указанным НДС.
  
Строка 33: Строка 35:
  
 
Теперь возле каждого товара выводится ндс. Если Вам необходимо указать и общее ндс всех товаров, то рекомендуем воспользоваться статьей [[Отображение в счёте для юридических лиц цены с НДС]]
 
Теперь возле каждого товара выводится ндс. Если Вам необходимо указать и общее ндс всех товаров, то рекомендуем воспользоваться статьей [[Отображение в счёте для юридических лиц цены с НДС]]
 
Актуально для версии 2.9
 
  
 
[[Категория:Верстка в XSLT]][[Категория:Модуль Интернет магазин]]
 
[[Категория:Верстка в XSLT]][[Категория:Модуль Интернет магазин]]

Текущая версия на 08:09, 5 июня 2013

Актуально для версии 2.9

Задача: нужно в счёте для юридических лиц выводить цену каждого товара с указанным НДС.

Решение: редактируем шаблон, по которому выводится упомянутый выше счет. Находится он в файле \templates\имя_Вашего_шаблона\xslt\sys-tpls\emarket-invoice.xsl.

После строчки

<xsl:output encoding="utf-8" method="html" indent="yes"/>

добавим переменную НДС 18%:

<xsl:variable name="item_nds" select="0.18" />

Далее, изменим таблицу - после строки

<td width="85" align="center" valign="top">Цена</td>

добавим

<td width="85" align="center" valign="top">НДС</td>

и изменим значение параметра colspan на 6 в выводе необходимых строчек.

После строчки

<xsl:variable name="object" select="document(concat('uobject://', @id))/udata/object" />

добавим некоторые переменные:

<xsl:variable name="item_price" select="$object//property[@name='item_total_original_price']/value" />
<xsl:variable name="item_total_price" select="$object//property[@name='item_total_price']/value" />
<xsl:variable name="item_amt" select="$object//property[@name='item_amount']/value" />
<xsl:variable name="item_nds_count" select="$item_price * $item_nds" />
<xsl:variable name="item_real_price" select="$item_price div $item_amt" />
<xsl:variable name="item_final_price" select="$item_total_price + $item_nds_count" />

Теперь осталось правильно заполнить таблицу. Необходимо заменить данные 2 строки

<td width="85" align="center" valign="top"><xsl:value-of select="format-number($object//property[@name='item_price']/value, '#.00')" /></td>
<td width="85" align="center" valign="top"><xsl:value-of select="format-number($object//property[@name='item_total_price']/value, '#.00')" /></td>

на следующие 3:

<td width="85" align="center" valign="top"><xsl:value-of select="format-number($item_real_price, '#.00')" /></td>
<td width="85" align="center" valign="top"><xsl:value-of select="format-number($item_nds_count, '#.##')" /></td>
<td width="85" align="center" valign="top"><xsl:value-of select="format-number($item_final_price, '#.##')" /></td>

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