Условие для построителя отчета в виртуальных таблицах #408610


#0 by alxbzm
В общем, глюк в следующем: в УТ 10.3 делаю запрос по регистру "Партии товаров". Что хочу: получить список номенклатуры по этому регистру по определенным условиям и потом получить еще раз список номенклатуры, но  уже исключая номенклатуру из первого списка. Условия хочу "запихать" в построитель отчета. Получается в итоге интересная и неприятная в стиле 1С вещь: построитель отчета во вложенном запросе для виртуальной таблицы игнорирует настройки. Вот кусок запроса, на примере которого это наглядно демонстрируется: ВЫБРАТЬ    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура ИЗ    РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(            ,            ,            ,            ,            (НЕ Номенклатура В                    (ВЫБРАТЬ                        ПартииТоваровНаСкладахОстаткиИОбороты1.Номенклатура                    ИЗ
#1 by ТелепатБот
#2 by alxbzm
Так вот, ИсключаемыйПроект в отборе виден, а ВключаемыйПроект - нет. Причем конструктор без каких-либо ошибок сам выкидывает условие для построителя. Что это? Глюк или так специально задумано? Как тогда в таком случае обходить это ограничение????
#3 by Defender aka LINN
Соединением сделай. Думаю, в 1С даже и не думали, что кто-то такое будет делать :)
#4 by alxbzm
- ага - называется попытался сделать как доктор прописал - ограничил вторую выборку на уровне самой виртуальной таблицы, чтобы ускорить запрос, а в результате получил граблями в лоб. Самое раздражающее в данной ситуации, что если вместо условий для построителя написать явные условия, то все работает - как это ни странно. А в 1С все-таки подумали что такое может быть - я же говорю - конструктор запроса специально выкидывает конструкции с "{}" из вложенного запроса.... В общем цензурных слов не осталось - отправляйте в копилку недоделок.
#5 by alxbzm
у меня сейчас истерика начнется: вытащил запрос из условий виртуальной таблицы и написал через условие "ГДЕ". ТОТ ЖЕ ЭФФЕКТ:    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура ИЗ Конструктор запроса выкидывает условие для построителя из виртуальной таблицы в условии. Лыжи однозначно не едут....
#6 by alxbzm
Все-таки еще подниму эту тему. Вопрос собственно в следующем: как тогда мне выкинуть из одного множества номенклатуры другое? Если можно то пример пожалуйста. Как объединить два множества понятно - через ВНУТРЕННЕЕ СОЕДИНЕНИЕ. А вот как тогда исключить одно из другого?
#7 by alxbzm
Ура. Если долго мучиться - что-нибудь получится. Если кому интересно - обошел данную засаду путем временных таблиц. В первой делаешь фильтр по нужным критериям, во второй - делаешь запрос минус то, что получилось в первой. Спасибо мне что есть я у себя ))))))
#8 by hhhh
что-то слишком тупо. А элементарное ЛЕВОЕ СОЕДИНЕНИЕ не пробовал?
#9 by alxbzm
Не получится через ЛЕВОЕ СОЕДИНЕНИЕ из одного множества исключить другое. Присоединить - да. А вот исключить - я по крайней мере не додумался. Если предложите варианты - буду признателен
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С