Редактируемый договор
Содержание
Общее описание
Редактируемый договор - отдельный регламент для заключения договоров между организациями. По умолчанию такого регламента нет в личном кабинете, он появляется только после того, как сделана отправка с указанием особого регламента(подробности ниже) с помощью любого средства интеграции. В отличии от стандартного регламента? рассылка "Редактируемого договора" позволяет организации отправить контрагенту шаблон для заполнения договора без подписания. При этом отправитель определяет набор тех полей в в договоре, которые можно редактировать, основной текст остается неизменным. Существует как стандартный набор полей для редактирования (см. таблицу ниже), так и неограниченное количество произвольных полей. Если получатель такого документа не планирует заключать договор, то он отклоняет документ. В этом случае документооборот завершается, в обоих кабинетах появляется отрицательный статус. Если получатель хочет заключить договор с организацией - отправителем, то он заполняет редактируемые поля в тексте(см. экран редактирования договора) и отпраляет договор на согласование. После этого договор возвращается в кабинет отправителя с электронной подписью получателя. Отправитель имеет возможность отклонить или согласовать заполненный договор. При отклонении создается новая редакция документа и заново отправляется на заполнение контрагенту. При утверждении договор будет иметь положительный статус у обоих участников документооборота (см. схему).
Схема движения документа
Формирование договора
Для того чтобы сделать отправку "Редактируемого договора" необходимо отправлять пакет с одним вложением.На пакете должен быть прописан специальный идентификатор регламента 5b59fa01-33c6-495b-a412-1dce202b20cd (см. пример пакета)
Вложение должно быть XML файлом формата ДоговорРед версии 3.01 (см. пример документа)
Особенности выгрузки файла формата ДоговорРед 3.01
- Весь текст договора нужно поместить в тег html в виде html разметки
- Указать в тексте редактируемые поля. Для этого пишем <tensor id="Путь в модели файла (см. таблицу редактируемых полей)"></tensor>
- Затем всю html верстку с текстом договора нужно трансформировать в строку. для этого необходимо экранировать спецсимволы. Например, вместо "<", писать "<"
Если файл создан правильно, то получатель такого документа увидит примерно следующее окно:
Массовая рассылка редактируемых договоров СБИС Коннектом
Для того чтобы произвести массовую рассылку файлов по списку клиентов необходимо:
- Подготовить один xls файл формата «Книга Excel 97-2003» со списком получателей и рассылаемых файлов.
- Настроить СБИС Коннект
Структура xls файла со списком получателей
В файле должно быть два листа: «Лист1» и «Лист2».
Лист1 - список получателей
- Первая строка является заголовком таблицы и должна содержать следующие заголовки: «ИНН», «КПП», «Название». Порядок следования столбцов не важен.
- Начиная со второй строки идут данные о получателях.
Если Вы разметите в файле ещё один столбец "email", то организации получит уведомление о Вашей рассылке на указанный ящик электронной почты. Важно! На данный момент нельзя устанавливать в файле какие-либо фильтры. Иначе при отправке такого файла возникнет ошибка. Подробнее см.в разделе «[#Известные проблемы]».
Лист2 - параметры отправки
- Ячейка B1 – ИНН отправителя
- Ячейка B2 – КПП отправителя
Важно! - файл должен быть расположен вне рабочей папки СБИС Коннекта.
Настройка СБИС Коннект
- Установить отдельный СБИС Коннект
- На вкладке «Обмен документами»:
- Отключить загрузку входящих документов
- Отключить загрузку исходящих статусов документов
- Установить формат обмена документов «Произвольный XLS».
- В поле «XSLT преобразование» указать файл преобразования сделанный из приведенного ниже примера.
- На вкладке «Архив» отключить ведение архива
Список редактируемых полей в тексте договора
Название | Путь в модели формата |
---|---|
Полное название организации | Файл.Документ.Получатель.Название |
Краткое название организации | Файл.Документ.Получатель.НазваниеКраткое |
КПП организации | Файл.Документ.Получатель.СвЮЛ.КПП |
Юрдический адрес | Файл.Документ.Получатель.Адрес.АдрТекст |
Уполномоченное лицо (ФИО слитно) | Файл.Документ.Получатель.УполномоченноеЛицо |
Телефон | Файл.Документ.Получатель.Контакт.Телефон |
Представитель-Имя | Файл.Документ.Получатель.Представитель.Имя |
Представитель-Фамилия | Файл.Документ.Получатель.Представитель.Фамилия |
Представитель-Отчетсво | Файл.Документ.Получатель.Представитель.Отчество |
Представитель-Должность | Файл.Документ.Получатель.Представитель.Должность |
Представитель-документ-основание (доверенность) | Файл.Документ.Получатель.Представитель.ДокОсн |
Банк | Файл.Документ.Получатель.БанкРекв.НаимБанк |
Рассчетный счет | Файл.Документ.Получатель.БанкРекв.РСчет |
Корреспондентский счет | Файл.Документ.Получатель.БанкРекв.КСчет |
БИК | Файл.Документ.Получатель.БанкРекв.БИК |
Произвольное редактируемое поле (неограниченное кол-во) | Файл.Документ.Получатель.Параметр.[Имя] Имя - название дополнительного параметра, может быть любым |
Примеры
Пример пакета с указанным идентификатором
<?xml version="1.0" encoding="windows-1251"?>
<Реестр>
<Пакет>
<Получатель ИНН="1111111112" КПП="333333333"/>
<Отправитель ИНН="1111111111" КПП="222222222"/>
<Регламент Идентификатор="5b59fa01-33c6-495b-a412-1dce202b20cd"/>
<Вложение ИмяФайла="ON_ACCOUNTS_7714016680_7714016680_7701002626_28122010.xml">
<Файл ВерсияФормата="3.01" Имя="ON_CONTRACTEDIT" Формат="ДоговорРед">
<Документ Название="Соглашение к договору энергоснабжения № 809 от 01.12.2011">
<html>
<div width="200px">
Основной текст договора...<br>
<b>КПП:</b><tensor id="Файл.Документ.Получатель.СвЮЛ.КПП">772701001</tensor><br>
...продолжение основного текста...<br>
<b>Организация название:</b><tensor id="Файл.Документ.Получатель.Название">Моя организация</tensor><br>
...продолжение основного текста...<br>
<b>Организация название:</b><tensor id="Файл.Документ.Получатель.Название">Моя организация</tensor><br>
...продолжение основного текста...<br>
<b>Организация название:</b><tensor id="Файл.Документ.Получатель.Название">Моя организация</tensor><br>
...продолжение основного текста...<br>
<b>Организация название краткое:</b><tensor id="Файл.Документ.Получатель.НазваниеКраткое">М. орган.</tensor><br>
...продолжение основного текста...<br>
<b>Уполномоченное лицо:</b><tensor id="Файл.Документ.Получатель.УполномоченноеЛицо"> Уполномоченное лицо</tensor><br>
...продолжение основного текста...<br>
<b>Адрес организации:</b><tensor id="Файл.Документ.Получатель.Адрес.АдрТекст"> Адрест организации</tensor><br>
...продолжение основного текста...<br>
<b>Документ основание:</b><tensor id="Файл.Документ.Получатель.Представитель.ДокОсн">Основание</tensor><br>
...продолжение основного текста...<br>
<b>Телефон:</b><tensor id="Файл.Документ.Получатель.Контакт.Телефон">41-02-01</tensor><br>
...продолжение основного текста...<br>
<b>Должность представителя:</b><tensor id="Файл.Документ.Получатель.Представитель.Должность">Должность</tensor><br>
...продолжение основного текста...<br>
<b>Фамилия представителя:</b><tensor id="Файл.Документ.Получатель.Представитель.Фамилия">Фамилия</tensor><br>
...продолжение основного текста...<br>
<b>Имя представителя:</b><tensor id="Файл.Документ.Получатель.Представитель.Имя">Имя</tensor><br>
...продолжение основного текста...<br>
<b>Отчество представителя:</b><tensor id="Файл.Документ.Получатель.Представитель.Отчество">Отчество</tensor><br>
...продолжение основного текста...<br>
<b>Произвольный параметр:</b><tensor id="Файл.Документ.Получатель.Параметр.Произвольный параметр">Кефир</tensor><br>
...продолжение основного текста...<br>
<b>Произвольный параметр:</b><tensor id="Файл.Документ.Получатель.Параметр.Произвольный параметр">Кефир</tensor><br>
...продолжение основного текста...<br>
<b>Произвольный параметр:</b><tensor id="Файл.Документ.Получатель.Параметр.Произвольный параметр">Кефир</tensor><br>
...продолжение основного текста...<br>
<b>Название банка:</b><tensor id="Файл.Документ.Получатель.БанкРекв.НаимБанк">Банковский банк</tensor><br>
...продолжение основного текста...<br>
<b>Расчетный счет:</b><tensor id="Файл.Документ.Получатель.БанкРекв.РСчет">12313123123</tensor><br>
...продолжение основного текста...<br>
<b>Корр счет:</b><tensor id="Файл.Документ.Получатель.БанкРекв.КСчет">1231231</tensor><br>
...продолжение основного текста...<br>
<b>БИК:</b><tensor id="Файл.Документ.Получатель.БанкРекв.БИК">123123</tensor><br>
...конец текста договора...<br>
</div>
</html>
<Отправитель>
<СвЮЛ ИНН="7718000882" КПП="770801001"/>
</Отправитель>
<Получатель Название="Моя организация" НазваниеКраткое="М. орган." УполномоченноеЛицо=" Уполномоченное лицо">
<Представитель ДокОсн="Основание" Должность="Должность" Имя="Имя" Отчество="Отчество" Фамилия="Фамилия"/>
<Параметр Значение="" Имя="Произвольный параметр"/>
<Адрес АдрТекст="АдресОрганизации"/>
<СвЮЛ ИНН="7727241582" КПП="772701001"/>
<БанкРекв БИК="123123" КСчет="1231231" НаимБанк="Банковский банк" РСчет="12313123123"/>
<Контакт Телефон="41-02-01"/>
</Получатель>
</Документ>
</Файл>
</Вложение>
</Пакет>
</Реестр>
Пример файла формата ДоговорРед 3.01
<?xml version="1.0" encoding="WINDOWS-1251" ?>
<Файл ВерсияФормата="3.01" Имя="ON_CONTRACTEDIT" Формат="ДоговорРед">
<Документ Название="Соглашение об организации электронного документооборота">
<Получатель Название="ООО Рога и Копыта" НазваниеКраткое="ООО Рога и Копыта" УполномоченноеЛицо="Директор Крыгин С.М.">
<СвЮЛ ИНН="1111111111" КПП="623401001"/>
<Контакт Телефон="24-77-77 доб.1006"/>
<Адрес АдрТекст="390000, ул.Рога и Копытаная, д.15а"/>
</Получатель>
<html>
<div width="200px">
Основной текст договора...<br>
<b>КПП:</b><tensor id="Файл.Документ.Получатель.СвЮЛ.КПП">772701001</tensor><br>
...продолжение основного текста...<br>
<b>Организация название:</b><tensor id="Файл.Документ.Получатель.Название">Моя организация</tensor><br>
...продолжение основного текста...<br>
<b>Организация название:</b><tensor id="Файл.Документ.Получатель.Название">Моя организация</tensor><br>
...продолжение основного текста...<br>
<b>Организация название:</b><tensor id="Файл.Документ.Получатель.Название">Моя организация</tensor><br>
...продолжение основного текста...<br>
<b>Организация название краткое:</b><tensor id="Файл.Документ.Получатель.НазваниеКраткое">М. орган.</tensor><br>
...продолжение основного текста...<br>
<b>Уполномоченное лицо:</b><tensor id="Файл.Документ.Получатель.УполномоченноеЛицо"> Уполномоченное лицо</tensor><br>
...продолжение основного текста...<br>
<b>Адрес организации:</b><tensor id="Файл.Документ.Получатель.Адрес.АдрТекст"> Адрест организации</tensor><br>
...продолжение основного текста...<br>
<b>Документ основание:</b><tensor id="Файл.Документ.Получатель.Представитель.ДокОсн">Основание</tensor><br>
...продолжение основного текста...<br>
<b>Телефон:</b><tensor id="Файл.Документ.Получатель.Контакт.Телефон">41-02-01</tensor><br>
...продолжение основного текста...<br>
<b>Должность представителя:</b><tensor id="Файл.Документ.Получатель.Представитель.Должность">Должность</tensor><br>
...продолжение основного текста...<br>
<b>Фамилия представителя:</b><tensor id="Файл.Документ.Получатель.Представитель.Фамилия">Фамилия</tensor><br>
...продолжение основного текста...<br>
<b>Имя представителя:</b><tensor id="Файл.Документ.Получатель.Представитель.Имя">Имя</tensor><br>
...продолжение основного текста...<br>
<b>Отчество представителя:</b><tensor id="Файл.Документ.Получатель.Представитель.Отчество">Отчество</tensor><br>
...продолжение основного текста...<br>
<b>Произвольный параметр:</b><tensor id="Файл.Документ.Получатель.Параметр.Произвольный параметр">Кефир</tensor><br>
...продолжение основного текста...<br>
<b>Произвольный параметр:</b><tensor id="Файл.Документ.Получатель.Параметр.Произвольный параметр">Кефир</tensor><br>
...продолжение основного текста...<br>
<b>Произвольный параметр:</b><tensor id="Файл.Документ.Получатель.Параметр.Произвольный параметр">Кефир</tensor><br>
...продолжение основного текста...<br>
<b>Название банка:</b><tensor id="Файл.Документ.Получатель.БанкРекв.НаимБанк">Банковский банк</tensor><br>
...продолжение основного текста...<br>
<b>Расчетный счет:</b><tensor id="Файл.Документ.Получатель.БанкРекв.РСчет">12313123123</tensor><br>
...продолжение основного текста...<br>
<b>Корр счет:</b><tensor id="Файл.Документ.Получатель.БанкРекв.КСчет">1231231</tensor><br>
...продолжение основного текста...<br>
<b>БИК:</b><tensor id="Файл.Документ.Получатель.БанкРекв.БИК">123123</tensor><br>
...конец текста договора...<br>
</div>
</html>
<Отправитель>
<СвЮЛ ИНН="6000000001" КПП="600101001"/>
</Отправитель>
</Документ>
</Файл>
Пример XSLT конвертера для рассылки
<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes" encoding="windows-1251"/>
<!-- Определяются номера столбцов в которых находятся ИНН,КПП, название получателей.
Поиск происходит из заголовка таблицы по названию.
-->
<xsl:variable name="НомерСтолбца_НазваниеПолучателя" select="//Файл/Лист[starts-with(@Название,'Лист1')]/Строка[@Номер='1']/Столбец[contains(@Значение,'Название')]/@Номер"/>
<xsl:variable name="НомерСтолбца_ИННПолучателя" select="//Файл/Лист[starts-with(@Название,'Лист1')]/Строка[@Номер='1']/Столбец[contains(@Значение,'ИНН')]/@Номер"/>
<xsl:variable name="НомерСтолбца_КПППолучателя" select="//Файл/Лист[starts-with(@Название,'Лист1')]/Строка[@Номер='1']/Столбец[contains(@Значение,'КПП')]/@Номер"/>
<!-- Указывается где хранятся ИНН/КПП отправителя.
По-умолчанию на втором листе в первой и второй строке-->
<xsl:variable name="ИНН_Отправителя" select="normalize-space(//Файл/Лист[starts-with(@Название,'Лист2')]/Строка[@Номер='1']/Столбец[@Номер='2']/@Значение)"/>
<xsl:variable name="КПП_Отправителя" select="normalize-space(//Файл/Лист[starts-with(@Название,'Лист2')]/Строка[@Номер='2']/Столбец[@Номер='2']/@Значение)"/>
<xsl:variable name="ТипДокумента" select="'ДоговорИсх'"/>
<xsl:variable name="Регламент" select="'5b59fa01-33c6-495b-a412-1dce202b20cd'"/>
<xsl:template match="/">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="Файл">
<Реестр>
<xsl:apply-templates select="Лист[starts-with(@Название,'Лист1')]/Строка[@Номер!='1'][Столбец[@Номер=$НомерСтолбца_ИННПолучателя]/@Значение!='']" mode="Пакет"/>
</Реестр>
</xsl:template>
<!--Формирование пакетов-->
<xsl:template match="Строка" mode="Пакет">
<Пакет>
<xsl:attribute name="ТипДок">
<xsl:value-of select="$ТипДокумента"/>
</xsl:attribute>
<Регламент>
<xsl:attribute name="Название">
<xsl:value-of select="$Регламент"/>
</xsl:attribute>
</Регламент>
<Отправитель>
<xsl:attribute name="ИНН">
<xsl:value-of select="$ИНН_Отправителя"/>
</xsl:attribute>
<xsl:attribute name="КПП">
<xsl:value-of select="$КПП_Отправителя"/>
</xsl:attribute>
</Отправитель>
<Получатель>
<xsl:attribute name="ИНН">
<xsl:value-of select="normalize-space(Столбец[@Номер=$НомерСтолбца_ИННПолучателя]/@Значение)"/>
</xsl:attribute>
<!-- Если длина ИНН 10 символов, то записывается КПП-->
<xsl:if test="string-length(normalize-space(Столбец[@Номер=$НомерСтолбца_ИННПолучателя]/@Значение))=10">
<xsl:attribute name="КПП">
<xsl:value-of select="normalize-space(Столбец[@Номер=$НомерСтолбца_КПППолучателя]/@Значение)"/>
</xsl:attribute>
</xsl:if>
<xsl:if test="normalize-space(Столбец[@Номер=$НомерСтолбца_НазваниеПолучателя]/@Значение)!=''">
<xsl:attribute name="Название">
<xsl:value-of select="normalize-space(Столбец[@Номер=$НомерСтолбца_НазваниеПолучателя]/@Значение)"/>
</xsl:attribute>
</xsl:if>
</Получатель>
<Вложение>
<Файл ВерсияФормата="3.01" Имя="ON_CONTRACTEDIT" Формат="ДоговорРед">
<Документ>
<html>
<div width="200px">
Основной текст договора...<br>
<b>КПП:</b><tensor id="Файл.Документ.Получатель.СвЮЛ.КПП"></tensor><br>
...продолжение основного текста...<br>
<b>Организация название:</b><tensor id="Файл.Документ.Получатель.Название"></tensor><br>
...продолжение основного текста...<br>
<b>Организация название:</b><tensor id="Файл.Документ.Получатель.Название"></tensor><br>
...продолжение основного текста...<br>
<b>Организация название:</b><tensor id="Файл.Документ.Получатель.Название"></tensor><br>
...продолжение основного текста...<br>
<b>Организация название краткое:</b><tensor id="Файл.Документ.Получатель.НазваниеКраткое"></tensor><br>
...продолжение основного текста...<br>
<b>Уполномоченное лицо:</b><tensor id="Файл.Документ.Получатель.УполномоченноеЛицо"></tensor><br>
...продолжение основного текста...<br>
<b>Адрес организации:</b><tensor id="Файл.Документ.Получатель.Адрес.АдрТекст"></tensor><br>
...продолжение основного текста...<br>
<b>Документ основание:</b><tensor id="Файл.Документ.Получатель.Представитель.ДокОсн"></tensor><br>
...продолжение основного текста...<br>
<b>Телефон:</b><tensor id="Файл.Документ.Получатель.Контакт.Телефон"></tensor><br>
...продолжение основного текста...<br>
<b>Должность представителя:</b><tensor id="Файл.Документ.Получатель.Представитель.Должность"></tensor><br>
...продолжение основного текста...<br>
<b>Фамилия представителя:</b><tensor id="Файл.Документ.Получатель.Представитель.Фамилия"></tensor><br>
...продолжение основного текста...<br>
<b>Имя представителя:</b><tensor id="Файл.Документ.Получатель.Представитель.Имя"></tensor><br>
...продолжение основного текста...<br>
<b>Отчество представителя:</b><tensor id="Файл.Документ.Получатель.Представитель.Отчество"></tensor><br>
...продолжение основного текста...<br>
<b>Произвольный параметр:</b><tensor id="Файл.Документ.Получатель.Параметр.Произвольный параметр"></tensor><br>
...продолжение основного текста...<br>
<b>Произвольный параметр:</b><tensor id="Файл.Документ.Получатель.Параметр.Произвольный параметр"></tensor><br>
...продолжение основного текста...<br>
<b>Произвольный параметр:</b><tensor id="Файл.Документ.Получатель.Параметр.Произвольный параметр"></tensor><br>
...продолжение основного текста...<br>
<b>Название банка:</b><tensor id="Файл.Документ.Получатель.БанкРекв.НаимБанк"></tensor><br>
...продолжение основного текста...<br>
<b>Расчетный счет:</b><tensor id="Файл.Документ.Получатель.БанкРекв.РСчет"></tensor><br>
...продолжение основного текста...<br>
<b>Корр счет:</b><tensor id="Файл.Документ.Получатель.БанкРекв.КСчет"></tensor><br>
...продолжение основного текста...<br>
<b>БИК:</b><tensor id="Файл.Документ.Получатель.БанкРекв.БИК"></tensor><br>
...конец текста договора...<br>
</div>
</html>
<Отправитель>
<xsl:attribute name="ИНН">
<xsl:value-of select="$ИНН_Отправителя"/>
</xsl:attribute>
<xsl:attribute name="КПП">
<xsl:value-of select="$КПП_Отправителя"/>
</xsl:attribute>
</Отправитель>
<Получатель>
<xsl:attribute name="ИНН">
<xsl:value-of select="normalize-space(Столбец[@Номер=$НомерСтолбца_ИННПолучателя]/@Значение)"/>
</xsl:attribute>
<!-- Если длина ИНН 10 символов, то записывается КПП-->
<xsl:if test="string-length(normalize-space(Столбец[@Номер=$НомерСтолбца_ИННПолучателя]/@Значение))=10">
<xsl:attribute name="КПП">
<xsl:value-of select="normalize-space(Столбец[@Номер=$НомерСтолбца_КПППолучателя]/@Значение)"/>
</xsl:attribute>
</xsl:if>
<xsl:if test="normalize-space(Столбец[@Номер=$НомерСтолбца_НазваниеПолучателя]/@Значение)!=''">
<xsl:attribute name="Название">
<xsl:value-of select="normalize-space(Столбец[@Номер=$НомерСтолбца_НазваниеПолучателя]/@Значение)"/>
</xsl:attribute>
</xsl:if>
</Получатель>
</Документ>
</Файл>
</Вложение>
</Пакет>
</xsl:template>
</xsl:stylesheet>