|
СКД добавить параметр | ☑ | ||
---|---|---|---|---|
0
r1000
18.11.16
✎
10:14
|
Запрос.
ВЫБРАТЬ СпрНоменклатура.Ссылка КАК Номенклатура, СУММА(ЕСТЬNULL(ПродажиОбороты.КоличествоОборот, 0)) КАК ПродажиЗаПериода ИЗ Справочник.Номенклатура КАК СпрНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты({(&НачалоПериода)}, {(&КонецПериода)}, , {(ДокументПродажи.Склад В (&Склады))}) КАК ПродажиОбороты ПО СпрНоменклатура.Ссылка = ПродажиОбороты.Номенклатура {ГДЕ (СпрНоменклатура.Ссылка В ИЕРАРХИИ (&СписокНоменклатуры)) КАК Номенклатура} СГРУППИРОВАТЬ ПО СпрНоменклатура.Ссылка Собственно проблема в том, что &СписокНоменклатуры сам не появляется в параметрах схемы компановки, а склад появляется. Добавил &СписокНоменклатуры ручками, но результат выводиться без отбора по номенклатуре. Как номенклатуру в параметре отобрать ? |
|||
1
DrShad
18.11.16
✎
10:21
|
ВЫБОР КОГДА ( 1 В (ВЫБРАТЬ 1 ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.Ссылка в (&Стенды))) ТОГДА (Стенд В (&Стенды)) ИНАЧЕ Истина КОНЕЦ
делай на подобии и без фигурных скобок |
|||
2
Rokford
18.11.16
✎
10:25
|
Зачем это делать в запросе? это ж СКД. На закладке "Настройки" добавь отбор "в списке".
Нет? |
|||
3
r1000
18.11.16
✎
10:28
|
Мне нужно именно чтобы в параметрах. Через отбор не красиво. Пусть пользователь в одном месте все устанавливает.
вопрос закрыт. поменял вот на это и заработало - т.е. убрал псевдоним {ГДЕ (СпрНоменклатура.Ссылка В ИЕРАРХИИ (&СписокНоменклатуры))} |
|||
4
Rokford
18.11.16
✎
10:32
|
Так ты можешь отбор в быстрые настройки добавить. Все будет "в одном месте" и параметры, и отборы.
Плюс условие по номенклатуре в таком случае я бы еще в параметры ВТОбороты добавил. |
|||
5
r1000
18.11.16
✎
10:36
|
и как тогда должна выглядить вот эта строка ? если хочется условие по номенклатуре добавить в ВТОбороты...
{(Склад В (&Склады))} |
|||
6
r1000
18.11.16
✎
10:47
|
что если один из параметров будет не заполнен если использовать "И" - непонятно как отчет отрабатывает...
|
|||
7
Rokford
18.11.16
✎
10:47
|
Тоже интересно стало :)
|
|||
8
DrShad
18.11.16
✎
10:50
|
(6) вариант в (1) отрабатывает не заполненные параметры ))) просто его осмыслить надо
|
|||
9
Jonny_Khomich
18.11.16
✎
10:58
|
(3) ну ты программно заполняй отбор. в чем сложность то?
|
|||
10
Jonny_Khomich
18.11.16
✎
10:59
|
ОтборыОтчета = Настройки.Отбор.Элементы;
ДопУслуга = Настройки.ПараметрыДанных.Элементы.Найти("ДопУслуги"); Если Не ДопУслуга = Неопределено Тогда ЕстьОтбор = Ложь; Для Каждого ЭлОтбора Из ОтборыОтчета Цикл Если ЭлОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДопУслуга") И ЭлОтбора.Использование Тогда ДопУслуга.Значение = ЭлОтбора.ПравоеЗначение; ЕстьОтбор = Истина; Прервать; КонецЕсли; КонецЦикла; Если Не ЕстьОтбор Тогда ДопУслуга.Значение = Неопределено; ДопУслуга.Использование = Истина; КонецЕсли; Иначе ДопУслуга.Значение = Неопределено; КонецЕсли; |
|||
11
Rokford
18.11.16
✎
11:58
|
Можно все настроить без программирования. В конструкторе запроса на закладке "компоновка данных" в параметрах виртуальной таблицы указывать не условие, а просто ПЕРЕЧИСЛИТЬ ПОЛЯ, по которым возможно нужен будет отбор. Отборы, как я и писал в (2) нужно добавить на закладке настройки.
|
|||
12
Rokford
18.11.16
✎
12:00
|
Off на работе миста отвалилась, последнее сообщение писал мобильника, жуть как неудобно
|
|||
13
DrShad
18.11.16
✎
12:02
|
(11) не известно что за конфа у ТС и есть ли там форма отчета с быстрыми отборами
|
|||
14
Rokford
18.11.16
✎
12:57
|
Сорри за повтор (миста заработала), сообщение было готово, выкладываю как хотел его видеть.
Разобрался (точнее, в курсах подсмотрел :)). Можно все настроить без программирования. В конструкторе запроса на закладке "Компоновка данных" в параметрах виртуальной таблицы указывать не условие (как мы привыкли это делать в запросах), а просто ПЕРЕЧИСЛИТЬ ПОЛЯ, по которым возможно нужен будет отбор. Отборы, как я и писал в (2) нужно добавить на закладке настройки. [url=http://radikal.ru/big/ros7exabnpu5a][img]http://s020.radikal.ru/i710/1611/85/984418e29972t.jpg[/img][/url] СКД сама поймет что заполнено, что нет и правильно выполнит запрос (проверил не демо базе). Вот запрос СКД ВЫБРАТЬ СпрНоменклатура.Ссылка КАК Номенклатура, ПродажиОбороты.Организация, ПродажиОбороты.Контрагент, СУММА(ЕСТЬNULL(ПродажиОбороты.КоличествоОборот, 0)) КАК ПродажиЗаПериод ИЗ Справочник.Номенклатура КАК СпрНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты({(&НачалоПериода)}, {(&КонецПериода)}, , {(Номенклатура), (Организация)}) КАК ПродажиОбороты ПО (ПродажиОбороты.Номенклатура = СпрНоменклатура.Ссылка) {ГДЕ СпрНоменклатура.Ссылка.*} СГРУППИРОВАТЬ ПО СпрНоменклатура.Ссылка, ПродажиОбороты.Организация, ПродажиОбороты.Контрагент А вот что ушло к БД ВЫБРАТЬ СпрНоменклатура.Ссылка КАК Номенклатура, ПродажиОбороты.Организация КАК Организация, ПродажиОбороты.Контрагент КАК Контрагент, СУММА(ЕСТЬNULL(ПродажиОбороты.КоличествоОборот, 0)) КАК ПродажиЗаПериод, ПРЕДСТАВЛЕНИЕССЫЛКИ(ПродажиОбороты.Контрагент) КАК КонтрагентПредставление, СпрНоменклатура.Представление КАК НоменклатураПредставление, ПРЕДСТАВЛЕНИЕССЫЛКИ(ПродажиОбороты.Организация) КАК ОрганизацияПредставление ИЗ Справочник.Номенклатура КАК СпрНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(, , , Номенклатура В(&П)) КАК ПродажиОбороты ПО (ПродажиОбороты.Номенклатура = СпрНоменклатура.Ссылка) ГДЕ СпрНоменклатура.Ссылка В (&П) СГРУППИРОВАТЬ ПО СпрНоменклатура.Ссылка, ПродажиОбороты.Организация, ПродажиОбороты.Контрагент |
|||
15
Rokford
18.11.16
✎
12:58
|
||||
16
Rokford
18.11.16
✎
13:01
|
(13) Так то оно так. Но если УФ, форму можно вообще не делать, она сгенерится. А для ОФ есть шаблон отчета. Это и унификация отчетов и для программиста только вставить СКД - все само отобразится.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |