0 / 0 / 0
Регистрация: 25.11.2006
Сообщений: 180
1

Агенты и обновление полей

17.04.2007, 16:41. Показов 25656. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть серверный агент на Лотус скрипт. Пишется для работе в вебе.
Суть - после неких операций нужно в зависимости от условия - или вывести что-то типа messagebox-а с фразой - "извини, не выйдет" или запихать некое значение в некое поле текущего дока.
Проверяю под клиентом. Все проходит без ошибок, в переменной типа variant (mem) есть всё, что надо, но

Код
 ...
doc.Members= mem
Exit Sub
и собственно ничего в этом самом поле мемберс не видать. Я так подразумеваю, что не хватает ему рефреша. А как его сделать, учитывая, что это все должно корректно в вебе отработать в итоге?
На сколько я понимаю, рефреш под вебом - это фактически сохранение дока. Однако строка
Call doc.Save(True, True, True) ровным счетом ничего не меняет. Как все-таки переписать это самое значение?

з.ы. заодно подскажите плиз аналог MessageBox для веба, если можно как-нибудь без джава скриптов. Скрещивание джава скрипт с лотус скрипт - это задача мне ещё на пару месяцев.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.04.2007, 16:41
Ответы с готовыми решениями:

Обновление полей
Суть проблемы такова. Нужно обновить поля в открытом документе. То есть, я открываю этот документ и...

Обновление Полей В Ренспонсе
Здравствуйте, помогите пожалуйста, есть документ А1 и респонс к этому документу А1а который берет...

Обновление Полей В Ssjs
Всем привет. добрался и я к Xpage. работаю над первым проектом и солкнулся с траблом как...

Обновление вычисляемых полей
В общем такая проблемка. Есть подформа, на которой часть данных вычисляется из других полей. На...

15
1 / 1 / 0
Регистрация: 23.04.2006
Сообщений: 226
17.04.2007, 16:48 2
Поле какого типа???
0
0 / 0 / 0
Регистрация: 25.11.2006
Сообщений: 180
17.04.2007, 16:55 3
Цитата Сообщение от Hedg
Поле какого типа???
текст, влючена опция множество значений, редактируемое
0
0 / 0 / 0
Регистрация: 12.10.2006
Сообщений: 185
17.04.2007, 17:19 4
агент запускаеш в броузере?
0
0 / 0 / 0
Регистрация: 25.11.2006
Сообщений: 180
17.04.2007, 17:22 5
Цитата Сообщение от Ogion7
агент запускаеш в броузере?
и в браузере, и в клиенте запускала - одинаково
0
1 / 1 / 0
Регистрация: 23.04.2006
Сообщений: 226
17.04.2007, 17:58 6
Не делал в Лоту се ничё под веб, но поробую посоветовать

В свойстве поля OnChange втулить что-то типа этого


Код
window.location.reload()
window.location.href=window.location.href
0
0 / 0 / 0
Регистрация: 12.10.2006
Сообщений: 185
17.04.2007, 17:58 7
В хелпе на "web agent" выдает ответ, в котором есть такое


Activating a Web agent
.......
Two form events work for Web processing:

-WebQueryOpen occurs before Lotus Domino converts the document being opened to HTML and sends it to the browser. You can change initial field values and do other pre-processing.

-WebQuerySave occurs before a Web document is saved. You can change final field values and do other post-processing.
0
0 / 0 / 0
Регистрация: 25.11.2006
Сообщений: 180
18.04.2007, 12:46 8
Цитата Сообщение от Hedg
В свойстве поля OnChange втулить что-то типа этого


Код
window.location.reload()
window.location.href=window.location.href
Браузер - невозможно отобразить страницу
В клиенте ничего не изменилось



Цитата Сообщение от Ogion7
В хелпе на "web agent" выдает ответ, в котором есть такое
то есть типа по кнопочке агент не сработает, надо только в эти события их писать? Что-то не верится мне в это.
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
18.04.2007, 12:58 9
Для: Idea
Как ты агента вызываешь?

<!--QuoteBegin-Idea+18:04:2007, 16:28 -->
<span class="vbquote">(Idea @ 18:04:2007, 16:28 )</span><!--QuoteEBegin-->з.ы. заодно подскажите плиз аналог MessageBox для веба, если можно как-нибудь без джава скриптов.
[snapback]62748" rel="nofollow" target="_blank[/snapback]?[/quote]
Жаваскрипт - Alert.
0
0 / 0 / 0
Регистрация: 25.11.2006
Сообщений: 180
18.04.2007, 13:32 10
Цитата Сообщение от Medevic
Для: Idea
Как ты агента вызываешь?
@Command([ToolsRunMacro]; "ChooseTeam")

Вообще вот вставляю строку Call doc.Save(True, True, True), закрываю, открываю, всё есть. Вывод - точно рефреша не хватает.
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
18.04.2007, 13:34 11
Откуда получаешь doc в агенте?
0
0 / 0 / 0
Регистрация: 25.11.2006
Сообщений: 180
18.04.2007, 14:09 12
Цитата Сообщение от Medevic
Откуда получаешь doc в агенте?


Код
Dim session As NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim nav As NotesViewNavigator
Dim entry As NotesViewEntry

Dim doc As NotesDocument
Dim cldoc As NotesDocument
Dim prid As Variant
Dim mem As Variant

Set session= New NotesSession
Set doc=session.documentcontext
prid= doc.GetItemValue( "Team" )

Set db = session.CurrentDatabase
Set view = db.GetView("PeopleByTeam")
Set nav = view.CreateViewNavFromCategory(prid (0))
Set entry = nav.GetFirstDocument

If Not(entry Is Nothyng) Then
Set cldoc = entry.Document
mem = cldoc.Members
doc.Members= mem
Call doc.Save(True, True, True)
Else
Print("No Team with such Leader")
End If
Exit Sub
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
18.04.2007, 14:18 13
<!--QuoteBegin-Idea+19:04:2007, 13:56 -->
<span class="vbquote">(Idea @ 19:04:2007, 13:56 )</span><!--QuoteEBegin-->Call doc.Save(True, True, True)
[snapback]62837" rel="nofollow" target="_blank[/snapback]?[/quote]
Всё таки нужно сохранять.
Если агента вызываешь в WebQuerySave, то не нужно.
Тогда непонятно чего не работает. Значение не пишется?
0
0 / 0 / 0
Регистрация: 25.11.2006
Сообщений: 180
18.04.2007, 14:31 14
Цитата Сообщение от Medevic
Всё таки нужно сохранять.
Если агента вызываешь в WebQuerySave, то не нужно.
Тогда непонятно чего не работает. Значение не пишется?
да, хотелось бы, чтоб когда тыкаешь кнопку, было все-таки видно, что в поле что-то изменилось.

и сразу про Alert:
что нужно, чтобы вот это

Код
 Print "<script LANGUAGE=JavaScript>"
Print "alert(""No Team with such Leader"")"
Print "</SCRIPT>"
заработало?
в том же самом агенте. пока ничего не всплывает
0
0 / 0 / 0
Регистрация: 25.11.2006
Сообщений: 180
18.04.2007, 14:47 15
и ещё, в клиенте-то ещё хоть как-то пашет. а в браузере пишет внутреннюю ошибку сервера.
0
0 / 0 / 0
Регистрация: 25.11.2006
Сообщений: 180
23.04.2007, 15:57 16
Для тех, у кого возникнут аналогичные проблемы (моя счастливо разрешилась):
1) юзайте где можно @DBLookup
2) проверяйте триггеры агентов (что б их... )
3) вешайте на WebQuerySave код

Код
    Set session= New NotesSession
Call session.documentcontext.compwithform()
Call session.documentcontext.save(True,False)
для пересчета лукапов и прочих формул.

Спасибо всем откликнувшимся
0
23.04.2007, 15:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.04.2007, 15:57
Помогаю со студенческими работами здесь

Онлайн обновление полей на форме.
На форме есть встроенное вью, на &quot;Queryopendocument&quot; которого открывается документ в диалогбоксе,...

Обновление полей через Computed
Добрый день! Есть две формы (1 и 2), данные в одном поле ф.1 являются computed из поля ф.2. В...

Обновление полей в зависимых документах
1. Задача: есть документ (основной), к нему привязываются другие поддокументы (не ответные),...

Datagrid обновление полей
public Guid Switch1 { get { dbDataContext db = new...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru