|
УФ: как отследить восстановление сохраненных реквизитов на форме? |
☑ |
0
dave2000
22.01.16
✎
16:43
|
Есть отчет с формой, на которой есть несколько реквизитов. У формы установлено свойство АвтоматическоеСохранениеДанныхВНастройках=Истина. Если открыть форму, заполнить реквизиты, закрыть и снова открыть, то реквизиты восстанавливаются. Но бывают случаю, когда я открываю форму программно и в ПриСозданииНаСервере() устанавливаю нужные мне реквизиты, а при открытии формы реквизиты восстанавливаются те, что мы задавали ранее вручную. Как этим можно управлять и не восстанавливать реквизиты в случае программного открытия формы? Событие ПриЗагрузкеДанныхИзНастроекНаСервере() почему-то не срабатывает.
|
|
1
LordCMEPTb
22.01.16
✎
16:49
|
Делать изменение реквизитов после открытия формы?
|
|
2
dave2000
22.01.16
✎
16:55
|
(1) Я бы не против. Но я передаю нужные значения реквизитов через параметры, которые доступны только в ПриСозданииНаСервере(), там я и устанавливаю по ним значения реквизитов. Но в ПриОткрытии() формы уже стоят восстановленные реквизиты, а переданные параметры больше недоступны.
|
|
3
DmitrO
22.01.16
✎
17:00
|
Ну так устанавливай реквизиты формы на клиенте, после открытия формы.
|
|
4
Nuobu
22.01.16
✎
17:01
|
(2) Удали эту галочку, а в "ПередЗакрытием" напиши СохранитьЗначение(Реквизит, "ЗначениеРаз"); // не помню, как в управляемых формах оно пишется.
В ПриОткрытии напиши так
Если НЕ ЗначениеЗаполнено(РеквизитФормы) Тогда
РеквизитФормы = ВосстановитьЗначение("РеквизитРаз");
КонецЕсли;
|
|
5
dave2000
22.01.16
✎
17:31
|
(3) А где уже я их возьму при открытии? Структура Параметры заполнена только при создании формы, далее она очищается, переданных параметров я уже не вижу. Можно конечно продублировать все реквизиты без галочки "Сохранение", в них сохранять передаваемые параметры, а в ПриОткрытии уже восстанавливать с них в основные реквизиты, но это как-то слишком коряво выйдет.
(4) Я бы с радостью, но в УФ уже нет функций СохранитьЗначение/ВосстановитьЗначение :(
|
|
6
dave2000
22.01.16
✎
17:41
|
Нашел пока вот такой вариант через ХранилищеОбщихНастроек:
http://catalog.mista.ru/public/165442/
Если у кого ещё есть интересные варианты, кидайте сюда
|
|
7
Fragster
гуру
22.01.16
✎
17:46
|
УправляемаяФорма (ManagedForm)
ПередЗагрузкойДанныхИзНастроекНаСервере (BeforeLoadDataFromSettingsAtServer)
Синтаксис:
ПередЗагрузкойДанныхИзНастроекНаСервере(<Настройки>)
Параметры:
<Настройки>
Тип: Соответствие.
Настройки формы, в которых находятся значения реквизитов.
Описание:
Вызывается перед загрузкой данных из настроек.
В обработчике можно указать другие реквизиты (например, отбор) или изменить передаваемые значения.
|
|
8
Fragster
гуру
22.01.16
✎
17:47
|
ну и рядом там еще события есть
|
|
9
Cyberhawk
22.01.16
✎
19:59
|
"Событие ПриЗагрузкеДанныхИзНастроекНаСервере() почему-то не срабатывает" // Разобраться с кодом программного открытия формы... не через ПолучитьФорму() ли ты случайно это делаешь?
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший