| 
    
            
         
         | 
    
  | 
        УФ :  Сохранить в настройках формы документа флаг открытия / закрытия группы         | ☑ | ||
|---|---|---|---|---|
| 
    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) Спасибо - заработало
 
        Реквизит на форме не нужен  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |