Запуск агента на сервере на выделенных документах в представлении

  • Автор темы Sasha*
  • Дата начала
S

Sasha*

Гость
#1
Здравствуйте, я столкнулась с такой проблемой:

Я выделяю в представлении документы , и запускаю агент на сервере (agnt.RunOnServer(docTemp.NoteID) ) , в результате получаю ошибку:
Notes error: Unsupported trigger and search in the background or embedded agent.

У агента выставлены следующие настройки: Action menu selection, All selected documents.
Если я запускаю данный агент формулами, то все работает.
Запуск с помощью Run, тоже выдает тоже ошибку.
Подскажите, пожалуйста, как запустить агент скриптом? Может я ставлю не те настройки для агента?
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
#2
собсно, задача не ясна полностью...
агент, у которого в цели стоит "выделенные доки" подразумевает запуск на УИ с выделенными документами.
твоим способом агент не получает цель, что приводит к ошибке...

если цель обработать выделенные доки, и сделать локально это нельзя, а только серверным агентом,
то придется как-то этому серверному агенту их указать.
на вскидку два способа:
- запускать агент на сервере указывая ему параметром каждый из выделенных доков по очереди;
- если есть возможность (у пользователя, толкающего агент из УИ) создавать документы в базе серверного агента, то можно создать документ, в какое-то поле запихать униды/нотиды выделенных доков, сохранить док, указать его параметром серверному агенту, серверный агент получит нужные доки по унидам.

зы: у серверного агента. соотв. в цели должно быть "ничего"
зы2: во втором случае не забудь удалить временный документ
 
S

Sasha*

Гость
#3
собсно, задача не ясна полностью...
агент, у которого в цели стоит "выделенные доки" подразумевает запуск на УИ с выделенными документами.
твоим способом агент не получает цель, что приводит к ошибке...

если цель обработать выделенные доки, и сделать локально это нельзя, а только серверным агентом,
то придется как-то этому серверному агенту их указать.
на вскидку два способа:
- запускать агент на сервере указывая ему параметром каждый из выделенных доков по очереди;
- если есть возможность (у пользователя, толкающего агент из УИ) создавать документы в базе серверного агента, то можно создать документ, в какое-то поле запихать униды/нотиды выделенных доков, сохранить док, указать его параметром серверному агенту, серверный агент получит нужные доки по унидам.

зы: у серверного агента. соотв. в цели должно быть "ничего"
зы2: во втором случае не забудь удалить временный документ
Вероятно, я плохо описала свою проблемку… попробую по-другому...
У меня есть агент , он обрабатывает выделенные документы из представления. Агент прекрасно работает, если его запускать с помощью формул. НО возникла необходимость запустить агент скриптом, так как нужно передать кое какие параметры в агент. При запуске этого агента с помощью RunOnServer или Run, получаю ошибку (см. первое сообщение).

PS: Для того чтобы обработать в агенте выделенные документы из представления не нужно передавать никаких сведений о документах, а можно воспользоваться методом UnprocessedDocuments в агенте.
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
#4
Вероятно, я плохо описала свою проблемку… попробую по-другому...
нет, ты ее не полно описала, ты сказала, что одним и тем же агентом пытаешься обработать документы как локально, так и на сервере - вот это решение не совсем понятно...
Для того чтобы обработать в агенте выделенные документы из представления не нужно передавать никаких сведений о документах, а можно воспользоваться методом UnprocessedDocuments в агенте
это правильно, но для того, чтобы это db.UnprocessedDocuments содержало определенную коллекцию, нужно выполнить определенные условия. например, чтобы коллекция содержала выделенные в представлении документы, нужно в свойстве агента Target указать All Selected Documents (более детально и остальные случаи описаны в справке)

агент, который запускается на сервере не получает в UnprocessedDocuments предполагаемой тобою коллекции, мало того, агент, у которого в Target указано All Selected Documents не может быть запущен в фоне (background). что собственно сервер и сообщает.

теперь стоит уточнить задачу, вернее недостающую ее часть, и прийти к какому-то решению... предложенные ранее варианты, я пока не отбрасываю :)
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
#6
у меня создается впечатление, что ты пытаешься мне доказать, что ты права, а я и лотус - нет ;)
не хочешь слушать совет, читай справку и разбирайся ;)

См. первое сообщение, в агенте указано данное свойство
агент с указанным таким образом свойством не может быть запущен на сервере!

Как я понимаю, если бы агент не получал эту коллекцию , то ошибка была бы внутри агента
агент не отработал, потому что он некорректно настроен, какие еще логи тебе нужны, если сервер пишет, что агент не может быть запущен потому что "Unsupported trigger and search in the background or embedded agent"

чего если я запускаю агент формулами (@Command( [ToolsRunMacro] ; agent )) он работает?
потому что он запускается локально в контексте данной сессии интерфейса и имеет доступ к выделению в представлении! :)

RunOnServer находится на кнопке...
не хорошо менять сообщение пока тебе отвечают ;)

что ты хотела уточнить тем, что RunOnServer на кнопке? это ничего не меняет :)
 
S

Sasha*

Гость
#7
нужно в свойстве агента Target указать All Selected Documents (более детально и остальные случаи описаны в справке)
См. первое сообщение, в агенте указано данное свойство.
агент, который запускается на сервере не получает в UnprocessedDocuments предполагаемой тобою коллекции, мало того, агент, у которого в Target указано All Selected Documents не может быть запущен в фоне (background). что собственно сервер и сообщает.
Как я понимаю, если бы агент не получал эту коллекцию , то ошибка была бы внутри агента.
В агенте у меня ведутся логи, по логам я вижу , что агент не отработал, даже больше могу сказать, он вообще не запустился. Ломается на строчке RunOnServer...
И еще, чего если я запускаю агент формулами (@Command( [ToolsRunMacro] ; agent )) он работает?

агент с указанным таким образом свойством не может быть запущен на сервере!
Вот наверно именно этого ответа я и ждала.
Как настроить агент, чтобы он запустился?
PS:
не хорошо менять сообщение пока тебе отвечают wink.gif
Прошу прощение, у меня продублировало несколько раз мои сообщение, вот и редактировала....