Имя: Пароль:
1C
1С v8
Управляемые формы + СКД + программное формирование отчета = Трабла
0 mzelensky
 
01.07.14
14:19
Доброго всем.
Управляемые формы. Отчет на Скд. Хочу сформировать отчет из формы списка справочника "Контрагенты" с отбором по текущему контрагенту. Пишу:

ТД =  Элементы.Список.ТекущиеДанные;
    Если ТД <> Неопределено Тогда
        Если НЕ ТД.ЭтоГруппа Тогда
            ФиксированныеНастройки = Новый НастройкиКомпоновкиДанных;
            ЭлементОтбора = ФиксированныеНастройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
            ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный;
            ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Контрагент");
            ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
            ЭлементОтбора.ПравоеЗначение = Элементы.Список.ТекущиеДанные.Ссылка;
            ЭлементОтбора.Использование = Истина;    
            
            ПараметрыФормы = Новый Структура("ФиксированныеНастройки, КлючНазначенияИспользования, КлючВарианта, СформироватьПриОткрытии", ФиксированныеНастройки, "Основной", "Основной", Истина);
            
            ОткрытьФорму("Отчет.А_ВаловаяПрибыль.Форма", ПараметрыФормы);
        КонецЕсли;
    КонецЕсли;


В результате отчет открывается, формируется и даже нужный мне отбор устанавливается (это видно в шапке отчета). НО этот отбор по контрагенту не видно в настройках отчета, а следовательно и изменить я его не могу. Пробовал разные варианты:

ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный;

Но не помогает. Как быть ?
1 Господин ПЖ
 
01.07.14
14:28
так ты их в фиксированные затолкал
2 Fragster
 
гуру
01.07.14
14:29
пихай в пользовательские
3 mzelensky
 
01.07.14
14:39
(1)(2) Как? Я этот пример в типовой нашел.

Вместо "ФиксированныеНастройки" -- "ПользовательскиеНастройки" ?
4 Kyon8
 
01.07.14
14:41
5 Господин ПЖ
 
01.07.14
14:41
>Я этот пример в типовой нашел

и что с того... фикс. настройки - это дополнение
6 mzelensky
 
01.07.14
14:46
(5) Это я уже понял - нашел в СП. Но если я просто меняю "ФиксированныеНастройки" на "ПользовательскиеНастройки", то ошибок нет, но отбор вообще не устанавливает.
7 mzelensky
 
01.07.14
14:50
(4) ну так там аналогичня ситуация = фактически отбор устанавливается, а в видимых пользовательских настройках пусто.
8 mzelensky
 
01.07.14
14:52
кажется дошло, тип данных не тот
9 mzelensky
 
01.07.14
14:58
Не, все-равно что-то не то. Сейчас сделал вот так:

    ПользовательскиеНастройки = Новый ПользовательскиеНастройкиКомпоновкиДанных;            
            ЭлементОтбора = ПользовательскиеНастройки.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
            ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ;
            ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Контрагент");
            ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
            ЭлементОтбора.ПравоеЗначение = Элементы.Список.ТекущиеДанные.Ссылка;
            ЭлементОтбора.Использование = Истина;    
            
            
            ПараметрыФормы = Новый Структура("ПользовательскиеНастройки, КлючНазначенияИспользования, КлючВарианта, СформироватьПриОткрытии", ПользовательскиеНастройки, "ВаловаяПрибыль", "Основной", Истина);
10 mzelensky
 
01.07.14
14:58
Где тупанул?
11 mzelensky
 
01.07.14
15:17
Апп
12 ИсчадиеADO
 
01.07.14
15:29
пользовательские настройки вроде при открытии только могут заполняться, не при создании на сервере и не из параметров формы (ОткрытьФорму(имя, параметры)

емнип
13 ИсчадиеADO
 
01.07.14
15:35
(12) а не, (12) - это про параметры СКД, а не отбор, а отбор вообще-то через параметры передаваемые в открываемую форму должно работать
14 ИсчадиеADO
 
01.07.14
15:36
А для отбора, емнип, в параметрах, нужно заполять свойство "Отбор"
15 ИсчадиеADO
 
01.07.14
15:38
16 mzelensky
 
01.07.14
16:01
(15) Сделал через "Отбор"...сам отбор отработал, отчет открылся и сформировался, но по прежнему этот отбор скрыт и не доступен для редактирования!!! А мне нужно.
17 ИсчадиеADO
 
01.07.14
16:45
(16) напиши плз, если решишь
А где ты пример из (0) нашел, говоришь?
18 mzelensky
 
01.07.14
17:01
(17) Пример из (0) я выдернул из УТ 11...отчет ведомость по товарам на скаладх кажется.
19 mzelensky
 
02.07.14
07:42
Вопрос открыт
20 mzelensky
 
02.07.14
10:00
ну что за беда такая?
21 mzelensky
 
02.07.14
15:38
что, совсем никто не знакет?
22 ИсчадиеADO
 
03.07.14
14:56
(21) хз, при открытии пользовательские настройки точно обновляются,
глянь, на 8.2 (4) и (15) работает нормально?
23 Kalambur
 
03.07.14
15:00
убери КлючНазначенияИспользования, КлючВарианта, без них как?
24 ам794123
 
03.07.14
15:10
Я обычно делаю как-то так:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;
    Настройки = Отчет.КомпоновщикНастроек.ПолучитьНастройки();

    Для Каждого ЭлементОтбора Из Настройки.Отбор.Элементы Цикл
        Если ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Контрагент") Тогда
            ЭлементОтбора.ПравоеЗначение =  Элементы.Список.ТекущиеДанные.Ссылка;
            ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный;
        КонецЕсли;
    КонецЦикла;
    
    Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
        
КонецПроцедуры
25 mzelensky
 
03.07.14
16:44
(22) Сам отбор работает (я об этом уже писал), но этот отбор не отображается в настройках формы + его поменять нельзя.
26 mzelensky
 
03.07.14
16:45
(23) А они тут причем?
27 mzelensky
 
03.07.14
16:46
(24) Я так тоже умею - это ты с объектом (отчетом) работаешь, на сервере. Я же программно открывают отчет. Открываю на клиенте, так что у меня нет всего этого.
28 ам794123
 
03.07.14
17:10
Придется тебе вручную форму настроек создать и передать ей свои настройки, и сохранять их в хранилище тоже вручную
29 vmv
 
03.07.14
17:18
пара вопросов?

расширения управляемой формы отчета выучил?
парметры управлямой формы выучил?
стандартные отбработчики управлямой формы выучил?
методы работы с пользовательскими настройками по СП выучил?

Если все ответы "да", то задача в (0) решаеться мышкой и возможно чутка кода в обработчиках формы, а вариант из (28) когда хотя бы один ответ будет "нет".
30 mzelensky
 
04.07.14
08:33
(29) Давай вот без пафоса и биения себя пяткой в грудь. Можешь и хочешь помочь - помоги, а нет - ... в общем идею ты понял.
31 mzelensky
 
04.07.14
12:47
Ну где шибко умные, которые все выучили?!?!?!
32 BadSanta
 
28.07.14
12:03
(9) В коллекции ПользовательскиеНастройкиКомпоновкиДанных ключевым является поле ИдентификаторПользовательскойНастройки.
Его значение подсмотри в оригинальных пользовательских настройках.