Интеграция с информационной системой

СБИС.ЗаписатьДокумент

СБИС.ЗаписатьДокумент

Команда СБИС.ЗаписатьДокумент позволяет:

Адрес для выполнения запроса: https://online.sbis.ru/service/?srv=1

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

Создать редакцию документа

Для редактирования документа в параметрах команды «СБИС.ЗаписатьДокумент» необходимо передать идентификатор этого документа и обновленные данные, которые необходимо записать.

Внимание!

Для входящих документов существуют ограничения на редактирование участников документооборота: запрещается изменять вашу организацию и контрагента.

Для редактирования вложений документа необходимо передать идентификатор вложения и новые сведения о нем (список файлов и подписей). Например, если в объекте «Документ» передан флаг «Удален» со значением «Да», то вложение помечается как удаленное и не может быть отправлено.
Однако, если последняя редакция была запущена в документооборот, происходит аннулирование текущей редакции и создается новая. Если документооборот не запущен, текущая редакция перезаписывается.

Кроме того, с помощью команды «СБИС.ЗаписатьДокумент» и объектов «ДокументОснование», «ДокументСледствие» можно связать документы. В этом случае документ будет создан как связанный с указанными документами-основаниями.

Параметры строки запроса

  • "Документ": объект:
    • "Идентификатор"*: строка, обязательный параметр, используется для адресации документа
    • "Номер": строка, содержащая номер документа. Если параметр не указан, значение извлекается из первого формализованного документа или генерируется автоматически. Автоматическая генерация происходит в соответствии с настройками реестра документов
    • "Дата": строка в формате "ДД.ММ.ГГГГ". Используется при сортировке и фильтрации по типам в реестрах документов на сайте online.sbis.ru. Если параметр не указан, значение извлекается из первого формализованного документа или генерируются автоматически. Автоматическая генерация происходит в соответствии с настройками реестра документов
    • "Сумма": строка, содержащая сумму документа. Если параметр не указан, значение извлекается из первого формализованного документа
    • "Срок": строка в формате "ДД.ММ.ГГГГ", дата документа. Присутствует в некоторых типах документов
    • "Редакция":
      • "Идентификатор"*: строка
      • "ПримечениеИС": строка
    • ...
    • "Регламент": объект:
      • "Идентификатор": строка
      • "Название": строка

* — обязательные параметры.

Результат запроса

  • "Документ": объект

Комментарий

  • В параметрах запроса указание регламента документооборота допускается по полю «Регламент.Идентификатор» или «Регламент.Название».
    Если переданы название и идентификатор, будет учитываться только идентификатор.
  • При загрузке документа без указания:
  • При выполнении метода «СБИС.ЗаписатьДокумент» для черновиков, вложения и ЭП от предыдущих редакций удаляются. Если требуется их сохранить, прочитайте нужную редакцию и сохраните заново с помощью метода «СБИС.ЗаписатьДокумент».

Внимание!

Существуют ограничения на размер передаваемых данных: общий размер HTTP-запроса вместе с заголовками не должен превышать 100 Мб. Записываемое вложение не должно превышать 73 Мбайт (при кодировании двоичных данных в Base64 размер вложения увеличивается на 25%).

Если нужно записать несколько вложений, каждое из которых менее 73 Мбайт, а общий размер превышает 100 Мбайт — используйте метод «СБИС.ЗаписатьВложение». Если требуется записать файлы, превышающие размеры ограничений — воспользуйтесь утилитой СБИС Коннект или обратитесь в службу технической поддержки.

Обновить реквизиты или вложения в существующем документе

Команда «СБИС.ЗаписатьДокумент» производит обновление реквизитов или вложений уже существующего документа.

Параметры строки запроса

  • "Адресация": объект:
    • "Идентификатор"*: строка, идентификатор адресуемого документа
    • "Редакция": объект:
      • "Идентификатор"*: строка, идентификатор адресуемой редакции документа
  • "Документ": объект, содержит изменяемые данные

* — обязательные параметры.

Результат запроса

  • "Документ": объект, включает изменения

Комментарий

Если документ определяется по идентификатору («Документ.Идентификатор»), то:

  • для исходящих документов будет изменена информация последней редакции (если она не отправлена), или создана новая редакция;
  • для входящих документов можно изменить только «Документ.Идентификатор», «Документ.Редакция.Идентификатор» и «Документ.Редакция.ПримечаниеИС».

Если документ определяется по идентификатору редакции («Документ.Редакция.Идентификатор»), то:

  • для последней редакции логика работы совпадает с предыдущим пунктом (т.к. сам документ фактически определяет последнюю редакцию);
  • для предыдущих редакции (не последних) можно изменить только «Документ.Редакция.Идентификатор» и «Документ.Редакция.ПримечаниеИС».

В ответе на запрос поле «СсылкаДляКонтрагент» возвращается заполненным, только если документ был запущен в документооборот.

Ускорить загрузку документа

При настройке шаблона нумерации документа рекомендуется установить параметр «Документ.Номер». Это позволит ускорить загрузку документа. Если требуется автоматическая генерация номера или нет возможности передать его в качестве параметра, рекомендуется на странице настроек шаблона нумерации добавить к {Номер} параметры {Месяц} или {День}.

Настройки прав доступа

Для выполнение команды СБИС.ЗаписатьДокумент у пользователя внешнего API-интерфейса в кабинете СБИС должны быть настроены права на изменение документов (уровень доступа «Полный» или «Администрирование»). Для создания новых контрагентов при вызове данного метода у пользователя должен быть установлен уровень доступа «Полный» для раздела «Компании».

Пример запроса

Пример ответа (успех)