Имя: Пароль:
1C
 
Как проверить - есть владелец у формы или нет?
0 Monster1с
 
09.07.07
11:26
Как проверить программно: Есть ли у открываемой формы ВладелецФормы или нет?
1 MAGician_
 
09.07.07
11:28
Если ЭтаФорма.ВладелецФормы = Неопределено Тогда
   // Владельца нет
КонецЕсли;
2 Monster1с
 
09.07.07
12:15
Нельзя приравнивать к  НЕопределено.
3 Monster1с
 
09.07.07
13:06
Так нельзя писать ЭтаФорма.ВладелецФормы = Неопределено
Неопределено не распознается. Как написать тогда?
4 Monster1с
 
09.07.07
13:08
?
5 Широкий
 
09.07.07
13:08
(2) С чего вдруг?
6 DF_Slayer
 
09.07.07
13:09
(3) Не распознается кем?
7 Immortal
 
09.07.07
13:10
НЛО прям
8 Ануфрий
 
09.07.07
13:12
(2) Почему нельзя? Это с null'ом нельзя. Я с неопределено всегда можно было.
9 Monster1с
 
09.07.07
13:13
Не заходит в условие
Если ЭтаФорма.ВладелецФормы = Неопределено Тогда
Хотя владельца у формы нет, когда ее открываешь.
Проскакивает это условие

Если ЭтаФорма.ВладелецФормы = Неопределено Тогда
       Сообщить("Владельца нет");
Иначе
   ВладелецФормы.Отклонение = ссылка;
   КонецЕсли;
И переходит на Иначе. А там соответственно возвращает ошибку, что Отклонения нет
(потому что это случай когда открывается форма из владельца)
10 Ануфрий
 
09.07.07
13:15
(9) Ну в отладчике какой тип показывает для ЭтаФорма.ВладелецФормы?
11 Широкий
 
09.07.07
13:16
(8) С NULL тоже можно сравнивать
(9) В отладчике не судьба глянуть значение?
12 Immortal
 
09.07.07
13:16
отладчиком на Если и смотрим чего там..
13 Ануфрий
 
09.07.07
13:18
(11) Насчет null'а в коде не уверен, а вот в запросах точно нельзя. Точнее можно, но никогда не дает правильного результата - всегда ложь.
14 Широкий
 
09.07.07
13:18
(13) В запросе для сравнения "Есть NULL"
15 Immortal
 
09.07.07
13:19
мде..а я то условия на NULL в запросах шлёпаю , вот туплю..
16 Ануфрий
 
09.07.07
13:20
(14) Ну да, я имел в виду сравнение через равенство.
17 Immortal
 
09.07.07
13:21
КАКОЕ ТАМ ПЛЯ МОЖЕТ БЫТЬ РАВЕНСТВО?
учи мат часть
18 Monster1с
 
09.07.07
13:22
В отладчике:
Когда форма не владелец, то ЭтаФорма.ВладелецФормы тип ТабличноеПоле
Когда форма, открыв-ся из владельца, то ЭтаФорма.ВладелецФормы тип Форма
19 Ануфрий
 
09.07.07
13:26
(18) Потому и не срабатывает условие, что тип ТабличноеПоле. Наверное тогда надо проверять что тип владельца - форма.
20 Leksus
 
09.07.07
13:27
(18) а табличное поле это тебе чем не владелец?
21 Ануфрий
 
09.07.07
13:29
(20) Наверное ему надо, проверить, что форма элемента (документа) открывается из другой формы, а не формы списка.
22 Monster1с
 
09.07.07
13:30
Все, работает: надо было так написать
Если ТипЗнч(ЭтаФорма.ВладелецФормы) = Тип("ТабличноеПоле") Тогда
       Сообщить("Владельца нет");
ИначеЕсли ТипЗнч(ЭтаФорма.ВладелецФормы) = Тип("Форма")тогда
   ВладелецФормы.Отклонение = ссылка;
23 Jarkov
 
09.07.07
13:44
(22) Владельцем формы может быть ЛЮБОЙ элемент. Это ты пишешь, кто будет владельцем формы, когда открываешь.
Если открываешь форму элемента(документа) из формы списка стандартными методами (не перегружая эти вызовы своими), владельцем будет табличное поле из формы списка.