Имя: Пароль:
1C
1С v8
УФ. Передать пользовательские настройки из одного варианта отчета в другой
, ,
0 Надежда25
 
05.05.14
14:32
УФ. Отчет на СКД. Надо из одного отчета по кнопке открыть другой вариант этого отчета с текущими пользовательскими настройками. То есть с теми настройками, которые пользователь установил последними, и которые сохраняются по умолчанию. Нужный вариант открыть получается, а как передать настройки?
1 Kamas
 
05.05.14
14:40
(0) может просто сохранить настройки загрузить их при открытии
2 Надежда25
 
05.05.14
14:46
Как сделано сейчас:
Процедура ПечатнаяФорма(Команда)
   Настройки = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки;
   Период = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[0].Значение;
    Если Период = "Год" Тогда
        Вариант = "Печать";
    Иначе
        Вариант = "ПечатьПоМесяцам";
    КонецЕсли;
ПараметрыФормы = Новый Структура("КлючВарианта, ПользовательскиеНастройки, СформироватьПриОткрытии", Вариант, Настройки, Истина);
ОткрытьФорму("Отчет.ПланГрафикППРКалибровкиИПоверкиСИ.Форма.ФормаДляПечати", ПараметрыФормы);
КонецПроцедуры

Открывается нужный вариант, но с настройками, указанными на закладке Настройки в СКД.
3 Надежда25
 
05.05.14
15:05
Неужели ни у кого не было такой задачи?
4 Надежда25
 
06.05.14
09:12
Попробую повторить сегодня. Вопрос актуален!
5 Cube
 
06.05.14
09:27
Фотки-то нет...
6 Надежда25
 
06.05.14
09:52
Уже согласна и как в (1) сохранять и загружать настройки. А поточнее? В то же время они ведь автоматом где-то сохраняются!
7 Адский плющ
 
06.05.14
09:55
Разные варианты отчета имеют разный состав пользовательские настройки. В т.ч. у них разные ID шники и т.п.

Нельзя просто так взять и загрузить пользовательские настройки в другой вариант.
8 Надежда25
 
06.05.14
10:10
А как это сделать "непросто"? Ведь это логично, чтобы печатная форма отчета открывалась с последними настройками пользователя. В ней он может что-нибудь отредактировать (в шапке, например) и затем отправить на печать.
9 brznzglwgn
 
06.05.14
10:14
Смотря что подразумевать под настройками.. В новом варианте будут свои настройки группировок и их расположение, и как тогда на них накатятся ваши настройки?
10 Надежда25
 
06.05.14
10:20
Я имею ввиду только пользовательские настройки значений параметров и отбора.
11 Надежда25
 
06.05.14
11:21
То есть те, которые в СКД на закладке "Настройки" на вкладках "Параметры" и "Отбор"; которые в верхней части формы отчета.
12 Cube
 
06.05.14
11:26
(11) Так хочется помочь... Но мотивации нет))
13 Надежда25
 
06.05.14
11:33
Прямо не знаю как мотивировать.. Стихи что ли почитать?
А вообще весь форум обыскала. Что-то рядом крутится, а конечного решения нет.
14 Cube
 
06.05.14
11:37
(13) Так (5) же))
15 Надежда25
 
06.05.14
11:44
Разочарую
16 Cube
 
06.05.14
12:18
(15) Ну ладно, что я, изверг что ли?)) Помогу "запросто так"))

Что мешает установить отбор и параметры в новой копии отчета вручную (программно считав со старого варианта и установив в новый вариант)?
17 Надежда25
 
06.05.14
12:30
То есть отдельно для каждого отбора писать: Отбор.ЛевоеЗначение и т.д. А почему нельзя передать эти настройки целиком?
Ведь в Настройки = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы все есть.
18 Cube
 
06.05.14
12:36
(17) Ну а что мешает перебрать все элементы отбора одного варианта и проставить их в другом?

Ты быстрые отборы на форму не выносила никогда что-ли?))
19 Надежда25
 
06.05.14
12:41
Да, на форме быстрые отборы. Они сделаны в СКД.
По-другому никак нельзя, это точно?
20 Cube
 
06.05.14
12:44
(19) Не, я не про них, я про быстрые отборы, добавленные на форму вручную. Ну, вот, есть у тебя на форме поле "Организация", а это на самом деле отбор...

Смотри тут: v8: как программно отключить пользовательскую настройку в 1с . Я делаю так почти во всех своих отчетах.
21 Надежда25
 
06.05.14
13:14
У меня пользователь сам может сделать столько отборов, сколько ему надо, по всем доступным полям. Плюс один параметр Период. Ну они же где-то запоминаются! Ведь если закрыть отчет, а затем открыть, последние отборы сохранятся. Где они сохраняются и как их передать в другой вариант отчета?
22 Cube
 
06.05.14
13:16
(21) А, так у тебя УФ? Ну они сохраняются в хранилище настроек же...
23 Cube
 
06.05.14
13:18
(21) И что мешает их собрать в ТЗ, а потом из ТЗ их в новый вариант запихать-то?
24 Надежда25
 
06.05.14
13:21
Так хранилище или ТЗ?
25 Cube
 
06.05.14
13:26
(24) Дорогу осилит идущий... Ты хочешь, чтобы я за тебя код написал?
26 Надежда25
 
06.05.14
13:35
Напишу сама. Большое спасибо за наводку!
27 Надежда25
 
08.05.14
11:25
Хочется написать результат, вдруг кому пригодится.
Хранилище используется, если пользователь сохранил настройки по кнопке "Все действия" - "Сохранить настройку". Те настройки, которые я имела ввиду (сохраняемые по умолчанию) хранятся в КомпоновщикеНастроек. Оказывается, все решается достаточно просто. Прав был (1). Код приведен ниже.
&НаКлиенте
Процедура ПечатнаяФорма(Команда)
Настройки = ПолучитьТекущиеНастройки();    
Период = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[0].Значение;
    Если Период = "Год" Тогда
        Вариант = "Печать";
    Иначе
        Вариант = "ПечатьПоМесяцам";
    КонецЕсли;
ПараметрыФормы = Новый Структура("КлючВарианта, СформироватьПриОткрытии", Вариант, Истина);
Форма = ПолучитьФорму("Отчет.ПланГрафикППРКалибровкиИПоверкиСИ.Форма.ФормаДляПечати", ПараметрыФормы);
Форма.Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
Форма.Открыть();
КонецПроцедуры

&НаСервере
Функция ПолучитьТекущиеНастройки()
     Возврат(Отчет.КомпоновщикНастроек.ПолучитьНастройки());
КонецФункции