Имя: Пароль:
1C
1С v8
Как сделать в запросе отбор по всем пустым значениям
,
0 Ivan_495
 
29.12.17
13:51
Как сделать в запросе отбор по всем пустым значениям ВидыСубконтоХозрасчетные? как правильно написать?

где
Субконто1 в(ЗНАЧЕНИЕ(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ПустаяСсылка))
1 Ivan_495
 
29.12.17
13:52
где
Субконто1 в(ЗНАЧЕНИЕ(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ПустаяСсылка))
это строчка из запроса
2 Nuobu
 
29.12.17
13:54
Собрать запрос.
3 hhhh
 
29.12.17
14:48
(1) вот это

где
Субконто1 в(ЗНАЧЕНИЕ(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ПустаяСсылка))

выкиньте, это предновогодний бред. Всё остальное можно.
4 Ivan_495
 
29.12.17
16:19
(2) сейчас собираю пустые значения всех типов субконто в цикле, думал можно оптимизировать

Функция ПолучитьСписокПустыхСубконто(ВидыСубконто)Экспорт
    
сзПустыеСубконто = Новый СписокЗначений;
    
    ВыборкаСубконто = ВидыСубконто.Выбрать();
    
    Пока ВыборкаСубконто.Следующий() Цикл
        ТекЗначение = Неопределено;
        Для каждого ТекущийТип Из выборкаСубконто.ТипЗначения.Типы() Цикл
            Если ТекущийТип = Тип("Строка") Тогда
                ТекЗначение = "";
            ИначеЕсли ТекущийТип = Тип("Число") Тогда
                ТекЗначение = 0;
            ИначеЕсли ТекущийТип = Тип("Дата") Тогда
                ТекЗначение = '00010101';
            Иначе
                ТекЗначение = Новый(ТекущийТип);
            КонецЕсли;
        КонецЦикла;
        сзПустыеСубконто.Добавить(ТекЗначение);
        сзПустыеСубконто.Добавить(выборкаСубконто.ТипЗначения.ПривестиЗначение());

    КонецЦикла;
    сзПустыеСубконто.Добавить(Неопределено);
    Возврат сзПустыеСубконто;

    
КонецФункции


Запрос.УстановитьПараметр("ПустоеСубконто",    ПолучитьСписокПустыхСубконто(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные));
5 Вафель
 
29.12.17
17:04
субконто1 в (&Массив)

Массив.Добавить(Неопредлено);
Массив.Добавить(ПустаяДата);
Массив.Добавить(ПустаяСтрока);
...
Массив.Добавить(ПустаяСсылкаСпр1);
...
6 Вафель
 
29.12.17
17:05
Хотя даты и строки не бывают в качестве субконто
7 breezee
 
29.12.17
18:00
Когда уже в запрос прикрутят "ЗначениеЗаполнено()"
8 youalex
 
29.12.17
21:12
(7) лучше binary как литерал
9 Armando
 
29.12.17
22:40
Если на производительность пофиг, то можно сделать

ГДЕ Субконто1.Ссылка ЕСТЬ NULL
10 h-sp
 
30.12.17
00:38
(4) пишите

где
Субконто1 = Неопределено

в типовых сделано при записи, чтобы пустых ссылок не было