![]() |
![]() |
![]() |
|
Отбор на форме отчета СКД | ☑ | ||
---|---|---|---|---|
0
Shmidt
28.08.14
✎
10:13
|
Сделал отчет, к нему форму. На форму кинул поле выбора и написал такой код:
Процедура ПриОткрытии() ЗапросТипДок = Новый Запрос; ЗапросТипДок.Текст = "ВЫБРАТЬ | ТИПЗНАЧЕНИЯ(новаРеквизитыУсловийДоставки.Документ) КАК Тип |ИЗ | РегистрСведений.новаРеквизитыУсловийДоставки КАК новаРеквизитыУсловийДоставки | |СГРУППИРОВАТЬ ПО | ТИПЗНАЧЕНИЯ(новаРеквизитыУсловийДоставки.Документ)"; СписокТипДок = ЗапросТипДок.Выполнить().Выбрать(); Пока СписокТипДок.Следующий() Цикл ЭлементыФормы.ТипДокумента.СписокВыбора.Добавить(СписокТипДок.Тип); КонецЦикла; КонецПроцедуры Процедура ДатаПриИзменении(Элемент) ПараметрДата = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ДатаНач"); ПараметрДата.Использование = Истина; ПараметрДата.Значение = Дата; КонецПроцедуры Процедура ТипДокументаПриИзменении(Элемент) ПолеТипДокумента = Новый ПолеКомпоновкиДанных("ТипДокумента"); Для каждого Элемент Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл Если Элемент.ЛевоеЗначение = ПолеТипДокумента Тогда ЭлементОтбора = Элемент; Прервать; КонецЕсли; КонецЦикла; Если ЭлементОтбора = Неопределено Тогда ЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); КонецЕсли; ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.ЛевоеЗначение = ПолеТипДокумента; ЭлементОтбора.ПравоеЗначение = ТипДокумента; ЭлементОтбора.Использование = ЗначениеЗаполнено(ТипДокумента); КонецПроцедуры |
|||
1
Shmidt
28.08.14
✎
10:14
|
Но вот почему-то отбор не работает. В поле выбора попадают нужные типы документов, но в выборку попадают документы всех типов
|
|||
2
barrgand
28.08.14
✎
10:29
|
(1) После формирования отчета отбор стоит?
|
|||
3
Shmidt
28.08.14
✎
10:31
|
(2) Поясни...?
|
|||
4
barrgand
28.08.14
✎
10:33
|
(3) Ты сформировал отчет, открываешь настройки, там на вкладке отбор есть тот, который ты добавил программно?
|
|||
5
Shmidt
28.08.14
✎
10:37
|
Нет не добавлял
|
|||
6
Shmidt
28.08.14
✎
10:39
|
Поставил галочку, теперь ругается:
"Неверные параметры в операции сравнения. Нельзя сравнивать поля неограниченной длины и поля несовместимых типов" |
|||
7
barrgand
28.08.14
✎
10:56
|
(6) Ну посмотри какие у тебя типы: ТипДокумента в отчете и ТипДокумента в списке выбора
|
|||
8
Shmidt
28.08.14
✎
11:08
|
(7) Все разобрался. У реквизита формы ТипДокумента стоял тип СписокЗначений, исправил на Произвольный и все взлетело
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |