![]() |
![]() |
![]() |
|
v8: EvalExpr не работает возврат из 1С | ☑ | ||
---|---|---|---|---|
0
looser777
16.04.13
✎
00:00
|
Версия 1С 8.2
На Delphi написан кусочек кода: ole1C := CreateOleObject("V82.Application"); ole1C := ole1C.Connect("File="C:\base"; Usr="USER01";Pwd="12345";"); s1 := Ole1C.EvalExpr(""); В 1С некая функция: Функция EvalExpr(ВычисляемоеВыражение) Экспорт Перем КодВозврата; КодВозврата := "1"; Возврат КодВозврата КонецФункции При вызове функции в 1С в s1 не чего не передается. НА более ранних версиях такое работало. |
|||
1
looser777
16.04.13
✎
00:02
|
Исправление:
s1 := Ole1C.EvalExpr(" EvalExpr(ВычисляемоеВыражение)"); Дополнение: Точно знаю что функция вызывается! |
|||
2
hhhh
16.04.13
✎
01:12
|
походу
КодВозврата = "1"; |
|||
3
Infsams654
16.04.13
✎
08:25
|
(0) "В 1С некая функция: " Где конкретно эта функция ?
ole1C от куда ее возмет ? |
|||
4
Infsams654
16.04.13
✎
08:29
|
(0) < ОМ/менеджер/поднятый объект >.EvalExpr(ВычисляемоеВыражение)");
ole1C.Eval(" |
|||
5
1Сергей
16.04.13
✎
08:35
|
ты это... С семёркой не попутал?
|
|||
6
mikecool
16.04.13
✎
08:37
|
КодВозврата := "1";
это точно скомпилилось в 1с? |
|||
7
looser777
16.04.13
✎
09:28
|
Infsams654, функция в общих модулях. Причем она отрабатывает, т.е. если в ней вызвать из Delphi создание документа, то она его создаст, без проблем. Она просто не чего не возвращает в Delphi.
исправления КодВозврата = "1"; |
|||
8
1Сергей
16.04.13
✎
09:33
|
(7) надо именно в глобальном модуле чтобы она была
|
|||
9
arsik
гуру
16.04.13
✎
09:48
|
Может функция вне контекста "внешнее соединение"?
|
|||
10
Infsams654
16.04.13
✎
10:02
|
(7) ну попробуй тогда не функцией получить разультат, а в параметре процедуры
Процедура EvalExpr(Результат, ВычисляемоеВыражение) Экспорт |
|||
11
looser777
16.04.13
✎
10:39
|
(4) Method 'Eval' not supported by automation object.
|
|||
12
looser777
16.04.13
✎
10:49
|
как тогда в Delphi результат получать?
|
|||
13
Infsams654
16.04.13
✎
10:51
|
(12) попробуй V82.COMConnector, а не Application
|
|||
14
Aprobator
16.04.13
✎
11:13
|
(0) EvalExp некая функция в 1С????
|
|||
15
looser777
16.04.13
✎
11:14
|
(14) да
|
|||
16
Aprobator
16.04.13
✎
11:16
|
КодВозврата := "1"; - так в 1 сы не пишется. Двоеточие в току.
|
|||
17
Aprobator
16.04.13
✎
11:17
|
да и где контролька, что соединение состоялось без сбоев?
|
|||
18
looser777
16.04.13
✎
11:20
|
(17) да состоялось соединение. писал уже, я там могу документ в 1с создать. тупо не ворачивается результат функции!
|
|||
19
looser777
16.04.13
✎
11:23
|
(13) у V82.COMConnector, не поддерживается EvalExpr.
Не могу понять не уже не где нет четкого описания EvalExpr. |
|||
20
Infsams654
16.04.13
✎
11:24
|
(19) еше раз см. (10)
|
|||
21
Infsams654
16.04.13
✎
11:25
|
(19) не EvalExpr , а Eval
|
|||
22
Infsams654
16.04.13
✎
11:26
|
это не 7, см (5)
|
|||
23
looser777
16.04.13
✎
11:47
|
(21) и Eval не поддерживает.
|
|||
24
Aprobator
16.04.13
✎
11:49
|
Вычислить - пробовал?
|
|||
25
Infsams654
16.04.13
✎
11:52
|
Встроенные функции языка.Вычислить (Script functions.Eval)
Встроенные функции языка (Script functions) Вычислить (Eval) Синтаксис: Вычислить(<Выражение>) Параметры: <Выражение> (обязательный) Тип: Строка. Выражение, которое требуется вычислить. Возвращаемое значение: Результат вычисления выражения. Тип возвращаемого значения зависит от типа выражения. Описание: Вычисляет переданное выражение. С помощью метода можно вычислять математические и логические выражения, а также операции конкатенации. Подробнее про выражения см. раздел "Выражения языка". Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. |
|||
26
looser777
16.04.13
✎
12:14
|
(25) (24) - ну с вычислить в Delphi это хня явная
|
|||
27
looser777
16.04.13
✎
12:17
|
(25) а Eval не с V82.Application не с V82.COMConnector не поддерживается. есть подозрение что кривой клиент.
|
|||
28
Serginio1
16.04.13
✎
12:41
|
не помню зачем делал, но решал через внешнюю обработку
v8: Как из одной базы 1C8 через COM/OLE запустить в другой базе внешнюю обработку? |
|||
29
Aprobator
16.04.13
✎
13:08
|
есть подзрение, что cmcntrl.dll надо зарегистрировать нормально через regsvr32
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |