<?xml version="1.0" encoding="UTF-8"?>
<!--
TODO: // Write here your own templates
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:php="http://php.net/xsl"
xmlns:udt="http://umi-cms.ru/2007/UData/templates"
extension-element-prefixes="php"
exclude-result-prefixes="xsl php udt">
<xsl:template match="object" mode="order">
<xsl:param name="order_num" select="properties/group/property[@name='number']/value"/>
<xsl:param name="status_change_date"
select="string(properties/group/property[@name='status_change_date']/value/@unix-timestamp)"/>
<xsl:param name="order_date"
select="string(properties/group/property[@name='order_date']/value/@unix-timestamp)"/>
<xsl:param name="total_price" select="properties/group/property[@name='total_price']/value"/>
<xsl:param name="customer_id" select="properties/group/property[@name='customer_id']/value/item/@id"/>
<xsl:param name="customer_comments" select="properties/group/property[@name='comments']/value"/>
<xsl:param name="order_status_id" select="number(properties/group/property[@name='status_id']/value/item/@id)"/>
<xsl:param name="order_status" select="document(concat('uobject://', $order_status_id))/udata/object"/>
<xsl:param name="order_status_codename" select="string($order_status//property[@name='codename']/value)"/>
<xsl:param name="idN" select="@id"/>
<xsl:param name="discount_card" select="document(concat('uobject://', $idN))/udata/object/properties/group[@name='order_discount_props']/property/value/item/@name" />
<xsl:param name="comment_user" select="document(concat('uobject://', $idN))/udata/object/properties/group[@name='order_props']/property[@name='customer_id']/value/item/@id" />
<xsl:param name="comment_u" select="document(concat('uobject://', $comment_user))/udata/object/properties/group[@name='personal_info']/property[@name='comment']/value" />
<xsl:param name="phone_u" select="document(concat('uobject://', $comment_user))/udata/object/properties/group[@name='contact_props']/property[@name='phone']/value" />
<xsl:param name="disc_card_u" select="document(concat('uobject://', $comment_user))/udata/object/properties/group[@name='personal_info']/property[@name='card_discount']/value" />
<xsl:param name="payment_date"
select="string(properties/group/property[@name='payment_date']/value/@unix-timestamp)"/>
<xsl:param name="payment_document_num"
select="string(properties/group/property[@name='payment_document_num']/value)"/>
<xsl:param name="payment_type" select="string(properties/group/property[@name='payment_id']/value/item/@name)"/>
<xsl:param name="payment_status_id"
select="number(properties/group/property[@name='payment_status_id']/value/item/@id)"/>
<xsl:param name="payment_status_codename"
select="string(document(concat('uobject://', $payment_status_id))//property[@name='codename']/value)"/>
<xsl:param name="delivery_allow_date"
select="string(properties/group/property[@name='delivery_allow_date']/value/@unix-timestamp)"/>
<xsl:param name="delivery_adress_id" select="properties/group/property[@name='delivery_address']/value/item/@id" />
<xsl:param name="phone" select="properties/group[@name='contact_props']/property[@name='phone']/value" />
<xsl:param name="email" select="properties/group[@name='contact_props']/property[@name='email']/value" />
<xsl:param name="emailPos" select="properties/group[@name='contact_props']/property[@name='email']/value" />
<xsl:param name="emailPosU" select="document(concat('uobject://', $comment_user))/udata/object/properties/group[@name='idetntify_data']/property[@name='e-mail']/value" />
<Документ>
<Ид>
<xsl:value-of select="@id"/>
</Ид>
<Номер>
<xsl:value-of select="@id"/>
</Номер>
<Дата>
<xsl:if test="string-length($order_date)">
<xsl:value-of select="php:function('date', 'Y-m-d', $order_date)"/>
</xsl:if>
</Дата>
<ХозОперация>Заказ товара</ХозОперация>
<Роль>Продавец</Роль>
<Валюта>руб</Валюта>
<Курс>1</Курс>
<Сумма>
<xsl:value-of select="$total_price"/>
</Сумма>
<xsl:if test="string-length($order_date)">
<Время>
<xsl:value-of select="php:function('date', 'H:i:s', $order_date)"/>
</Время>
</xsl:if>
<xsl:apply-templates
select="document(concat('uobject://',$delivery_adress_id))/udata"
mode="delivery_time"/>
<Комментарий>Заказ №<xsl:value-of select="$order_num"/>
</Комментарий>
<Телефон>
<xsl:value-of select="$phone"/>
</Телефон>
<xsl:if test="$customer_id">
<Контрагенты>
<xsl:apply-templates select="document(concat('uobject://', $customer_id))/udata/object"
mode="customer">
<xsl:with-param name="adress_id" select="$delivery_adress_id"/>
</xsl:apply-templates>
</Контрагенты>
</xsl:if>
<Товары>
<xsl:apply-templates select="properties/group/property[@name='delivery_price']/value" mode="delivery"/>
<xsl:apply-templates select="properties/group/property[@name='order_items']/value/item"
mode="order-item"/>
</Товары>
<Скидка>
<xsl:value-of select="$discount_card"/>
</Скидка>
<НомерКарты>
<xsl:value-of select="$disc_card_u"/>
</НомерКарты>
<КомментарийПокупателя>
<xsl:value-of select="$comment_u"/>
</КомментарийПокупателя>
<ТелефонПокупателя>
<xsl:value-of select="$phone_u"/>
</ТелефонПокупателя>
<ЗначенияРеквизитов>
<xsl:if test="string-length($payment_date)">
<ЗначениеРеквизита>
<Наименование>Дата оплаты</Наименование>
<Значение>
<xsl:value-of select="php:function('date', 'Y-m-d', $payment_date)"/>
</Значение>
</ЗначениеРеквизита>
</xsl:if>
<xsl:if test="string-length($payment_document_num)">
<ЗначениеРеквизита>
<Наименование>Номер платежного документа</Наименование>
<Значение>
<xsl:value-of select="$payment_document_num"/>
</Значение>
</ЗначениеРеквизита>
</xsl:if>
<xsl:if test="string-length($payment_type)">
<ЗначениеРеквизита>
<Наименование>Метод оплаты</Наименование>
<Значение>
<xsl:value-of select="$payment_type"/>
</Значение>
</ЗначениеРеквизита>
</xsl:if>
<xsl:if test="string-length($delivery_allow_date)">
<ЗначениеРеквизита>
<Наименование>Дата разрешения доставки</Наименование>
<Значение>
<xsl:value-of select="php:function('date', 'Y-m-d', $delivery_allow_date)"/>
</Значение>
</ЗначениеРеквизита>
<ЗначениеРеквизита>
<Наименование>Доставка разрешена</Наименование>
<Значение>true</Значение>
</ЗначениеРеквизита>
</xsl:if>
<ЗначениеРеквизита>
<Наименование>Заказ оплачен</Наименование>
<Значение>
<xsl:choose>
<xsl:when test="$payment_status_codename = 'accepted'">true</xsl:when>
<xsl:otherwise>false</xsl:otherwise>
</xsl:choose>
</Значение>
</ЗначениеРеквизита>
<ЗначениеРеквизита>
<Наименование>Отменен</Наименование>
<Значение>
<xsl:choose>
<xsl:when test="$order_status_codename = 'canceled'">true</xsl:when>
<xsl:otherwise>false</xsl:otherwise>
</xsl:choose>
</Значение>
</ЗначениеРеквизита>
<ЗначениеРеквизита>
<Наименование>Финальный статус</Наименование>
<Значение>
<xsl:choose>
<xsl:when test="$order_status_codename = 'ready'">true</xsl:when>
<xsl:otherwise>false</xsl:otherwise>
</xsl:choose>
</Значение>
</ЗначениеРеквизита>
<ЗначениеРеквизита>
<Наименование>Статус заказа</Наименование>
<Значение>
<xsl:value-of select="$order_status/@name"/>
</Значение>
</ЗначениеРеквизита>
<xsl:if test="string-length($status_change_date)">
<ЗначениеРеквизита>
<Наименование>Дата изменения статуса</Наименование>
<Значение>
<xsl:value-of select="php:function('date', 'Y-m-d H:i', $status_change_date)"/>
</Значение>
</ЗначениеРеквизита>
</xsl:if>
</ЗначенияРеквизитов>
</Документ>
</xsl:template>
<xsl:template match="object" mode="customer">
<xsl:param name="adress_id" />
<Контрагент>
<Ид>
<xsl:value-of select="@id"/>
</Ид>
<Наименование><xsl:value-of select="//property[@name='fname']/value"/> <xsl:value-of
select="//property[@name='lname']/value"/>
</Наименование>
<ПолноеНаименование><xsl:value-of select="//property[@name='fname']/value"/> <xsl:value-of
select="//property[@name='lname']/value"/>
</ПолноеНаименование>
<Роль>Покупатель</Роль>
<Фамилия>
<xsl:value-of select="//property[@name='lname']/value"/>
</Фамилия>
<Имя>
<xsl:value-of select="//property[@name='fname']/value"/>
</Имя>
<Комментарий>
<xsl:value-of select="//property[@name='comment']/value"/>
</Комментарий>
<Адрес>
<xsl:apply-templates
select="document(concat('uobject://',$adress_id))/udata"
mode="delivery_info"/>
</Адрес>
<Контакты>
<Контакт>
<Тип>Почта</Тип>
<Значение>
<xsl:value-of select="properties/group[@name='contact_props']/property[@name='email']/value"/>
</Значение>
</Контакт>
</Контакты>
</Контрагент>
</xsl:template>
<xsl:template match='object' mode='delivery_info'>
<Представление> <xsl:value-of select="//property[@name='city']/value"/>, улица <xsl:value-of select="//property[@name='street']/value"/>, дом <xsl:value-of select="//property[@name='house']/value"/> Квартира <xsl:value-of select="//property[@name='flat']/value"/></Представление>
<АдресноеПоле>
<Тип>Город</Тип>
<Значение>
<xsl:value-of select="//property[@name='city']/value"/>
</Значение>
</АдресноеПоле>
<АдресноеПоле>
<Тип>Улица</Тип>
<Значение>
<xsl:value-of select="//property[@name='street']/value"/>
</Значение>
</АдресноеПоле>
<АдресноеПоле>
<Тип>Дом</Тип>
<Значение>
<xsl:value-of select="//property[@name='house']/value"/>
</Значение>
</АдресноеПоле>
<АдресноеПоле>
<Тип>Квартира</Тип>
<Значение>
<xsl:value-of select="//property[@name='flat']/value"/>
</Значение>
</АдресноеПоле>
</xsl:template>
<xsl:template match='object' mode='delivery_time'>
<ВремяДоставки>
<xsl:value-of select="//property[@name='delivery_time']/value"/>
</ВремяДоставки>
<ДатаДоставки>
<xsl:value-of select="//property[@name='delivery_date']/value"/>
</ДатаДоставки>
</xsl:template>
</xsl:stylesheet>