Имя: Пароль:
1C
 
программно перенаправить задачу другому исполнителю Документооборот 2.1
0 skupidom
 
21.01.20
09:59
Как программно пере направить задачу другому исполнителю ?
1 la luna llena
 
21.01.20
10:00
обязательно перенаправлять?
Просто измени исполнителя в задаче
2 skupidom
 
21.01.20
13:52
пробую программно поменять исполнителя в форме бизнес процесса в форме задачи исполнителя
&НаКлиенте
Процедура ЗаписатьИЗакрытьВыполнить()
ОчиститьСообщения();
    Если Записать() Тогда
        ОповеститьОбИзменении(Объект.Ссылка);
        ПоказатьОповещениеПользователя(
            "Изменение:",
            ПолучитьНавигационнуюСсылку(Объект.Ссылка),
            Строка(Объект.Ссылка),
            БиблиотекаКартинок.Информация32);            
            изменения -->
            ПодменаИсполнителяЗадачи(Объект.Ссылка);
            изменения <--            
        Закрыть();    
    КонецЕсли;    
КонецПроцедуры

&НаСервере
Процедура ПодменаИсполнителяЗадачи(Задача) Экспорт
    
    ТекФлаг = Ложь;
    ТекОбъект = РеквизитФормыВЗначение("Объект");
    Если ЗначениеЗаполнено(ТекОбъект.БизнесПроцесс) Тогда
        Предмет = Справочники.ВнутренниеДокументы.ПустаяСсылка();
        Предметы = Мультипредметность.ПолучитьПредметыПроцесса(ТекОбъект.БизнесПроцесс);
        СтруктураПоиска = Новый Структура;
        СтруктураПоиска.Вставить("РольПредмета",Перечисления.РолиПредметов.Основной);
        СтрокиНашли = Предметы.НайтиСтроки(СтруктураПоиска);
        Если СтрокиНашли.Количество() > 0 Тогда
            Для Каждого Строка Из СтрокиНашли Цикл
                ТекПредмет = Строка;
                Если ЗначениеЗаполнено(ТекПредмет.Предмет.ВидДокумента) Тогда
                    Если ТекПредмет.Предмет.ВидДокумента = Справочники.ВидыВнутреннихДокументов.ПолучитьСсылку(Новый УникальныйИдентификатор("3b34dd2f-262b-11ea-8d4d-90e2ba2ca541")) Тогда
                        ЗадачаОбъект = Задача.ПолучитьОбъект();
                        Задача.Исполнитель = ТекПредмет.Предмет.Ответственный;
                        Задача.Записать();
                    КонецЕсли;
                КонецЕсли;
            КонецЦикла;
        КонецЕсли;
    КонецЕсли;    
КонецПроцедуры
3 skupidom
 
21.01.20
13:53
пишет ошибку:
{БизнесПроцесс.Ознакомление.Форма.ФормаЗадачиИсполнителя.Форма(131)}: Поле объекта недоступно для записи (Исполнитель)
                        Задача.Исполнитель = ТекПредмет.Предмет.Ответственный;
4 skupidom
 
21.01.20
14:48
может все таки лучше программно перенаправить задачу ?
5 skupidom
 
21.01.20
18:32
спасибо за советы, все получилось
6 Лефмихалыч
 
21.01.20
18:37
Стаж: 9 лет 3 месяца 16 дней
7 palsergeich
 
21.01.20
19:04
(6) Это уже 3ий из криокамеры)
8 Лефмихалыч
 
21.01.20
19:09
(7) не, этот особенный. У него ветки про ДО уже год, а уровень владения им все еще девственный. Для меня загадка это
Программист всегда исправляет последнюю ошибку.