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

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

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

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

Подсветить текущий документ в Embedded View

  • Автор темы San4el
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

San4el

Приветствую Всех!!! Нужна Ваша помощь.
Есть документ в котором есть встроенный вид, в это виде в отображаются документы подобный тому в котором вид открыт, в том числе и этот открытый документ. Надо чтобы он во встроеной вьюхе подсвечивался другим цветом. Заранее спасибо!!!
 
A

Akupaka

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

я так думаю. что при открытии документа можно в переменные окружения запихнуть идентификатор открываемого дока.
вид подготовить так, чтобы читать эту переменную и менять цвет, см. "Use value as color" в свойствах колонки.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Дохлый номер.

Код:
я так думаю. что при открытии документа можно в переменные окружения запихнуть идентификатор открываемого дока.
вид подготовить так, чтобы читать эту переменную и менять цвет, см. "Use value as color" в свойствах колонки.
А если сразу два документа откроем?
 
S

San4el

В столбцах нельзя использовать переменные окружения ...=)
 
M

morpheus

San4el
можно через профиль если выше 6ки... как в почте зделанно
 
S

San4el

А можно по подробнее что за профиль???
 
M

morpheus

ну в колонке

use value as color + user define

вообщем открыть почту и посмотреть как там

но сама - задумка... неправильная какаято, потому что открыв 2 и более документов всё летит к чертям
 
S

San4el

Сделал подругому: встроенный вид сделал личным, а на открытие документа прописал код в котором меняется формула столбца для цвета (ID открытого документа сравнивается с Id документов в виде и подкрашивается при совпадении)
 
A

Akupaka

а я сделал через @Environment, минус - приходится перестраивать вид...
ну еще светятся все открытые :D гы
 
A

Akupaka

в колонке Use value as color

needColor := @Explode(@Environment("docscolored"));
@If(@IsMember(@Text(@DocumentUniqueID); needColor); 255:0:0; -1:-1:-1)

а как и когда запихать в @Environment("docscolored") значение унида сам придумай, я полностью же не реализовывал, только проверил будет ли в виде работать перем. окруж.
НО! надо вид апдейтить, это не удобно!
 
S

San4el

в колонке Use value as color

needColor := @Explode(@Environment("docscolored"));
@If(@IsMember(@Text(@DocumentUniqueID); needColor); 255:0:0; -1:-1:-1)

а как и когда запихать в @Environment("docscolored") значение унида сам придумай, я полностью же не реализовывал, только проверил будет ли в виде работать перем. окруж.
НО! надо вид апдейтить, это не удобно!
У меня почему-то не работает... Я и ребилд и рефреш вида делаю но почему-то не работает...В переменную окружения записываю UNID документа при его открытии (он правильно запиывается) а вот в виде не подкрашивается...
 
A

Akupaka

У меня почему-то не работает... Я и ребилд и рефреш вида делаю но почему-то не работает...В переменную окружения записываю UNID документа при его открытии (он правильно запиывается) а вот в виде не подкрашивается...
может не вычитывается переменная окружения? я заметил, что оно не стабильно срабатывает... или я не понимаю как оно срабатывает, но, если руками поправить переменную в файле, то вообще может не воспринять...
сейчас попробую сделать твою задачу полностью...

View.Name = HighlightView
View.Formula = SELECT Form="HighlightForm"
View.Column1.Formula = needColor := @Explode(@Environment("docscolored")); @If(@IsMember(@Text(@DocumentUniqueID); needColor); 255:0:0; -1:-1:-1)
View.Column1.Formula = Form + "-" + aaa

Form.Name = HighlightForm
Form.Code =
Код:
Sub Initialize
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim s As New NotesSession
Dim db As NotesDatabase

Set uidoc = ws.CurrentDocument
If Not(uidoc.IsNewDoc) Then
Call s.SetEnvironmentVar("docscolored", uidoc.Document.UniversalID, False)
Set db = s.CurrentDatabase
Call db.GetView("HighlightView").Refresh()
Call ws.OpenDatabase(db.server, db.FilePath)
Call ws.ViewRebuild
End If
End Sub

Sub Queryclose(Source As Notesuidocument, Continue As Variant)
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim s As New NotesSession
Dim db As NotesDatabase

Set uidoc = ws.CurrentDocument
Call s.SetEnvironmentVar("docscolored", "", False)
Set db = s.CurrentDatabase
Call db.GetView("HighlightView").Refresh()
Call ws.OpenDatabase(db.server, db.FilePath)
Call ws.ViewRebuild
End Sub

на форме есть поле "aaa", внедренный вид "HighlightView".

ФСЁ :rolleyes:

мутно до ужаса, но срабатывает ))
всякие умные вещи, как открытия нескольких документов, не обрабатываются - лень и не факт, что можно нормально сделать...

зы: мое резюме - ну его в баню, такие бантики )))

если документов будет много и вид сложный, с категориями, то пользователь убъется об монитор или стол... ))
 
S

San4el

=) Спасибо!!! попробую как нибудь выкрутиться ... Заказчик хочет чтоб так было...((
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Интересно, а не проще ему сразу сказать, что не получится так сделать, чем потом он будет вспоминать вас как криворуких разработчиков?

Вместо встроенного представления можно сделать список в ричтексте с ссылками.
 
A

Akupaka

мне вообще интересно, а для чего такая лабуда?..
почему заказчик так хочет, для чего, что ему это даст?..
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Лабуда полезная. Мне, например, была нужна, чтобы в иерархии ответов показывать текущий документ.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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