|   |   | 
| 
 | УФ : Сохранить в настройках формы документа флаг открытия / закрытия группы | ☑ | ||
|---|---|---|---|---|
| 0
    
        bvb 12.08.25✎ 12:10 | 
        Добрый день
 Необходимо сохранять настройки свертываемой группы в форме документа для конкретного пользователя. В обычных формах я сделал бы сделал так : &НаКлиенте Процедура ПриОткрытии(Отказ) Если ВосстановитьЗначение("Группа1Скрыта") Тогда ЭтаФорма.Элементы.ГруппаСодержаниеМатериалов.Скрыть(); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПриЗакртыии() СохранитьЗначение("Группа1Скрыта " , ЭтаФорма.Элементы.ГруппаСодержаниеМатериалов.Скрыта()); КонецПроцедуры А Как сделать это в УФ ? И еще вопрос : Связано ли как то это, со свойством формы «АвтоматическоеСохранениеДанныхВНастройках» ? | |||
| 1
    
        Мультук гуру 12.08.25✎ 12:30 | 
        1) Ну дык протести под разными пользователями в
 -- форме обработки -- форме документа и доложи результаты 2) со свойством формы «АвтоматическоеСохранениеДанныхВНастройках» ? Флажочки на нужных реквизитах нужно еще проставить | |||
| 2
    
        bvb 12.08.25✎ 13:16 | 
        (1) Речь идет про форму документа
 1. в УФ ВосстановитьЗначение - не понимает : "Процедура или функция с указанным именем не определена (ВосстановитьЗначение)" 2. Пробовал : Добавил чисто реквизит формы с флажком - значение этого реквизита не помнит | |||
| 3
    
        Fish гуру 12.08.25✎ 13:31 | 
        (2) А в свойствах формы СохранениеДанныхВНастройках включал?     | |||
| 4
    
        Fish гуру 12.08.25✎ 13:34 | 
        +(3) Проверил, вполне достаточно указать у формы АвтоматическоеСохранениеДанныхВНастройках в "использовать", а у самого реквизита поставить галку "Сохранение".
 Всё работает. | |||
| 5
    
        Волшебник 12.08.25✎ 13:34 | 
        флаг "Сохранение"     
 | |||
| 6
    
        bvb 12.08.25✎ 14:03 | 
        Включил СохранениеДанныхВНастройках 
 Добавил реквизит формы "ГруппаСодержаниеМатериаловСкрыта" Поставил на нее галку "Сохранение" &НаКлиенте Процедура ПриОткрытии(Отказ) Если ГруппаСодержаниеМатериаловСкрыта Тогда ЭтаФорма.Элементы.ГруппаСодержаниеМатериалов.Скрыть(); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПриЗакрытии(ЗавершениеРаботы) ГруппаСодержаниеМатериаловСкрыта = ЭтаФорма.Элементы.ГруппаСодержаниеМатериалов.Скрыта(); КонецПроцедуры Закрываю со свернутой группой (ПриЗакрытии): ГруппаСодержаниеМатериаловСкрыта - ИСТИНА Открываю (ПриОткрытии) : ГруппаСодержаниеМатериаловСкрыта - ЛОЖЬ (а должно быть по идее ИСТИНА) ЧЯДНТ ? | |||
| 7
    
        Волшебник 12.08.25✎ 14:13 | 
        (6) Добавьте обработчик ПослеОткрытия, который вызывается так:
 &НаКлиенте
Процедура ПриОткрытии(Отказ)                              
    
    ПодключитьОбработчикОжидания("ПослеОткрытия", 0.1, Истина);
    
КонецПроцедуры
&НаКлиенте
Процедура ПослеОткрытия()                              
    
    Если ГруппаСодержаниеМатериаловСкрыта Тогда
       ЭтаФорма.Элементы.ГруппаСодержаниеМатериалов.Скрыть();            
    КонецЕсли;
    
КонецПроцедуры | |||
| 8
    
        Мультук гуру 12.08.25✎ 14:15 | 
        (6) 
 Всё работает (см рис) 
&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
//Всякое от 1С	
	
   Сообщить("МистаБулево:" + Строка(МистаБулево));
	
КонецПроцедуры
 | |||
| 9
    
        Fish гуру 12.08.25✎ 14:20 | 
        (6) Можно еще ХранилищеОбщихНастроек использовать.     | |||
| 10
    
        bvb 12.08.25✎ 15:05 | 
        (7) НЕ работает
 (8) ВЫ не поняли . Если выставить реквизит на форме и его поставить руками - да работает Но мне нужно проанализировать состояние закладки при закрытии и записать булево в реквизит (а на форме этого реквизита нет) &НаКлиенте Процедура ПриЗакрытии(ЗавершениеРаботы) ГруппаСодержаниеМатериаловСкрыта = ЭтаФорма.Элементы.ГруппаСодержаниеМатериалов.Скрыта(); КонецПроцедуры | |||
| 11
    
        Волшебник 12.08.25✎ 15:06 | 
        (10) Вытащите его на форму и Видимость=Ложь     | |||
| 12
    
        bvb 12.08.25✎ 15:19 | 
        (11) Сделал уже (видимость Даже не скрывал)
 Не работает Походу нужно перехватывать ГруппаСодержаниеМатериаловСкрыта = ЭтаФорма.Элементы.ГруппаСодержаниеМатериалов.Скрыта(); Не при закрытиии | |||
| 13
    
        Волшебник 12.08.25✎ 15:23 | 
        (12) есть ПередЗакрытием     | |||
| 14
    
        Мультук гуру 12.08.25✎ 15:25 | 
        (11) 
 Удалил реквизит с формы. Всё равно работает Хотя возможно суть в том, что он "на форме хоть раз побывал" (12) Золотые слова (с) &НаКлиенте Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка) ПринудительноЗакрытьФорму = Истина; МистаБулево = не МистаБулево; КонецПроцедуры | |||
| 15
    
        bvb 12.08.25✎ 15:38 | 
        (13) Спасибо - заработало
 Реквизит на форме не нужен | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |