0
Скользящий
30.11.20
✎
09:29
|
Задача: Пользователю в форме списка справочника при смене родителя задать вопрос ""Вы действительно хотите перенести элемент справочника в другую папку?"
В зависимости от вопроса естесственно отработать, если пользователь нажимает да, то ничего не делать, если нет, то остановить перенос в другую группу.
Вроде бы простая задача. Но с этой немодальностью запутался. Непонятно как через ПоказатьВопрос это реализовать. Вопрос задается, но продолжает отрабатывать дальше до процедуры ПередЗаписью и зависает. )
В расширении в "обработкевыбора" в форме списка пишу
Процедура 111_СписокОбработкаВыбораПосле(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
РезультатПроверки = Ложь;
//Передадим на сервер проверку
ОбработкаВыбораНаСервере(Элемент.ТекущаяСтрока,ВыбранноеЗначение,РезультатПроверки);
Если РезультатПроверки=Истина Тогда
//Проверили на сервере, меняется родитель.
//теперь надо задать вопрос пользователю
//если он отвечает нет, надо сделать откат обратно
//если он отвечает да, то продолжить.
//Тут надо задать вопрос КАК??
Иначе
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОбработкаВыбораНаСервере(ТекущаяСтрока,ВыбранноеЗначение,РезультатПроверки)
СпрЛицевыеСчетаОбъект = ТекущаяСтрока.ПолучитьОбъект();
Если Не СпрЛицевыеСчетаОбъект.СтарыйРодитель = Null Тогда //это группа
Если СпрЛицевыеСчетаОбъект.СтарыйРодитель <> ВыбранноеЗначение Тогда
РезультатПроверки=Истина; //родитель и старый родитель не совпадают, происходит перенос в другую группу
КонецЕсли;
КонецЕсли;
КонецПроцедуры
"СтарыйРодитель" это реквизит куда записан текущий родитель.
Есть проверка на смену родителя в расширении в модуле объекта в процедуре 111_ПередЗаписью - там как я понимаю не получится вопрос задать, т.к. он задается на клиенте.
|
|