|
8.3 Открыть отчет с отбором через точку | ☑ | ||
---|---|---|---|---|
0
sima
02.05.18
✎
11:37
|
Понятно:
УсловияОтбора =("Номенклатура", НоменклатураСсылка); ПараметрыФормы = Новый Структура("Отбор, СформироватьПриОткрытии, КлючВарианта", УсловияОтбора, Истина, "Основной"); ФормаОтчета = ПолучитьФорму("Отчет.ОстаткиТоваровНаСкладах.Форма", ПараметрыФормы); Не понятно: УсловияОтбора =("Номенклатура.Вид", НоменклатураВид); Такое имя ключа не может существовать для структуры, а нужен отбор через точку. |
|||
1
palsergeich
02.05.18
✎
11:57
|
В таком виде это не реализуемо, через параметр отчета "Отбор" возможны только простейшие условия.
Для сложных условий можно воспользоватся ключом "ФиксированныеНастройки" Там уже полноценно можно передать достаточно сложный отбор |
|||
2
sima
02.05.18
✎
11:57
|
*УсловияОтбора =новый Структура("Номенклатура", НоменклатураСсылка);
конечно же |
|||
3
sima
02.05.18
✎
12:00
|
(1) под ключом "ФиксированныеНастройки" вы имеете в виду работу с компоновщиком настроек после получения (но до открытия) отчета? Или есть какой-то более изящный способ работы с этими настройками?
|
|||
4
palsergeich
02.05.18
✎
12:05
|
Компановка = Новый НастройкиКомпоновкиДанных;
ОтборК = Компановка.Отбор; ЭлементОтбора = ОтборК.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно; ЭлементОтбора.ПравоеЗначение = КакоеТоЗначение; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ИмяПоляКомпановки"); ЭлементОтбора = ОтборК.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно; ЭлементОтбора.ПравоеЗначение = ДругоеКакоеТоЗначение; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ИмяПоляКомпановки"); ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить("ФиксированныеНастройки",Компановка); Вот пример рабочего кода |
|||
5
palsergeich
02.05.18
✎
12:05
|
Там следующая строчка - открытие формы, только сейчас увидел, что она не влезла
|
|||
6
palsergeich
02.05.18
✎
12:06
|
А вот имя поля компановки данных может иметь и такой вид: "Номенклатура.Вид"
|
|||
7
youalex
02.05.18
✎
12:58
|
если отбор на поле через точку, то вложенная структура
т.е. СтруктураОтбора = Новый Структура("Номенклатура", Новый Структура("Вид", ТвойВид)) как-то так |
|||
8
sima
02.05.18
✎
13:48
|
(7) ваше предложение превращается в компоновщике настроек в "Номенклатура Равно Структура", далее вылет с ошибкой сравнения несравниваемых типов. Но попытка - не пытка :)
(4) коллега, спасибо! Работает! Подскажите пожалуйста, а какие еще ключи можно использовать при подобном открытии отчета? Можно ли, например, использовать ключ "ПользовательскиеНастройки" и передавать туда новый ПользовательскиеНастройкиКомпоновкиДанных? Или ключ "Настройки"? |
|||
9
youalex
02.05.18
✎
14:24
|
(8) жаль, с ДС вроде работало)
|
|||
10
palsergeich
02.05.18
✎
17:52
|
(8) Да есть в расширении отчета доступный ключ ПользовательскиеНастройки.
|
|||
11
sima
02.05.18
✎
21:31
|
(10) интересно, что на коленке созданные ПользовательскиеНастройкиКомпоновкиДанных, при передаче их в ключ "ПользовательскиеНастройки", применяться не хотят. Кажется, все устроено сложнее.
|
|||
12
palsergeich
02.05.18
✎
22:21
|
(11) Я давно поборол эту штуку, но не помню уже как, как показала практика для открытия формы с неснимаемым отбором - хватает фиксированных.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |