Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.99/67: Рейтинг темы: голосов - 67, средняя оценка - 4.99
Гринги
1

Excel. Доступ к атрибутам документов Lotus Notes

13.08.2016, 14:46. Показов 12701. Ответов 38
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день


Помогите решить следующую задачу. Не являюсь программистом Lotus Notes, но хотел бы решить проблему получения реквизитов документов из БД Lotus

Есть файл excel в котором построчно сохраняются номера документов из БД Lotus Notes (заявок на сервис). Номера заявок:

232
346
1236
...
Список заявок весьма большой (сотни строк).

В Lotus Notes есть БД указанных заявок (содержит несколько сотен тысяч элементов). Требуется периодически проверять статус заявок из файла excel (в работе, выполнены, закрыты и т.п.). Сейчас эта проверка делается путем открытия Lotus Notes, базы данных заявок, ручного поиска документа по заданному номеру, открытию документа и просмотр статуса – длительная процедура, от которой хотелось бы уйти.

Как хотелось бы решить задачу – написать скрипт на VBA (Excel, доступа к среде программирования Lotus Notes нет), который последовательно перебирает номера заявок, используя объектную модель Lotus получает доступ к указанной базе Lotus Notes и по номеру заявки получает доступ к указанному документу и проверяет наличие заданного реквизита (Статус заявки). Собственно, вопросы:

1. Как получить ссылку на определенный документ из Lotus Notes по значению одного из его реквизитов (номер)

2. Определенная альтернатива – если в excel сохранена гиперссылка на конкретный документ из БД Lotus Notes, как по этой гиперссылке получить ссылку (в программе) на конкретный документ Lotus Notes?
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.08.2016, 14:46
Ответы с готовыми решениями:

Как сделать просмотр Pdf-документов в Lotus Notes без запуска сторонни
Добрый день всем! возникла такая надобность: сделать бы просмотр PDF-документов в Lotus Notes без...

Открыть документ Lotus Notes в Excel
Возможно ли по гиперссылке (или другой вариант), которая хранится в книге в MS Excel, открыть...

Как развернуть окно Lotus Notes из Excel Vba?
Доброго времени суток! Очень нужно решить задачку: написать код в Excel VBA, который бы...

Как определить наименование полей формы документа в Lotus Notes с последующей выгрузкой в Excel?
Аналогичную тему создал в разделе Lotus Notes, но там тишина уже несколько дней. В связи с этим...

38
Гринги
16.08.2016, 13:27 21
Author24 — интернет-сервис помощи студентам
но конечное решение я нашел именно здесь - исходя из полученных ответов и советов
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
16.08.2016, 13:33 22
Цитата Сообщение от Гринго
но конечное решение я нашел именно здесь - исходя из полученных ответов и советов
здесь специалисты повидали многое ;), др. вопрос - рассмотрение грабель из VBA и COM - это какбэ не тема конкретного раздела
хотя они здесь упоминаются (и мною в т.ч.)
0
Гринги
16.08.2016, 13:45 23
Цитата Сообщение от lmike
и вы только ради этого купили LDN (1 БД)?
изначально была корпоративной почтой, с нескольким десятком различных БД (и больших, и маленьких) под разные задачи. Почему меняем - не знаю полного списка причин, но уверен, причины весьма веские - у нас с этим подходом в компании крайне строго и просто так ничего не меняют.



Цитата Сообщение от lmike
про - на что менять - вы так и не сказали ;)
BPM Online - как я понимаю, будет использоваться для многих целей компании



Цитата Сообщение от lmike
когда "каждая кухарка" будет..., т.е. - каждый должен заниматься своими обязанностями (прямыми), а не изучением VBA, Excel, Word и т.п.
не соглашусь (это относится не только к VBA, Excel, Word и т.п.) - из моей большой практики, работодатели готовы хорошо платить за решение таких задач, которые пока не умеет делать система\ПО. Т.к. системы становятся все "умнее", для конечных пользователей маячит плохая перспектива оказаться ненужными, с знаниями, которые окажутся невостребованными на рынке. Нужно быть на "шаг впереди" - уметь решать эффективно такие рабочие задачи, которые компьютер пока сам решить не может. И использовать для этого доступные средства. А для этого нужно развиваться, а не только заниматься своим обязанностями
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
16.08.2016, 14:11 24
Цитата Сообщение от Гринго
не соглашусь (это относится не только к VBA, Excel, Word и т.п.) - из моей большой практики, работодатели готовы хорошо платить за решение таких задач, которые пока не умеет делать система\ПО.
это задача ИТ отдела и их компетенции, а у др. сотрудников - совершенно др. задачи (ну если компания не ИТ)


Цитата Сообщение от Гринго
Нужно быть на "шаг впереди" - уметь решать эффективно такие рабочие задачи, которые компьютер пока сам решить не может. И использовать для этого доступные средства. А для этого нужно развиваться, а не только заниматься своим обязанностями
это лозунг, причем именно такой подход приводит/приводил/приведет к плачевным последствиям
Сталкиваюсь с этим почти каждый день...
Примеры:

был спец по лизингу, сидел чего-то делал в эхеле, его не трогали. Настал момент когда он решил больше с нами не сотрудничать. Вся информация была утрачена (за 2-а года). При проверке алгоритмов были обнаружены просчеты. Девушки временно стали вести БД в эхеле... Далее схема стандартная - ошибки в формулах (протянула не протянула), агрегация по листам (для кот. я писал оптимизированный макрос). Перевел в LDN - все проблемы отпали, да еще и клиенты могут посмотреть свои задолженности (онлайн)
была некая система (как не сложно догадаться - в эхеле), в кот. размещали прогнозы. Спец (западный) пилил ее года два (макросы/регионы,формулы), код неплохой (для VBA). Были постоянные косяки со сменой периодов и костыли по доступу в "БД" (этож эхель). Чел уволился(попал под сокращение, был на контракте). Надо ли объяснять, что все перестало работать и поддерживать такое невозможно ;) ? Перевожу в LDN
был некий файл (странно, но почему-то разрабатывал поляк ;) ), модель по скидкам, и опять история повторилась, только с кач-вом исполнения, как и в первом случае - все очень ужасно. Думаем - что делать ;)
...
я еще много много могу припомнить, но везде история похожая - неспецы в программирование и архитектуре берут МСО и "творят", заканчивается одинаково (помойка/потеря информации/потеря времени - ощутимы затраты)
0
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 633
16.08.2016, 14:13 25
Цитата Сообщение от Гринго
нужно развиваться, а не только заниматься своим обязанностями
;) нужно заниматься своими прямыми обязанностями (желательно профессионально), а не пытаться, при отсутствии молока, найти корову и попробовать её подоить
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
16.08.2016, 14:13 26
Цитата Сообщение от Гринго
BPM Online - как я понимаю, будет использоваться для многих целей компании
не оказалось бы как у нас, с Zoho ;)
я даже макрос писал, для интеграции с SFA системой...
0
Гринги
16.08.2016, 15:43 27
Цитата Сообщение от alexas1
;) нужно заниматься своими прямыми обязанностями (желательно профессионально), а не пытаться, при отсутствии молока, найти корову и попробовать её подоить
Со стороны, не знаю сути, очень легко делать оценочные суждения, что правильно, а что нет. Как раз мои качества (прошу не путать с умением программировать, знанием COM\VBA - это всего лишь знания, которым я воспользовался) ценятся - способность решать управленческие проблемы, видеть возможности и уметь решать оптимальное решение, мотивирования, развития сотрудников на системной основе - это как раз про то, чтобы вырастить потенциальных "звезд" для компании снизу.
Для моей данной частной моей задачи - это решение сверхоптимальное, со всеми его издержками особенностями и ограничениями. Кроме этого, много других задач - где решения находятся не так быстро, и требующие большего времени, но эффект дающий в разы больший. И результаты - я считаю на высоте (на этой позиции работаю с конца февраля) - ситуацию в направлении, в отношении к качеству сервиса, климат в коллективе изменился кардинально - в лучшую сторону.



Цитата Сообщение от lmike
не оказалось бы как у нас, с Zoho ;)
я даже макрос писал, для интеграции с SFA системой...
Поживем, увидим .
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
16.08.2016, 15:59 28
Цитата Сообщение от Гринго
способность решать управленческие проблемы,
вот!
и 10-ть лет, как я понял из деталей, на БД лежал болт
а теперь "есть план" уйти от этого решения
т.е. если бы 10-ть лет БД дорабатывали и грамотно сопровождали - ваш макрос просто бы не был нужен!
Решение по-быстрому - это не выход из ситуации (практически никогда)
в мало-мальски значимой компании подобный подход ведет к убыткам (их конечно спишут и даже не упомянут), а это годы неудобств коллектива
притом - "слезая" с домины будут потеряны и все вложения труда ИТ (по поддержке), а возможно - уволены сотрудники (кот. ей занимались)
Что касается облачных решений - это конечно модно-молодежно, и пиарят во все щели..., ну а почему бы тогда не начать с основной "беды" - МСО?
вот переведете в облако - тогда и остальное можно, а здесь готовы "пустить под нож" "систему", НО оставить файлы, где логика?
В любом случае - ведут параллельные пилотные проекты (масштабные), и только после получения сравнения (год, не меньше) и оценки рисков - делают миграцию
0
Гринги
22.08.2016, 10:13 29
Доброго дня. Давайте все-таки попробуем обсудить практические вещи. Решил попробовать уйти с FTSearch на GetDocumentByKey
Что для этого сделал в макросе:
1. Прошелся по всем колонкам View и установил признак IsSorted в ИСТИНА для нужной мне колонки (5-ая колонка в View, у остальных колонок если IsSorted было установлено значение ИСТИНА - установил в значение в ЛОЖЬ)
2. Пробую искать значение по заданной 5-ой колонке (в данной колонке - формула @ToNumber(@Left(DemandNumber;"-")) через метод GetDocumentByKey - не находит:

LotusScript
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim oNotesView As Variant
Dim doc As Object
Dim oKey(1 To 1) As Variant
...
oNotesView.Refresh
oKey(1) = "391203"
Set oDoc = oNotesView.GetDocumentByKey(oKey, False)
If oDoc Is Nothyng Then
MsgBox "Не нашел..."
Exit Sub
Else
MsgBox "Нашел!"
End If
В чем может быть дело? Заявка с указанным номером существует
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 633
22.08.2016, 10:55 30
кей д.б. стринг, нумбер, дата
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
22.08.2016, 11:06 31
@Гринго а права на изменение view у Вас есть?
Поскольку альтернативу Excel.VBA мы не рассматриваем, то я бы создавал свой view, либо общий, либо персональный...
Предварительно проверяя существует ли он.
Сделал бы сразу ему колонки с нужными значениями, сортировкой, формулой отбора и далее опять по тексту.
Если у Вас там есть отдел поддержки, то может они его Вам создадут? Копию этого же, но с другим именем, колонками и сортировкой.
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
22.08.2016, 13:29 32
Цитата Сообщение от Гринго
Dim oKey(1 To 1) As Variant
в домине так никто не пишет

LotusScript
1
2
Dim oKey(0) As Integer
oKey(0)=391203
ведь, судя по формуле - там д.б. Number или ошибка
и согласен что


Цитата Сообщение от savl
то я бы создавал свой view
далее - я не уверен в рабочести варианта с не сортированными колонками до "средней" сортированной
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
22.08.2016, 13:32 33
Цитата Сообщение от Гринго
уйти с FTSearch на GetDocumentByKey
гы-ы-ы... ;)
т.е. пришло осознание - час или более ждать и получить неоднозначную выборку - вариант так-себе был
0
Гринги
22.08.2016, 13:49 34
2@lmike - зря вы так, работает "шустро" -10 секунд. Результат поиска однозначный. Какой такой час?
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 812
22.08.2016, 14:00 35
Цитата Сообщение от lmike
я не уверен в рабочести варианта с не сортированными колонками до "средней" сортированной
Согласно документации GetDocumentByKey ищёт только по сортированным колонкам.

Finds a document based on yts column values withyn a view. You create an array of keys, where each key corresponds to a value in a sorted column in the view. The method returns the first document whose column values match each key in the array.

Я вот не совсем уверен в работоспособности этого


1. Прошелся по всем колонкам View и установил признак IsSorted в ИСТИНА для нужной мне колонки (5-ая колонка в View, у остальных колонок если IsSorted было установлено значение ИСТИНА - установил в значение в ЛОЖЬ)
Всё таки для поиска индексы как-то должны быть перестроены. Надёжнее использовать готовый view с заранее построенной нужной сортировкой, чем "пересортировывать" какой-то другой.
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
22.08.2016, 15:20 36
Цитата Сообщение от Гринго
Результат поиска однозначный. Какой такой час?
индекс может быть "испорчен" и с FT индексом не так редко бывает,
да и предназначение его - более широкое (чем поиск в конкретном поле), а час - это периодичность индексации (ЕМНИП - час)


Цитата Сообщение от garrick
Надёжнее
основная мысль именно такая
моя неуверенность завязана на общую "особенность" при модификации вьюшек - чем проще, тем вероятность нормального перестроения индекса выше
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
22.08.2016, 15:27 37
наврал - дефолтный апдейт еще реже https://www.ibm.com/support/knowled...G_A_SINGLEDATABASE_SEARCH_INDEX_OVERVIEW.html
а делать чаще часа может иметь "неприятные последствия" ;)
0
Гринги
23.08.2016, 15:40 38
Нет возможности создавать свой View . Техническая поддержка удаленная и на уровне поддержания БД в более или менее рабочем состоянии. Поэтому останавливаемся на текущем реализации - работает пока без сбоев. Допилил макрос с учетом возможного наличия гиперссылок на конкретную заявку. С проблемой индекса и задержкой в час пока не столкнулись - посмотрим на регулярной практике
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
23.08.2016, 16:30 39
Цитата Сообщение от Гринго
ехническая поддержка удаленная и на уровне поддержания БД в более или менее рабочем состоянии.
"я вас умоляю" - вы же меняли существующую вьюшку, что мешает создать новую?
0
23.08.2016, 16:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.08.2016, 16:30
Помогаю со студенческими работами здесь

Открытие доступа к ящику lotus одного сотрудника для другого сотрудника средствами сервера lotus notes 8.5
Доброго времени суток! Как открыть доступ к ящику lotus одного сотрудника для другого сотрудника...

Доступ к атрибутам
Как в Delphi получить доступ к атрибутам файла (*.txt), например "считывание/запись", "Только...

Lotus Notes
оставляйте свои коменты.....будем учиться на чужих ошибках если есть чем научить то ДОБРО...

Lotus Notes
Здравствуйте, у меня вопрос такой: есть таблица, в неё вставлена подформа, можно ли как-нибудь...


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

Или воспользуйтесь поиском по форуму:
39
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru