![]() |
![]() |
![]() |
|
Ссылочный тип данных | ☑ | ||
---|---|---|---|---|
0
Nadezhdaaaa
09.07.10
✎
17:11
|
Здравствуйте, подскажите, пожалуйста, есть какая-то функция для того, чтобы определить что значение имеет ссылочный тип, неважно ссылка на справочник или документ... важно знать что тип данных какой-то переменной является ссылкой, а не строкой.
|
|||
1
kokamoonga
09.07.10
✎
17:11
|
ТипЗнч(ТвоиДанные)
|
|||
2
IceSer1
09.07.10
✎
17:13
|
если ТипЗнч(ТвоиДанные)=тип("Строка") тогда
неамЭтоНеНадо=истина; конецесли; ) |
|||
3
Ненавижу 1С
гуру
09.07.10
✎
17:14
|
а если Объект?
|
|||
4
Ненавижу 1С
гуру
09.07.10
✎
17:16
|
//плохой, но работающий код
Функция ЭтоСсылка(Элемент) Попытка Возврат Элемент.Ссылка=Элемент; Исключение Возврат Ложь; КонецПопытки; КонецФункции |
|||
5
Nadezhdaaaa
09.07.10
✎
17:17
|
мне нужно знать только является ли это значение ссылкой
если ТипЗнч(МоиДанные).... Ссылка Тогда Хорошо = Истина КонецЕсли |
|||
6
Волшебник
09.07.10
✎
17:18
|
||||
7
Serg_1960
09.07.10
✎
17:18
|
типовой код
ЭтоСправочник = Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(Ссылка)); |
|||
8
Nadezhdaaaa
09.07.10
✎
17:22
|
Вот так, наверно, можно проверить
ТипЗнч(МоиДанные) = Тип(УникальныйИдентификатор) |
|||
9
Nadezhdaaaa
09.07.10
✎
17:22
|
ТипЗнч(МоиДанные) = Тип("УникальныйИдентификатор")
|
|||
10
kokamoonga
09.07.10
✎
17:23
|
(8)(9) а чем (6)(7) не нравится?
|
|||
11
Nadezhdaaaa
09.07.10
✎
17:27
|
потому что придется перебирать ЭтоСправочник или ЭтоДокумент...
|
|||
12
kokamoonga
09.07.10
✎
17:28
|
(11) перебирать булево значение?
|
|||
13
vde69
09.07.10
✎
17:29
|
для начала ответьте:
перечисление - это ссылка? у него есть метод ПустаяСсылка() но нету свойства Ссылка |
|||
14
kokamoonga
09.07.10
✎
17:31
|
(13) продолжаешь собеседовать?
|
|||
15
НетуаНадо
09.07.10
✎
17:31
|
Метаданные.Документы.Содержит(Ссылка.Метаданные())
|
|||
16
Nadezhdaaaa
09.07.10
✎
17:33
|
Нет, так нельзя ((((
|
|||
17
vde69
09.07.10
✎
17:33
|
(14) я это к тому, что ссылочные данные - это понятие размытое,
ИХМО самое правильное это метод основаный на наличие или отсутствие ГУИД-а |
|||
18
hhhh
09.07.10
✎
17:38
|
(16) в типовой БП есть специальная функция. Глянь там.
|
|||
19
kokamoonga
09.07.10
✎
17:39
|
(17) самое правильное это метод основанный на логике имхо. мне трудно представить себе адекватный код в котором одной переменной присваиваются значения типов СправочникСсылка,ДокументСсылка и ПеречислениеСсылка
|
|||
20
hhhh
09.07.10
✎
17:41
|
(19) ну объект, регистрируемый для обмена, например.
|
|||
21
kokamoonga
09.07.10
✎
17:43
|
(20) судя по вопросу в (0) вряд ли речь может идти об обменах)
|
|||
22
hhhh
09.07.10
✎
17:49
|
(18)+ вот например
Функция ОпределитьПоЭлементуЭтоСсылка(Элемент, ИмяБазовогоТипа, ТипЭлемента, ИмяДляЗапроса) МетаданныеЭлемента = Элемент.Метаданные(); Если ИмяБазовогоТипа = "Справочники" Тогда ТипСсылки = Тип("СправочникСсылка." + МетаданныеЭлемента.Имя); ИмяДляЗапроса = "Справочник." + МетаданныеЭлемента.Имя; ИначеЕсли ИмяБазовогоТипа = "Документы" Тогда ТипСсылки = Тип("ДокументСсылка." + МетаданныеЭлемента.Имя); ИмяДляЗапроса = "Документ." + МетаданныеЭлемента.Имя; Иначе ТипСсылки = Неопределено; КонецЕсли; Возврат ТипЭлемента = ТипСсылки; КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |