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

Тема в разделе "Lotus - Программирование", создана пользователем San4el, 9 апр 2009.

Статус темы:
Закрыта.
  1. San4el

    San4el Гость

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

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    забавно, обычно встроенный вид используют чтобы отобразить связанные с текущим документы...

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

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Дохлый номер.

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

    San4el Гость

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

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    San4el
    можно через профиль если выше 6ки... как в почте зделанно
     
  6. San4el

    San4el Гость

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

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    ну в колонке

    use value as color + user define

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

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

    San4el Гость

    Во-во... а а такое будет часто ...
     
  9. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    да?.. а ты попробуй :D
     
  10. San4el

    San4el Гость

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

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    а я сделал через @Environment, минус - приходится перестраивать вид...
    ну еще светятся все открытые :D гы
     
  12. San4el

    San4el Гость

    а как если не секрет? Напиши код...
     
  13. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    в колонке Use value as color

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

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

    San4el Гость

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

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    может не вычитывается переменная окружения? я заметил, что оно не стабильно срабатывает... или я не понимаю как оно срабатывает, но, если руками поправить переменную в файле, то вообще может не воспринять...
    сейчас попробую сделать твою задачу полностью...

    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 =
    Код (Text):
    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:

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

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

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

    San4el Гость

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

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Интересно, а не проще ему сразу сказать, что не получится так сделать, чем потом он будет вспоминать вас как криворуких разработчиков?

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

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    мне вообще интересно, а для чего такая лабуда?..
    почему заказчик так хочет, для чего, что ему это даст?..
     
  19. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Лабуда полезная. Мне, например, была нужна, чтобы в иерархии ответов показывать текущий документ.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей