|   |   | 
| 
 | Управляемые формы + СКД + программное формирование отчета = Трабла | ☑ | ||
|---|---|---|---|---|
| 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 | 
        Вот пример http://v8.1c.ru/metod/faq2/answer.jsp?id=645     | |||
| 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) В коллекции ПользовательскиеНастройкиКомпоновкиДанных ключевым является поле ИдентификаторПользовательскойНастройки.
 Его значение подсмотри в оригинальных пользовательских настройках. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |