Имя: Пароль:
1C
1С v8
Как в запросе составное поле проверить на заполненность?
0 Gorr
 
09.04.14
16:31
Проверяемое поле составного типа и неизвестно значение какого типа там может быть, т.е. Значение(Справочник.Слклад.ПустаяССылка) не катит. NULL не равно пустой ссылке поэтому тоже не подходит.
1 Wobland
 
09.04.14
16:32
чего-нибудь через точку есть нулл?
2 shuhard
 
09.04.14
16:33
(0) открой для себя мощь Неопределено
3 Heckfy
 
09.04.14
16:34
ГДЕ Поле=&ПроверкаЗаполненности
Запрос.УстановитьПараметр("ПроверкаЗаполненности","");

Не подойдет??
4 ДенисЧ
 
09.04.14
16:34
В запросе? Или в тексте?
5 Wobland
 
09.04.14
16:34
(2) равно пустой ссылке?
6 Maxus43
 
09.04.14
16:34
Надо избегать такой ситуации, чтоб в составном типе было возможно указать пустую ссылку, в этом случае там должно быть НЕОПРЕДЕЛЕНО.
Например в РБ это делается принудительно для субконто, если у юзера хватит ума так сделать
7 ДенисЧ
 
09.04.14
16:34
А, вижу...
8 Wobland
 
09.04.14
16:34
(3) нет
9 Gorr
 
09.04.14
16:51
(6) Благодарю Неопределено и правда решило вопрос. Непонятно только как можно указать пустую ссылку в интерфейсе - значение может быть либо выбрано либо нет если я правильно понял.
10 Wobland
 
09.04.14
16:52
(9) или недовыбрано
11 WildSery
 
09.04.14
16:59
ГДЕ АлиасТаблицы.Поле.Ссылка IS NULL
12 barrgand
 
09.04.14
17:01
(9) Пользователь может выбрать тип и не заполнить значение, будет пустая ссылка какого-то типа. Не дай ему этой возможности =)
13 H A D G E H O G s
 
09.04.14
17:03
isnull(поле,Неопределено) в (Неопределено, Значение(Справочник.Номенклатура.ПустаяСсылка), Значение(Справочник.СерияНоменклатуры.ПустаяСсылка))
14 H A D G E H O G s
 
09.04.14
17:03
(13) ++ и.т.д.
15 H A D G E H O G s
 
09.04.14
17:04
А вообще - было бы проще, если бы платформа позволяла привести ссылку к УИД.
16 Ненавижу 1С
 
гуру
09.04.14
17:07
люблю я такие темы, частенько появляются
велосипед с квадратными колесами, а не пустые значения прямо таки
17 Зойч
 
09.04.14
17:15
не в (массивпустыхссылок и неопределено)
18 Gorr
 
09.04.14
17:25
(11) тоже работает хотя и не решает проблему пустой ссылки ибо Значение(Справочник.Склады.ПустаяСсылка) IS NULL возвращает ложь.
19 mikecool
 
09.04.14
17:29
(11) а как же быть с типом Строка???
20 Gorr
 
09.04.14
17:36
ладно, длинный длинный список решит все проблемы))
вопрос закрыт.
21 vi0
 
09.04.14
19:11
+(6) одно из решений - централизовано при записи приводить пустое значение к Неопределено
тогда в любом запросе не паришься и всегда сравниваешь с Неопределено
и даже кажется есть такая рекомендация от 1с
22 vi0
 
09.04.14
19:15
(11) такие штуки добавляют соединения в результирующий запрос субд, т.е. работать такое будет, но запрос будет тяжелее
23 WildSery
 
10.04.14
10:52
(18) Какую проблему пустой ссылки? Вы про поле говорите, потом вдруг на константы переходите. "А тут рыбу заворачиваем".

(19) А как же быть с глобальным потеплением?

(22) Да. Ну и что? Это только один из возможных способов.
24 vi0
 
10.04.14
11:34
(23) это шаг в пропасть)
если у тебя поле составного типа то к нему будут присоединяться все таблицы входящие в тип
25 wowik
 
10.04.14
11:42
(0)
Выбор когда Поле ссылка Справочник.Номенклатура
и Поле = Значение(Справочник.СерияНоменклатуры.ПустаяСсылка)
Тогда
...
Конец
26 WildSery
 
11.04.14
18:32
(25) Если Поле = Значение(Справочник.СерияНоменклатуры.ПустаяСсылка), то оно по-любому будет ССЫЛКА Справочник.СерияНоменклатуры, и по-любому НЕ будет ССЫЛКА Справочник.Номенклатура