Имя: Пароль:
1C
 
EvalExpr из-под разных пользователей
0 pectopatop
 
14.03.07
01:14
Доброй ночи всем.
 Сделав ВК, бегающую по справочникам 1С, стали мы ее испытывать..
 Выяснилась интересная деталь: одна из функций ВК нормально работает при запуске 1С под администратором и дальнейшим вызовом этой самой ВК-функции. Но.. эта же самая функция не работает при аналогичном запуске, но только из-под другого юзера.
 Вот, код, который в ВК нормально работает из-под админа1С :

       obj := OleVariant(i1cv7).AppDispatch;
       obj._AddRef;
       Variant(obj).ExecuteBatch('Сообщить(ТекущаяДата());');
       TekDate := Variant(obj).EvalExpr('ТекущаяДата()');

 А вот, во что видимо его приходится превращать для других юзеров1С :

       obj := OleVariant(i1cv7).AppDispatch;
       obj._AddRef;
       Variant(obj).Initialize(Variant(obj).RMTrade,ParamsOf1C);
       try
         Variant(obj).ExecuteBatch('Сообщить(ТекущаяДата());');
       except
         Halt;Reboot;Term All....
       end;
       try
         TekDate := Variant(obj).EvalExpr('ТекущаяДата()');
       except
         TekDate := '13-03-2007';
       end;

  "Видимо" - т.к. эта версия еще не проверена, и очень даже может оказаться неверной.
  Кто-нибудь встречался с таким?
  Это правильно? То есть так и надо делать (как в примере 2)?

  ...И еще: почитал я тут про метод Initialize и его хитрый параметр RMTrade. Как я понял, его тоже надо будет доставать как ОЛЕ-объект?
1 ТелепатБот
 
гуру
14.03.07
01:14
2 romix
 
14.03.07
04:37
Другой юзер может саму ВК не видит?
Попробуй отладочную печать воткнуть...
Точно валится на этом месте, а не вообще на любом другом юзании ВК.
3 romix
 
14.03.07
04:38
Я обычно втыкаю

//типа отладочная печать
MessageBox(0, 'Привет', 'Отладка', 0);
4 Obed
 
14.03.07
05:42
а я обычно не пишу ВК, жду когда ромикс напишет :))))
5 Морозов Александр
 
14.03.07
05:47
а интересно... зачем "ВК которая бегает по справочникам"?
6 Obed
 
14.03.07
05:48
(5) тем более по ОЛЕ...
7 pectopatop
 
14.03.07
11:57
romix, вроде и ShowMessage - неплохая штука. только надо dialogs в uses подключать.
ВК, которая бегает по справочникам, нужна для связывания 1С и СУБД какой-нить (например, мускула), причем безопасного и защищенного связывания, не как по АДО 1Сному.
8 pectopatop
 
15.03.07
09:12
...Как всегда, все оказалось банально до безобразия...
У другого пользователя не было права "Использовать 1С как OLE Automation сервер".
9 Эльниньо
 
15.03.07
09:58
(4)+1
Основная теорема систематики: Новые системы плодят новые проблемы.