|
как связать элемент формы "Отбор" с заполнением документа запросом универсально? | ☑ | ||
---|---|---|---|---|
0
Cerera
14.05.13
✎
16:14
|
Сажаю на форму элемент управления "отбор". Заполняю поля отбора таким образом:
ОтборКоличество=Отбор.Количество(); Для Н = 1 По ОтборКоличество Цикл Отбор.Удалить(ОтборКоличество - Н); КонецЦикла; ДоступныеПоляОтбора = Отбор.ПолучитьДоступныеПоля(); Поле = ДоступныеПоляОтбора.Добавить("Склад", "Склад", Новый ОписаниеТипов("СправочникСсылка.Склады")); Поле.Отбор = Истина; Поле = ДоступныеПоляОтбора.Добавить("Номенклатура", "Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура")); Поле.Отбор = Истина; Поле = ДоступныеПоляОтбора.Добавить("Контрагент", "Контрагент", Новый ОписаниеТипов("СправочникСсылка.Контрагенты")); Поле.Отбор = Истина; Поле = ДоступныеПоляОтбора.Добавить("ДатаПотребности", "ДатаПотребности", Новый ОписаниеТипов("Дата")); Поле.Отбор = Истина; Поле = ДоступныеПоляОтбора.Добавить("ЗаказанныеПоставщикам", "ЗаказанныеПоставщикам", Новый ОписаниеТипов("Булево")); Поле.Отбор = Истина; На табличной части есть кнопка "заполнить". Нужно заставить её работать, чтоб в зависимости от выбранных значений отбора, запрос видоизменялся. Но это ведь гемор. Для каждого поля ставить в запрос проверки типа Если Отбор.Найти("Контрагент")<>Неопределено Тогда Если Отбор["Контрагент"].Использование=Истина Тогда Запрос.УстановитьПараметр("Контрагент", Отбор["Контрагент"].Значение); Запрос.Текст=Запрос.Текст+"И ПродажиОбороты.Контрагент В Иерархии(&Контрагент)"; КонецЕсли; КонецЕсли; А как мне лучшесделать? чтоб как в СКД желательно было. Чтоб если выбрал отбор,чтоб он работал аесли не выбрал,то не работал чтоб? |
|||
1
Cerera
14.05.13
✎
16:20
|
Можно ли вставить СКД в документ и потом после нажатия кнопочки "сформировать", как то програмно чтоб можно было добраться до выборки результата?
|
|||
2
Fragster
гуру
14.05.13
✎
16:21
|
да, можно использовать СКД целиком программно
|
|||
3
Fragster
гуру
14.05.13
✎
16:22
|
в некоторых случаях можно использовать построитель запроса
|
|||
4
Cerera
14.05.13
✎
16:23
|
(2)а чтоб пользователь мог только отборами играть в СКД, встроенной в документ с фиксированным набором условий?
|
|||
5
Kreont
14.05.13
✎
16:23
|
(1) ну да, скорей всего так и будет попроще, см. в сторону:
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; |
|||
6
Fragster
гуру
14.05.13
✎
16:24
|
(4) да
|
|||
7
Cerera
14.05.13
✎
16:28
|
(6)а как саму СКД присобачить к документу?
|
|||
8
ОбычныйЧеловек
14.05.13
✎
16:29
|
(0) Там все очень просто - данные отбора на форме - перенеси в отбор СКД и выполнить запрос (перенос отбора - это один фикл с тремя строчками кода) - программное выполнение СКД - тоже несколько строк кода.
(7) При нажатии кнопки "Сформировать" - вызывай отчет в который передай отбор (как передать читай выше) и возвращай результат. |
|||
9
ОбычныйЧеловек
14.05.13
✎
16:30
|
фикл --> цикл
|
|||
10
Cerera
14.05.13
✎
16:42
|
(8)а этот отчет на СКД как отдельный объект метаданных будет?
|
|||
11
ОбычныйЧеловек
14.05.13
✎
16:44
|
(10) да
|
|||
12
Cerera
14.05.13
✎
16:45
|
(11)вот как возвратить результат из отчета СКД вот это уже менее понятно.
|
|||
13
ОбычныйЧеловек
14.05.13
✎
16:45
|
+11 это самое простое, но может сделать вот так http://infostart.ru/public/73912/
|
|||
14
Cerera
14.05.13
✎
16:49
|
(13)ну мне по сути отчет не нужен. а нужен результат, полученный в результате выполнения отчета
|
|||
15
ОбычныйЧеловек
14.05.13
✎
16:52
|
(14) Посмотри тогда пример - там как раз твой случай.
|
|||
16
Cerera
14.05.13
✎
16:55
|
(15)Спасибо! скачал, разбираюсь
|
|||
17
Cerera
14.05.13
✎
17:01
|
(15)а ведь в том примере они просто к обработке прикрепили в виде макета схему компоновки данных. можно ли так же сделать в документе - прикрепить к нему схему компоновки данных?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |