|
Параметр ОбменДанными
| ☑ |
0
Мандалай
06.11.16
✎
17:35
|
Добрый вечер.
Как проверить есть ли у объекта параметр ОбменДанными?
|
|
1
RomanYS
06.11.16
✎
17:36
|
(0) по типу, или попыткой
|
|
2
Мандалай
06.11.16
✎
17:40
|
По типу - это типа:
Если ТипСправочник = Тип("Справочник.Контрагенты") Тогда
КонецЕслИ;
или как то иначе?
Попыткой банально.
|
|
3
Lexey_
06.11.16
✎
17:52
|
(0)
Структура = Новый Структура("ОбменДанными");
ЗаполнитьЗначенияСвойств(Структура, ПроверяемыйОбъект);
ЕстьСвойство = Структура.ОбменДанными <> Неопределено;
|
|
4
Cyberhawk
06.11.16
✎
18:12
|
(2) Нет, это метод Содержит() у всех менеджеров объектов метаданных
|
|
5
RomanYS
06.11.16
✎
19:27
|
(3) тоже можно)
(4) у менеджеров только типВсеССЫЛКИ(), а у ссылок как раз нет ОбменДанными
(2) Например,
МассивНужныхТипов.Найти(ТипЗнч(ТвойОбъект)) <> Неопределено
или
ТипСтр = ""+ТипЗнч(ТвойОбъект);
ЕстьОбменДаными = (Найти(ТипСтр, "Объект")+Найти(ТипСтр, "Набор") > 0);
|
|
6
Cyberhawk
06.11.16
✎
20:32
|
(5) А, ну ладно, не у менеджера, а у корневых объектов МД ("Справочники", "Документы", "ПВХ"). А то, что ты предлагаешь, работать будет не всегда.
Единственный (как пока видится) универсальный способ указан в (3).
|
|
7
RomanYS
06.11.16
✎
22:08
|
(6) с метаданными вообще непонятно: они одинаковые у объекта и ссылки, а ОбменДанными есть только у первого.
В каком случае не сработает(5) (кроме констант, структур и т.п.)?
|
|
8
Cyberhawk
06.11.16
✎
23:37
|
(7) ПланОбменаОбъект
|
|
9
RomanYS
07.11.16
✎
09:22
|
(8) разве не
Найти(ТипСтр, "Объект") >0 ?
|
|
10
h-sp
07.11.16
✎
09:31
|
(9) Справочник.ОбъектыСтроительстваСсылка
|
|
11
Cyberhawk
07.11.16
✎
09:31
|
(9) Ты что-то не так понял в своем коде, походу
|
|
12
Мандалай
07.11.16
✎
15:11
|
Благодарю.
|
|