Перезаписать исполнителя

1. user1004898 28 12.02.19 15:49 Сейчас в теме
Как быть, если я хочу после вопроса "являюсь ли я исполнителем (нет) и назначить меня исполнителем (да). заменить ТекущегоИсполнителя (какой-то юзер) на ТекущешгоПользователя сеанса (меня)?

Процедура Создать(Команда)
    Если ОбращениеВыполнено(Элементы.СписокОбращения.ТекущаяСтрока) тогда    
        ПоказатьПредупреждение(,"На данной стадии работу нельзя выполнить");
        Возврат;
    КонецЕсли;
    
    СтрТекущийИсполнитель = Элементы.СписокОбращения.ТекущиеДанные.ТекущийИсполнитель;

    Если СтарТекущийИсполнитель <> ТекущийПользователь() Тогда
    
            Режим = РежимДиалогаВопрос.ДаНет;
            Текст = "ru = ""Назначить Вас исполнителем?"";";
            Ответ = Вопрос(НСтр(Текст), Режим, 0);
            Если Ответ = КодВозвратаДиалога.Да Тогда

           СтрТекущийИсполнитель = ТекущийПользователь(); //?

                
                ПараметрыФормы = Новый Структура("Основание",Элементы.СписокОбращения.ТекущаяСтрока);
                ОткрытьФорму("Документ.Наряд.Форма.ФормаРаботы",ПараметрыФормы,ЭтотОбъект,ЭтотОбъект,,,,);
            
                ИначеЕсли Ответ = КодВозвратаДиалога.Нет Тогда
                Сообщить("Действие отменено!");
            КонецЕсли;
        
        КонецЕсли;
        
КонецПроцедуры

&НаСервере
Функция ТекущийПользователь() 
    Возврат ПараметрыСеанса.ТекущийПользователь;
КонецФункции
Показать
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Alex_241 12.02.19 16:27 Сейчас в теме
Привет. Вобщем слушай как я бы это сделал:

Переменную СтрТекущийИсполнитель - нужно добавить в структуру ПараметрыФормы которая передается в

ОткрытьФорму("Документ.Наряд.Форма.ФормаРаботы",ПараметрыФормы,ЭтотОбъект,ЭтотОбъект,,,,);

а дальше в процедуре при открытии формы Документ.Наряд.Форма.ФормаРаботы сравнивать с текущем пользователем и менять на своего из параметров
+
3. user1004898 28 12.02.19 16:39 Сейчас в теме
(2)
в той форме нет функции, которая заменяет пользователя.
+
4. user1004898 28 12.02.19 16:40 Сейчас в теме
(2)
я думал так:

СтрТекущийИсполнитель = ТекущийПользователь();
СтрТекущийИсполнитель.Записать();

но нет...
+
5. zarankony 305 13.02.19 14:53 Сейчас в теме

Форма = ПолучитьФорму("Документ.Наряд.Форма.ФормаРаботы",ПараметрыФормы,ЭтотОбъект,ЭтотОбъект,,,,);
Форма.Объект.Исполнитель = СтрТекущийИсполнитель;
Форма.Открыть();
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот