Если вам не подходят предложенные форматы, но ваша информационная система может выгружать файлы в определенную папку — используйте формат «Папка» для исходящих документов. Формат объединяет в пакет файлы, которые находятся в одной папке.
Алгоритм работы
В отдельную папку каталога «Отправляемые» выгрузите документы, которые нужно отправить в одном пакете. Вложенность папок в данном случае значения не имеет.
По окончании выгрузки (по умолчанию если нет активности более минуты), СБИС Коннект создаст и отправит реестры пакетов.
- Из файлов в каждой папке каталога создаст реестры пакетов (конверты) следующего содержания: Скачать пример
<?xml version="1.0" encoding="windows-1251"?> <Реестр> <Пакет ИдДок="Папка5"> <Вложение ИмяФайла="Файл6.xml"> <Содержимое Файла6.xml”> </Вложение> <Вложение ИмяФайла="Файл7.pdf "> <Содержимое Файла7.pdf в виде строки закодированной в Base64”> </Вложение> </Пакет>
- Применит xslt-преобразование к каждому конверту, если это указано в настройках утилиты.
- Сформирует реестр xml-документов. Пакеты документов имеют формат «Реестр пакетов» (sbis.xml) или «Реестр документов» (native.xml). Формат выгружаемых пакетов определяется автоматически после xlst-преобразования по корневому тегу документа.
- Полученный реестр пакетов отправит контрагенту, а исходную папку со всеми файлами удалит.
Параметры настройки
- В настройках утилиты на вкладке «Обмен документами» выберите формат исходящих документов — «Папка».
- Откройте «Настройки обработки ХML» и укажите хslt-преобразование. С его помощью промежуточный xml-файл будет сконвертирован в файл формата «Реестр пакетов» (sbis.xml) или «Реестр документов» (native.xml).

Если в выгружаемых папках содержатся неформатные файлы, не указывайте атрибут «ДвоичныеДанные» в xlst-преобразовании. Укажите только атрибут «ИмяФайла», а атрибут «ДвоичныеДанные» СБИС Коннект сам присоединит к тегу «Файл» после преобразования.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes" encoding="windows-1251"/>
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="Реестр/Пакет">
<СписокДокумент>
<Документ>
<СписокВложение>
<xsl:for-each select="Вложение">
<Вложение>
<Файл>
<xsl:choose>
<xsl:when test="contains(@ИмяФайла,'.xml') or contains(@ИмяФайла,'.XML')">
<xsl:attribute name="Имя">
<xsl:value-of select="@ИмяФайла"/>
</xsl:attribute>
<xsl:element name="XMLДанные">
<xsl:copy-of select="child::node()"/>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="Имя">
<xsl:value-of select="@ИмяФайла"/>
</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
</Файл>
</Вложение>
</xsl:for-each>
</СписокВложение>
</Документ>
</СписокДокумент>
</xsl:template>
</xsl:stylesheet>
Размер пакета не должен превышать 70 Мб для одиночного файла в формате «Пакет», 100 Мб для группы файлов в формате «Реестр пакетов».
Если размеры выгруженных файлов превышают 100 Мб, установите флаг в поле «Разделять файлы» и настройте разделение и группировку файлов реестра.