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

Поиск вьюшек без индекса

04.06.2015, 12:15. Показов 4917. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте,

Помогите решить задачку.
Есть 5 баз по одному и тому же шаблону. В этом шаблоне, внимание, 1120 вьюшек.
Посмотрел, в самой крупной базе 66% вьюшек не имеют индекса, значит скорее всего они просто никому не надо и было бы неплохо их удалить.
Но что делать если в одной базе вьюшка не нада, а во второй нужна.

Решил сделать xls отчет, что если в пяти базах индексы пусты, то будем удалять вьюшку.
Как бы это оптимизировать чтобы меньше заполнять руками?

Допустим список всех вьюшек я выгружу спокойно, а как выгрузить есть ли индекс?
Не хочется 1120*5 ячеек заполнять вручную смотрев таблицу из Администратора.

Спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.06.2015, 12:15
Ответы с готовыми решениями:

Изменить стиль вьюшек
Добрый день. Есть ли возможность изменить программно вид вьюшек, уже созданных в БД кучно, то есть всех сразу? Копал справку, но...

Интерфейс. Дизайн Вьюшек
Добрый день, Меняем навигацию приложения и в процессе решили изменить убогий дизайн. Никак не могу понять как работать с...

поиск индекса
Скажите, пожалуйста, есть ли алгоритмы, которые выполняют следующее:есть определенный сайт и id человека, зарегистрированного на данном...

17
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 633
04.06.2015, 12:36
Цитата Сообщение от wowa
было бы неплохо их удалить.
А нафига? Не используются и хрен с ними - они тогда ни на что не влияют (кроме эстетики). А "лишних" 1120 доков (а вьюшки, это просто спец доки) в нотусе - ничто.
0
0 / 0 / 0
Регистрация: 03.02.2007
Сообщений: 821
04.06.2015, 12:48
Стоит задача в наведении порядка после горе-разработчиков.
Сначала было решено начать с вьюшек.
Первый шаг удалить вьюшки без индексов, а это 66%.
А потом и остальные просмотреть и посечь многих, все-таки легче просматривать 300 вьюшек, нежели 1100


--- Добавлено 5 июн 2015. Первое сообщение размещено 5 июн 2015 ---

да и при будущей разработке найти нужную вьюшку будет полегче , нежели в этом мусоре
0
0 / 0 / 0
Регистрация: 12.11.2009
Сообщений: 882
04.06.2015, 13:17
Цитата Сообщение от wowa
внимание, 1120 вьюшек
ну плодовитые программеры однако)))
Можно сделать так - написать скрипт, который выгрузит в DXL весь дизайн без вьюх,
потом в цикле берем имена вьюх и ищем их упоминание в этом DXL - поймем. есть ли программное обращение к ним. если нет - грохаем.
останется по требованию юзверей добавлять вьюхи, которым им стало так не хватать в шаблон)
0
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 633
04.06.2015, 14:04
Цитата Сообщение от rinsk
ну плодовитые программеры однако)))
Не эт не плодовитые. Эт ленивые.
Просили изменить логику - писали под неё вьюшку, а старые не трогали - "вдруг понадобится"
Известный эффект отсутствия комментариев о зависимостях дизайнэлементов.
0
0 / 0 / 0
Регистрация: 13.10.2005
Сообщений: 848
04.06.2015, 14:14
Цитата Сообщение от rinsk
ищем их упоминание в этом DXL
вьюхи могут дергаться из других бд
0
0 / 0 / 0
Регистрация: 03.02.2007
Сообщений: 821
04.06.2015, 14:23
Цитата Сообщение от rinsk
ну плодовитые программеры однако)))
Можно сделать так - написать скрипт, который выгрузит в DXL весь дизайн без вьюх,
потом в цикле берем имена вьюх и ищем их упоминание в этом DXL - поймем. есть ли программное обращение к ним. если нет - грохаем.
останется по требованию юзверей добавлять вьюхи, которым им стало так не хватать в шаблон)
о , а вот это идея мне очень нравится. Но ее все равно надо будет сравнивать с наличием индексов. В самой базе очень много различной навигации.
Хотя.....хотя .......Программное обращение же включает и аутлайны где и будут эти вьюшки если они включены в навигацию.

Появился сразу же вопрос как выгрузить в DXL все кроме вьюшек.... ох давно я не пользовался DXL....

Хотя вот что-то нашел, пример как выгрузить только агенты:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sub Initialize
 
This agent is designed to export the specified design elements to .dxl (.xml in Notes).
 
Dim session As New NotesSession
Dim db As NotesDatabase
Dim nc As NotesNoteCollection
Dim stream As NotesStream
Dim exporter As NotesDXLExporter
Const filename = "c:\filename.xml" Change as required
 
Set db = session.CurrentDatabase
 
Set stream = session.CreateStream
Call stream.Open(filename)
Call stream.Truncate
 
Set nc = db.CreateNoteCollection(False)
nc.SelectAgents=True Change as required
Call nc.BuildCollection
 
Set exporter = session.CreateDXLExporter(nc, stream)
Call exporter.Process
End Sub
Я так понимаю в моем случае надо SelectAllNotes(), а потом SelectViews = False
Правильно?

Если это прокатит, то мы примерно и удалим как минимум эти 66% вьюшек и особо нам эти индексы и не надо рассматривать.

Подскажите, где может быть промах?
0
0 / 0 / 0
Регистрация: 13.10.2005
Сообщений: 848
04.06.2015, 14:24
не проверял, но может быть это
0
0 / 0 / 0
Регистрация: 03.02.2007
Сообщений: 821
04.06.2015, 14:24
Цитата Сообщение от oshmianski
вьюхи могут дергаться из других бд
Спасибо за наводку, надо будет уточнять этот вопрос
0
0 / 0 / 0
Регистрация: 13.10.2005
Сообщений: 848
04.06.2015, 15:06
еще как вариант дергать консоль
0
0 / 0 / 0
Регистрация: 03.02.2007
Сообщений: 821
07.06.2015, 15:03
Подскажите, вот я выгрузил в файлик весь дизайн кроме вьюшек .
Как более правильно теперь проверить, встречается ли где-то вьюшка с именем, например, "ViewName_1" ?


Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Dim stream As NotesStream
Set stream = session.CreateStream
path = "c:\dxl\"
filename = Left(db.FileName, Len(db.FileName) - 3) & "dxl"
filename = path$ & filename$
If Not stream.Open(filename$) Then
MessageBox "Cannot open " & filename$,, "Error"
Exit Sub
End If
Call stream.Truncate
 
REM Create note collection
Dim nc As NotesNoteCollection
Set nc = db.CreateNoteCollection(False)
Call nc.SelectAllNotes(True)
nc.Selectviews = False
Call nc.BuildCollection
 
REM Export note collection as DXL
Dim exporter As NotesDXLExporter
Set exporter = session.CreateDXLExporter(nc, stream)
Call exporter.Process
0
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 633
07.06.2015, 15:12
Ты же текст в файл получил? Да хоть в нотепаде сёрчь запузырь.
0
0 / 0 / 0
Регистрация: 03.02.2007
Сообщений: 821
07.06.2015, 15:20
надо в LS, 1100 вьюшек в нотепаде это не дело


Code
1
2
3
4
5
6
views = db.Views
ForAll v In views
 
??????
 
End ForAll
0
0 / 0 / 0
Регистрация: 14.01.2009
Сообщений: 257
07.06.2015, 16:03
LotusScript
1
text$ = notesStream.ReadText( [ oneLine& ] , [ eol& ] )
а потом like
0
0 / 0 / 0
Регистрация: 03.02.2007
Сообщений: 821
08.06.2015, 08:19
Цитата Сообщение от erdi

LotusScript
1
text$ = notesStream.ReadText( [ oneLine& ] , [ eol& ] )
а потом like
Спасибо.
Лайком никогда не пользовался, думал Instr какой-н. Но боюсь что будут какие-н ограничения по кол-ву символов. У меня размер файла 25.3мб

Скажите,


Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim vText As Variant
 
vText = stream.ReadText()
 
ForAll v In views
 
 
Is Used?
If vText Like "*" & v.Name & "*" Then
aRange( iLineCounter, iColumn ) = "Yes"
Else
aRange( iLineCounter, iColumn ) = "No"
End If
 
End ForAll
Что-то мне подсказывает что я Like так никогда и не научусь пользоваться.
Правильно ли он задан?
Тут такая ситуация, что если у нас есть вьюшка "View_1" и "View_11". А используется только вторая то данный Like покажет что и первая используется. Поэтому может надо

Code
1
vText Like {*"} & v.Name & {"*}
Спасибо.
0
0 / 0 / 0
Регистрация: 25.12.2010
Сообщений: 246
08.06.2015, 08:35
Цитата Сообщение от rinsk
ну плодовитые программеры однако)))
Можно сделать так - написать скрипт, который выгрузит в DXL весь дизайн без вьюх,
потом в цикле берем имена вьюх и ищем их упоминание в этом DXL - поймем. есть ли программное обращение к ним. если нет - грохаем.
Имя вьюхи в коде запросто может быть составным, особенно учитывая упомянутую ViewName_1.
Например, дробление по последнему символу UNID-а документа получим 16 вьюшек, и ни одна из них не будет явно указана в коде.
0
0 / 0 / 0
Регистрация: 03.02.2007
Сообщений: 821
08.06.2015, 09:23
Ну ,я думаю, что если и будет где-то неявно задана, то при наличии вьюх таких как "View_1", "View_2"...... и т.д. Думаю что в данном случае перед удалением можно будет проверить вручную такие варианты.

Все остальные скрытые вьюхи добавим при возникновении проблем
0
0 / 0 / 0
Регистрация: 03.02.2007
Сообщений: 821
11.06.2015, 10:29
Цитата Сообщение от alexas1
А нафига? Не используются и хрен с ними - они тогда ни на что не влияют (кроме эстетики). А "лишних" 1120 доков (а вьюшки, это просто спец доки) в нотусе - ничто.
Вот я тоже думал что для эстетики... Но как оказалось, после любого изменения документа(создание, редактирование) происходит перестроение всех связанных вьюшек. Т.е. каждую минуту может перестраиваться более сотни вьюшек что забивает сервак.... Как-то так.

Так же подсказали что если индекс = 0 - это не означает что она не используется, если колонки не отсортированы, то и индексы не строятся. Как-то так...... Т.е. к индексам особо не привяжешься
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.06.2015, 10:29
Помогаю со студенческими работами здесь

Бинарный поиск индекса
Прошу помогите, пожалуйста!!!:wall: :boredom: Си++ Сгенерируйте элементы массива. Выведите его на экран. Отсортируйте массив методом...

Поиск индекса элемента
приветствую! помогите пожалуйста! Напишите функцию elemIndices :: Eq a => a -> -> , которая находит, под какими индексами в списке...

Поиск почтового индекса
Есть список московский адресов. Как сделать так чтобы по этим всем адресам найти их почтовые индексы и вписать рядом. Список очень большой....

Массив - поиск индекса
Здравствуйте! Нужно определить индекс массива. Например, юнит находится в точке х=5 и у=5, но какой именно индекс у массива Unit я не знаю.

Перенос вьюшек в dll
4 часа потратил на гугление, ничего не получается :D. Есть подключенный проект dll, в нем лежат вьюшки и модели. Как прописать путь...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru