Программно сохранить настройки формы

Nav view search

Navigation

Search

Установить стандартные настройки формы программно УФ

Управляемые интерфейс (УФ) тот еще зверь.. Пользователь может самостоятельно так настроить форму, что половина данных у него теперь не видна совсем, а колонки имеют совсем другие названия, не такие как указал программист при разработке формы. Сбросить форму к первоначальному виду "под пользователем" можно так:

1. В форме нажать "Еще — Изменить форму.."

2. В открывшемся окне: "Еще — Установить стандартные настройки".

Но программно это сделать не так просто. Хранилище известно и даже можно вычистить оттуда настройки, если повезет. и после перезахода в форму, настройки станут стандартными. Сделать это можно примерно так:

Как узнать под каким идентификатором (КлючОбъекта) сохранена в этом хранилище именно ваша форма? Угадывайте коллеги.. или можно воспользоваться самописной обработкой чтения настроек и вычислить вашу форму:

Для сохранения значений реквизитов управляемой формы в 1С нужно включить свойство управляемой формы СохранениеДанныхВНастройках. После этого в окне реквизитов формы появится дополнительная колонка Сохранять данные в настройках. В этой колонке нужно поставить флаг у тех реквизитов, значения которых нужно сохранять.

После этого на форме появятся стандартные кнопки Сохранить параметры и Восстановить параметры (возможно, они будут скрыты под кнопкой Еще).

Однако, автоматическое сохранение значений доступно только для реквизитов формы. Для табличных частей флаг Сохранять данные в настройках не предусмотрен. Однако, табличные части можно преобразовать, например, в массивы и уже их сохранить в настройках формы.

Рассмотрим эту процедуру на примере формы с двумя табличными частями: ТипыЦен и ГруппыНоменклатуры. В каждой табличной части по одной колонке.

Читайте также  Программа говорилка для андроид

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

Процедура ПриСохраненииДанныхВНастройкахНаСервере ( Настройки )

//Создаем массивы из табличных частей
МассивГрупп = новый массив ;
Для каждого Строка из Объект . Группы Цикл
МассивГрупп . Добавить ( Строка . Группа ) ;
КонецЦикла ;

МассивЦен = новый массив ;
Для каждого Строка из Объект . ТипыЦен Цикл
МассивЦен . Добавить ( Строка . ТипЦены ) ;
КонецЦикла ;

//Добавляем полученные массивы в сохраняемые настройки с соответствующими именами
Настройки . Вставить ( "Группа" , МассивГрупп ) ;
Настройки . Вставить ( "ТипыЦен" , МассивЦен ) ;

Теперь осталось восстановить табличные части из массивов при загрузке настроек управляемой формы. Для этого нам потребуется процедура для события ПриЗагрузкеДанныхИзНастроекНаСервере.

Процедура ПриЗагрузкеДанныхИзНастроекНаСервере ( Настройки )

//Очищаем табличные части, чтобы избежать дублей
Объект . Группы . Очистить ( ) ;
Объект . ТипыЦен . Очистить ( ) ;

//Получаем массивы из настроек по тому имени, по которому сохраняли и заносим в табличные части
Для каждого Строка из Настройки . Получить ( "Группа" ) Цикл
НС = Объект . Группы . Добавить ( ) ;
НС . Группа = Строка ;
КонецЦикла ;

Для каждого Строка из Настройки . Получить ( "ТипыЦен" ) Цикл
НС = Объект . ТипыЦен . Добавить ( ) ;
НС . ТипЦены = Строка ;
КонецЦикла ;

Как сохранять и восстанавливать значения Объектов и Реквизитов на форме УП?

У управляемой формы реквизиты заведенные как реквизиты формы, при закрытии и открытии ее заново могут сохраняться и восстанавливаться, достаточно только поставить напротив галочку сохранять и в свойствах формы выбрать "АвтоматическоеСохранениеДанныхВНастройках" — Использовать.

Подробнее в этой статье Как сохранять и восстанавливать значения реквизитов на форме? и там же пример для обычных форм.

А что же делать с реквизитами, которые выступают в роли реквизитов объектов ?

Читайте также  При просмотре видео греется процессор

у них такой настройки нет нет — напишем:

Открыв обработку и заполним поля закрываем ее, при следующем открытии все поля заполнены из сохраненных настроек:

Похожие FAQ

Еще в этой же категории

Как настроить отбор строк? 2
Часто возникает задача показать только нужные строки в табличной части документа или справочника (или другого объекта). Для этого можно использовать замечательное свойство: в обычном приложении параметр для ОтборСтрок — Отбор. в управляемом Посмотреть все в категории Работа с Формой (Диалог) и её элементами

Ссылка на основную публикацию
Adblock
detector