Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/128: Рейтинг темы: голосов - 128, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 03.02.2007
Сообщений: 821

агент обновления документов

11.04.2007, 12:22. Показов 23402. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, я полный ноль в агентах.... Это мой первый агент
Мне нужно залезть во view, достать доки и обновить их
veiw содержит
|Уникальное название|Заглавие БД|Сервер|Имя БД|


Начал писать агент


Dim db As NotesDatabase
Dim vw As NotesView
Dim vwnav As NotesViewNavigator
Dim vwentryA As NotesViewEntry

Set vw = db.GetView ("vw-InformationDB" )
Set vwnav = vw.CreateViewNav()
Set vwentryA = vwnav.GetFirst

берем один из доков
While Not(vwentryA Is Nothyng)

Открываем БД
Dim db1 As New NotesDatabase( "", "" )
stDBServer = vwentryA.ColumnValues(2)
stDBFileName = vwentryA.ColumnValues(3)
Call db1.Open(stDBServer,stDBFileName )

Получаем список форм открытой БД
Forall form In db.Forms
stMsgString = stMsgString & Chr(10) & form.Name
End Forall

Set vwentryA = vwnav.GetNext(vwentryA)
Wend
Вообщем документ содержит еще поле со списком форм определенной БД(которую мы открыли). Мне нужно обновить документ, так как список форм мог измениться. Я получил новый список форм. НО как можно изменить документ(с обновленным полем, содержащим список форм) - не знаю
НО как я понимаю тут надо работать с doc, но я что-то не знаю....
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.04.2007, 12:22
Ответы с готовыми решениями:

Агент Не Снимает Выделения Документов
Всем привет! Поясните мне, глупому, пожалуйста. В каких случаях агент запущенный на выделенных документах не снимает с них выделение? ...

Агент перестает работать после обновления шаблоном
Создал в шаблоне почтовой базы Агент который отрабатывает по событию Before new mail arrives После обновления почтовый базы...

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

17
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
11.04.2007, 12:30
Попробуй заюзать @Command([ToolsRefreshAllDocs])
0
0 / 0 / 0
Регистрация: 03.02.2007
Сообщений: 821
11.04.2007, 12:51
Для: Medevic
я думаю не подойдет.
Я считаю что нужно написать почти тот же код, что и на кнопочке документа. Только как обновить и сохранить док - не знаю
0
0 / 0 / 0
Регистрация: 03.02.2007
Сообщений: 821
11.04.2007, 14:55
.
0
0 / 0 / 0
Регистрация: 03.02.2007
Сообщений: 821
11.04.2007, 16:03
Есть документ с двумя полями поле№1 и поле№2 , причем второе берет значение из первого через use formula for choices (поле№1)
Документ сохранен, вообщем все нормально,все заполнено

Далее вызываю агент
.....................
Call doc.ReplaceItemValue("поле№1",stMsgStrin g)
Call doc.Save(True,True )

Т.е. обновилось поле№1
НО поле№2 не обновилось и оно пусто
Помогите, что можно сделать... Можно ли как-н обновить документ, или еще что-н?
0
0 / 0 / 0
Регистрация: 12.10.2006
Сообщений: 185
11.04.2007, 18:19
Документ обновить надо, или галку поставь Refresh fields on keyword change
0
0 / 0 / 0
Регистрация: 03.02.2007
Сообщений: 821
11.04.2007, 19:58
<!--QuoteBegin-Ogion7+12:04:2007, 16:06 -->
<span class="vbquote">(Ogion7 @ 12:04:2007, 16:06 )</span><!--QuoteEBegin-->Можно ли как-н обновить документ
[snapback]62276" rel="nofollow" target="_blank[/snapback]?[/quote]
Для: Ogion7
вот я и не знаю как обновить
0
1 / 1 / 0
Регистрация: 01.10.2006
Сообщений: 615
11.04.2007, 23:49
Call doc.ReplaceItemValue("поле№1",stMsgStrin g)
Call doc.ComputeWithForm(True, False)
Call doc.Save(True,True )
0
0 / 0 / 0
Регистрация: 03.02.2007
Сообщений: 821
12.04.2007, 08:36
Для: Kee_Keekkenen
Все равно не заполняется то поле....((
Вот мой код на всякий случай
Dim s As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim vw As NotesView
Dim vwnav As NotesViewNavigator
Dim vwentryA As NotesViewEntry
Dim stDBServer As String
Dim stDBFileName As String
Dim stMsgString As String

Set db = s.CurrentDatabase
Set vw = db.GetView ("vw-InformationDB" )
Set vwnav = vw.CreateViewNav()
Set vwentryA = vwnav.GetFirst

While Not(vwentryA Is Nothyng)
Set doc = vwentryA.Document
Открываем БД
Dim db1 As New NotesDatabase( "", "" )
stDBServer = doc.GetItemValue("GXE_InfD_d_DBServer_TX ")(0)
stDBFileName = doc.GetItemValue("GXE_InfD_d_DBFileName_ TX")(0)
If stDBServer = "Local" Then stDBServer=""
Call db1.Open(stDBServer,stDBFileName )
Получаем список форм открытой БД
Forall form In db1.Forms
stMsgString = stMsgString & Chr(10) & form.Name
End Forall

Call doc.ReplaceItemValue("GXE_InfD_d_CandidL istFormDB_TX",stMsgString)

Call doc.ComputeWithForm(True, False)
Call doc.Save(True,True )
Call vw.Refresh()

Set vwentryA = vwnav.GetNext(vwentryA)

Wend
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
12.04.2007, 08:46
<!--QuoteBegin-wowa+13:04:2007, 07:23 -->
<span class="vbquote">(wowa @ 13:04:2007, 07:23 )</span><!--QuoteEBegin-->Все равно не заполняется то поле....((
[snapback]62316" rel="nofollow" target="_blank[/snapback]?[/quote]
Не понятно, как оно должно заполнится.

Ты пишешь:
<!--QuoteBegin-wowa+12:04:2007, 14:50 -->
<span class="vbquote">(wowa @ 12:04:2007, 14:50 )</span><!--QuoteEBegin-->Есть документ с двумя полями поле№1 и поле№2 , причем второе берет значение из первого через use formula for choices (поле№1)
[snapback]62257" rel="nofollow" target="_blank[/snapback]?[/quote]
Второе никак не может брать значение из первого через use formula for choices. Так ты только создаешь список возможных значений. Но значение поля должен проставить ты сам.
0
0 / 0 / 0
Регистрация: 03.02.2007
Сообщений: 821
12.04.2007, 11:24
Начну все заново...В документе Мне нужно было занести в Listbox(поле№2) значения... Чтобы их туда занести , мне порекомендовали создать отдельное, скрытое Text поле(поле№1), и занести сначала туда значения,..
И прописать в поле№2, на второй закладки через use formula for choices (поле№1).....

При работе агента скрытое, TEXT поле№1 обновляется, но ListBox (поле№2) - пусто
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
12.04.2007, 11:34
<!--QuoteBegin-wowa+13:04:2007, 10:11 -->
<span class="vbquote">(wowa @ 13:04:2007, 10:11 )</span><!--QuoteEBegin-->При работе агента скрытое, TEXT поле№1 обновляется, но ListBox (поле№2) - пусто
[snapback]62324" rel="nofollow" target="_blank[/snapback]?[/quote]
Пустое это как? Нет значения или нет списка вариантов?
0
0 / 0 / 0
Регистрация: 03.02.2007
Сообщений: 821
12.04.2007, 11:37
При просмотре в Notes, поле пусто
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
12.04.2007, 12:04
Понятно, где ошибка.
Вот так, как ниже списки не делают.
<!--QuoteBegin-wowa+13:04:2007, 07:23 -->
<span class="vbquote">(wowa @ 13:04:2007, 07:23 )</span><!--QuoteEBegin-->Forall form In db1.Forms
stMsgString = stMsgString & Chr(10) & form.Name
End Forall[/quote]
У тебя как бы получается, что первое значение пустое.
Т.е. список вида (хотя это не список, а просто строка):
"
1
2"
В листбокс видно именно пустое значение, т.к. остальные на других строках.
Короче, делай правильно список. Например, через Split:

Code
1
Call doc.ReplaceItemValue("GXE_InfD_d_CandidListFormDB_TX", Split(stMsgString, chr(10)))
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
12.04.2007, 12:18
Кстати, Call doc.ComputeWithForm(True, False) можешь убрать.
0
0 / 0 / 0
Регистрация: 03.02.2007
Сообщений: 821
12.04.2007, 12:33
Для: Medevic
Большое спасибо, Очень тебе благодарен!!!!!!

Единственно остается пустая первая строка...
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
12.04.2007, 12:35
FullTrim(Split(stMsgString, chr(10)))
0
0 / 0 / 0
Регистрация: 03.02.2007
Сообщений: 821
12.04.2007, 12:40
<!--QuoteBegin-Medevic+13:04:2007, 10:05 -->
<span class="vbquote">(Medevic @ 13:04:2007, 10:05 )</span><!--QuoteEBegin-->Кстати, Call doc.ComputeWithForm(True, False) можешь убрать.
[snapback]62332" rel="nofollow" target="_blank[/snapback]?[/quote]
Вот это кстати лучше оставить.... иначе не так работает как надо..
СПАСИБО!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.04.2007, 12:40
Помогаю со студенческими работами здесь

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

Агент по расписанию
Проблема вот такая: Есть агент который запускается по времени и делает backup БД(копирование БД), проблема в том что БД не копируются(так...

Агент по расписанию
Доброго времени!! Сталкнулся с такой проблемкой.Возникла необходимость запускать агента по расписанию. Все сделал,по идее должен...

Самоудаляющийся агент
Добрый день(вечер). Может ли агент по завершении своей работы удалить сам себя из базы? :D

Агент по расписанию.
Помогите, пожалуйста, разобраться почему не работает агент по расписанию. Раньше с агентами не работала, тонкостей не знаю. Есть база....


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru