Имя: Пароль:
1C
Админ
как узнать тип объекта COM ?
0 alex4x
 
06.02.14
19:10
Как обычно получаем объект
Запрос = Подключение.NewObject("Запрос");
...
...
ТЗ = Запрос.Выполнить().Выгрузить();
Для Каждого СтрТЗ Из ТЗ Цикл
Сообщить("+Матаданные имя:"+СтрТЗ.Ссылка.Метаданные().Имя); //Работает!
Подключение.Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(СтрТЗ.Ссылка)); //Не работает, потому что тип - Comobject

Подключение.Документы.ТипВсеСсылки().СодержитТип(Подключение.TypeOf(СтрТЗ.Ссылка)); //Не работает, потому что тип - COM объект не умеет делать TypeOf, что странно

Как быть? Как узнать - ссылка полученная - это справочник, документ или еще что то?
1 etc
 
06.02.14
19:17
Если Лев(СтрТЗ.Ссылка.Метаданные().ПолноеИмя(), 9) = "Документ." Тогда ...
2 Wobland
 
06.02.14
19:18
Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).

к чему бы это?
3 alex4x
 
06.02.14
22:55
etc, СПАСИБО!

А в запросе получить колонку "Справочник" или "Документ" или "Перечисление" можно?

И вот еще странность ТИПЗНАЧЕНИЯ() в данном запросе у меня вместо ожидаемого "Контрагенты" выдает "Контрагент". Если смотреть на справочник в конфигураторе 8.3, там есть "Представление объекта:" и там как раз написано Контрагент, а как же получить в запросе название типа, чтобы было так:
Иванов Иван Иванович | Справочник | Контрагенты |

ВЫБРАТЬ
    Контрагенты.Ссылка КАК Ссылка,
    Контрагенты.ГоловнойКонтрагент Как ГоловнойКонтрагент,
    ТИПЗНАЧЕНИЯ(Контрагенты.ГоловнойКонтрагент) КАК ТИПЗНАЧЕНИЯ,
    ПРЕДСТАВЛЕНИЕ(Контрагенты.ГоловнойКонтрагент) КАК ПРЕДСТАВЛЕНИЕ,
    ПРЕДСТАВЛЕНИЕССЫЛКИ(Контрагенты.ГоловнойКонтрагент) КАК ПредставлениеСсылки,
    ВЫРАЗИТЬ(Контрагенты.ГоловнойКонтрагент КАК Справочник.Контрагенты) КАК Справочник_Контрагенты
ИЗ
    Справочник.Контрагенты КАК Контрагенты
4 H A D G E H O G s
 
06.02.14
22:59
Не понял проблемы автора
5 Torquader
 
06.02.14
23:13
(4) Он хочет получить тип объекта в OLE-базе.
6 alex4x
 
06.02.14
23:16
H A D G E H O G
Задача такая: в запросе к реквизиту объекта получить вид и тип ссылочного типа. Реквизит может иметь составной тип данных.

Справочник | Контрагенты           | Иванов Иван Иванович
Документ   | РасходныйКссовыйОрдер | траливали
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан