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

Туплю или так и должно быть?

27.10.2015, 11:09. Показов 5087. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть представление: первый столбец - "Дата", второй - "Наименование". В некоторых случаях "наименование" - multuvalue, в свойствах столбца стоит "show multiple values as separate entries". Визуально в представлении multivalue "наименования" видны как отдельные записи. При попытке выбрать записи (ViewEntryCollection) по дате и одному из "наименований" (ключ для поиска - массив Дата:Строка) из multivalue полей Lotus ничего не находит. Что-то с этим можно сделать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.10.2015, 11:09
Ответы с готовыми решениями:

Readers, Authors. непонятный глюк или так и должно быть
ситуация такова. в базе скриптом создаю документ. присваиваю полям нужные значения. CR, CE ридерс и авторс поле соответственно. ...

PHP Подскажите, так и должно быть или ?..
Всем привет, Операционка - убунту, поставил себе локальный сервер, только начал осваивать все это дело, посему не знаю как с этим...

Газовый обогреватель. Брак или так и должно быть?
Вопрос к людям, у которых есть газовый обогреватель газовый ECO RH 5000 или что-то похожее на него. При включение сильно воняет краской....

17
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 184
27.10.2015, 11:37
Поставь сортировку колонок
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 812
27.10.2015, 11:55
О чём речь? Конечно же сортировка стоит. Если поле не multivalue, то поиск происходит корректно. Если multivalue, то нельзя найти по одному из значений, хотя они отображаются отдельно как separate entries. Ищу не документы, а ViewEntry. Казалось бы по теории должно работать...
0
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 184
27.10.2015, 12:31
getViewEntry работает по индексу, может индекс не создан? Документы находит?
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
27.10.2015, 13:07
искал нормально, но, правда, по диапазону (NotesDateTimeRange) дат (поле дат - мультивэлью)
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 812
27.10.2015, 13:48
Цитата Сообщение от Serduko
getViewEntry работает по индексу, может индекс не создан? Документы находит?



Если поле не multivalue, то поиск происходит корректно.
0
ommo
27.10.2015, 14:34
не знаю, относится ли к теме, если док - респонс, а вид - как иерархия, то мультивалюйное значение все равно в колонке идет через запятую. В нотесе вид хорошо выглядит?
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 812
27.10.2015, 15:57
Не респонзы. В нотесе multivalue поля выглядят как разные "записи", во вьюхе отображаются в разных строках. Например: Документ 1 - поле "Дата" равно 01.01.2001, поле "наименование" равно "Первый", Документ 2 поле "Дата" равно 02.01.2001, поле "Наименование" равно "Второй:Третий" (multivalue). Во вьюхе вижу три строки. Поиск:

Code
1
2
3
4
5
6
7
8
9
10
Dim dt As NotesDateTime
Dim nm As String
Dim view As NotesView
Dim vec As NotesViewEntryCollection
Dim key(1) As Variant
Set dt = New NotesDateTime("01.01.2001")
nm = "Первый"
Set key(0) = dt
key(1) = nm
Set vec = view.Getallentriesbykey(key, true)
находит первую запись.
Аналогичный поиск по ключу 02.01.2001 + "Второй" ничего не находит.

Ещё не попробовал в качестве второго параметра использовать массив из значений "Второй" + "Третий", не удивлюсь если найдёт вторую запись или сразу две.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 812
27.10.2015, 16:47
Попробовал. "Сложный" ключ из вложенного массива оно вообще не принимает, даже искать по такому не хочет.
Короче, эта штука в вьюхой работать не будет, надо искать альтернативное решение.
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
28.10.2015, 09:06
@garrick,

Code
1
2
3
key(0) = dt.dateonly  или key(0) = cdat(dt.dateonly)
key(1) = nm
Set vec = view.Getallentriesbykey(key, true)
Без объектов
0
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 184
28.10.2015, 10:40
Цитата Сообщение от savl
@garrick,

Code
1
2
3
key(0) = dt.dateonly  или key(0) = cdat(dt.dateonly)
key(1) = nm
Set vec = view.Getallentriesbykey(key, true)
Без объектов
Лучше уж key(0) = dt.Lslocaltime
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 812
28.10.2015, 13:43
Цитата Сообщение от savl
Без объектов
Ну, если по честному, там вообще DateRange должно быть.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 812
28.10.2015, 14:04
Короче суть проблемы такова: есть база с документами в которых указана дата окончания обработки (deadline) и подразделение, ответственное за обработку. Надо организовать рассылку по подразделениям со списками просроченных документов. По вьюхе отбираются документы по DateRange от вчера и ранее, которые и являются просроченными. Проблема в том, что у одного документа может быть сразу несколько ответственных подразделений (соответственно, multivalue поле) и отобрать во вьюхе сразу коллекцию просроченных документов по подразделению никак не получилось.
Решение
Создан Java-агент который отбирает просроченные документы и записывает их в базу Apache Derby, она же JavaDb в in-memory mode, т.е. на диск ничего не пишется, всё в оперативке. Попутно, в процессе обработки отобранных из вьюхи документов, для документов с несколькими подразделениями создаются дубликаты, таким образом, что в базе сохраняются несколько копий документов с одним ответственным подразделением для каждой копии (как-то завернул... надеюсь мысль понятна). После этого, имея справочник подразделений, просто последовательно селектим из этой базы документы по каждому подразделению, создаём соответствующий отчёт в Excel и отправляем его по почте.
Результат
примерно 350 подразделений, около 30 тыс. просроченных документов, на выходе около 250 отчётов. Затрачиваемое на всё это время примерно 3 минуты.

Проблема решена. Попутно были опробованы db40, ObjectDb, Berkeley Db, H2, Derby. Если кому про это интересно, могу рассказать отдельно.
0
0 / 0 / 0
Регистрация: 12.11.2009
Сообщений: 882
28.10.2015, 14:17
Внешняя БД - эт понятно и то же использую, в основном для отчетов. Однако данную задачу имхо можно и чисто на LS решить, если не используются сортировки итогов по произвольным элементам (дата\приоритет и т.п.) используя именованный массив. Все равно агент бегает по лотусовым докам).
P.S. сейчас тестирую в постгресе jsonb...
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
28.10.2015, 14:46
@garrick, !!!!!
Если первый элемент ключа будет объект DateRange, то поиск работать не будет!!!!
Здесь было обсуждение на эту тему, все ключи в таком случае, кроме key(0) - игнорируются.


--- Добавлено 29 окт 2015. Первое сообщение размещено 29 окт 2015 ---

@garrick, h2 интересно, лежит ждет меня на компе. Хочу привязать к одной задачке.
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
28.10.2015, 15:06
@garrick, обсуждение: [URL="http:///forum/threads/39198/"]http:///forum/threads/39198/[/NICK]
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 812
28.10.2015, 15:12
Цитата Сообщение от savl
@garrick, !!!!!
Если первый элемент ключа будет объект DateRange, то поиск работать не будет!!!!
Здесь было обсуждение на эту тему, все ключи в таком случае, кроме key(0) - игнорируются.
Вот же, блин! Чего я сразу не сказал-то про DateRange - столько времени зря угробил.


Цитата Сообщение от savl
, h2 интересно, лежит ждет меня на компе. Хочу привязать к одной задачке.
Нормальная штука и как embedded и как сервер работает. Даже чуть-чуть быстрее чем Derby.
0
0 / 0 / 0
Регистрация: 26.05.2006
Сообщений: 1,313
27.01.2016, 11:46
Цитата Сообщение от savl
@garrick, !!!!!
Если первый элемент ключа будет объект DateRange, то поиск работать не будет!!!!
Хуже. То работает, то - нет. Зависит от конкретных значений ключей и ещё Бог зна чего :(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.01.2016, 11:46
Помогаю со студенческими работами здесь

Thermalright TS 140 Power. Брак или так и должно быть?
Здрасьте! Был куплен Thermalright True Spirit 140 Power. На первый взгляд все ок. Но при пристальном осмотре выявил кривизну подошвы в...

Не могу понять, это ошибка? Или так и должно быть?
не могу понять эта ошибка или так и должно быть? procedure funcRaspr(); // формирование массива функции распределения var ...

СМА Zanussi FAE 1025v, Проблема или так должно и быть???
Пришла в ремонт данная сма с проблемой не блокирует дверь. Бахнул сим. Проблему нашёл устранил. Всё работает, но когда заканчивает...

Слоты на материнской платы для ОЗУ, треснули или так должно быть ?
Слоты на материнской платы для ОЗУ, треснули или так должно быть ? Увеличьте картинку а то так может быть и не заметно ?

Как должна быть организована сеть офиса? Что должно быть настроено обязательно, а чего быть не должно?
Добрый день. Сразу оговорюсь, что я инженер-строитель и настройкой сети занимаюсь только потому, что больше некому. Поэтому некоторые,...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru