Диалоги Lotus developers

  • Автор темы Vagor.ini
  • Дата начала
Статус
Закрыто для дальнейших ответов.
W

warda

и еще такой вопрос с документооборотом на базе escado знаком кто - нибуть?
 
N

nor

warda
Почитай сначала хэлп Клиента (очень хороший хэлп)
Затем начинай читать хэлп Дизайнера и пробуй реализовывать примеры, которые там указаны (очень хороший хэлп, очень подробные примеры)
Никакой дополнительной литературы больше пока не надо
 
V

Vagor.ini

warda
Поищи здесь на форуме ссылку на документ от Veselinki о Lotus...
 
G

Gogan.exe

Народ, подскажите кто знает. Nor пообещал помочь, но сейчас он занят чем-то своим.
В общем нужно такое дело: по нажатию кнопки, пройтись по документам и сравнить дату создания с датой указанной в поле.
В книжках толком ничего не описано, да и книжек маловато. Сделать это итератером? Если им, то как в фолдер добавлять (@Functions действовать-то не будут). Или может достаточно ограничиться селектом, но как?
 
S

skrupenin

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

Сделать это итератером
Set Col=db.UnprocessedDocuments 'или AllDocuments
Set Doc=Col.GetFirstdocument
While not Doc is Nothing
.... 'тут твой код обработки
Doc.PutInFolder(.....)
Set Doc=Col.GetNextDocument(Doc)
Wend


Или может достаточно ограничиться селектом, но как?

На формулах:
Select @Created(>....твое условие);
@AddToFolder("куда"; "откуда убрать");

Если что - пиши, звони +375 196 73-7443, skrupenin@rambler.ru
 
G

Gogan.exe

skrupenin
Спасибо большое, сейчас попробую. А на формулах я пытался вчера - не вышло ничерта...
 
G

Gogan.exe

Чего-то не пашет. Вроде понял, о чем скрипт, но при нажатии на кнопку выдает "ObjectVariable not set". Вот что за скрипт я пхнул в кнопку:

Sub Click(Source As Button)
Dim Doc As NotesDocument
Dim Col As NotesDocumentCollection

Set Doc = Col.GetFirstDocument
While Not Doc Is Nithing
Doc.PutInFolder("DateDoc")
Set Doc = Col.GetNextDocument(Doc)
Wend
End Sub

Скрипт пока добовляет каждый документ без разбора, разбор потом добавлю
 
G

Gogan.exe

Ага, нашел... забыл Set Col = AllDocuments вставить...
Теперь скрипт вот так выглядит:

Sub Click(Source As Button)
Dim Doc As NotesDocument
Dim Col As NotesDocumentCollection

Set Col = AllDocuments
Set Doc = Col.GetFirstDocument
While Not Doc Is Nithing
Doc.PutInFolder("DateDoc")
Set Doc = Col.GetNextDocument(Doc)
Wend
End Sub

Теперь ошибка "Type Mismach"
 
A

Alvar

Подскажите, please, как ячейке в Excel присвоить текстовой формат (036E2 заносится как 3,6Е+03, а 06325 как 6325).
 
G

Gogan.exe

Привет снова.
Переделал я вышележащий скрипт и вот что вышло:

Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim nav As NotesViewNavigator
Dim Doc As NotesDocument
Dim entry As NotesViewEntry

Set db = session.CurrentDatabase
Set view = db.GetView("All")
Set nav = view.CreateViewNav()
Set entry = nav.getFirst
While Not doc Is Nothing
Call Doc.PutInFolder("DateDoc")
Set entry = nav.getNext(entry)
Set Doc = entry.Document
Wend
End Sub
Теперь проблема в следующем – отбор проходит нормально, но вот после отбора выводиться ошибка о пустой переменной. Object variable not set.
Что-то с лупом нужно сделать?

И еще вопрос, какой скрипт почистит мне фолдер после закрытия оного?
 
N

nor

Alvar
Нажимаешь правой кнопкой на ячейке - Формат ячейки - Числовые форматы...
 

Andre

Green Team
29.07.2004
114
1
BIT
2
<!--QuoteBegin-Gogan.exe+8:09:2004, 12:28 -->
<span class="vbquote">(Gogan.exe @ 8:09:2004, 12:28 )</span><!--QuoteEBegin-->Привет снова.
Переделал я вышележащий скрипт и вот что вышло:

Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim nav As NotesViewNavigator
Dim Doc As NotesDocument
Dim entry As NotesViewEntry

Set db = session.CurrentDatabase
Set view = db.GetView("All")
Set nav = view.CreateViewNav()
Set entry = nav.getFirst
While Not doc Is Nothing
Call Doc.PutInFolder("DateDoc")
Set entry = nav.getNext(entry)
Set Doc = entry.Document
Wend
End Sub
Теперь проблема в следующем – отбор проходит нормально, но вот после отбора выводиться ошибка о пустой переменной. Object variable not set.
Что-то с лупом нужно сделать?

И еще вопрос, какой скрипт почистит мне фолдер после закрытия оного?[/quote]
А зачем тебе вообще нужен ViewNavigator ???
Никакими его специфическими методами ты не пользуешься. А для получения документа и навигации по документам во View вполне достаточно методов NotesView -- GetFirstDocument и GetNextDocument
Например
Set db = session.CurrentDatabase
Set view = db.GetView("All")

Set Doc = View.GetFirstDocument
While Not doc Is Nothing
Call Doc.PutInFolder("DateDoc")

Set Doc = View.GetNextDocument (Doc)
Wend


Насчет очистки фолдера - оптимально его чистить например перед началом заполнения. (после заполнения фолдер можно обновить)
Посмотри в хелпе RemoveFromFolder или RemoveAllFromFolder
 
G

Gogan.exe

Навигатор я использовать решил, потому как просто через вью не получалось. Ошибку выдавала… наверное сто-то не так делал, но это же не принципиально, верно?
Отчистку фолдера я назначил на открытие формы отбора. То есть, как только юзер открыл форму отбора доков, фолдер отчищается. Только вот если несколько людей одновременно воспользуются… эх… так или иначе, слишком медленно это получаеться… перебор пары миллионов доков, затем добавление около тысячи в фолдер… просто слишком медленно получается… нужно что-то иное придумать… _иное_… гы-гы…
 
N

nor

Gogan.exe
Вся твоя проблема, наверное, в том, что у тебя слишком большая база данных. Я не встречал еще таких бд, в которых было бы "миллионы" документов.
Интересно, сколько гигабайт все это у тебя занимает?
Может быть стоит подумать об разделении бд на несколько более мелких (разбить, например, по годам, по тематике, по другим признакам), или перекинуть в архив те документы, которые редко используются, либо создавать индексы.
Сама архитектура хранения документов в бд формата Лотус не позволит тебе как-нибудь ускорить выборку документов. Ты не найдешь в классах Домино какой-то волшебный метод, которых быстро выбирает документы.
Ты можешь ускорить выборку документов, если:
1. Ты пользуешься notesdatabase.Search в бд средних по размерам (3-5 Гигабайт, возможно больше, возможно меньше, я точно не скажу)
2. Ты пользуешься notesdatabase.FTSearch в больших по объему бд, при условии наличия индекса (о том, как правильно создавать и использовать индексы, его плюсы и минусы - отдельная тема для разговора)
3. Твой сервер Домино стоит на очень производительной мощной машине, (трафик в сети не перегружен, грамотно настроена и спроетирована локальная сеть. (вопросы к вашему администратору))
Ты пробовал создавать специальное представление, дизайн которого нужно было менять каждый раз при новом поиске и у тебя это, вроде не получилось.
Перенос найденных документов в папку тебя тоже смущает.
Могу тебе просто посоветовать тогда на найденные документы создавать ссылки и их отображать в документе поиска. Я не пробовал это, но может это уменьщит нагрузку на сервер.
В качестве альтернативы предлагаю вам переходить на реляционные бд, а лотус станции использовать в качестве пользовательского интерфейса - возможно об этом вам тоже стоит подумать.
 
G

Gogan.exe

База уже разделена немножко и все доки до 2003 года перемещены в архив, но каждый день, кроме выходных, туда помещается около 500 новых доков. 500*2*365 = 365 000. Это за год, то есть за два года там скопилось около миллиона доков… ну «миллионы» - это я переборщил, то все же.
Я создал выборку по дате (ктегорайзд вью и тому подобное), там все прекрасно работает с отображением, но вот когда эту выборку выводят на печать – начинают печататься _все_ доки. Этот отчет я оставил, но чисто для просмотра – печать закрыл.
Потом я создал отчет «за вчера», он полезен, но иногда девчонкам нужен отчет а позавчера… они звонят мне, я меняю цифру, звоню им, они печатают… короче не автоматизировано получается – это есть сакс.
Я хотел создать единый отчет по датам, и для просмотра и для печати. Но тут важна скорость и мое здоровье (админ меня порубит, если я ему сервак еще раз так нагружу). FTearch и т.п. я сегодня просмотрю… может окажутся полезными.
Большое спасибо!
 
G

Guest

Потом я создал отчет «за вчера», он полезен, но иногда девчонкам нужен отчет а позавчера… они звонят мне, я меняю цифру, звоню им, они печатают… короче не автоматизировано получается – это есть сакс.

А разве нельзя выбор даты расположить на форме предварительной настройки отображения отчета, чтобы девочки могли сами дату указывать, а не тебе звонить каждый раз... Ты хочешь сказать, что дату ты задаешь непосредственно в скрипте функции?
 
G

Guest

опять авторизироваться забыл, извините
подпись: нор
 
N

nor

Кто-нибудь знает может, как програмно изменять подписи закладок таблицы (tabbed table)?
 
G

Guest

Всем привет народ! Хотел спросить, как можно поменять тайтл у БД? вернее как поменять то ясно, но чтобы название менялось и на закладке
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!