#0
by Kalen Towr
Нужно задать условие в запросе по вхождению в список. Только вот условие это не одно, и списки лежат в ТЗ. Этот код конечно же работать не будет:
#2
by ВосточныйПарень
ТекстЗапроса = ТекстЗапроса + "Условие (" + СтрНЕ + "(ФА." + Реквизит + ".Получить(ДатаЗапроса) в тзОтбора.ПолучитьЗначение("+ Строка(Стр) +", ""Список"")));";
#3
by Kalen Towr
т.е. предлагаешь всё свалить в один список? Этих "<>" много. И для каждой "<>" свой список значений.
#5
by Kalen Towr
Примерно так и сделал. Только вынес во внешнюю функцию. В результате не используются индексы :(
#7
by Kalen Towr
Кто знает логику использования индексов запросами? в данном случае запрос по регистру.
#10
by Ёпрст
из одномерного масива можно легко сделать многомерный .. ЗЫ: И по ОЛЕ с ТЗ/СЗ никак не выйдет, если чего .... :)
#11
by Kalen Towr
Еще раз. В запросе по регистру с условием отбора по конкретному значению измерения: время выполнения запроса по способу в : 300539 ms классический вариант типа Условие (Клиент в ВыбКлиент), где ВыбКлиент поле ввода на форме: 3318 ms Как победить?
#12
by Kalen Towr
тут в разделе "Использование граф отбора" все вроде написано однако все равно не понятно почему не является "элементарным". Чем оно принципиально отличается от Условие(Клиент = ВыбКлиент);
#14
by Злой Бобр
Ну дык при заполнении тФильтров формируй и сп1. Или заполняй только сп1, если тФильтров больше нигде неиспользуешь. Плюс проверяй сп1 на вложенность элементов, что б небыло в списке например в справочнике элементов и их родителей - это "тормозит" фильтр по списку.
#15
by Kalen Towr
насколько я понял, "В" никак не ускоряет перебор движений, в я написал неправильно. Должно быть "=".
#16
by Злой Бобр
"=" работает действительно быстрее чем "в" - сам понимаешь - там равенство одному значению, а там списку. Ты уж как-то определись что тебе нужно для условия - значение или список. А написал для списка. Если нужен список то ускориться можно только "прямым" запросом.
#17
by Kalen Towr
действительно я немного ушел от темы. Просто понял, что штатно со списком ловить нечего. Хочется простейшей на первый взгляд вещи, в случае когда в списке 1-но значение свести все к элементарному условию. А вот подиж ты, не работает :( 2 часа туплю
#21
by Kalen Towr
под "не работает" подразумеваю "работает медленно НЕ используя индекс"! <> = сп1.ПолучитьЗначение проверял на этот счет?
#22
by Kalen Towr
а работает даже если ВыбКлиент простая переменная :) зато Куда копать-то дальше???
#23
by Kalen Towr
Ну так как заставить запрос использовать индекс? Как ему "объяснить", что задаваемые условия "элементарны"?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Условие один список исключить, а второй включить в Запросе
- Создание ТЗ с вложенными ТЗ на основании плоской ТЗ методом группир. по колонкам
- Не работает условие "условие (А в Б)"
- ТЗ.Свернуть для ТЗ в ТЗ
- Выполнять условие в запросе если выполняется др. условие
- Условие ИЛИ в конструкторе запроса
- Как в построитель запроса передать текст запроса из ТЗ?
В этой группе 1С
- как добавить строку в бухгалтерский баланс
- СКД: вывод нескольких результатов в одну строку?
- Штрих-ФР-Ф Буфер переполнен, при большом кол-ве строк
- ЗУП Получить список штатных сотрудников организаций
- Синхронизация ЗУП и УПП
- Как в дерево поместить структуру каталога файлов?
- Расчетная ведомость организаций в ЗУП 2.5
- ЗУП 2.5 - средний в больничном - дублирование записей при совмещении
- Установка скидок - УТ 10.3
- v7: Как удалить скриптом в QA записи из таблиц, имена которых начинаются на DH?
- Как подключить и настроить кассовый апарат Мария-301мтм
- Как определить выполняется ли транзакция другим пользователем?
- УТ: Как убрать номера ГТД из счетов фактур и накладных
- Как сделать открытие формы на передний план?
- v7: v8: все время запускает какой то фоновый процесс
- Господа, почему не заполняются строки в табличной части документа? Поможите
- Мутабельное значение
- А продается ли платформа 1Сv8.1 отдельно от конфигураций 1С?
- Подключение двух сканеров ШК в одной базе
- Универсальные подбор и обработка