• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Глюки с вьюхой, отображающей значения одного поля как отдельные записи

Wanderstep

Lotus Team
23.03.2006
493
65
BIT
17
Чем ближе к НГ, тем больше глюков всплывает - жду не дождусь рождественских каникул уже ))
Вопрос:
Есть вьюха, которая отображает документы по определенной форме. Документ с такой формой всего один и содержит в себе текстовое поле, куда вбиваются юниды документов. Во вьюхе всего один столбец, отображающий вышеописанное поле, и где включена опция "show multiple values as separate enties". Т.е. все значения из поля отображаются во вьюхе как отдельные записи.

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

Вопрос по возможным путям решения:
У меня есть агент, который обращается в эту вьюху и ищет в ней нужный юнид... Код агента по поиску юнида таков:
Код:
	Dim sview As NotesView
Dim sd As NotesDocument
Set sview = db.getview("SendToAll")
Set sd = sview.GetDocumentByKey(unid)

If sd Is Nothing Then
CheckSend=True
End If
А можно ли сделать поиск юнида не по вьюхе а в самом поле документа? Как это сделать?
Для чего мог быть реализован именно поиск по вьюхе, а не по полю? Просто из соображений, что так проще?
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
<!--QuoteBegin-Wanderer+14:12:2007, 13:06 -->
<span class="vbquote">(Wanderer @ 14:12:2007, 13:06 )</span><!--QuoteEBegin-->Проблема возникла в последние дни. Во вьюхе почему-то все эти значение схлопнулись в одну строчку... В ней ничего не отображается.. Кликнуть по ней можно, попадаем в документ. Но в связи с чем это может возникнуть? Создавал новую реплику БД на новом сервере - там такая же тема возникает.
[snapback]89930" rel="nofollow" target="_blank[/snapback]​
[/quote]
Может поле перестало быть многозначным?

<!--QuoteBegin-Wanderer+14:12:2007, 13:06 -->
<span class="vbquote">(Wanderer @ 14:12:2007, 13:06 )</span><!--QuoteEBegin-->А можно ли сделать поиск юнида не по вьюхе а в самом поле документа? Как это сделать?
[snapback]89930" rel="nofollow" target="_blank[/snapback]​
[/quote]
NotesDatabase.GetDocumentByUNID ?

<!--QuoteBegin-Wanderer+14:12:2007, 13:06 -->
<span class="vbquote">(Wanderer @ 14:12:2007, 13:06 )</span><!--QuoteEBegin-->Для чего мог быть реализован именно поиск по вьюхе, а не по полю? Просто из соображений, что так проще?
[snapback]89930" rel="nofollow" target="_blank[/snapback]​
[/quote]
Хз. Лично я доверяю поиску по представлению. Т.к. GetDocumentByUNID иногда работает недокументировано, что пугает. :rolleyes:
 

Wanderstep

Lotus Team
23.03.2006
493
65
BIT
17
Может поле перестало быть многозначным?
NotesDatabase.GetDocumentByUNID ?
Хз. Лично я доверяю поиску по представлению. Т.к. GetDocumentByUNID иногда работает недокументировано, что пугает. :rolleyes:
Нет, поле до сих пор многозначно. Было подозрение, что оно переполнено, но с этим все ОК.

GetDocumentByUNID не пойдет - у меня не стоит задача найти документ с юнидом, у меня стоит задача именно с того поля найти значение совпадающее с искомым юнидом... в это поле кладутся документы, которые уже были обработаны. Поиск производится для того, чтобы понять, был ли ранее обработан документ или нет.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
А если галку убрать, посмотреть и опять поставить?
 

Wanderstep

Lotus Team
23.03.2006
493
65
BIT
17
Попробовал. Посмотрим. Но в любом случае, нет гарантии, что глюк не повторится рано или поздно.

А как сделать проверку в многозначном текстовом поле на наличие в нем искомого юнида?
 
S

Sandr

Или просто FieldName = value... если собакой...
 

Wanderstep

Lotus Team
23.03.2006
493
65
BIT
17
Вы бы мне тупо код вписали взамен вышеприведенного.. на ЛотусСкрипт, а не на собаках... Вам это сделать - 1 минута, а мне - целые изыскания проводить, хелпы читать, примеры выискивать :eek:
 
S

Sandr

Проведете один раз изыскания - потом не придется просить пример кода... :eek:

А вообще, откройте хелп, найдите там notesDatabase.Search, почитайте, а потом примените туда собаку @Ismember и все...
 
F

fvoice

<!--QuoteBegin-Wanderer+14:12:2007, 16:06 -->
<span class="vbquote">(Wanderer @ 14:12:2007, 16:06 )</span><!--QuoteEBegin-->Есть вьюха, которая отображает документы по определенной форме. Документ с такой формой всего один и содержит в себе текстовое поле, куда вбиваются юниды документов. Во вьюхе всего один столбец, отображающий вышеописанное поле, и где включена опция "show multiple values as separate enties". Т.е. все значения из поля отображаются во вьюхе как отдельные записи.
[snapback]89930" rel="nofollow" target="_blank[/snapback]​
[/quote]
может проще использовать профильный документ?

<!--QuoteBegin-Wanderer+14:12:2007, 17:23 -->
<span class="vbquote">(Wanderer @ 14:12:2007, 17:23 )</span><!--QuoteEBegin-->А как сделать проверку в многозначном текстовом поле на наличие в нем искомого юнида?
[snapback]89955" rel="nofollow" target="_blank[/snapback]​
[/quote]
у notesitem есть свойство contains, да в общем масса способов и на собаках и на LS..
если нужно его потом удалить из списка то функция Replace..
 

Wanderstep

Lotus Team
23.03.2006
493
65
BIT
17
Спасибо за наводку и советы всем.. Все ясно, будем двигаться в нужном направлении :(
 
Мы в соцсетях:

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