|
DmT
|
|
как определить выделенные документы?01.04.2007, 20:04. Показов 16643. Ответов 7
Метки нет (Все метки)
Начало агента такое:
Dim vw As notesView Dim vw_ecol As NotesViewNavigator Dim vw_ent As NotesViewEntry .... Set vw = ws.CurrentView.View back-end объект текущего представления Set vw_ecol = vw.CreateViewNav .... Set vw_ent = vw_ecol.GetFirst Формирование отчета While Not vw_ent Is Nothyng ....выгрузка в Эксель Set vw_ent = vw_ecol.GetNext(vw_ent) Wend Т.е. формирую NotesViewNavigator и потом выгружаю каждый NotesViewEntry в Эксель. Вопрос: как мне выгрузить только выделенные документы из вьюхи? |
|
| 01.04.2007, 20:04 | |
|
Ответы с готовыми решениями:
7
как достать выделенные документы Вставка ссылок на выделенные ячейки в выделенные ячейки другой книги Как передать выделенные элементы? |
|
1 / 1 / 0
Регистрация: 01.10.2006
Сообщений: 615
|
|
| 01.04.2007, 21:23 | |
|
используй свойство базы UnprocessedDocuments
Set notesDocumentCollection = notesDatabase.UnprocessedDocuments
0
|
|
|
DmT
|
||
| 01.04.2007, 22:14 | ||
что в моём случае даст коллекция? если я экспорт делаю с помощью NotesViewNavigator? я уже нашел ответ, спасибо за реакцию. |
||
|
0 / 0 / 0
Регистрация: 01.04.2007
Сообщений: 43
|
|
| 04.04.2007, 14:52 | |
|
Я эту проблему так решил:
1. Создаю коллекцию UnprocessedDocumenst. 2. Когда копирую,документы(а копирую я их построчно из View, наверно, как и ты), то проверяю, есть ли текущий документ в коллекцииUnprocessedDiocuments. Если есть, то копирую, если нет, то беру следующий. А как ты решил эту проблему? Вот мой код: **************************************** ******** jj%=-1 nid = vw_ent.UniversalID Set docc = collect.GetFirstDocument() flag=0 While Not(docc Is Nothyng) nid1= docc.UniversalID If nid=nid1 Then flag=1 End If Set docc = collect.GetNextDocument(docc) Wend далее, если If flag=1 Then то копирую в EXCEL **************************************** ********
0
|
|
|
DmT
|
|
| 04.04.2007, 15:43 | |
|
Для: Mikhail
я сделал примерно так-же. Но есть проблема: у меня вьюха категоризированная, а пользуясь этим способом можно проверить на "выбранность" только документы. Другими словами выгружаются пустые категории, чего быть не должно... Пока не знаю как побороть. :D |
|
|
0 / 0 / 0
Регистрация: 01.04.2007
Сообщений: 43
|
|
| 04.04.2007, 17:06 | |
|
Первое, что приходит в голову по поводу твоей проблемы - написать макрос на VBA для Excel. запускать этот макрос из лотуса примерно так: xls.Application.Run("My"). Где "My" - название макроса.
Если до этого не сталкивался с VBA - там не сложно. Я за сутки освоил. Так вот, потом проверять, в уже готовом Excel-файле, и, если это категория, то удалять строку. А вообще лучше не загоняться с макросом - из Лотуса тоже можно определить, категория это или нет: If vw.Columns(j%).IsCategory - то тогда не копировать, пропускать. :ph34r: У меня другая проблема :( , задумался вот: Моим методом выгрузка работает существенно медленее, чем когда просто экспорт всех документов. Моим методом база в 1200 документов выгружается за 2-2,5 часа. А так где-то полчаса. А что значит - "примерно так же"? посто если ты придумал как-то подругому, как это быстрее сделать - напиши, плиз.
0
|
|
|
DmT
|
|
| 04.04.2007, 18:15 | |
|
Для: Mikhail
1. Про макрос: а как я узнаю что текущая категория это не та, которая пустая и её нужно грохнуть, а та которая мне нужна и её необходимо оставить в Экселе. Вот главное... 2. f vw.Columns(j%).IsCategory не катит по той-же причине. Как знать выбрана она лил нет? 3. Это не мой метод, в смысле, я им пользуюсь но не автор (с форума Интертраста): Sub Initialize Dim s As New NotesSession Dim w As New NotesUIWorkspace Dim CurDB As NotesDatabase Dim dc As NotesDocumentCollection Dim view As NotesView Dim nav As NotesViewNavigator Dim doc As NotesDocument, doc0 As NotesDocument Dim entry As NotesViewEntry, entry0 As NotesViewEntry Dim UNIDs() As Variant Dim UNIDsCount As Long Dim Counter As Long Dim Flag1 As Variant Set CurDB=s.CurrentDatabase Set view=w.CurrentView.View view.AutoUpdate=False line updated 08.08.2003: чуть не забыл! - для ускорения и во избежание ошибок Set dc=CurDB.UnprocessedDocuments Set nav=view.CreateViewNav Print "." Print "Starting..." создание списка UNID отмеченных документов UNIDsCount&=dc.Count Redym UNIDs(1 To UNIDsCount&) As Variant If UNIDsCount& > 0 Then Counter&=0 Set doc=dc.GetFirstDocument Do While Not doc Is Nothyng Counter&=Counter& + 1 UNIDs(Counter&)=doc.UniversalID Set doc0=doc Set doc=dc.GetNextDocument(doc0) Delete doc0 освобждение предыдущего полученного объекта Loop End If перебор всех элементов ViewEntry в текущем представлении Set entry=nav.GetFirst Do While Not entry Is Nothyng If entry.IsDocument Then проверка, имеется ли UNID текущего Entry в списке UNID отобранных документов Flag1=Arraygetindex(UNIDs, entry.Document.UniversalID) If Not Isnull(Flag1) Then сюда вставить обработчик Print entry.ColumnValues(0) пример обработчика End If End If Set entry0=entry Set entry=nav.GetNext(entry0) Delete entry0 освобждение предыдущего полученного объекта Loop End Sub |
|
|
VVyS
|
|
| 05.04.2007, 11:37 | |
|
Для: DNT
Может попробовать выбранные документы поместить в folder со структурой такой же как у view, и навигатор строить уже по ней |
|
| 05.04.2007, 11:37 | |
|
Помогаю со студенческими работами здесь
8
Как закрасить выделенные элементы матрицы? Как суммировать выделенные элементы из TextBox ?
Как удалить выделенные элементы ListView? как использовать выделенные IP адреса на сервере? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|