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

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

Вакансии


Специалист техподдержки 1С
Иркутск
зарплата от 28 000 руб. до 34 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 48 000 руб. до 96 000 руб.
По совместительству

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

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