Имя: Пароль:
1C
 
Как получить Настройки формы ПередЗакрытием
0 Вася Теркин
 
07.02.19
08:58
Есть

&НаСервере
Процедура ПриСохраненииДанныхВНастройкахНаСервере(Настройки)
    Настройки.Вставить("ОтборСписокЗаявок", СписокЗаявок.Отбор);
КонецПроцедуры

Так не работает,
&НаКлиенте
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
    Настройки = Новый Соответствие;    
    ПриСохраненииДанныхВНастройкахНаСервере(Настройки);
КонецПроцедуры
хотя у Настройки тип соответствие.
1 Мыш
 
07.02.19
09:18
(0) Неправильно ты бутерброд ешь. Надо колбасой вниз.

"ПередЗакрытием" не используй.

При изменении отбора делай такое: СохраняемыеВНастройкахДанныеМодифицированы = Истина;
Автоматом попадешь в Процедура ПриСохраненииДанныхВНастройкахНаСервере(Настройки)
Там *добавляй* в настройки нужное.
2 Вася Теркин
 
07.02.19
09:25
Я его меняю программно с формы. Сделал реквизит объекта СписокАктивныхСтатусов с галочками на форме.
Потом
&НаСервере
Процедура ПриЗагрузкеДанныхИзНастроекНаСервере(Настройки)
    Отбор = Настройки.Получить("ОтборСписокЗаявок");
    ЭтаФорма.СписокЗаявок.Отбор.Элементы.Очистить();
    Для каждого Строка  Из Отбор.Элементы Цикл
    
        ЭлементОтбора = СписокЗаявок.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        ЭлементОтбора.ЛевоеЗначение  = Строка.ЛевоеЗначение;    
        ЭлементОтбора.ВидСравнения   = Строка.ВидСравнения;
        ЭлементОтбора.Использование  = Строка.Использование;
        ЭлементОтбора.ПравоеЗначение = Строка.ПравоеЗначение;
        ЭлементОтбора.Представление  = Строка.Представление;
        
        //Заполнен список отбора на экране
        Если ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Статус") Тогда
            Для каждого Зн из Объект.СписокАктивныхСтатусов Цикл
                Зн.Пометка = НЕ ЭлементОтбора.ПравоеЗначение.НайтиПоЗначению(Зн.Значение) = Неопределено;
            КонецЦикла;
        КонецЕсли;
        
    КонецЦикла;
КонецПроцедуры

Все отлично работает, но сохранять приходится только вручную. А мне надо автоматом при закрытии формы. Или когда?

Могу на СписокАктивныхСтатусов  чегонить повесить. Но как его заставить послать меня в Процедура ПриСохраненииДанныхВНастройкахНаСервере(Настройки)?
3 Вася Теркин
 
07.02.19
09:27
У меня есть
&НаСервере
Процедура ОбновитьОтбор()
    ЭтаФорма.СписокЗаявок.Отбор.Элементы.Очистить();
    ЭлементОтбора = ЭтаФорма.СписокЗаявок.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение    = Новый ПолеКомпоновкиДанных("Склад");
    ЭлементОтбора.ВидСравнения     = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
    ЭлементОтбора.ПравоеЗначение   = Объект.Склад;
    ЭлементОтбора.Использование    = Истина;
    ЭлементОтбора = ЭтаФорма.СписокЗаявок.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение    = Новый ПолеКомпоновкиДанных("Статус");
    ЭлементОтбора.ВидСравнения     = ВидСравненияКомпоновкиДанных.ВСписке;
    ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
    ЭлементОтбора.ПравоеЗначение   = ПолучитьСписокАктивныхСтатусов();
    ЭлементОтбора.Использование    = Истина;
КонецПроцедуры

&НаКлиенте
Процедура СписокАктивныхСтатусовПометкаПриИзменении(Элемент)
    ОбновитьОтбор();
КонецПроцедуры

Туда можно прикрутить?
4 Вася Теркин
 
07.02.19
09:27
ПолучитьСписокАктивныхСтатусов вытягивает только с пометками с формы...
5 Мыш
 
07.02.19
09:28
(2) > Я его меняю программно с формы

Вот там и добавь "СохраняемыеВНастройкахДанныеМодифицированы = Истина;"

И тогда при закрытии формы попадешь в процедуру "ПриСохраненииДанныхВНастройкахНаСервере(Настройки)".
6 Мыш
 
07.02.19
09:30
И да, у формы проверь свойство "Автоматическое сохранение данных в настройках"
7 Вася Теркин
 
07.02.19
09:53
Есть свойство "Использовать список", но "Хранилище настроек" я не выбирал.
8 Вася Теркин
 
07.02.19
09:54
интерактивно он и без выбранного хранилища сохраняет.
9 Вася Теркин
 
07.02.19
10:12
Вопрос в какое хранилище он сохраняет интерактивно и как в него же сохранить программно при закрытии.
10 Мыш
 
07.02.19
10:20
(9) Хранилище одно и то же. Способ сохранения настроек у формы какой, ручной или автоматический?
11 Вася Теркин
 
07.02.19
10:22
АвтоматическоеСохранениеДанныхВНастройках Использовать
12 Мыш
 
07.02.19
10:27
(11) Тогда ответ в (1) и (5).
13 Вася Теркин
 
07.02.19
10:32
(12) Ну и хитер же ты. Ответ действительно в (1).
14 Мыш
 
07.02.19
10:33
(13) Хренасе предъявы ))) Разжевываю, стараюсь тут )))
15 Вася Теркин
 
07.02.19
10:38
(14) Ну и я стараюсь. Туплю до невозможности. Предвкушаю пятницу.
В общем, тебя не собьешь наводящими вопросами.
2 + 2 = 3.9999999999999999999999999999999...