Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.98/120: Рейтинг темы: голосов - 120, средняя оценка - 4.98
YoshyYoshy
1

Агент для выполнения процедуры в 1С

22.11.2010, 18:16. Показов 22077. Ответов 13
Метки нет (Все метки)

Агент для выполнения процедуры в 1С. 1С стоит на сервере, на машине 1С не установлена.
Агент запускается сервером
кусок скрипта

LotusScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    Dim s As New NotesSession
Dim agent As NotesAgent
Set agent = s.CurrentAgent
Dim db As NotesDatabase
Dim doc As NotesDocument
Set db = s.CurrentDatabase
Dim mdoc As NotesDocument
Set mdoc=New NotesDocument(db)
mdoc.Form="ICExport"
mdoc.begin=now
Dim BaseDir As String
Dim TempDir As String
Dim  UserName As String
Dim UserPass As String
Dim ConnStr As String
Dim Conn As Variant
Set aObjV8 = CreateObject("V81.ComConnector")
При запуске агента руками, процедура выполняется.
При запуске по кнопке пользователя в которой agent.RunOnServer(doc.NoteID)
Lotus ругается на последнюю строчку.
Ошибка в логе

Agent 1CExperTest|1CExperTest error: Operation is disallowed in thys session

Может кто-то может помочь в єтой проблеме?!

Зараннее спасибо.

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.11.2010, 18:16
Ответы с готовыми решениями:

Трабла, агент неправильно изменяет другой агент
Ситуация: есть у меня мега агент, который занимается настройкой сервера, проверяет что в системе...

Java-агент Vs Ls-агент — кто быстрее?
Бэк-агента можно написать как на лс, так и на яве. Кто-нибудь обладает достоверной информацией,...

Что будет выведено на экран после выполнения процедуры Massiv для заданного двумерного массива?
Что будет выведено на экран после выполнения процедуры Massiv для заданного двумерного массива? ...

Какие еще разрешения требуются пользователю для выполнения системной хранимой процедуры таблицы master?
Потерял день, но так и не понял, почему хранимая процедура заявляет, что у пользователя нет...

13
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
22.11.2010, 18:25 2
Уровень безопасности агента (закладка Security) - Allow restricted operation поставить, например
0
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
22.11.2010, 18:39 3
или еще в настройках сервера (безопасность) посмотреть того, кто может лотусскрипт-агенты на сервере запускать...
0
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 3,019
23.11.2010, 09:20 4
Цитата Сообщение от OKEN
Уровень безопасности агента (закладка Security) - Allow restricted operation поставить, например
+1
0
YoshyYoshy
23.11.2010, 09:55 5
Есть еще какие-то идеи?

Ошибка:
24.11.2010 09:38:32 Agent 1CExperTest|1CExperTest error: Cannot create automation object

В закладке безопасности свойств агента признак поставили.
В безопасности сервера тоже добавили для разрешения запуска агентов.

На сервере все-равно не удается запустить агент.
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
23.11.2010, 10:06 6
тут уже с "V81.ComConnector" проблемы, скорее всего.
Мб, поможет это
0
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
23.11.2010, 10:33 7
может обьект не зарегистрирован в реестре?
0
YoshyYoshy
23.11.2010, 11:15 8
Цитата Сообщение от OKEN
тут уже с "V81.ComConnector" проблемы, скорее всего.
Мб, поможет это

Все описанное:
* запустите утилиту Component Services;
* создайте пустое COM+ приложение с:
- Activation type - Server application;
- именем, например, V81_COMConnector;
- укажите имя пользователя Windows, от имени которого компонента будет запускаться специальный процесс dllhost.exe;
* в ветке Components добавьте новую компоненту comcntr.dll из каталога загрузочных модулей 1С:Предприятия.

Я сделала. Имя указала мое. Ошибка та же.

Добавлено: а ошибка может быть в моих правах доступа к 1с или еще к чему-то?
YoshyYoshy
23.11.2010, 11:43 9
есть еще какие-то варианты?
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
23.11.2010, 11:53 10
Цитата Сообщение от YoshiYoshi
Ошибка при вызове LoadLibrary("C:\Program Files\1cv81\bin\comcntr.dll") - Не найден указанный модуль.
И оно врет, т.е. файл там есть? тогда проверьте права, может быть.
0
YoshyYoshy
23.11.2010, 12:09 11
Цитата Сообщение от OKEN
И оно врет, т.е. файл там есть? тогда проверьте права, может быть.

я не правильно указала путь. файл там есть. переписала путь - ошибки нету.

Попробовала в скрипте написать Set aObjV8 = CreateObject("V81.COMConnector.1")
клиент даже так может запустить, а вот сервер все-равно не может.

СОМ запущен.
А может в СОМ+ надо какие - то еще настройки сделать?
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
23.11.2010, 12:10 12
кстати, раз дело в Ком 1с, которая, по вашим словам, есть на сервере, на котором запускается агент, то, может, стоит поискать ошибку в 1с разделе на нашем форуме и спросить знающих людей там? Может, как-то не так с настройками, я просто не подскажу...
0
0 / 0 / 0
Регистрация: 12.06.2010
Сообщений: 215
23.11.2010, 12:31 13
>При запуске агента руками, процедура выполняется.
Это из списка агентов в клиенте/дизайнере?
Если да, тогда он выполняется в вашем ноутсе, а не на сервере.

На сервере, это с консоли tell amgr run "myDb.nsf" AgentName или agent.RunOnServer(doc.NoteID)

> Ошибка:
> 24.11.2010 09:38:32 Agent 1CExperTest|1CExperTest error: Cannot create automation object
ИМХО, у вас локально все нормально, а вот на сервере COM-объект кривовато настроен.
0
Mykty0x
23.11.2010, 15:11 14
Проще всего - попробуйте запустить клиента на сервере, и там уже выполнить агента вручную; COM объект регистрируется в операционной системе, если ошибка на createObject - то, скорее всего, надо его правильно зарегистрировать на сервере, что и пытались Вам донести почти все вышеответившие.

"Все описанное:...Я сделала. Имя указала мое. Ошибка та же" всё это на сервере надо делать.
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.11.2010, 15:11

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Время выполнения процедуры в С++ 3.1
Столкнулся с проблемой. Нужно подсчитать за сколько тактов процессора(времени) выполняется код...

Время выполнения процедуры
Здравствуйте, У меня есть процедура в mssql. Она выполняет кучу действий с огромным количеством...

Время выполнения процедуры
Как вычислить время выполнения процедуры? Добавлено через 5 минут Точнее даже продолжительность...

Индикатор выполнения процедуры
В процедуре по ходу её выполнения, должно меняться значение поля (% выполнения + установка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.