Отображение в счёте для юридических лиц цены с НДС (второй вариант)
Актуально для версии 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>
Теперь возле каждого товара выводится ндс. Если Вам необходимо указать и общее ндс всех товаров, то рекомендуем воспользоваться статьей Отображение в счёте для юридических лиц цены с НДС