Имя: Пароль:
1C
1С v8
Задать вопрос в управляемой форме при смене родителя справочника
0 Скользящий
 
30.11.20
09:29
Задача: Пользователю в форме списка справочника при смене родителя задать вопрос ""Вы действительно хотите перенести элемент справочника в другую папку?"
В зависимости от вопроса естесственно отработать, если пользователь нажимает да, то ничего не делать, если нет, то остановить перенос в другую группу.

Вроде бы простая задача. Но с этой немодальностью запутался. Непонятно как через ПоказатьВопрос это реализовать. Вопрос задается, но продолжает отрабатывать дальше до процедуры ПередЗаписью и зависает. )
В расширении в "обработкевыбора" в форме списка  пишу

Процедура 111_СписокОбработкаВыбораПосле(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    РезультатПроверки = Ложь;
    //Передадим на сервер проверку
    ОбработкаВыбораНаСервере(Элемент.ТекущаяСтрока,ВыбранноеЗначение,РезультатПроверки);
    Если РезультатПроверки=Истина Тогда
        //Проверили на сервере, меняется родитель.
        //теперь надо задать вопрос пользователю
        //если он отвечает нет, надо сделать откат обратно
        //если он отвечает да, то продолжить.
        //Тут надо задать вопрос КАК??
    Иначе
    КонецЕсли;
КонецПроцедуры

&НаСервере
Процедура ОбработкаВыбораНаСервере(ТекущаяСтрока,ВыбранноеЗначение,РезультатПроверки)
    
    СпрЛицевыеСчетаОбъект = ТекущаяСтрока.ПолучитьОбъект();
    
    Если Не СпрЛицевыеСчетаОбъект.СтарыйРодитель = Null Тогда //это группа
        Если СпрЛицевыеСчетаОбъект.СтарыйРодитель <> ВыбранноеЗначение Тогда
            
            РезультатПроверки=Истина; //родитель и старый родитель не совпадают, происходит перенос в другую группу
    
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры

"СтарыйРодитель" это реквизит куда записан текущий родитель.
Есть проверка на смену родителя в расширении в модуле объекта в процедуре  111_ПередЗаписью - там как я понимаю не получится вопрос задать, т.к. он задается на клиенте.