Вход | Регистрация
 

как в запросе правильно указать

как в запросе правильно указать
Я
   lamme
 
04.06.20 - 13:08
УФ
положил на форму - список значений с типом - номенклатура - СписокВыбранныхТоваров
выбор - элементы и группы.
Делаю запрос по остаткам .


ВЫБРАТЬ
    ОстаткиТоваровКомпанииОстатки.Номенклатура КАК Номенклатура,
    ОстаткиТоваровКомпанииОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры
ИЗ
    РегистрНакопления.ОстаткиТоваровКомпании.Остатки(, ) КАК ОстаткиТоваровКомпанииОстатки
ГДЕ
    ОстаткиТоваровКомпанииОстатки.КоличествоОстаток > 0


В СписокВыбранныхТоваров - могут быть как элементы, так и группы

Как правильно в запросе указать - чтобы поиск был только по выбранным группам в иерархией и выбранным элементам ?




ГДЕ
    ОстаткиТоваровКомпанииОстатки.КоличествоОстаток > 0
и ОстаткиТоваровКомпанииОстатки.Номенклатура В (&СписокВыбранныхТоваров)

?
   arsik
 
1 - 04.06.20 - 13:14
(0) В ИЕРАРХИИ, только нужно не в ГДЕ это использовать, а в параметрах виртуальной таблицы - "РегистрНакопления.ОстаткиТоваровКомпании.Остатки(, Номенклатура В ИЕРАРХИИ(&СписокВыбранныхТоваров)) КАК ОстаткиТоваровКомпанииОстатки"
   Ёпрст
 
2 - 04.06.20 - 13:14
условие воткни в параметры виртуальной таблицы
   lamme
 
3 - 04.06.20 - 13:17
(0)
если буде тв иерерархии - то при выборе 1 элемента из группы
в отчет выпадают все элементы той группы - из которой выбран товар.

сейчас еще раз проверб
   lamme
 
4 - 04.06.20 - 13:27
а еще вопрос .. не в тему

часто вижу вот такую констуркцию. в запросе

    РегистрНакопления.СвободныеОстатки.Остатки(, {((Номенклатура, Характеристика) В
                    (ВЫБРАТЬ
                        ТаблицаОтбора.Номенклатура КАК Номенклатура,
                        ТаблицаОтбора.Характеристика КАК Характеристика
                    ИЗ
                        ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора
                    ГДЕ
                        ТаблицаОтбора.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры)) КАК Поле2, (Склад).*, (Номенклатура).*, (Характеристика).*}) КАК Т


вопрос вот по этим фигурным скобкам
{((Номенклатура, Характеристика) ....  КАК Поле2, (Склад).*, (Номенклатура).*, (Характеристика).*}

это что
   Ёпрст
 
5 - 04.06.20 - 13:30
(4) это указание построителю\скд для условий или выбора полей\сортировки
   lamme
 
6 - 04.06.20 - 13:34
а в обычном запросе - такое используется ?

те все тот же

ИЗ
    РегистрНакопления.ОстаткиТоваровКомпании.Остатки(, Склад = &Склад И Номенклатура В ИЕРАРХИИ(&СписокВыбранныхТоваров)) КАК ОстаткиТоваровКомпанииОстатки
как то сюда эти скобки впихнуть можно ?

т.е. на форме лежат
- список значений для выбора склада
- список значений для выбора товаров

соответственно - в запрос надо подставлять условия в зависимости от того - как выбраны эти списки.


ИЗ
    РегистрНакопления.ОстаткиТоваровКомпании.Остатки(, и тут чего то указать 1 раз - вместо Если СпискоТоваров.Количество()>0 - тогда услвоие в запросе одно ... и тд ) КАК ОстаткиТоваровКомпанииОстатки
   lamme
 
7 - 04.06.20 - 13:34
и где об этом почитать ?
   lamme
 
8 - 04.06.20 - 13:41
ога ..
необязательные параемтры
понял
   lamme
 
9 - 04.06.20 - 13:41
а вот это - КАК ПОЛЕ2 - это что ?

|    РегистрНакопления.ОстаткиТоваровКомпании.Остатки(, {(СкладКомпании В (&СкладКомпании)
         |                И Номенклатура В ИЕРАРХИИ (&товарыКомпании)) КАК Поле2}) КАК ОстаткиТоваровКомпанииОстатки
   Волшебник
 
Модератор
10 - 04.06.20 - 14:04
(9) Это внутри фигурных скобок, название отбора для пользователя, как он будет выглядеть в настройках построителя отчётов
   dka80
 
11 - 04.06.20 - 14:04
Номенклатура В ИЕРАРХИИ (&товарыКомпании) - сильно влияют на производительность. Если таблица большая, то так лучше не делать.
   lamme
 
12 - 04.06.20 - 14:06
(10)
да. я понял
там не Новый Запрос()  надо
а Новый ПостроительЗапроса

тогда можно работать с этими скобками.
   lamme
 
13 - 04.06.20 - 14:06
вопрос закрыт
   lamme
 
14 - 04.06.20 - 14:06
спасибо
   Волшебник
 
Модератор
15 - 04.06.20 - 14:10
Удачи

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.