|
Установить отбор | ☑ | ||
---|---|---|---|---|
0
fanatic1
22.08.13
✎
11:48
|
Ребята есть запрос Построенный в СКД, вывожу его в Табличный документ... как мне установить отбор по Номенклатуре....
Мне нужно видеть и весь результат и Отдельно по каждой номенклатуре либо в группе... Запрос.УстановитьПараметр("Номенклатура", Номенклатура); Не подходит, т.к. обязательно нужно вводить Номенклатуру... |
|||
1
Wobland
22.08.13
✎
11:49
|
чо?
|
|||
2
Андрюха
22.08.13
✎
11:49
|
(1) +1
|
|||
3
fanatic1
22.08.13
✎
11:53
|
Есть запрос
&НаСервере Функция СформироватьТабДокумент() Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РеализацияТоваровУслугТовары.Ссылка КАК Реализация, | РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура, | РеализацияТоваровУслугТовары.Количество КАК Количество, | РеализацияТоваровУслугТовары.хлысты, | РеализацияТоваровУслугТовары.Коэффициент, | РеализацияТоваровУслугТовары.Характеристика |ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары |ГДЕ | РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания | И РеализацияТоваровУслугТовары.хлысты <> 0 | |СГРУППИРОВАТЬ ПО | РеализацияТоваровУслугТовары.Количество, | РеализацияТоваровУслугТовары.Ссылка, | РеализацияТоваровУслугТовары.Номенклатура, | РеализацияТоваровУслугТовары.хлысты, | РеализацияТоваровУслугТовары.Коэффициент, | РеализацияТоваровУслугТовары.Характеристика"; // | И РеализацияТоваровУслугТовары.Номенклатура В ИЕРАРХИИ(&Номенклатура)"; ДатаНачала = ПериодОтчета.ДатаНачала; ДатаОкончания = ПериодОтчета.ДатаОкончания; //Номенклатура = Номенклатура; Табло=Новый ТабличныйДокумент; Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала); Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания); //Запрос.УстановитьПараметр("Номенклатура", Номенклатура); табРезультат = Запрос.Выполнить().Выгрузить(); табРезультат.Колонки.Добавить("Разница"); Для Каждого СтрокаТаб Из табРезультат Цикл Если Не СтрокаТаб.Количество = ВернутьДлинуПоСтроке(СтрокаТаб.Характеристика)*СтрокаТаб.Коэффициент*СтрокаТаб.хлысты Тогда СтрокаТаб.Разница = СтрокаТаб.Количество - (ВернутьДлинуПоСтроке(СтрокаТаб.Характеристика)*СтрокаТаб.Коэффициент*СтрокаТаб.хлысты)/1000; //Сообщить(СтрокаТаб.Ссылка); КонецЕсли; КонецЦикла; Построитель=Новый ПостроительОтчета; Построитель.ИсточникДанных=Новый ОписаниеИсточникаДанных(ТабРезультат); Построитель.Вывести(Табло); Табло.Показать(); КонецФункции мне нужно установить отбор по номенклатуре, что бы в Табличный документ выводились не все документы, а лишь по определенной номенклатуре |
|||
4
Wobland
22.08.13
✎
11:55
|
(3) ну.. хлысты ты же как-то сумел отфильтровать
|
|||
5
Андрюха
22.08.13
✎
11:56
|
ГДЕ
РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания И РеализацияТоваровУслугТовары.хлысты <> 0 И РеализацияТоваровУслугТовары.Номенклатура В ИЕРАРХИИ(&Номенклатура) |
|||
6
fanatic1
22.08.13
✎
12:01
|
неа.... если Вписать
И РеализацияТоваровУслугТовары.хлысты <> 0 РеализацияТоваровУслугТовары.Номенклатура В ИЕРАРХИИ(&Номенклатура) ТО он меня обязывает выбрать Номенклатуру, а как быть если я хочу все увидеть??? либо группу номенклатуры??? |
|||
7
Андрюха
22.08.13
✎
12:02
|
Если хочешь всё, то не пиши это условие, если группу - то указывай конкретную группу.
|
|||
8
lebar
22.08.13
✎
12:02
|
(0) ты точно СКД используешь?
Если да, то в запросе можно не задавать ничего. Потом в списке выводи весь результат, также создай еще список в котором наложишь отбор необходимый и будет тебе счастье в двух списках (таблицах) с произвольным отбором |
|||
9
fanatic1
22.08.13
✎
12:03
|
Если хочешь всё, то не пиши это условие, если группу - то указывай конкретную группу.
По подробнее???? яж не знаю Как у меня руководство захочет смотреть.... |
|||
10
fanatic1
22.08.13
✎
12:03
|
Если да, то в запросе можно не задавать ничего. Потом в списке выводи весь результат, также создай еще список в котором наложишь отбор необходимый и будет тебе счастье в двух списках (таблицах) с произвольным отбором
Это как? |
|||
11
Wobland
22.08.13
✎
12:04
|
(6) дело в том, что язык запросов - это узкоспециализированный язык программирования. необходимо чётко и формально описать свои желания на нём. тебе придётся отказаться от таких вот потоков мысли и научиться излагать связно, для начала хотя бы по-человечески
|
|||
12
Андрюха
22.08.13
✎
12:06
|
(9) Если Номенклатура <> Справочники.Номенклатура.ПустаяСсылка() Тогда
ТекстЗапроса = ТекстЗапроса + "И РеализацияТоваровУслугТовары.Номенклатура В ИЕРАРХИИ(&Номенклатура)"; КонецЕсли; |
|||
13
fanatic1
22.08.13
✎
12:08
|
Хорошо убедили, как мне указать отбор по группе
Запрос.УстановитьПараметр("Номенклатура", Номенклатура); Это по одной позиции, а как по Группе можно задать? |
|||
14
Wobland
22.08.13
✎
12:08
|
(13) неужели в иерархии?
|
|||
15
Андрюха
22.08.13
✎
12:08
|
(13) Так же
|
|||
16
Wobland
22.08.13
✎
12:09
|
(12) если не номенклатура.пустая()
|
|||
17
Андрюха
22.08.13
✎
12:10
|
или так
|
|||
18
fanatic1
22.08.13
✎
12:12
|
Ставлю
ГДЕ | РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания | И РеализацияТоваровУслугТовары.хлысты <> 0 | И РеализацияТоваровУслугТовары.Номенклатура В ИЕРАРХИИ(&Номенклатура) не выводит в Иерархии((( |
|||
19
Андрюха
22.08.13
✎
12:16
|
(18) Параметр запроса Номенклатура устанавливаешь?
|
|||
20
lebar
22.08.13
✎
12:33
|
Эх... Зачем в СКД задавать параметры в запросе и вообще париться с отбором на уровне запроса, если нужно получить результат как с отбором так и без отбора?
Получаем результат весь (отбор в запросе нигде не задаем, ни в параметрах ни в условии), а отбор, если он нужен, делается в настройках (в случае если надо одновременно 2 таблицы: и всю и с отбором, то отбор устанавливается только на той таблице где надо). |
|||
21
lebar
22.08.13
✎
13:07
|
И если охота сократить время формирования отчета путем установки отбора в запросе, то это делается на вкладке "Компановка данных" в запросе. Тогда если заполнен данный параметр отбора, то отбор работает, иначе выбирается все без отбора.
|
|||
22
fanatic1
22.08.13
✎
13:14
|
ясно!..по все равно не понял как выбирать Группу Номенклатуры ??
|
|||
23
lebar
22.08.13
✎
13:17
|
(22) Если тебе надо выбрать именно:
* номенклатурную группу - тогда Номенклатура.НоменклатурнаяГруппа = ХХХ * папку в которой лежит номенклатура - тогда Номенклатура В ПапкаНоменклатуры |
|||
24
lebar
22.08.13
✎
13:23
|
(23) Это как в настройках выбирать, если ты спрашиваешь как в запросе прописать такое условие, то
... {ГДЕ (РеализацияТоваровУслугТовары.хлысты <> 0), (РеализацияТоваровУслугТовары.Номенклатура В ИЕРАРХИИ(&ГруппаНоменклатуры) } |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |