СКД: Ловим интерактивные изменения компоновщика настроек #470001


#0 by Asmody
Хочу в форме настроек отчета СКД, созданной конструктором, поймать изменение настроек. Пишу Процедура ПриОткрытии событие ПриИзмененииКомпоновщикНастроек срабатывает только тогда, когда где-то явно вызывается что-то типа    КомпоновщикНастроек.ЗагрузитьНастройки(СериализаторXDTO.ПрочитатьXML(ЧтениеXML)); а хочется, чтобы вызывался и при интерактивном изменении.
#1 by Asmody
вместо апа: если таб.полю "Структура", связанному с КомпоновщикНастроек.Настройки, свойство ИзменяетДанные в Истина, то даже при каких-либо изменениях в других таб.полях на форме (которые связаны с ТП "Структура"), у формы ставится признак модифицированности. Но обработчик не вызывается, хоть тресни.
#2 by Garkin
Закладка
#3 by asady
наверное стоит привязать к элементам формы а не к реквизиту отчета
#4 by Asmody
не пойдет. во-первых, тогда оно вызывается и при первом заполнении, во-вторых, не отлавливаются изменения в других ТП (отборы, сортировки, параметры и т.п.)
#5 by asady
почему не подходит? - первый вызов легко игнорировать (флажок например перед открытием поднимать) - можно подключить и к другим ТП на форме (если вручную тяжело можно что-то динамического обработчика замутить)
#6 by Лефмихалыч
перед выполнением отчета получай стандартные настройки и сравнивай их поэлементно с текущими.
#7 by Defender aka LINN
А нафига?
#8 by Garkin
Так тоже не работает, но что интересно ПодключитьОбработчикИзмененияДанных("ЭлементыФормы.КомпоновщикНастроек.Настройки", "ПриИзмененииКомпоновщикНастроек", Истина); работает, но очень избирательно, т.е. как мигалка на скорой помощи, то работает, то не работает. ПодключитьОбработчикИзмененияДанных("КомпоновщикНастроек.Настройки", "ПриИзмененииКомпоновщикНастроек", Истина); срабатывает при закрытии стандартной формы настройки верхним правым крестиком, но не срабатывает при нажатии кнопки "ОК" !!!
#9 by Asmody
нужно отследить, что пользователь поменял настройки и предложить их сохранить более того, если открыть форму настройки программно через ПолучитьФормуНастроек(,ЭтаФорма).Открыть, то обработчик не срабатывает вообще
#10 by Asmody
проблема в том, что это могут быть и не стандартные настройки
#11 by Defender aka LINN
Используй форму "ФормаНастройкиСтруктурыОтчета", почти во всех типовых есть. Сразу стадо зайцев перестреляешь.
#12 by Asmody
у меня старая типовая переписанная
#13 by Demasiado
Решал схожую задачу, пошел по пути показа юзеру не штатной формы настроек СКД, а общей формы (идет в комплекте конфы Шаблон типового отчета - в последнем ЗиКе встроена она же).
#14 by Demasiado
+, именно эта форма
#15 by Defender aka LINN
Ну и что? Возьми с ИТС готовую подсистему, да и встрой себе.
#16 by Asmody
пока остановился на таком варианте: у ТП "Структура" поставил галку ИзменяетДанные, а в нужных местах анализирую Модифицированность и сбрасываю по необходимости
#17 by Лефмихалыч
может дать пользователю свободу выбора? А то это грёбаный фашизм какой-то: шаг влево, шаг вправо - сохраняй
#18 by Asmody
и к ней еще десяток модулей, а потом разбираться, чего же там умельцы с Селезневки надумали? не, пасиб
#19 by Asmody
от "свободы выбора" начинаются вопли: "я там все настроила, а оно все пропало!"
#20 by Defender aka LINN
Все они там нормально придумали, я гарантирую это ©
#21 by Лефмихалыч
все попытки излечения безответственности и тупости программными методами обречены на провал.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С