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 169 13.02.19 14:53 Сейчас в теме

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

Вакансии

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

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

Бизнес-аналитик 1С ERP
Пермь
зарплата от 80 000 руб.
Полный день

Программист 1С УТ 11
Омск
зарплата от 60 000 руб.
Полный день

Бизнес-аналитик 1С УТ 11
Омск
зарплата от 60 000 руб.
Полный день