![]() |
![]() |
![]() |
|
Сохранение настроек элементов формы если они не привязаны к данным | ☑ | ||
---|---|---|---|---|
0
Aleksey_a_z
18.11.11
✎
09:25
|
Есть элементы на форме которые в зависимости от выбора поля сравнения принимают тип значения либо справочник ссылка либо список значений.
Проблема в том что не могу сохранять настройки формы. Как можно выбраться из ситуации? |
|||
1
Aleksey_a_z
18.11.11
✎
09:28
|
(0) поправлю себя, сохранение не настроек а значений
|
|||
2
vmv
18.11.11
✎
09:56
|
платформа, сэр?
|
|||
3
Aleksey_a_z
18.11.11
✎
10:01
|
8.2
|
|||
4
vmv
18.11.11
✎
10:10
|
(3) если реквизит формы не привязан к данным, то в окне реквизитов формы достаточно выставить флаг "Сохранение", открыв палитру свойств реквизита.
вроде де бы все, но не тут то было) Если этот флаг был выставлен и форма "запомнила" значение реквизита, а потом в конфигураторе сменить его тип или имя, то преодопределенный обработчки формы ПриЗагрузкеДанныхИзНастроекНаСервере(Настройки) просто не отработает и ничего не востаноит. Выхода 2. 1. Снать флаг "сохранение" у модифицированного по типу-имени реквизита и переоткрыть форму в приложении, чтобы сервер "запомнил" новое сохранение 2. В обработчике ПередЗагрузкойДанныхИзНастроекНаСервере(Настройки) проверять корректность поставляемых сервером ранее сохраненных значений с актуальным набором типов реквизитов формы и в случае обнаружения неактуальности сохранееного значения существующему - править в этом обработчике. усе |
|||
5
vmv
18.11.11
✎
10:13
|
(4) добавление множественно типа или добавление(удаление) типа из описания типов реквизитов будет рассматриваться обработчиком ПриЗагрузкеДанныхИзНастроекНаСервере(Настройки) как "некорректность" и он просто не будет работать, хотя форма откроется.
возможно такая ситуация - это недосмотр разработчиков, на 8.2.14.540 не проверял. все описанное справедливо для 8.214.528 и ниже |
|||
6
Aleksey_a_z
18.11.11
✎
12:29
|
(4) это для управляемых форм? Не пойму про какое окно реквизитов идет речь, свойства реквизита? Но там нет флага "Сохранение".
|
|||
7
vmv
18.11.11
✎
12:36
|
(6) да - для управляемых, все остальное мне не интересно - это вчерашний день и тратить время на динозавров смысла не вижу, увы)
|
|||
8
vmv
18.11.11
✎
12:42
|
(6) для обычных форм в свойствах формы есть список сохранения где можно установить сохраняемые элементы формы, но они будут сохраняться при нажатиии на форме стандарной кнопки "Сохранить", которая обычно закрыта.
Универсальный и безотказый способ для обычных формы обработчики событий формы Процедура ПриОткрытии(Отказ) ФлагТекущий = ВосстановитьЗначение("Add_УДУ_Загрузчик_ОбновлятьСуществующие"); Если ФлагТекущий = Неопределено Тогда ФлагТекущий = Истина; КонецЕсли; Объект.ОбновлятьСуществующие = ФлагТекущий; ЗначениеТекущее = ВосстановитьЗначение("Add_УДУ_Загрузчик_ОбрабатыватьНеБолее"); Если ЗначениеТекущее = Неопределено Тогда Объект.ОбрабатыватьНеБолее = 0; Иначе Объект.ОбрабатыватьНеБолее = ЗначениеТекущее; КонецЕсли; КонецПроцедуры Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка) СохранитьЗначение("Add_УДУ_Загрузчик_ОбновлятьСуществующие", Объект.ОбновлятьСуществующие); СохранитьЗначение("Add_УДУ_Загрузчик_ОбрабатыватьНеБолее" , Объект.ОбрабатыватьНеБолее); КонецПроцедуры Используй их и не томись сомненьем Ибо печаль в умах ведет к глумленьям все остальное от лукавого) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |