Имя: Пароль:
1C
1С v8
СКД Непонятное поведение НастройкиПоУмолчанию
0 Rounder
 
03.11.12
17:10
&НаКлиенте
Процедура КомандаНастройкиПоУмолчанию(Команда)
   ВосстановитьНастройкиПоУмолчанию();
КонецПроцедуры

&НаСервере
Процедура ВосстановитьНастройкиПоУмолчанию()
   МойОтчет = РеквизитФормыВЗначение("Отчет");
   Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(МойОтчет.СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
   НаименованиеТекущегоВарианта = МойОтчет.СхемаКомпоновкиДанных.ВариантыНастроек[0].Представление;
   ЗначениеВРеквизитФормы(МойОтчет, "Отчет");
КонецПроцедуры


Пользователь настроил параметры (пользовательские настройки). Затем решил сбросить в настройки по умолчанию. И вот тут непонятное...
Если без точек останова или по точке останова F5 - то параметры остаются настроенными. Если по алгоритму иду пошагово (F11) то параметры сбрасываются как нужно в те, что установлены в конфигураторе для первого варианта отчета. Почему так происходит?
1 Wobland
 
03.11.12
17:12
сервер надо уметь упрашивать отлаживать на нём.. но проблема не в этом
2 Rounder
 
03.11.12
17:14
(1) а в чем?
3 Wobland
 
03.11.12
17:15
(2) а я не знаю. явная хрень какая-то у тебя. ф5 работает, ф11 - не работает. я даже в код не смотрел
4 Rounder
 
03.11.12
17:17
(3) Наоборот - только при F11 работает. Но проблемы это не меняет.
5 Rounder
 
03.11.12
17:21
Причем вариант восстанавливается, а параметры - нет :(
6 Wobland
 
03.11.12
17:23
а без отладки как?
7 Rounder
 
03.11.12
17:24
И без отладки не сбрасываются параметры. Только при отладке пошагово.
8 Rounder
 
03.11.12
17:30
Продолжаю опыты:
если поставить точку останова только на строке ЗначениеВРеквизитФормы(МойОтчет, "Отчет"); то настройки сбрасываются как нужно.

Что происходит при остановке на этой строке и не происходит без остановки?
9 Rounder
 
03.11.12
17:43
Вот так работает.
Видимо не желает загружать настройки на сервере...

&НаКлиенте
Процедура КомандаНастройкиПоУмолчанию(Команда)
   Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(ПолучитьНастройкиПоУмолчанию());
КонецПроцедуры

&НаСервере
Функция ПолучитьНастройкиПоУмолчанию()
   МойОтчет = РеквизитФормыВЗначение("Отчет");
   НастройкиПоУмолчанию = МойОтчет.СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
   НаименованиеТекущегоВарианта = МойОтчет.СхемаКомпоновкиДанных.ВариантыНастроек[0].Представление;
   ЗначениеВРеквизитФормы(МойОтчет, "Отчет");
   Возврат НастройкиПоУмолчанию;
КонецФункции
10 Wobland
 
03.11.12
17:44
видать, сейчас ты стал применять своё колдовство к конкретному открытому экземпляру отчёта
11 Wobland
 
03.11.12
17:45
но (8) мне непонятно
12 Rounder
 
03.11.12
17:50
мне тоже непонятно такое поведение...