1. user1004898 4 12.02.19 15:49 Сейчас в теме

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

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

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

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

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

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

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

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

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

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

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

но нет...
5. nikita0832 170 13.02.19 14:53 Сейчас в теме

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

Вакансии

Программист 1С
Москва
зарплата от 160 000 руб. до 180 000 руб.
Полный день

Ведущий программист / Руководитель проектов 1С
Москва
зарплата от 190 000 руб. до 190 000 руб.
Полный день

Программист 1С ЗУП
Уфа
зарплата от 60 000 руб. до 90 000 руб.
Полный день

Программист 1С
Москва
зарплата от 140 000 руб. до 140 000 руб.
Полный день

Программист 1С
Санкт-Петербург
Полный день