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

Переместить документов между этапами в API внешней обработки

Переместить документов между этапами в API внешней обработки

Перевести документ на следующий этап документооборота можно не запуская внешнюю обработку. Для этого используется API-интерфейс внешней обработки. Чтобы переместить документ на следующий этап с указанием исполнителя или комментария:

  1. Выполните подготовительные действия.
  2. Вызовите функцию получения документа. Для этого нужно заранее знать его идентификатор:
    Документ = Кэш.Интеграция.ПрочитатьДокумент(Кэш,Ид);
    
  3. Укажите действие, которое требуется выполнить для документа:
    Действие = Новый Структура;                              // Готовим Действие (переход с текущего этапа документооборота)
    Для каждого Переход Из Документ.Этап[0].Действие Цикл    // Перебираем возможные переходы для документа 
      Если Переход.Название = НазваниеНужногоДействия Тогда  // Ищем среди них такой переход, который нам нужен 
          Действие.Вставить("Состав",Переход);               // Если находим добавляем в объект Действие 
      КонецЕсли; 
    КонецЦикла;
    

    Если исполнитель следующего этапа назначается при выполнении — его можно сразу указать из 1С. Для этого добавьте объект «Исполнитель» в объект «Действие»:

    Исполнитель = Новый Структура;
    Исполнитель.Вставить("Имя","Глеб");
    Исполнитель.Вставить("Фамилия","Никифоров");
    Исполнитель.Вставить("Отчество","Станиславович");
    Действие.Состав.Вставить("Исполнитель",Исполнитель);
    
  4. Выполните перевод документа на следующий этап:
    Этап = Документ.Этап[0];
    Действие = Действие.Состав;
    Комментарий = "Если обязателен для выполнения перехода, то нужно заполнить";
    НазваниеПакета = "";
    Кэш.Интеграция.сбисВыполнитьДействие(Кэш, Документ, Этап, Действие,Комментарий,НазваниеПакета);
    

На заметку!

Если переход на следующий этап документооборота не требует указания комментария или исполнителя — используйте метод «ВИ.сбисВыполнитьКоманду».