Имя: Пароль:
1C
1С v8
Есть ли разница в запросе между равенством по ССЫЛКА и типу значения
0 Deon
 
31.03.15
10:29
Есть ли разница между этим:
ВЫБОР
КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ПоступлениеНаРасчетныйСчет

и этим:
ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОбороты.Регистратор) = ТИП(Документ.ПоступлениеНаРасчетныйСчет)
1 also
 
31.03.15
10:30
Есть, посмотри профайлером и очень удивишься :)
2 also
 
31.03.15
10:31
Если влом, то в общем случае ССЫЛКА намного производительнее, чем ТИПЗНАЧЕНИЯ. Поэтому для сравнения (как в твоем примере) необходимо использовать ССЫЛКА. ТИПЗНАЧЕНИЯ использовать если нужно в выборке получить тип значения, ну или сгруппировать по нему и тд
3 D_E_S_131
 
31.03.15
10:33
(2) + или если нужно проверить не ссылочный тип значения.
4 ssh2006
 
31.03.15
10:35
(0) смотрел в профайлере, разница есть. ССЫЛКА транслируется в в более простой запрос.
5 Deon
 
31.03.15
11:04
Посмотрел. В обоих случаях построились одинаковые запросы с проверкой типа:
CASE WHEN (T1._RecorderTRef = 0x000000B1) THEN
6 Поpyчик-4
 
31.03.15
11:09
(5) Тебе повезло.
7 Deon
 
31.03.15
11:13
(6) Тогда непонятно, в чем разница
8 smitru
 
31.03.15
11:36
(7) Ну как вариант:
Первое - это к конкретной ссылке, а второе ко всем ссылкам конкретного типа.

Такое не предлагать?
9 Deon
 
31.03.15
11:46
(8) Ничего не понял. Суть запросов одинаковая, что в 1м, что во 2м случаях.
10 vi0
 
31.03.15
11:58
(2) > общем случае ССЫЛКА намного производительнее, чем ТИПЗНАЧЕНИЯ
намного это насколько?
11 smitru
 
31.03.15
12:04
(9) Объясняю... Ситуация
Ты помещаешь во временную таблицу ТЧ конструктивом

Выбрать Моя_ТЧ.СсылкаДок
Поместить ВТ_Таб
Из &ТЧ как Моя_ТЧ

Тебе нужно обратиться к реквизиту СсылкаДок (например СсылкаДок.Дата)

И как это сделать? Вот для этого и служит директива ССЫЛКА

А иначе ни как, у тебя будет синтаксическая ошибка.
12 Deon
 
31.03.15
12:39
(11) Гонишь. Спокойно обращаюсь к реквизиту. Ибо колонки ТЧ типизированные.
13 Гёдза
 
31.03.15
12:45
(11) ты путаешь выразить и ссылка в условии
14 vi0
 
31.03.15
12:45
(12) да, слог изложения интересный
он объяснял где-то близко к Выразить
15 also
 
31.03.15
13:02
(5) тип составной был?
16 Гёдза
 
31.03.15
13:03
(15) для не составных ССЫЛКА не работает
17 Deon
 
31.03.15
13:23
(16)
ВЫБРАТЬ ПЕРВЫЕ 10
    *
ИЗ
    Документ.ПоступлениеНаРасчетныйСчет
ГДЕ
    Ссылка ССЫЛКА Документ.ПоступлениеНаРасчетныйСчет
18 Deon
 
31.03.15
13:24
(15) да, Регистратор там составной. 93 вида документов соединяет
19 Deon
 
31.03.15
13:30
А в каких случаях 1Ска кроме ссылки на объект рядом хранит его тип? Вон у меня в запросе в (5) сравнивается же именно тип - RecorderTRef. Видимо, если поле как раз составное
20 D_E_S_131
 
31.03.15
13:37
(16) см. первое предложение в (12).
21 ViSo76
 
31.03.15
13:41
(19) Когда поле составное добавляется с таблицу поле тип
22 vi0
 
31.03.15
13:48
(18) > 93 вида документов соединяет
где у тебя столько соединений?
23 Deon
 
31.03.15
14:53
(22) РБ.Хозрасчетный в БП 3.0
24 vi0
 
31.03.15
15:53
(23) я имел ввиду, где именно ты видишь эти 93 соединения?
25 vi0
 
31.03.15
15:53
когда выполняешь запррос
Основная теорема систематики: Новые системы плодят новые проблемы.