Имя: Пароль:
1C
1С v8
Запрос. Можно ли как-то обойтись без временной таблицы?
,
0 Галахад
 
гуру
05.02.14
10:59
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
    ЗначенияСвойствОбъектов.Объект КАК Объект,
    ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, ЛОЖЬ) КАК ВыгрузкаНаСайт
ПОМЕСТИТЬ ВТВыгрузкаНаСайт
ИЗ
    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ГДЕ
    ЗначенияСвойствОбъектов.Свойство.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура)
    И ЗначенияСвойствОбъектов.Свойство = &ВыгрузкаНаСайт
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТВыгрузкаНаСайт.Объект
ИЗ
    ВТВыгрузкаНаСайт КАК ВТВыгрузкаНаСайт
ГДЕ
    ВТВыгрузкаНаСайт.ВыгрузкаНаСайт = ИСТИНА
1 Ненавижу 1С
 
гуру
05.02.14
11:00
гы, конечно
2 Господин ПЖ
 
05.02.14
11:01
разрешаю!
3 Ёпрст
 
05.02.14
11:01
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ

    ЗначенияСвойствОбъектов.Объект КАК Объект
ИЗ
    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ГДЕ ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, ЛОЖЬ) И
    ЗначенияСвойствОбъектов.Свойство.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура)
    И ЗначенияСвойствОбъектов.Свойство = &ВыгрузкаНаСайт
4 salvator
 
05.02.14
11:01
Разрешаю
5 zak555
 
05.02.14
11:01
зачем ЕСТЬNULL ?
6 Ненавижу 1С
 
гуру
05.02.14
11:02
не можно, но нужно
7 Ёпрст
 
05.02.14
11:02
(5) ТС думал, что таким способом он отрежет "пустые" записи, но, ошибался
%)
8 Господин ПЖ
 
05.02.14
11:02
(5) типа не у всех оно есть...
9 Галахад
 
гуру
05.02.14
11:04
(3) Операция не разрешена в предложении "ГДЕ"
ГДЕ <<?>>ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, ЛОЖЬ) И
10 Godofsin
 
05.02.14
11:05
ГДЕ НЕ ЗначенияСвойствОбъектов.Значение = NULL
11 Господин ПЖ
 
05.02.14
11:06
если оно булево - почему свойство, а  не категория?
12 salvator
 
05.02.14
11:07
ГДЕ ЗначенияСвойствОбъектов.Значение = ИСТИНА тогда уж
13 Галахад
 
гуру
05.02.14
11:08
(10) Гм. А истину как получить?

(11) Наследство.

(12) Спасибо.
14 Godofsin
 
05.02.14
11:10
(12) Да точно, не вчитался в топик
15 Ёпрст
 
05.02.14
11:11
Только вот, это условие бесполезно, NULL там никогда не будет.
16 viktor_vv
 
05.02.14
11:13
(15)+1. Формируй массив пустых значений для поля и по нему сравнивай на не заполненое. В типовой где-то в общих модулях есть функция.
17 viktor_vv
 
05.02.14
11:16
(16)+ ОбщегоНазначение.МассивПустыхЗначений(ОписаниеТипов) ;

Для поля регистра из метаданных возьми.
18 viktor_vv
 
05.02.14
11:20
(17)+

        МассивПустыхЗначенийСвойств = ОбщегоНазначения.МассивПустыхЗначений(Метаданные.РегистрыСведений.ЗначенияСвойствОбъектов.Ресурсы.Значение.Тип);
        ЗапросПостроителя.УстановитьПараметр("МассивПустыхЗначенийСвойств",МассивПустыхЗначенийСвойств);

В запросе

   |И ЗначенияСвойствОбъектов.Значение НЕ В (&МассивПустыхЗначенийСвойств)
19 Зойч
 
05.02.14
11:27
значение не может быть null. ибо тут нет соединений
20 viktor_vv
 
05.02.14
11:34
(16)-(18) А, я писатель, не читатель :). Подумалось он просто не заполненые значения выгружать не хочет.
21 Godofsin
 
05.02.14
11:34
(19) Для НУЛЛ необязательны соединения
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.