Имя: Пароль:
1C
1С v8
РС. Отличия условий. Вопрос внутри.
0 Shaman1C
 
17.09.15
10:59
Чем отличается условие, если поставить в виртуальных параметрах виртуальной таблицы, от условия, которого поставить в условиях (никаких соединений нет)?
Я тестировал, получается одинаково, но говорят что разница есть, какая вот, не пойму чето?
1 magicSan
 
17.09.15
11:01
профайлер смотри. интересный вопрос.  думаю в этом случае ничем.
2 1Сергей
 
17.09.15
11:04
написанием
3 НЕА123
 
17.09.15
11:05
(0)
с РС поиграйся.
4 Enterprise
 
17.09.15
11:06
(0) Ну может условия в параметрах виртуальной таблицы выполняются на этапе построения этой виртуальной таблицы, а обычные условия после?
5 Ненавижу 1С
 
гуру
17.09.15
11:07
в РС отличия проявляются на условия в ресурсах/реквизитах
6 ssh-2013
 
17.09.15
11:10
(0)

Для некоторых виртуальных таблиц, способ использования отбора влияет не только на производительность, но и на логику исполнения запроса. Рассмотрим виртуальную таблицу регистра сведений СрезПоследних, на примере регистра сведений КурсыВалют, который имеет следующую структуру:

измерение - Валюта

реквизит - Источник

ресурс – Курс

Где реквизит Источник может принимать значения: интернет, печатные издания.

Задача получить последние курсы валют, значения которых получены из печатных изданий.

1. Запрос с использованием отбора заданного конструкцией языка запросов

Копировать в буфер обмена
ВЫБРАТЬ
        Валюта, Курс
ИЗ
        РегистрСведений.КурсыВалют.СрезПоследних()
ГДЕ
        Источник = &Источник
2.Запрос с использованием отбора заданного параметром виртуальной таблицы

Копировать в буфер обмена
ВЫБРАТЬ
    Валюта, Курс
ИЗ
        РегистрСведений.КурсыВалют.СрезПоследних(, Источник = &Источник)
Хотя данные запросы различаются только способом указания отбора, их результаты, в отличие от случая с запросами по регистру накопления, будут различны. В первом случае в результат не попадут валюты, у которых последний курс установлен не по данным печатных изданий.

Во втором случае будут выбраны последние курсы всех валют, у которых хоть раз курс устанавливался по печатным изданиям. То есть, если в регистр были занесены следующие данные:

Период

Валюта

Курс

Источник

19.03.2003

USD

31.00

Печатные издания

19.03.2003

EUR

34.00

Печатные издания

20.03.2003

USD

31.10

Интернет

То первый запрос вернет:

Валюта

Курс

EUR

34.00

Второй запрос вернет:

Валюта

Курс

USD

31.00

EUR

34.00

http://its.1c.ru/db/metod8dev#content:2594:hdoc
7 Strogg
 
17.09.15
11:13
(0) во втором случае выберет все, потом отберет по условию. в первом - вернет сразу выборку, отобраннубю по условию. Выигрыш - быстродействие.
8 Shaman1C
 
17.09.15
11:34
(6) Огромное спасибо!!!