![]() |
![]() |
![]() |
|
8.2 Отчет, как обратиться к отбору? | ☑ | ||
---|---|---|---|---|
0
Надежда25
22.05.13
✎
14:15
|
Здравствуйте!
Отчет сделан на СКД. Форма генерируется автоматически. Отбор в СКД не указан, но на экране он есть. Есть и при выборе: Все действия - Настройка. Не пойму откуда он взялся (манипуляций было много). Мне, правда, он и нужен. Просто удивляюсь. Вопрос: как к нему обратиться программно, узнать, что сделал в отборе пользователь? |
|||
1
asady
22.05.13
✎
14:21
|
(0)
ТвойОтборВОтчетеНаСКД = КомпоновщикНастроек.Настройки.Отбор; |
|||
2
Надежда25
22.05.13
✎
15:09
|
Спасибо. А как можно определить, что такое-то поле присутствует в отборе?
Так не получилось: Отбор = КомпоновщикНастроек.Настройки.Отбор.ДоступныеПоляОтбора; Для Каждого Элемент Из Отбор.Элементы Цикл Если Элемент.ЛевоеЗначение = "Январь" И Элемент.ВидСравнения = ВидСравненияКомпоновкиДанных.Заполнено Тогда КонецЕсли; |
|||
3
Конфигуратор1с
22.05.13
✎
15:12
|
(2) Процедура УдалитьОтборСписка(Список,ПолеОтбора) Экспорт
Отборы = Список.Отбор.Элементы; ТекущийОтбор = Новый ПолеКомпоновкиДанных(ПолеОтбора); Для Каждого ЭлементОтбора Из Отборы Цикл Если ЭлементОтбора.ЛевоеЗначение = ТекущийОтбор Тогда Отборы.Удалить(ЭлементОтбора); КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
4
Конфигуратор1с
22.05.13
✎
15:13
|
Список = КомпоновщикНастроек.Настройки.
ПолеОтбора - имя отбора строкой |
|||
5
Надежда25
22.05.13
✎
15:33
|
В процедуре модуля отчета ПриКомпоновкеРезультата пишу:
Список = КомпоновщикНастроек.Настройки; Отбор = Список.Отбор.Элементы; Для Каждого ЭлементОтбора Из Отбор Цикл Если ЭлементОтбора.ЛевоеЗначение = "Январь" Тогда Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "В отборе выбран Январь"; Сообщение.Сообщить(); КонецЕсли; КонецЦикла; |
|||
6
Надежда25
22.05.13
✎
16:42
|
Ничего не происходит, в смысле не работает.
|
|||
7
Конфигуратор1с
22.05.13
✎
21:55
|
(6) естественно. У вас отбор с текстовым полем январь? И зачем при компоновке. Это делать надо до компоновки
|
|||
8
a_alenkin
22.05.13
✎
23:23
|
а чу еще никто не подсказал что фотография в личке на 90 процентов повышает шанс получить быструю и правильную подсказку?
|
|||
9
zippygrill
22.05.13
✎
23:31
|
Сколько элементов у тебя в Отборе и что говорит отладчик на это "ЭлементОтбора"?
|
|||
10
Конфигуратор1с
22.05.13
✎
23:40
|
(7) ой, не доглядел. В Общем Надежда, в отборе в скд грубо говоря есть три колонки - левое значение правое значение и вид сравнения. так вот в левом значении находится поле компоновки данных. К примеру есть скд - выборка из запроса где товар и количество. Товар поле группировки, количество ресурс. Вы в отборе хотите задать отбор номенклатуры. Так вот слева у вас будет поле компоновки Номенклатура, справа значение отбора. Поле компоновки задается не как текст "Номенклатура", а как поле компоновки данных - Товар = Новый Полекомпоновкиданных("Номенклатура");
И проверяете левое значение не на соответствеи "Номенклатура", а товар. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |