Интеграция со СБИС

Настроить выгрузку исходящих документов в формате «Папка»

Настроить выгрузку исходящих документов в формате «Папка»

Если вам не подходят предложенные форматы, но ваша информационная система может выгружать файлы в определенную папку — используйте формат «Папка» для исходящих документов. Формат объединяет в пакет файлы, которые находятся в одной папке.

Алгоритм работы

В отдельную папку каталога «Отправляемые» выгрузите документы, которые нужно отправить в одном пакете. Вложенность папок в данном случае значения не имеет.

По окончании выгрузки (по умолчанию если нет активности более минуты), СБИС Коннект создаст и отправит реестры пакетов.

  1. Из файлов в каждой папке каталога создаст реестры пакетов (конверты) следующего содержания:

    <?xml version="1.0" encoding="windows-1251"?>
    <Реестр>
            <Пакет ИдДок="Папка5">
                    <Вложение ИмяФайла="Файл6.xml">   
                            <Содержимое Файла6.xml>
                    </Вложение>
                    <Вложение ИмяФайла="Файл7.pdf ">
                            <Содержимое Файла7.pdf в виде строки закодированной в Base64>
                    </Вложение>
            </Пакет>
    
    Скачать пример
  2. Применит xslt-преобразование к каждому конверту, если это указано в настройках утилиты.
  3. Сформирует реестр xml-документов. Пакеты документов имеют формат «Реестр пакетов» (sbis.xml) или «Реестр документов» (native.xml). Формат выгружаемых пакетов определяется автоматически после xlst-преобразования по корневому тегу документа.
  4. Полученный реестр пакетов отправит контрагенту, а исходную папку со всеми файлами удалит.

Параметры настройки

  1. В настройках утилиты на вкладке «Обмен документами» выберите формат исходящих документов — «Папка».
  2. Откройте «Настройки обработки ХML» и укажите хslt-преобразование. С его помощью промежуточный xml-файл будет сконвертирован в файл формата «Реестр пакетов» (sbis.xml) или «Реестр документов» (native.xml).
  3. Если в выгружаемых папках содержатся неформатные файлы, не указывайте атрибут «ДвоичныеДанные» в 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 Мб, установите флаг в поле «Разделять файлы» и настройте разделение и группировку файлов реестра.

Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.