Имя: Пароль:
1C
1С v8
ExecuteBatch для 1с 8
0 paulic
 
25.03.12
13:48
Подскажите пожалуйста. Есть ли аналог ExecuteBatch для 8 версии.
Или есть возможность каким-нибудь другим способом вернуть результат функции общего модуля.
Спасибо заранее за ответ.
1 andrewks
 
25.03.12
13:55
Execute()
2 paulic
 
25.03.12
14:02
Выполняю следующее

ConnStr := 'File="U:\Base";Usr="";Pwd="";';
Connector := CreateOleObject('V82.COMConnector');
Server := Connector.Connect(ConnStr);
Choose := Server.Execute('Core_Engine.ПолучитьЗапрос()');

и все равно ругается на последнее, говорит не существует такого метода.
3 andrewks
 
25.03.12
14:04
Execute, как и ExecuteBatch, не возвращает значение вызываемых функций. это всего лишь выполнение кода на макро-языке 1С
4 andrewks
 
25.03.12
14:04
Core_Engine что такое?
5 paulic
 
25.03.12
14:10
(3) Ну он даже не выполняет его. Не находит данного метода для сом-объекта.

(4) Это поддерево в общем модуле конфигурации. в 1с эта строка выполняется.

А подскажите, как тогда можно вернуть результат функции 1с?
6 andrewks
 
25.03.12
14:20
Server.Core_Engine.ПолучитьЗапрос()
7 paulic
 
25.03.12
14:32
(6) Спасибо, заработало!
Но ругается при обходе результата.
could not convert variant of type dispatch into type string

обход такого вида

 Choose := Server.Core_Engine.ПолучитьЗапрос();

 while Choose.Next() do
 begin
   ShowMessage(String(Choose.Родитель));
 end;
8 andrewks
 
25.03.12
14:35
Choose.Родитель.Наименование
9 paulic
 
25.03.12
14:39
andrewks, спасибо большое за помощь, очень помогли.