|
OLE | ☑ | ||
---|---|---|---|---|
0
Snik_666
18.07.11
✎
14:11
|
Добрый день! Подскажите как работать по ОЛЕ. в 77 входит но потом
Форма.Форма(18)}: Значение не является значением объектного типа (CreateObject) ТМЦ = V77.CreateObject("Справочник.ТМЦ"); s_path = "МойПуть"; s_user = "Юзер"; s_pass = "111"; COM_77 = Новый COMОбъект("V77s.Application"); V77 = COM_77.Initialize(COM_77.RMTrade, "/D" + s_path + " /N" + s_user + " /P" + s_pass, "SPLASH_SHOW");//, "NO_SPLASH_SHOW" Если НЕ V77 Тогда Сообщить("Не удачная попытка входа в 77"); Возврат; КонецЕсли; ТМЦ = V77.CreateObject("Справочник.ТМЦ"); ТМЦ.ВыбратьЭлементы(); Пока ТМЦ.ПолучитьЭлемент() = 1 Цикл Если ТМЦ.ЭтоГруппа() = 1 Тогда Продолжить; КонецЕсли; Если СокрЛП(ТМЦ.UID) = СокрЛП(ВыбТов.UID) Тогда Сообщить(""+СокрЛП(ТМЦ.Наименование)+" ед="+СокрЛП(ТМЦ.БазЕдиница)); КонецЕсли; КонецЦикла; V77 = ""; |
|||
1
ДенисЧ
18.07.11
✎
14:12
|
ТМЦ = com_V77.CreateObject("Справочник.ТМЦ");
|
|||
2
andrewks
18.07.11
✎
14:14
|
COM_77.Initialize() возвращает всего лишь результат подключения. врубаешься?
|
|||
3
Snik_666
18.07.11
✎
14:16
|
Понял! спасибо!
|
|||
4
Snik_666
18.07.11
✎
14:22
|
а можно еще как-то преобразовать что бы выводило не ед=COMОбъект а нормально ?
|
|||
5
andrewks
18.07.11
✎
14:23
|
(4) код давай
|
|||
6
palpetrovich
18.07.11
✎
14:24
|
(4) искать нужно. пр коду, наименованию...
|
|||
7
Eugene_life
18.07.11
✎
14:25
|
(4) Все ссылки у тебя будут "Com - объект"
|
|||
8
Snik_666
18.07.11
✎
14:28
|
(7) та в томто и дело команда Сообщить(""+СокрЛП(ТМЦ.Наименование)+" ед="+СокрЛП(ТМЦ.БазЕдиница));
выводит Армирование труба 80*40*2 ед=COMОбъект как преобразовать? |
|||
9
hhhh
18.07.11
✎
14:29
|
а БазЕдиница у тебя точно строка?
|
|||
10
ДенисЧ
18.07.11
✎
14:29
|
+СокрЛП(ТМЦ.БазЕдиница.Наименование));
|
|||
11
Snik_666
18.07.11
✎
14:30
|
(9) нет перечисление
|
|||
12
ДенисЧ
18.07.11
✎
14:30
|
тогда
+СокрЛП(ТМЦ.БазЕдиница.Идентификатор)); |
|||
13
andrewks
18.07.11
✎
14:30
|
(11) точно? проверял в конфигураторе?
|
|||
14
Snik_666
18.07.11
✎
14:35
|
(13) точно перечисление
СокрЛП(ТМЦ.БазЕдиница.Идентификатор)); не катит в отладчике вычисляю ТМЦ.БазЕдиница.Идентификатор пишет ТМЦ.БазЕдиница.Идентификатор {(1)}: Ошибка при получении значения атрибута контекста (Идентификатор): Типы не совпадают (0) |
|||
15
ДенисЧ
18.07.11
✎
14:36
|
А если () ?
|
|||
16
Snik_666
18.07.11
✎
14:37
|
СокрЛП(ТМЦ.БазЕдиница.Идентификатор()) сработало
|
|||
17
Snik_666
18.07.11
✎
14:40
|
блин но надо именно представление еденицы а не идентиф.
|
|||
18
ДенисЧ
18.07.11
✎
14:42
|
тогда только через метаданные ковырять...
|
|||
19
ДенисЧ
18.07.11
✎
14:43
|
Или попровбовать com_V77.Строка(ТМЦ.БазЕдиница);
Но тут я не уверен, а пробовать лень |
|||
20
andrewks
18.07.11
✎
14:43
|
ПредставлениеВида()
|
|||
21
ДенисЧ
18.07.11
✎
14:44
|
(20) И получишь "Единицы измерения" (или как там оно у него называется)...
|
|||
22
andrewks
18.07.11
✎
14:45
|
(21) а, ну да.. ч0рт
|
|||
23
andrewks
18.07.11
✎
14:45
|
EvalExpr("Строка(ТМЦ.БазЕдиница)")
|
|||
24
palpetrovich
18.07.11
✎
14:48
|
а какова конечная цель? получить строковое предствление Имени Перечисления или получить аналог в текущей базе?
|
|||
25
Snik_666
18.07.11
✎
14:49
|
цель сопоставить ед. измерения найти различные базовые ед.
EvalExpr("Строка(ТМЦ.БазЕдиница)") {(1,1)}: Процедура или функция с указанным именем не определена (EvalExpr) |
|||
26
ДенисЧ
18.07.11
✎
14:50
|
(20)com_v77.EvalExpr()
только я сомневаюсь... |
|||
27
Snik_666
18.07.11
✎
14:54
|
Ошибка при вызове метода контекста (EvalExpr): Произошла исключительная ситуация (1С:Предприятие): 1 Строка(ТМЦ<<?>>.БазЕдиница)
Переменная не определена (ТМЦ) Сообщить(""+COM_77.EvalExpr("Строка(ТМЦ.БазЕдиница)")); по причине: Произошла исключительная ситуация (1С:Предприятие): 1 Строка(ТМЦ<<?>>.БазЕдиница) Переменная не определена (ТМЦ) |
|||
28
palpetrovich
18.07.11
✎
14:56
|
(25) я так ищу (на примере СтавкаНДС), может и криво, не знаю, но находит:
НовыйОбъект.СтавкаНДС = Перечисления[КОМОбъект.СтавкаНДС.Метаданные().Имя].Get(Соединение.Перечисления[КОМОбъект.СтавкаНДС.Метаданные().Имя].Индекс(КОМОбъект.СтавкаНДС)); |
|||
29
Snik_666
18.07.11
✎
14:56
|
Метод объекта не обнаружен (EvalExpr)
Сообщить(""+COM_77.EvalExpr("Строка(ТМЦ.БазЕдиница)")); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |