![]() |
![]() |
![]() |
|
v7: Как получить тип значения объекта в OLE подключении? | ☑ | ||
---|---|---|---|---|
0
Креатив
10.03.12
✎
10:50
|
Подключаюсь к семёрке. Нужно узнать тип объекта.
|
|||
1
Ork
10.03.12
✎
10:56
|
(0) Можно пользовать семерочные ТипЗначения() или ТипЗначенияСтр()
|
|||
2
Креатив
10.03.12
✎
11:03
|
(0)v7.ТипЗначенияСтр() пишет, что такого поля нет
Да. Подключаюсь из восьмёрки. |
|||
3
andrewks
10.03.12
✎
11:04
|
EvalExpr
|
|||
4
Креатив
10.03.12
✎
11:09
|
(3)Надо попробовать.
|
|||
5
Креатив
10.03.12
✎
11:19
|
(3)Не работает.Пишет ошибка при вызове метода контекста.
|
|||
6
andrewks
10.03.12
✎
11:20
|
показывай код
|
|||
7
Ork
10.03.12
✎
11:25
|
(2) "v7.ТипЗначенияСтр() пишет, что такого поля нет"
Для ясности - код подключения в студию. Вероятнее всего подключение не установлено. |
|||
8
Креатив
10.03.12
✎
11:33
|
(7)Подключение точно установлено.
ПутьКонфигурации = "enterprise /D G:\1CV77COM\DBBASIC\ATC\ /N" + Пользователь +" /P "+СокрЛП(Пароль); // + "\ /N" + ИмяПользователя(); Открыта=V71.Initialize(V71.RMTrade, ПутьКонфигурации, "NO_SPLASH_SHOW"); ТЗ = V71.CreateObject("ТаблицаЗначений"); ТЗ1 = V71.CreateObject("ТаблицаЗначений"); ... КСТЗ = ТЗ.КоличествоСтрок(); Для ш = 1 По КСТЗ Цикл // 50 ТЗ.ПолучитьСтрокуПоНомеру(ш); ТЗ1 = ТЗ.ТЗ; Если V71.ТипЗначенияСтр(ТЗ1)<> "ТаблицаЗначений" Тогда Продолжить; КонецЕсли; ... |
|||
9
Креатив
10.03.12
✎
11:37
|
(8)+ Ну и в начале
V71 = Новый COMОбъект("V77s.Application"); |
|||
10
Ork
10.03.12
✎
11:51
|
(8) Вроде все красиво.
Правда нет проверки чему равно "Открыта". И для уверенности попробоапть проверку типа сделать после создания таблиц значений. ТЗ = V71.CreateObject("ТаблицаЗначений"); // примерно так : Сообщить(V71.ТипЗначения(ТЗ)); Сообщить(V71.ТипЗначенияСтр(ТЗ)); |
|||
11
smaharbA
10.03.12
✎
15:44
|
ЗначениеВСтроку evalexpr ТипЗначения ЗначениеИзСтроки
|
|||
12
Креатив
10.03.12
✎
18:43
|
(10)Пробовал. Выдаёт ошибку.
(11)Можно попробовать, но сдаётся мне, что тоже не взлетит. |
|||
13
ProxyInspector
10.03.12
✎
18:50
|
Ты попробуй v7.XXXX() Где ХХХХ() есть ТипЗначения() в английской транскрипции с вероятностью 90% сработает
|
|||
14
ProxyInspector
10.03.12
✎
18:52
|
Ну а если совсем не получиться, тогда в глобальный модуль V7 добавь экспортную функцию
Функция адТипЗначенияСтр(ТекЗначение) Экспорт Возврат ТипЗначенияСтр(ТекЗначение) КонецФункции Это сработает 100% |
|||
15
ProxyInspector
10.03.12
✎
18:53
|
вызывать естественно v7.адТипЗначениеСтр(ТЗ)
|
|||
16
smaharbA
10.03.12
✎
18:54
|
(12) взлетит, поверь
|
|||
17
GreyK
10.03.12
✎
18:54
|
(12) Усё работает шефф :)
ИД=ZВнешнийИсточник.ЗначениеВСтрокуВнутр(ОбъектВИ); Тип=ZВнешнийИсточник.EvalExpr("ТипЗначенияСтр(ЗначениеИзСтрокиВнутр("""+СтрЗаменить(ИД,"""","""""")+"""))"); |
|||
18
Креатив
10.03.12
✎
19:53
|
Ладно, спасибо всем. Буду знать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |