<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:ext="urn:extension-functions" exclude-result-prefixes="msxsl ext">
<xsl:output method="xml" indent="yes" encoding="windows-1251"/>
<xsl:include href="change.xslt"/>
<xsl:template name="recursive_TeksInf">
<xsl:param name="text"/>
<xsl:param name="id"/>
<xsl:if test="$text!='' and contains($text,'/><')">
<xsl:call-template name="Шаблон">
<xsl:with-param name="PACKETID" select="/Документ/@Идентификатор"/>
<xsl:with-param name="ROWTYPE" select="'Parameter'"/>
<xsl:with-param name="DOCUMENTID" select="normalize-space($id)"/>
<xsl:with-param name="ROWINDEX" select="../@НомСтр|../@Номер|../@НомТов"/>
<xsl:with-param name="NAME">
<xsl:variable name="after" select="substring-after($text, 'Реквизит Имя="')"/>
<xsl:value-of select="substring-before($after,'" Значение=')"/>
</xsl:with-param>
<xsl:with-param name="VALUE">
<xsl:variable name="after" select="substring-after($text, 'Значение="')"/>
<xsl:value-of select="substring-before($after,'"/><')"/>
</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="recursive_TeksInf">
<xsl:with-param name="text" select="substring-after($text,'/><')"/>
<xsl:with-param name="id" select="$id"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template match="//ИнфПол">
<xsl:call-template name="recursive_TeksInf">
<xsl:with-param name="text" select="@ТекстИнф"/>
<xsl:with-param name="id">
<xsl:value-of select="../../../../../../@Идентификатор"/>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template match="//@ИнфПолСтр">
<xsl:call-template name="recursive_TeksInf">
<xsl:with-param name="text" select="current()"/>
<xsl:with-param name="id">
<xsl:choose>
<xsl:when test="../../../../../../../../@Тип = 'АктВР'">
<xsl:value-of select="../../../../../../../../@Идентификатор"/>
</xsl:when>
<xsl:when test="../../../../../../../@Тип = 'СчФктр'">
<xsl:value-of select="../../../../../../../@Идентификатор"/>
</xsl:when>
<xsl:when test="../../../../../../../../../@Тип = 'ЭДОНакл'">
<xsl:value-of select="../../../../../../../../../@Идентификатор"/>
</xsl:when>
</xsl:choose>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template match="/Документ/СписокВложение/Вложение/Файл/XMLДанные/Файл/Документ/СвТНО/ТН/Таблица/СвТов">
<xsl:call-template name="Шаблон">
<xsl:with-param name="PACKETID" select="/Документ/@Идентификатор"/>
<xsl:with-param name="ROWTYPE" select="'RowTable'"/>
<xsl:with-param name="DOCUMENTID" select="../../../../../../../../@Идентификатор"/>
<xsl:with-param name="ROWINDEX" select="@НомТов"/>
<xsl:with-param name="NAME" select="@НаимТов"/>
<xsl:with-param name="ID" select="@КодТов"/>
<xsl:with-param name="UNITCODE" select="@ОКЕИ_Тов"/>
<xsl:with-param name="UNITNAME" select="@НаимЕдИзм"/>
<xsl:with-param name="AMOUNT" select="@Нетто"/>
<xsl:with-param name="PRICE" select="@Цена"/>
<xsl:with-param name="SUM" select="@СумБезНДС"/>
<xsl:with-param name="TOTAL" select="@СумУчНДС"/>
<xsl:with-param name="TAXSUM" select="@СумНДС"/>
<xsl:with-param name="TAXTYPE" select="''"/>
<xsl:with-param name="TAXRATE" select="''"/>
<xsl:with-param name="EXCISESUM" select="''"/>
<xsl:with-param name="GROSSWEIGH" select="@Брутто"/>
<xsl:with-param name="NETWEIGHT" select="@Нетто"/>
<xsl:with-param name="PACK" select="@КолМест"/>
<xsl:with-param name="PACKAMOUNT" select="@Место"/>
<xsl:with-param name="PACKNAME" select="@ВидУпак"/>
</xsl:call-template>
</xsl:template>
<xsl:template match="/Документ/СписокВложение/Вложение/Файл/XMLДанные/Файл/Документ/ТаблСчФакт/СведТов">
<xsl:call-template name="Шаблон">
<xsl:with-param name="PACKETID" select="/Документ/@Идентификатор"/>
<xsl:with-param name="ROWTYPE" select="'RowTable'"/>
<xsl:with-param name="DOCUMENTID" select="../../../../../../@Идентификатор"/>
<xsl:with-param name="ROWINDEX" select="@НомСтр"/>
<xsl:with-param name="NAME" select="@НаимТов"/>
<xsl:with-param name="UNITCODE" select="@ОКЕИ_Тов"/>
<xsl:with-param name="UNITNAME" select="''"/>
<xsl:with-param name="AMOUNT" select="@КолТов"/>
<xsl:with-param name="PRICE" select="@ЦенаТов"/>
<xsl:with-param name="SUM" select="@СтТовБезНДС"/>
<xsl:with-param name="TOTAL" select="@СтТовУчНал"/>
<xsl:with-param name="TAXSUM" select="СумНал/@СумНДС"/>
<xsl:with-param name="TAXTYPE" select="НалСт/@НалСтТип"/>
<xsl:with-param name="TAXRATE" select="НалСт/@НалСтВел"/>
<xsl:with-param name="EXCISESUM" select="Акциз/@СумАкциз"/>
</xsl:call-template>
</xsl:template>
<xsl:template match="/Документ/СписокВложение/Вложение/Файл/XMLДанные/Файл/Документ/СвАктИ/ОписРабот/Работа">
<xsl:call-template name="Шаблон">
<xsl:with-param name="PACKETID" select="/Документ/@Идентификатор"/>
<xsl:with-param name="ROWTYPE" select="'RowTable'"/>
<xsl:with-param name="DOCUMENTID" select="../../../../../../../@Идентификатор"/>
<xsl:with-param name="ROWINDEX" select="@Номер"/>
<xsl:with-param name="NAME" select="@НаимРабот|@Описание"/>
<xsl:with-param name="UNITCODE" select="@ОКЕИ"/>
<xsl:with-param name="UNITNAME" select="@НаимЕдИзм"/>
<xsl:with-param name="AMOUNT" select="@Количество"/>
<xsl:with-param name="PRICE" select="@Цена"/>
<xsl:with-param name="SUM" select="@СумБезНДС"/>
<xsl:with-param name="TOTAL" select="@СумУчНДС"/>
<xsl:with-param name="TAXSUM" select="@СумНДС"/>
<xsl:with-param name="TAXTYPE" select="''"/>
<xsl:with-param name="TAXRATE" select="''"/>
<xsl:with-param name="EXCISESUM" select="''"/>
</xsl:call-template>
</xsl:template>
<!-- Шаблон для Грузополучателя-->
<xsl:template match="/Документ/СписокВложение/Вложение" mode="Party_Consignee">
<xsl:if test="Файл/XMLДанные/Файл/Документ/СвСчФакт/ГрузПолуч or Файл/XMLДанные/Файл/Документ/СвТНО/ГрузПолуч">
<xsl:variable name="BANKACC">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузПолуч/БанкРекв/@НомерСчета"/>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="BANKID">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузПолуч/БанкРекв/СвБанк/@БИК"/>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="BANKNAME">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузПолуч/БанкРекв/СвБанк/@НаимБанк"/>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="ADRESS">
<xsl:choose>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:apply-templates select="Файл/XMLДанные/Файл/Документ/СвСчФакт/ГрузПолуч/Адрес/АдрИно|Файл/XMLДанные/Файл/Документ/СвСчФакт/ГрузПолуч/Адрес/АдрРФ"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:apply-templates select="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузПолуч/Адрес/АдрРФ|Файл/XMLДанные/Файл/Документ/СвТНО/ГрузПолуч/Адрес/АдрИно"/>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="PHONE">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузПолуч/Контакт/@Тлф"/>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="KPP">
<xsl:choose>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:choose>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузПолуч/ИдСв/СвФЛ/ФИОИП/@Имя != '---' and Файл/XMLДанные/Файл/Документ/СвТНО/ГрузПолуч/ИдСв/СвФЛ/ФИОИП/@Фамилия != '---'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузПолуч/ИдСв/СвЮЛ/@КПП"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="INN">
<xsl:choose>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:choose>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузПолуч/ИдСв/СвФЛ/ФИОИП/@Имя != '---' and Файл/XMLДанные/Файл/Документ/СвТНО/ГрузПолуч/ИдСв/СвФЛ/ФИОИП/@Фамилия != '---'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузПолуч/ИдСв/СвФЛ/@ИННФЛ"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузПолуч/ИдСв/СвЮЛ/@ИННЮЛ"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="NAME">
<xsl:choose>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:choose>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвСчФакт/ГрузПолуч/НаимГОП/ФИОИП/@Имя != '---' and Файл/XMLДанные/Файл/Документ/СвСчФакт/ГрузПолуч/НаимГОП/ФИОИП/@Фамилия != '---'">
<xsl:value-of select="concat(Файл/XMLДанные/Файл/Документ/СвСчФакт/ГрузПолуч/НаимГОП/ФИОИП/@Фамилия,' ',Файл/XMLДанные/Файл/Документ/СвСчФакт/ГрузПолуч/НаимГОП/ФИОИП/@Имя,' ',Файл/XMLДанные/Файл/Документ/СвСчФакт/ГрузПолуч/НаимГОП/ФИОИП/@Отчество)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвСчФакт/ГрузПолуч/НаимГОП/@НаимОрг"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:choose>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузПолуч/ИдСв/СвФЛ/ФИОИП/@Имя != '---' and Файл/XMLДанные/Файл/Документ/СвТНО/ГрузПолуч/ИдСв/СвФЛ/ФИОИП/@Фамилия != '---'">
<xsl:value-of select="concat(Файл/XMLДанные/Файл/Документ/СвТНО/ГрузПолуч/ИдСв/СвФЛ/ФИОИП/@Фамилия,' ',Файл/XMLДанные/Файл/Документ/СвТНО/ГрузПолуч/ИдСв/СвФЛ/ФИОИП/@Имя,' ',Файл/XMLДанные/Файл/Документ/СвТНО/ГрузПолуч/ИдСв/СвФЛ/ФИОИП/@Отчество)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузПолуч/ИдСв/СвЮЛ/@НаимОрг"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:call-template name="Шаблон">
<xsl:with-param name="PACKETID" select="/Документ/@Идентификатор"/>
<xsl:with-param name="ROWTYPE" select="'Party'"/>
<xsl:with-param name="DOCUMENTID" select="@Идентификатор"/>
<xsl:with-param name="TYPE" select="'Consignee'"/>
<xsl:with-param name="NAME" select="$NAME"/>
<xsl:with-param name="INN" select="$INN"/>
<xsl:with-param name="KPP" select="$KPP"/>
<xsl:with-param name="PHONE" select="$PHONE"/>
<xsl:with-param name="ADDRESS" select="$ADRESS"/>
<xsl:with-param name="BANKACC" select="$BANKACC"/>
<xsl:with-param name="BANKID" select="$BANKID"/>
<xsl:with-param name="BANKNAME" select="$BANKNAME"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template match="/Документ/СписокВложение/Вложение" mode="Party_Shipper">
<xsl:if test="Файл/XMLДанные/Файл/Документ/СвСчФакт/ГрузОт or Файл/XMLДанные/Файл/Документ/СвТНО/ГрузОт">
<xsl:variable name="BANKACC">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузОт/ГрузОтпр/БанкРекв/@НомерСчета"/>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="BANKID">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузОт/ГрузОтпр/БанкРекв/СвБанк/@БИК"/>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="BANKNAME">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузОт/ГрузОтпр/БанкРекв/СвБанк/@НаимБанк"/>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="ADRESS">
<xsl:choose>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:apply-templates select="Файл/XMLДанные/Файл/Документ/СвСчФакт/ГрузОт/ГрузОтпр/Адрес/АдрИно|Файл/XMLДанные/Файл/Документ/СвСчФакт/ГрузОт/ГрузОтпр/Адрес/АдрРФ"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:apply-templates select="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузОт/ГрузОтпр/Адрес/АдрРФ|Файл/XMLДанные/Файл/Документ/СвТНО/ГрузОт/ГрузОтпр/Адрес/АдрИно"/>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="PHONE">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузОт/ГрузОтпр/Контакт/@Тлф"/>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="KPP">
<xsl:choose>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:choose>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузОт/ГрузОтпр/ИдСв/СвФЛ/ФИОИП/@Имя != '---' and Файл/XMLДанные/Файл/Документ/СвТНО/ГрузОт/ГрузОтпр/ИдСв/СвФЛ/ФИОИП/@Фамилия != '---'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузОт/ГрузОтпр/ИдСв/СвЮЛ/@КПП"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="INN">
<xsl:choose>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:choose>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузОт/ГрузОтпр/ИдСв/СвФЛ/ФИОИП/@Имя != '---' and Файл/XMLДанные/Файл/Документ/СвТНО/ГрузОт/ГрузОтпр/ИдСв/СвФЛ/ФИОИП/@Фамилия != '---'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузОт/ГрузОтпр/ИдСв/СвФЛ/@ИННФЛ"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузОт/ГрузОтпр/ИдСв/СвЮЛ/@ИННЮЛ"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="NAME">
<xsl:choose>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:choose>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвСчФакт/ГрузОт/ГрузОтпр/НаимГОП/ФИОИП/@Имя != '---' and Файл/XMLДанные/Файл/Документ/СвСчФакт/ГрузОт/ГрузОтпр/НаимГОП/ФИОИП/@Фамилия != '---'">
<xsl:value-of select="concat(Файл/XMLДанные/Файл/Документ/СвСчФакт/ГрузОт/ГрузОтпр/НаимГОП/ФИОИП/@Фамилия,' ',Файл/XMLДанные/Файл/Документ/СвСчФакт/ГрузОт/ГрузОтпр/НаимГОП/ФИОИП/@Имя,' ',Файл/XMLДанные/Файл/Документ/СвСчФакт/ГрузОт/ГрузОтпр/НаимГОП/ФИОИП/@Отчество)"/>
</xsl:when>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвСчФакт/ГрузОт/ОнЖе">
<xsl:text>Он же</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвСчФакт/ГрузОт/ГрузОтпр/НаимГОП/@НаимОрг"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:choose>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузОт/ГрузОтпр/ИдСв/СвФЛ/ФИОИП/@Имя != '---' and Файл/XMLДанные/Файл/Документ/СвТНО/ГрузОт/ГрузОтпр/ИдСв/СвФЛ/ФИОИП/@Фамилия != '---'">
<xsl:value-of select="concat(Файл/XMLДанные/Файл/Документ/СвТНО/ГрузОт/ГрузОтпр/ИдСв/СвФЛ/ФИОИП/@Фамилия,' ',Файл/XMLДанные/Файл/Документ/СвТНО/ГрузОт/ГрузОтпр/ИдСв/СвФЛ/ФИОИП/@Имя,' ',Файл/XMLДанные/Файл/Документ/СвТНО/ГрузОт/ГрузОтпр/ИдСв/СвФЛ/ФИОИП/@Отчество)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/ГрузОт/ГрузОтпр/ИдСв/СвЮЛ/@НаимОрг"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:call-template name="Шаблон">
<xsl:with-param name="PACKETID" select="/Документ/@Идентификатор"/>
<xsl:with-param name="ROWTYPE" select="'Party'"/>
<xsl:with-param name="DOCUMENTID" select="@Идентификатор"/>
<xsl:with-param name="TYPE" select="'Shipper'"/>
<xsl:with-param name="NAME" select="$NAME"/>
<xsl:with-param name="INN" select="$INN"/>
<xsl:with-param name="KPP" select="$KPP"/>
<xsl:with-param name="PHONE" select="$PHONE"/>
<xsl:with-param name="ADDRESS" select="$ADRESS"/>
<xsl:with-param name="BANKACC" select="$BANKACC"/>
<xsl:with-param name="BANKID" select="$BANKID"/>
<xsl:with-param name="BANKNAME" select="$BANKNAME"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template match="/Документ/СписокВложение/Вложение" mode="Party_Buyer">
<xsl:variable name="BANKACC">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/Плательщик/БанкРекв/@НомерСчета"/>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="BANKID">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/Плательщик/БанкРекв/СвБанк/@БИК"/>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="BANKNAME">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/Плательщик/БанкРекв/СвБанк/@НаимБанк"/>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="ADRESS">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:call-template name="findValue">
<xsl:with-param name="dopInfStr" select="Файл/XMLДанные/Файл/Документ/СвАктИ/ИнфПол/@ТекстИнф"/>
<xsl:with-param name="name">ЗаказчикАдрес</xsl:with-param>
</xsl:call-template>/</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:apply-templates select="Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПокуп/Адрес/АдрИно|Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПокуп/Адрес/АдрРФ"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:apply-templates select="Файл/XMLДанные/Файл/Документ/СвТНО/Плательщик/Адрес/АдрРФ|Файл/XMLДанные/Файл/Документ/СвТНО/Плательщик/Адрес/АдрИно"/>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="PHONE">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/Плательщик/Контакт/@Тлф"/>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="KPP">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:call-template name="findValue">
<xsl:with-param name="dopInfStr" select="Файл/XMLДанные/Файл/Документ/СвАктИ/ИнфПол/@ТекстИнф"/>
<xsl:with-param name="name">ЗаказчикКПП</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:choose>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПокуп/ИдСв/СвФЛ/ФИОИП/@Имя != '---' and Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПокуп/ИдСв/СвФЛ/ФИОИП/@Фамилия != '---'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПокуп/ИдСв/СвЮЛ/@КПП"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:choose>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвТНО/Плательщик/ИдСв/СвФЛ/ФИОИП/@Имя != '---' and Файл/XMLДанные/Файл/Документ/СвТНО/Плательщик/ИдСв/СвФЛ/ФИОИП/@Фамилия != '---'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/Плательщик/ИдСв/СвЮЛ/@КПП"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="INN">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:call-template name="findValue">
<xsl:with-param name="dopInfStr" select="Файл/XMLДанные/Файл/Документ/СвАктИ/ИнфПол/@ТекстИнф"/>
<xsl:with-param name="name">ЗаказчикИНН</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:choose>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПокуп/ИдСв/СвФЛ/ФИОИП/@Имя != '---' and Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПокуп/ИдСв/СвФЛ/ФИОИП/@Фамилия != '---'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПокуп/ИдСв/СвФЛ/@ИННФЛ"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПокуп/ИдСв/СвЮЛ/@ИННЮЛ"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:choose>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвТНО/Плательщик/ИдСв/СвФЛ/ФИОИП/@Имя != '---' and Файл/XMLДанные/Файл/Документ/СвТНО/Плательщик/ИдСв/СвФЛ/ФИОИП/@Фамилия != '---'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/Плательщик/ИдСв/СвФЛ/@ИННФЛ"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/Плательщик/ИдСв/СвЮЛ/@ИННЮЛ"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="NAME">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:call-template name="findValue">
<xsl:with-param name="dopInfStr" select="Файл/XMLДанные/Файл/Документ/СвАктИ/ИнфПол/@ТекстИнф"/>
<xsl:with-param name="name">Заказчик</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:choose>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПокуп/ИдСв/СвФЛ/ФИОИП/@Имя != '---' and Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПокуп/ИдСв/СвФЛ/ФИОИП/@Фамилия != '---'">
<xsl:value-of select="concat(Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПокуп/ИдСв/СвФЛ/ФИОИП/@Фамилия,' ',Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПокуп/ИдСв/СвФЛ/ФИОИП/@Имя,' ',Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПокуп/ИдСв/СвФЛ/ФИОИП/@Отчество)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПокуп/ИдСв/СвЮЛ/@НаимОрг"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:choose>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвТНО/Плательщик/ИдСв/СвФЛ/ФИОИП/@Имя != '---' and Файл/XMLДанные/Файл/Документ/СвТНО/Плательщик/ИдСв/СвФЛ/ФИОИП/@Фамилия != '---'">
<xsl:value-of select="concat(Файл/XMLДанные/Файл/Документ/СвТНО/Плательщик/ИдСв/СвФЛ/ФИОИП/@Фамилия,' ',Файл/XMLДанные/Файл/Документ/СвТНО/Плательщик/ИдСв/СвФЛ/ФИОИП/@Имя,' ',Файл/XMLДанные/Файл/Документ/СвТНО/Плательщик/ИдСв/СвФЛ/ФИОИП/@Отчество)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/Плательщик/ИдСв/СвЮЛ/@НаимОрг"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:call-template name="Шаблон">
<xsl:with-param name="PACKETID" select="/Документ/@Идентификатор"/>
<xsl:with-param name="ROWTYPE" select="'Party'"/>
<xsl:with-param name="DOCUMENTID" select="@Идентификатор"/>
<xsl:with-param name="TYPE" select="'Buyer'"/>
<xsl:with-param name="NAME" select="$NAME"/>
<xsl:with-param name="INN" select="$INN"/>
<xsl:with-param name="KPP" select="$KPP"/>
<xsl:with-param name="PHONE" select="$PHONE"/>
<xsl:with-param name="ADDRESS" select="$ADRESS"/>
<xsl:with-param name="BANKACC" select="$BANKACC"/>
<xsl:with-param name="BANKID" select="$BANKID"/>
<xsl:with-param name="BANKNAME" select="$BANKNAME"/>
</xsl:call-template>
</xsl:template>
<xsl:template match="/Документ/СписокВложение/Вложение" mode="Party_Seller">
<xsl:variable name="BANKACC">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвАктИ/Исполнитель/БанкРекв/@НомерСчета"/>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/Поставщик/БанкРекв/@НомерСчета"/>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="BANKID">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвАктИ/Исполнитель/БанкРекв/СвБанк/@БИК"/>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/Поставщик/БанкРекв/СвБанк/@БИК"/>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="BANKNAME">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвАктИ/Исполнитель/БанкРекв/СвБанк/@НаимБанк"/>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/Поставщик/БанкРекв/СвБанк/@НаимБанк"/>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="ADRESS">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:apply-templates select="Файл/XMLДанные/Файл/Документ/СвАктИ/Исполнитель/Адрес/АдрИно|Файл/XMLДанные/Файл/Документ/СвАктИ/Исполнитель/Адрес/АдрРФ"/>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:apply-templates select="Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПрод/Адрес/АдрИно|Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПрод/Адрес/АдрРФ"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:apply-templates select="Файл/XMLДанные/Файл/Документ/СвТНО/Поставщик/Адрес/АдрРФ|Файл/XMLДанные/Файл/Документ/СвТНО/Поставщик/Адрес/АдрИно"/>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="PHONE">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвАктИ/Исполнитель/Контакт/@Тлф"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/Поставщик/Контакт/@Тлф"/>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="KPP">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:choose>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвАктИ/Исполнитель/ИдСв/СвФЛ/ФИОИП/@Имя != '---' and Файл/XMLДанные/Файл/Документ/СвАктИ/Исполнитель/ИдСв/СвФЛ/ФИОИП/@Фамилия != '---'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвАктИ/Исполнитель/ИдСв/СвЮЛ/@КПП"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:choose>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПрод/ИдСв/СвФЛ/ФИОИП/@Имя != '---' and Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПрод/ИдСв/СвФЛ/ФИОИП/@Фамилия != '---'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПрод/ИдСв/СвЮЛ/@КПП"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:choose>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвТНО/Поставщик/ИдСв/СвФЛ/ФИОИП/@Имя != '---' and Файл/XMLДанные/Файл/Документ/СвТНО/Поставщик/ИдСв/СвФЛ/ФИОИП/@Фамилия != '---'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/Поставщик/ИдСв/СвЮЛ/@КПП"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="INN">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:choose>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвАктИ/Исполнитель/ИдСв/СвФЛ/ФИОИП/@Имя != '---' and Файл/XMLДанные/Файл/Документ/СвАктИ/Исполнитель/ИдСв/СвФЛ/ФИОИП/@Фамилия != '---'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвАктИ/Исполнитель/ИдСв/СвФЛ/@ИННФЛ"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвАктИ/Исполнитель/ИдСв/СвЮЛ/@ИННЮЛ"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:choose>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПрод/ИдСв/СвФЛ/ФИОИП/@Имя != '---' and Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПрод/ИдСв/СвФЛ/ФИОИП/@Фамилия != '---'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПрод/ИдСв/СвФЛ/@ИННФЛ"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПрод/ИдСв/СвЮЛ/@ИННЮЛ"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:choose>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвТНО/Поставщик/ИдСв/СвФЛ/ФИОИП/@Имя != '---' and Файл/XMLДанные/Файл/Документ/СвТНО/Поставщик/ИдСв/СвФЛ/ФИОИП/@Фамилия != '---'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/Поставщик/ИдСв/СвФЛ/@ИННФЛ"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/Поставщик/ИдСв/СвЮЛ/@ИННЮЛ"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="NAME">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:choose>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвАктИ/Исполнитель/ИдСв/СвФЛ/ФИОИП/@Имя != '---' and Файл/XMLДанные/Файл/Документ/СвАктИ/Исполнитель/ИдСв/СвФЛ/ФИОИП/@Фамилия != '---'">
<xsl:value-of select="concat(Файл/XMLДанные/Файл/Документ/СвАктИ/Исполнитель/ИдСв/СвФЛ/ФИОИП/@Фамилия,' ',Файл/XMLДанные/Файл/Документ/СвАктИ/Исполнитель/ИдСв/СвФЛ/ФИОИП/@Имя,' ',Файл/XMLДанные/Файл/Документ/СвАктИ/Исполнитель/ИдСв/СвФЛ/ФИОИП/@Отчество)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвАктИ/Исполнитель/ИдСв/СвЮЛ/@НаимОрг"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:choose>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПрод/ИдСв/СвФЛ/ФИОИП/@Имя != '---' and Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПрод/ИдСв/СвФЛ/ФИОИП/@Фамилия != '---'">
<xsl:value-of select="concat(Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПрод/ИдСв/СвФЛ/ФИОИП/@Фамилия,' ',Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПрод/ИдСв/СвФЛ/ФИОИП/@Имя,' ',Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПрод/ИдСв/СвФЛ/ФИОИП/@Отчество)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПрод/ИдСв/СвЮЛ/@НаимОрг"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:choose>
<xsl:when test="Файл/XMLДанные/Файл/Документ/СвТНО/Поставщик/ИдСв/СвФЛ/ФИОИП/@Имя != '---' and Файл/XMLДанные/Файл/Документ/СвТНО/Поставщик/ИдСв/СвФЛ/ФИОИП/@Фамилия != '---'">
<xsl:value-of select="concat(Файл/XMLДанные/Файл/Документ/СвТНО/Поставщик/ИдСв/СвФЛ/ФИОИП/@Фамилия,' ',Файл/XMLДанные/Файл/Документ/СвТНО/Поставщик/ИдСв/СвФЛ/ФИОИП/@Имя,' ',Файл/XMLДанные/Файл/Документ/СвТНО/Поставщик/ИдСв/СвФЛ/ФИОИП/@Отчество)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/Поставщик/ИдСв/СвЮЛ/@НаимОрг"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:call-template name="Шаблон">
<xsl:with-param name="PACKETID" select="/Документ/@Идентификатор"/>
<xsl:with-param name="ROWTYPE" select="'Party'"/>
<xsl:with-param name="DOCUMENTID" select="@Идентификатор"/>
<xsl:with-param name="TYPE" select="'Seller'"/>
<xsl:with-param name="NAME" select="$NAME"/>
<xsl:with-param name="INN" select="$INN"/>
<xsl:with-param name="KPP" select="$KPP"/>
<xsl:with-param name="PHONE" select="$PHONE"/>
<xsl:with-param name="ADDRESS" select="$ADRESS"/>
<xsl:with-param name="BANKACC" select="$BANKACC"/>
<xsl:with-param name="BANKID" select="$BANKID"/>
<xsl:with-param name="BANKNAME" select="$BANKNAME"/>
</xsl:call-template>
</xsl:template>
<xsl:template match="/Документ/СписокВложение/Вложение" mode="Base">
<xsl:if test="Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПРД/@НомерПРД or Файл/XMLДанные/Файл/Документ/СвТНО/Основание/@НаимОсн">
<xsl:call-template name="Шаблон">
<xsl:with-param name="PACKETID" select="/Документ/@Идентификатор"/>
<xsl:with-param name="ROWTYPE" select="'Base'"/>
<xsl:with-param name="DOCUMENTID" select="@Идентификатор"/>
<xsl:with-param name="TYPE">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:value-of select="'ПРД'"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:choose>
<xsl:when test="contains(Файл/XMLДанные/Файл/Документ/СвТНО/Основание/@НаимОсн,'Заказ')">
<xsl:value-of select="'Заказ'"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="'Договор'"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name="NAME">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/Основание/@НаимОсн"/>
</xsl:when>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name="NUMBER">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПРД/@НомерПРД"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/Основание/@НомОсн"/>
</xsl:when>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name="DATE">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвСчФакт/СвПРД/@ДатаПРД"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/Основание/@ДатаОсн"/>
</xsl:when>
</xsl:choose>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template match="/Документ/СписокВложение/Вложение" mode="Document">
<xsl:call-template name="Шаблон">
<xsl:with-param name="PACKETID" select="/Документ/@Идентификатор"/>
<xsl:with-param name="ROWTYPE" select="'Document'"/>
<xsl:with-param name="DOCUMENTID" select="@Идентификатор"/>
<xsl:with-param name="ROWINDEX" select="position()"/>
<xsl:with-param name="TYPE" select="@Тип"/>
<xsl:with-param name="NAME" select="@Название"/>
<xsl:with-param name="NUMBER" select="@Номер"/>
<xsl:with-param name="DATE" select="@Дата"/>
<xsl:with-param name="AMOUNT">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:value-of select="count(Файл/XMLДанные/Файл/Документ/СвАктИ/ОписРабот/Работа)"/>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:value-of select="count(Файл/XMLДанные/Файл/Документ/ТаблСчФакт/СведТов)"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="count(Файл/XMLДанные/Файл/Документ/СвТНО/ТН/Таблица/СвТов)"/>
</xsl:when>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name="SUM">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвАктИ/ОписРабот/Работа/@СумБезНДС"/>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/ТаблСчФакт/ВсегоОпл/@СтТовБезНДСВсего"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/ТН/Таблица/ВсегоНакл/@СумБезНДСВс"/>
</xsl:when>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name="TOTAL" select="@Сумма"/>
<xsl:with-param name="TAXSUM">
<xsl:choose>
<xsl:when test="@Тип = 'АктВР'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвАктИ/ОписРабот/Работа/@СумНДС"/>
</xsl:when>
<xsl:when test="@Тип = 'СчФктр'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/ТаблСчФакт/ВсегоОпл/СумНалВсего/@СумНДС"/>
</xsl:when>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/ТН/Таблица/ВсегоНакл/@СумНДСВс"/>
</xsl:when>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name="GROSSWEIGH">
<xsl:choose>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/ТН/Таблица/ВсегоНакл/@БруттоВс"/>
</xsl:when>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name="NETWEIGHT">
<xsl:choose>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/ТН/Таблица/ВсегоНакл/@НеттоВс"/>
</xsl:when>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name="PACK">
<xsl:choose>
<xsl:when test="@Тип = 'ЭДОНакл'">
<xsl:value-of select="Файл/XMLДанные/Файл/Документ/СвТНО/ТН/Таблица/ВсегоНакл/@КолМестВс"/>
</xsl:when>
</xsl:choose>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template match="/">
<СписокФайл>
<Файл>
<xsl:attribute name="ИмяФайла">
<xsl:value-of select="concat(/Документ/@Идентификатор,'.dbf')"/>
</xsl:attribute>
<Формат>
<Столбец Номер="0" Название="PACKETID" Тип="Char(30)"/>
<Столбец Номер="1" Название="ROWTYPE" Тип="Char(10)"/>
<Столбец Номер="2" Название="DOCUMENTID" Тип="Char(30)"/>
<Столбец Номер="3" Название="ROWINDEX" Тип="Char(30)"/>
<Столбец Номер="4" Название="TYPE" Тип="Char(10)"/>
<Столбец Номер="5" Название="ID" Тип="Char(30)"/>
<Столбец Номер="6" Название="NAME" Тип="Char(100)"/>
<Столбец Номер="7" Название="VALUE" Тип="Char(100)"/>
<Столбец Номер="8" Название="NUMBER" Тип="Char(30)"/>
<Столбец Номер="9" Название="DATE" Тип="Char(10)"/>
<Столбец Номер="10" Название="UNITCODE" Тип="Char(10)"/>
<Столбец Номер="11" Название="UNITNAME" Тип="Char(30)"/>
<Столбец Номер="12" Название="AMOUNT" Тип="Char(10)"/>
<Столбец Номер="13" Название="PRICE" Тип="Char(10)"/>
<Столбец Номер="14" Название="SUM" Тип="Char(10)"/>
<Столбец Номер="15" Название="TOTAL" Тип="Char(10)"/>
<Столбец Номер="16" Название="TAXSUM" Тип="Char(10)"/>
<Столбец Номер="17" Название="TAXTYPE" Тип="Char(10)"/>
<Столбец Номер="18" Название="TAXRATE" Тип="Char(10)"/>
<Столбец Номер="19" Название="EXCISESUM" Тип="Char(10)"/>
<Столбец Номер="20" Название="GROSSWEIGH" Тип="Char(30)"/>
<Столбец Номер="21" Название="NETWEIGHT" Тип="Char(30)"/>
<Столбец Номер="22" Название="PACK" Тип="Char(30)"/>
<Столбец Номер="23" Название="PACKAMOUNT" Тип="Char(10)"/>
<Столбец Номер="24" Название="PACKNAME" Тип="Char(30)"/>
<Столбец Номер="25" Название="INN" Тип="Char(12)"/>
<Столбец Номер="26" Название="KPP" Тип="Char(10)"/>
<Столбец Номер="27" Название="EMAIL" Тип="Char(30)"/>
<Столбец Номер="28" Название="PHONE" Тип="Char(20)"/>
<Столбец Номер="29" Название="ADDRESS" Тип="Char(100)"/>
<Столбец Номер="30" Название="BANKNAME" Тип="Char(100)"/>
<Столбец Номер="31" Название="BANKID" Тип="Char(50)"/>
<Столбец Номер="32" Название="BANKACC" Тип="Char(50)"/>
<Столбец Номер="33" Название="BANKCORACC" Тип="Char(50)"/>
</Формат>
<!-- Блок Packet-->
<xsl:call-template name="Шаблон">
<xsl:with-param name="PACKETID" select="/Документ/@Идентификатор"/>
<xsl:with-param name="ROWTYPE" select="'Packet'"/>
<xsl:with-param name="TYPE" select="/Документ/@Тип"/>
</xsl:call-template>
<!-- Блок Party(Packet) SENDER-->
<xsl:call-template name="Шаблон">
<xsl:with-param name="PACKETID" select="/Документ/@Идентификатор"/>
<xsl:with-param name="ROWTYPE" select="'Party'"/>
<xsl:with-param name="TYPE" select="'Sender'"/>
<xsl:with-param name="NAME">
<xsl:choose>
<xsl:when test="Документ/Контрагент/СвФЛ/ФИОИП">
<xsl:value-of select="concat(Документ/Контрагент/СвФЛ/ФИОИП/@Фамилия,' ',Документ/Контрагент/СвФЛ/ФИОИП/@Имя,' ',Документ/Контрагент/СвФЛ/ФИОИП/@Отчество)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Документ/Контрагент/СвЮЛ/@Название"/>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name="NUMBER" select="''"/>
<xsl:with-param name="UNITCODE" select="''"/>
<xsl:with-param name="UNITNAME" select="''"/>
<xsl:with-param name="INN">
<xsl:choose>
<xsl:when test="Документ/Контрагент/СвФЛ/@ИНН">
<xsl:value-of select="Документ/Контрагент/СвФЛ/@ИНН"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Документ/Контрагент/СвЮЛ/@ИНН"/>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name="KPP">
<xsl:choose>
<xsl:when test="Документ/Контрагент/СвФЛ">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Документ/Контрагент/СвЮЛ/@КПП"/>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:call-template>
<!-- Блок Party(Packet) RECIEVER-->
<xsl:call-template name="Шаблон">
<xsl:with-param name="PACKETID" select="/Документ/@Идентификатор"/>
<xsl:with-param name="ROWTYPE" select="'Party'"/>
<xsl:with-param name="TYPE" select="'Receiver'"/>
<xsl:with-param name="NAME">
<xsl:choose>
<xsl:when test="Документ/НашаОрганизация/СвФЛ/ФИОИП">
<xsl:value-of select="concat(Документ/НашаОрганизация/СвФЛ/ФИОИП/@Фамилия,' ',Документ/НашаОрганизация/СвФЛ/ФИОИП/@Имя,' ',Документ/НашаОрганизация/СвФЛ/ФИОИП/@Отчество)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Документ/НашаОрганизация/СвЮЛ/@Название"/>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name="NUMBER" select="''"/>
<xsl:with-param name="UNITCODE" select="''"/>
<xsl:with-param name="UNITNAME" select="''"/>
<xsl:with-param name="INN">
<xsl:choose>
<xsl:when test="Документ/НашаОрганизация/СвФЛ/@ИНН">
<xsl:value-of select="Документ/НашаОрганизация/СвФЛ/@ИНН"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Документ/НашаОрганизация/СвЮЛ/@ИНН"/>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name="KPP">
<xsl:choose>
<xsl:when test="Документ/НашаОрганизация/СвФЛ">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Документ/НашаОрганизация/СвЮЛ/@КПП"/>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:call-template>
<!-- Блок Document-->
<xsl:apply-templates select="/Документ/СписокВложение/Вложение" mode="Document"/>
<!-- Блок Base-->
<xsl:apply-templates select="/Документ/СписокВложение/Вложение" mode="Base"/>
<!-- Блок Party (Document)-->
<xsl:apply-templates select="/Документ/СписокВложение/Вложение" mode="Party_Seller"/>
<xsl:apply-templates select="/Документ/СписокВложение/Вложение" mode="Party_Buyer"/>
<xsl:apply-templates select="/Документ/СписокВложение/Вложение" mode="Party_Shipper"/>
<xsl:apply-templates select="/Документ/СписокВложение/Вложение" mode="Party_Consignee"/>
<!-- Блок RowTable -->
<xsl:apply-templates select="/Документ/СписокВложение/Вложение/Файл/XMLДанные/Файл/Документ/СвАктИ/ОписРабот/Работа|/Документ/СписокВложение/Вложение/Файл/XMLДанные/Файл/Документ/ТаблСчФакт/СведТов|/Документ/СписокВложение/Вложение/Файл/XMLДанные/Файл/Документ/СвТНО/ТН/Таблица/СвТов"/>
<!-- Блок Parameter -->
<xsl:apply-templates select="//ИнфПол"/>
<xsl:apply-templates select="//@ИнфПолСтр"/>
</Файл>
</СписокФайл>
</xsl:template>
<!--Общий шаблон блока, передаем в него необходимые параметры -->
<xsl:template name="Шаблон">
<xsl:param name="PACKETID"/>
<xsl:param name="ROWTYPE"/>
<xsl:param name="DOCUMENTID"/>
<xsl:param name="ROWINDEX"/>
<xsl:param name="TYPE"/>
<xsl:param name="ID"/>
<xsl:param name="NAME"/>
<xsl:param name="VALUE"/>
<xsl:param name="NUMBER"/>
<xsl:param name="DATE"/>
<xsl:param name="UNITCODE"/>
<xsl:param name="UNITNAME"/>
<xsl:param name="AMOUNT"/>
<xsl:param name="PRICE"/>
<xsl:param name="SUM"/>
<xsl:param name="TOTAL"/>
<xsl:param name="TAXSUM"/>
<xsl:param name="TAXTYPE"/>
<xsl:param name="TAXRATE"/>
<xsl:param name="EXCISESUM"/>
<xsl:param name="GROSSWEIGH"/>
<xsl:param name="NETWEIGHT"/>
<xsl:param name="PACK"/>
<xsl:param name="PACKAMOUNT"/>
<xsl:param name="PACKNAME"/>
<xsl:param name="INN"/>
<xsl:param name="KPP"/>
<xsl:param name="EMAIL"/>
<xsl:param name="PHONE"/>
<xsl:param name="ADDRESS"/>
<xsl:param name="BANKNAME"/>
<xsl:param name="BANKID"/>
<xsl:param name="BANKACC"/>
<xsl:param name="BANKCORACC"/>
<Строка>
<Столбец Номер="0" Название="PACKETID" Значение="{$PACKETID}"/>
<Столбец Номер="1" Название="ROWTYPE" Значение="{$ROWTYPE}"/>
<Столбец Номер="2" Название="DOCUMENTID" Значение="{$DOCUMENTID}"/>
<Столбец Номер="3" Название="ROWINDEX" Значение="{$ROWINDEX}"/>
<Столбец Номер="4" Название="TYPE" Значение="{$TYPE}"/>
<Столбец Номер="5" Название="ID" Значение="{$ID}"/>
<Столбец Номер="6" Название="NAME" Значение="{$NAME}"/>
<Столбец Номер="7" Название="VALUE" Значение="{$VALUE}"/>
<Столбец Номер="8" Название="NUMBER" Значение="{$NUMBER}"/>
<Столбец Номер="9" Название="DATE" Значение="{$DATE}"/>
<Столбец Номер="10" Название="UNITCODE" Значение="{$UNITCODE}"/>
<Столбец Номер="11" Название="UNITNAME" Значение="{$UNITNAME}"/>
<Столбец Номер="12" Название="AMOUNT" Значение="{$AMOUNT}"/>
<Столбец Номер="13" Название="PRICE" Значение="{$PRICE}"/>
<Столбец Номер="14" Название="SUM" Значение="{$SUM}"/>
<Столбец Номер="15" Название="TOTAL" Значение="{$TOTAL}"/>
<Столбец Номер="16" Название="TAXSUM" Значение="{$TAXSUM}"/>
<Столбец Номер="17" Название="TAXTYPE" Значение="{$TAXTYPE}"/>
<Столбец Номер="18" Название="TAXRATE" Значение="{$TAXRATE}"/>
<Столбец Номер="19" Название="EXCISESUM" Значение="{$EXCISESUM}"/>
<Столбец Номер="20" Название="GROSSWEIGH" Значение="{$GROSSWEIGH}"/>
<Столбец Номер="21" Название="NETWEIGHT" Значение="{$NETWEIGHT}"/>
<Столбец Номер="22" Название="PACK" Значение="{$PACK}"/>
<Столбец Номер="23" Название="PACKAMOUNT" Значение="{$PACKAMOUNT}"/>
<Столбец Номер="24" Название="PACKNAME" Значение="{$PACKNAME}"/>
<Столбец Номер="25" Название="INN" Значение="{$INN}"/>
<Столбец Номер="26" Название="KPP" Значение="{$KPP}"/>
<Столбец Номер="27" Название="EMAIL" Значение="{$EMAIL}"/>
<Столбец Номер="28" Название="PHONE" Значение="{$PHONE}"/>
<Столбец Номер="29" Название="ADDRESS" Значение="{$ADDRESS}"/>
<Столбец Номер="30" Название="BANKNAME" Значение="{$BANKNAME}"/>
<Столбец Номер="31" Название="BANKID" Значение="{$BANKID}"/>
<Столбец Номер="32" Название="BANKACC" Значение="{$BANKACC}"/>
<Столбец Номер="33" Название="BANKCORACC" Значение="{$BANKCORACC}"/>
</Строка>
</xsl:template>
<xsl:template name="findValue">
<xsl:param name="name"/>
<xsl:param name="dopInfStr"/>
<xsl:variable name="after" select="substring-after($dopInfStr, concat('Имя="',$name,'" Значение="'))"/>
<xsl:choose>
<xsl:when test="$name = 'ЗаказчикКПП'">
<xsl:if test="string-length($after) != 0">
<xsl:value-of select="substring-before($after,'"/>')" disable-output-escaping="yes"/>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="substring-before($after,'"/>')" disable-output-escaping="yes"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>