|
8.2. Как сделать отбор в форме? | ☑ | ||
---|---|---|---|---|
0
Sintez123
19.11.12
✎
13:40
|
Гуглил уже везде, внятного ответа за много часов не нашел.
Итак, в отчете надо добавить возможно отбора (содержит, в списке, равно). Скопировал отбор из формы построителя отчета - не смог прикрутить. Прошу дать пример кода. Желательно подробно. Спасибо. |
|||
1
shuhard
19.11.12
✎
13:43
|
(0) не от туда копировал
правильный вариант прицеплен в УТ 10.3/КА/УПП к инвентаризации |
|||
2
Смешной 1С
19.11.12
✎
13:46
|
ЭлементыОтбора = Список.Отбор.Элементы;
ПолеКомпоновки = Новый ПолеКомпоновкиДанных(ИмяПоля); ЭлементОтбора = ЭлементыОтбора.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = ПолеКомпоновки; ЭлементОтбора.ВидСравнения = ВидСравнения; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = Значение; |
|||
3
Смешной 1С
19.11.12
✎
13:47
|
//Установка параметров перед открытием
Настройки = ЭтотОбъект.КомпоновщикНастроек.Настройки; Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Параметр", ЗначениеПараметра); |
|||
4
Смешной 1С
19.11.12
✎
13:49
|
// Настройка отбора
Для каждого ЭлементОтбора Из Отбор Цикл Если ТипЗнч(ЭлементОтбора) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда ПолеОтбора = ЭлементОтбора.ЛевоеЗначение; Иначе ПолеОтбора = Новый ПолеКомпоновкиДанных(ЭлементОтбора.Поле); КонецЕсли; Если КомпоновщикНастроек.Настройки.ДоступныеПоляОтбора.НайтиПоле(ПолеОтбора) = Неопределено Тогда Продолжить; КонецЕсли; НовыйЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); Если ТипЗнч(ЭлементОтбора) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда ЗаполнитьЗначенияСвойств(НовыйЭлементОтбора, ЭлементОтбора); Иначе НовыйЭлементОтбора.Использование = Истина; НовыйЭлементОтбора.ЛевоеЗначение = ПолеОтбора; Если ЭлементОтбора.Иерархия Тогда Если ТипЗнч(ЭлементОтбора.Значение) = Тип("СписокЗначений") Тогда НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии; Иначе НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВИерархии; КонецЕсли; Иначе Если ТипЗнч(ЭлементОтбора.Значение) = Тип("СписокЗначений") Тогда НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке; Иначе НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; КонецЕсли; КонецЕсли; НовыйЭлементОтбора.ПравоеЗначение = ЭлементОтбора.Значение; КонецЕсли; КонецЦикла; |
|||
5
Смешной 1С
19.11.12
✎
13:49
|
(0)Какой-нибудь из примеров подходит для твоей задачи?
|
|||
6
Sintez123
19.11.12
✎
13:55
|
(2) не понятно куда прикручивать это
Поле объекта не обнаружено (Отбор) ЭлементыОтбора = Список.Отбор.Элементы; |
|||
7
Sintez123
19.11.12
✎
13:57
|
(3) Ошибка при вызове метода контекста (УстановитьЗначениеПараметра)
Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Параметр", Значение); по причине: Параметр с указанным именем не найден |
|||
8
Sintez123
19.11.12
✎
13:59
|
(4) открылось с пустым полем фильтра без ошибок
|
|||
9
Смешной 1С
19.11.12
✎
14:51
|
ты их все подряд не пробуй, а подстрой по свою конкретную задачу.
|
|||
10
Aprobator
19.11.12
✎
15:02
|
(2) о построителе отчета речь.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |