ПЕРЕМЕЩЕНИЕ ДОКУМЕНТОВ МЕЖДУ ЭТАПАМИ

Если необходимо переместить документ на следующий этап документооборота с указанием исполнителя или комментария, необходимо:

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

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

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

На заметку!

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

0
0
Оставьте свой отзыв:
ОТПРАВИТЬ